{"version":3,"sources":["../../src/restaurants-v1-fulfillment-method-fulfillment-methods.schemas.ts"],"sourcesContent":["import * as z from 'zod';\n\nexport const CreateFulfillmentMethodRequest = z.object({\n  fulfillmentMethod: z\n    .intersection(\n      z.object({\n        _id: z\n          .string()\n          .describe('Fulfillment method ID.')\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional()\n          .nullable(),\n        revision: z\n          .string()\n          .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n          .describe(\n            'The current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.'\n          )\n          .optional()\n          .nullable(),\n        _createdDate: z\n          .date()\n          .describe('Date and time the fulfillment method was created.')\n          .optional()\n          .nullable(),\n        _updatedDate: z\n          .date()\n          .describe('Date and time the fulfillment method was last updated.')\n          .optional()\n          .nullable(),\n        type: z\n          .enum(['UNKNOWN_FULFILLMENT_TYPE', 'PICKUP', 'DELIVERY'])\n          .optional(),\n        name: z\n          .string()\n          .describe('Fulfillment method name.')\n          .min(1)\n          .max(30)\n          .optional()\n          .nullable(),\n        enabled: z\n          .boolean()\n          .describe('Whether the fulfillment method is enabled.')\n          .optional()\n          .nullable(),\n        fee: z\n          .string()\n          .describe('Fee for using this fulfillment method.')\n          .optional()\n          .nullable(),\n        availability: z\n          .object({\n            availableTimes: z\n              .array(\n                z.object({\n                  dayOfWeek: z\n                    .enum(['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'])\n                    .optional(),\n                  timeRanges: z\n                    .array(\n                      z.object({\n                        startTime: z\n                          .object({\n                            hours: z\n                              .number()\n                              .int()\n                              .describe(\n                                'Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                              )\n                              .optional(),\n                            minutes: z\n                              .number()\n                              .int()\n                              .describe(\n                                'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'The start time in time of day representation.'\n                          )\n                          .optional(),\n                        endTime: z\n                          .object({\n                            hours: z\n                              .number()\n                              .int()\n                              .describe(\n                                'Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                              )\n                              .optional(),\n                            minutes: z\n                              .number()\n                              .int()\n                              .describe(\n                                'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'The end time in time of day representation.'\n                          )\n                          .optional(),\n                      })\n                    )\n                    .optional(),\n                })\n              )\n              .optional(),\n            timeZone: z\n              .string()\n              .describe(\n                'The timezone in which the availability times are given.'\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe('Availability of this fulfillment method.')\n          .optional(),\n        minOrderPrice: z\n          .string()\n          .describe(\n            'Minimum order price to qualify for using this fulfillment method.'\n          )\n          .optional()\n          .nullable(),\n        businessLocationId: z\n          .string()\n          .describe(\n            'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the operation this fulfillment method belongs to.'\n          )\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional()\n          .nullable(),\n        extendedFields: z\n          .object({\n            namespaces: z\n              .record(z.string(), z.record(z.string(), z.any()))\n              .describe(\n                'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n              )\n              .optional(),\n          })\n          .describe('Extended fields.')\n          .optional(),\n        tags: z\n          .object({\n            privateTags: z\n              .object({ tagIds: z.array(z.string()).max(100).optional() })\n              .describe(\n                'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n              )\n              .optional(),\n            tags: z\n              .object({ tagIds: z.array(z.string()).max(100).optional() })\n              .describe(\n                'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n              )\n              .optional(),\n          })\n          .describe(\n            'Tags used to classify and sort different types of fulfillment methods.'\n          )\n          .optional(),\n      }),\n      z.xor([\n        z.object({\n          deliveryOptions: z.never().optional(),\n          pickupOptions: z\n            .object({\n              instructions: z\n                .string()\n                .describe('Instructions for the pickup.')\n                .max(250)\n                .optional()\n                .nullable(),\n              address: z\n                .object({\n                  city: z.string().optional().nullable(),\n                  subdivision: z.string().optional().nullable(),\n                  country: z.string().optional().nullable(),\n                  postalCode: z.string().optional().nullable(),\n                  addressLine1: z.string().optional().nullable(),\n                  addressLine2: z.string().optional().nullable(),\n                })\n                .describe(\n                  'Pickup address.\\n\\nThis is set to the address of the restaurant.'\n                )\n                .optional(),\n            })\n            .describe('Data specific for pickup fulfillment method.'),\n        }),\n        z.object({\n          pickupOptions: z.never().optional(),\n          deliveryOptions: z\n            .object({\n              deliveryTimeInMinutes: z\n                .number()\n                .int()\n                .describe('Estimated delivery time in minutes.')\n                .min(0)\n                .optional()\n                .nullable(),\n              freeDeliveryThreshold: z\n                .string()\n                .describe(\n                  'Threshold for offering free delivery.\\nIf the order price exceeds this threshold, the delivery fee is waived.'\n                )\n                .optional()\n                .nullable(),\n              deliveryArea: z\n                .intersection(\n                  z.object({\n                    type: z\n                      .enum([\n                        'UNKNOWN_DELIVERY_AREA',\n                        'RADIUS',\n                        'POSTAL_CODE',\n                        'CUSTOM',\n                        'PROVIDER_DEFINED',\n                      ])\n                      .optional(),\n                  }),\n                  z.xor([\n                    z.object({\n                      radiusOptions: z.never().optional(),\n                      postalCodeOptions: z.never().optional(),\n                      customOptions: z.never().optional(),\n                    }),\n                    z.object({\n                      postalCodeOptions: z.never().optional(),\n                      customOptions: z.never().optional(),\n                      radiusOptions: z\n                        .object({\n                          minDistance: z\n                            .string()\n                            .describe(\n                              'Minimum distance value.\\nThe unit of the radius is specified in the `unit` field.'\n                            )\n                            .optional()\n                            .nullable(),\n                          maxDistance: z\n                            .string()\n                            .describe(\n                              'Maximum distance value.\\nThe unit of the radius is specified in the `unit` field.'\n                            )\n                            .optional()\n                            .nullable(),\n                          centerPointAddress: z\n                            .object({\n                              city: z.string().optional().nullable(),\n                              subdivision: z.string().optional().nullable(),\n                              country: z.string().optional().nullable(),\n                              postalCode: z.string().optional().nullable(),\n                              addressLine1: z.string().optional().nullable(),\n                              addressLine2: z.string().optional().nullable(),\n                            })\n                            .describe('Address at the center of the circle.')\n                            .optional(),\n                          unit: z\n                            .enum(['UNKNOWN_UNIT', 'MILES', 'KILOMETERS'])\n                            .describe('Unit of measurement of the radius.')\n                            .optional(),\n                        })\n                        .describe('Settings for a radius delivery area.'),\n                    }),\n                    z.object({\n                      radiusOptions: z.never().optional(),\n                      customOptions: z.never().optional(),\n                      postalCodeOptions: z\n                        .object({\n                          countryCode: z\n                            .string()\n                            .describe(\n                              'Country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.'\n                            )\n                            .optional()\n                            .nullable(),\n                          postalCodes: z.array(z.string()).max(100).optional(),\n                        })\n                        .describe('Settings for a postal code delivery area.'),\n                    }),\n                    z.object({\n                      radiusOptions: z.never().optional(),\n                      postalCodeOptions: z.never().optional(),\n                      customOptions: z\n                        .object({\n                          geocodes: z\n                            .array(\n                              z.object({\n                                latitude: z\n                                  .number()\n                                  .describe('Address latitude.')\n                                  .optional()\n                                  .nullable(),\n                                longitude: z\n                                  .number()\n                                  .describe('Address longitude.')\n                                  .optional()\n                                  .nullable(),\n                              })\n                            )\n                            .optional(),\n                        })\n                        .describe('Settings for a custom delivery area.'),\n                    }),\n                  ])\n                )\n                .describe(\n                  'Delivery area supported by this delivery fulfillment method.'\n                )\n                .optional(),\n              deliveryProviderAppId: z\n                .string()\n                .describe('Delivery provider app id.')\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              courierPickupInstructions: z\n                .string()\n                .describe('Pickup instructions for couriers.')\n                .max(250)\n                .optional()\n                .nullable(),\n            })\n            .describe('Data specific for delivery fulfillment method.'),\n        }),\n      ])\n    )\n    .describe('Fulfillment method to create.'),\n});\nexport const CreateFulfillmentMethodResponse = z.intersection(\n  z.object({\n    _id: z\n      .string()\n      .describe('Fulfillment method ID.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional()\n      .nullable(),\n    revision: z\n      .string()\n      .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n      .describe(\n        'The current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.'\n      )\n      .optional()\n      .nullable(),\n    _createdDate: z\n      .date()\n      .describe('Date and time the fulfillment method was created.')\n      .optional()\n      .nullable(),\n    _updatedDate: z\n      .date()\n      .describe('Date and time the fulfillment method was last updated.')\n      .optional()\n      .nullable(),\n    type: z\n      .enum(['UNKNOWN_FULFILLMENT_TYPE', 'PICKUP', 'DELIVERY'])\n      .describe('Type of fulfillment method.')\n      .optional(),\n    name: z\n      .string()\n      .describe('Fulfillment method name.')\n      .min(1)\n      .max(30)\n      .optional()\n      .nullable(),\n    enabled: z\n      .boolean()\n      .describe('Whether the fulfillment method is enabled.')\n      .optional()\n      .nullable(),\n    fee: z\n      .string()\n      .describe('Fee for using this fulfillment method.')\n      .optional()\n      .nullable(),\n    availability: z\n      .object({\n        availableTimes: z\n          .array(\n            z.object({\n              dayOfWeek: z\n                .enum(['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'])\n                .describe('The day of week this availability relates to.')\n                .optional(),\n              timeRanges: z\n                .array(\n                  z.object({\n                    startTime: z\n                      .object({\n                        hours: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                          )\n                          .optional(),\n                        minutes: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                          )\n                          .optional(),\n                      })\n                      .describe('The start time in time of day representation.')\n                      .optional(),\n                    endTime: z\n                      .object({\n                        hours: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                          )\n                          .optional(),\n                        minutes: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                          )\n                          .optional(),\n                      })\n                      .describe('The end time in time of day representation.')\n                      .optional(),\n                  })\n                )\n                .optional(),\n            })\n          )\n          .optional(),\n        timeZone: z\n          .string()\n          .describe('The timezone in which the availability times are given.')\n          .optional()\n          .nullable(),\n      })\n      .describe('Availability of this fulfillment method.')\n      .optional(),\n    minOrderPrice: z\n      .string()\n      .describe(\n        'Minimum order price to qualify for using this fulfillment method.'\n      )\n      .optional()\n      .nullable(),\n    businessLocationId: z\n      .string()\n      .describe(\n        'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the operation this fulfillment method belongs to.'\n      )\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional()\n      .nullable(),\n    extendedFields: z\n      .object({\n        namespaces: z\n          .record(z.string(), z.record(z.string(), z.any()))\n          .describe(\n            'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n          )\n          .optional(),\n      })\n      .describe('Extended fields.')\n      .optional(),\n    tags: z\n      .object({\n        privateTags: z\n          .object({ tagIds: z.array(z.string()).max(100).optional() })\n          .describe(\n            'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n          )\n          .optional(),\n        tags: z\n          .object({ tagIds: z.array(z.string()).max(100).optional() })\n          .describe(\n            'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n          )\n          .optional(),\n      })\n      .describe(\n        'Tags used to classify and sort different types of fulfillment methods.'\n      )\n      .optional(),\n  }),\n  z.xor([\n    z.object({\n      pickupOptions: z.never().optional(),\n      deliveryOptions: z.never().optional(),\n    }),\n    z.object({\n      deliveryOptions: z.never().optional(),\n      pickupOptions: z\n        .object({\n          instructions: z\n            .string()\n            .describe('Instructions for the pickup.')\n            .max(250)\n            .optional()\n            .nullable(),\n          address: z\n            .object({\n              city: z.string().optional().nullable(),\n              subdivision: z.string().optional().nullable(),\n              country: z.string().optional().nullable(),\n              postalCode: z.string().optional().nullable(),\n              addressLine1: z.string().optional().nullable(),\n              addressLine2: z.string().optional().nullable(),\n            })\n            .describe(\n              'Pickup address.\\n\\nThis is set to the address of the restaurant.'\n            )\n            .optional(),\n        })\n        .describe('Data specific for pickup fulfillment method.'),\n    }),\n    z.object({\n      pickupOptions: z.never().optional(),\n      deliveryOptions: z\n        .object({\n          deliveryTimeInMinutes: z\n            .number()\n            .int()\n            .describe('Estimated delivery time in minutes.')\n            .min(0)\n            .optional()\n            .nullable(),\n          freeDeliveryThreshold: z\n            .string()\n            .describe(\n              'Threshold for offering free delivery.\\nIf the order price exceeds this threshold, the delivery fee is waived.'\n            )\n            .optional()\n            .nullable(),\n          deliveryArea: z\n            .intersection(\n              z.object({\n                type: z\n                  .enum([\n                    'UNKNOWN_DELIVERY_AREA',\n                    'RADIUS',\n                    'POSTAL_CODE',\n                    'CUSTOM',\n                    'PROVIDER_DEFINED',\n                  ])\n                  .describe('Type of delivery area.')\n                  .optional(),\n              }),\n              z.xor([\n                z.object({\n                  radiusOptions: z.never().optional(),\n                  postalCodeOptions: z.never().optional(),\n                  customOptions: z.never().optional(),\n                }),\n                z.object({\n                  postalCodeOptions: z.never().optional(),\n                  customOptions: z.never().optional(),\n                  radiusOptions: z\n                    .object({\n                      minDistance: z\n                        .string()\n                        .describe(\n                          'Minimum distance value.\\nThe unit of the radius is specified in the `unit` field.'\n                        )\n                        .optional()\n                        .nullable(),\n                      maxDistance: z\n                        .string()\n                        .describe(\n                          'Maximum distance value.\\nThe unit of the radius is specified in the `unit` field.'\n                        )\n                        .optional()\n                        .nullable(),\n                      centerPointAddress: z\n                        .object({\n                          city: z.string().optional().nullable(),\n                          subdivision: z.string().optional().nullable(),\n                          country: z.string().optional().nullable(),\n                          postalCode: z.string().optional().nullable(),\n                          addressLine1: z.string().optional().nullable(),\n                          addressLine2: z.string().optional().nullable(),\n                        })\n                        .describe('Address at the center of the circle.')\n                        .optional(),\n                      unit: z\n                        .enum(['UNKNOWN_UNIT', 'MILES', 'KILOMETERS'])\n                        .describe('Unit of measurement of the radius.')\n                        .optional(),\n                    })\n                    .describe('Settings for a radius delivery area.'),\n                }),\n                z.object({\n                  radiusOptions: z.never().optional(),\n                  customOptions: z.never().optional(),\n                  postalCodeOptions: z\n                    .object({\n                      countryCode: z\n                        .string()\n                        .describe(\n                          'Country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.'\n                        )\n                        .optional()\n                        .nullable(),\n                      postalCodes: z.array(z.string()).max(100).optional(),\n                    })\n                    .describe('Settings for a postal code delivery area.'),\n                }),\n                z.object({\n                  radiusOptions: z.never().optional(),\n                  postalCodeOptions: z.never().optional(),\n                  customOptions: z\n                    .object({\n                      geocodes: z\n                        .array(\n                          z.object({\n                            latitude: z\n                              .number()\n                              .describe('Address latitude.')\n                              .optional()\n                              .nullable(),\n                            longitude: z\n                              .number()\n                              .describe('Address longitude.')\n                              .optional()\n                              .nullable(),\n                          })\n                        )\n                        .optional(),\n                    })\n                    .describe('Settings for a custom delivery area.'),\n                }),\n              ])\n            )\n            .describe(\n              'Delivery area supported by this delivery fulfillment method.'\n            )\n            .optional(),\n          deliveryProviderAppId: z\n            .string()\n            .describe('Delivery provider app id.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          courierPickupInstructions: z\n            .string()\n            .describe('Pickup instructions for couriers.')\n            .max(250)\n            .optional()\n            .nullable(),\n        })\n        .describe('Data specific for delivery fulfillment method.'),\n    }),\n  ])\n);\nexport const BulkCreateFulfillmentMethodsRequest = z.object({\n  options: z\n    .object({\n      fulfillmentMethods: z\n        .array(\n          z.intersection(\n            z.object({\n              _id: z\n                .string()\n                .describe('Fulfillment method ID.')\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              revision: z\n                .string()\n                .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n                .describe(\n                  'The current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.'\n                )\n                .optional()\n                .nullable(),\n              _createdDate: z\n                .date()\n                .describe('Date and time the fulfillment method was created.')\n                .optional()\n                .nullable(),\n              _updatedDate: z\n                .date()\n                .describe(\n                  'Date and time the fulfillment method was last updated.'\n                )\n                .optional()\n                .nullable(),\n              type: z\n                .enum(['UNKNOWN_FULFILLMENT_TYPE', 'PICKUP', 'DELIVERY'])\n                .optional(),\n              name: z\n                .string()\n                .describe('Fulfillment method name.')\n                .min(1)\n                .max(30)\n                .optional()\n                .nullable(),\n              enabled: z\n                .boolean()\n                .describe('Whether the fulfillment method is enabled.')\n                .optional()\n                .nullable(),\n              fee: z\n                .string()\n                .describe('Fee for using this fulfillment method.')\n                .optional()\n                .nullable(),\n              availability: z\n                .object({\n                  availableTimes: z\n                    .array(\n                      z.object({\n                        dayOfWeek: z\n                          .enum([\n                            'MON',\n                            'TUE',\n                            'WED',\n                            'THU',\n                            'FRI',\n                            'SAT',\n                            'SUN',\n                          ])\n                          .optional(),\n                        timeRanges: z\n                          .array(\n                            z.object({\n                              startTime: z\n                                .object({\n                                  hours: z\n                                    .number()\n                                    .int()\n                                    .describe(\n                                      'Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                                    )\n                                    .optional(),\n                                  minutes: z\n                                    .number()\n                                    .int()\n                                    .describe(\n                                      'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  'The start time in time of day representation.'\n                                )\n                                .optional(),\n                              endTime: z\n                                .object({\n                                  hours: z\n                                    .number()\n                                    .int()\n                                    .describe(\n                                      'Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                                    )\n                                    .optional(),\n                                  minutes: z\n                                    .number()\n                                    .int()\n                                    .describe(\n                                      'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  'The end time in time of day representation.'\n                                )\n                                .optional(),\n                            })\n                          )\n                          .optional(),\n                      })\n                    )\n                    .optional(),\n                  timeZone: z\n                    .string()\n                    .describe(\n                      'The timezone in which the availability times are given.'\n                    )\n                    .optional()\n                    .nullable(),\n                })\n                .describe('Availability of this fulfillment method.')\n                .optional(),\n              minOrderPrice: z\n                .string()\n                .describe(\n                  'Minimum order price to qualify for using this fulfillment method.'\n                )\n                .optional()\n                .nullable(),\n              businessLocationId: z\n                .string()\n                .describe(\n                  'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the operation this fulfillment method belongs to.'\n                )\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              extendedFields: z\n                .object({\n                  namespaces: z\n                    .record(z.string(), z.record(z.string(), z.any()))\n                    .describe(\n                      'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                    )\n                    .optional(),\n                })\n                .describe('Extended fields.')\n                .optional(),\n              tags: z\n                .object({\n                  privateTags: z\n                    .object({ tagIds: z.array(z.string()).max(100).optional() })\n                    .describe(\n                      'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n                    )\n                    .optional(),\n                  tags: z\n                    .object({ tagIds: z.array(z.string()).max(100).optional() })\n                    .describe(\n                      'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n                    )\n                    .optional(),\n                })\n                .describe(\n                  'Tags used to classify and sort different types of fulfillment methods.'\n                )\n                .optional(),\n            }),\n            z.xor([\n              z.object({\n                pickupOptions: z.never().optional(),\n                deliveryOptions: z.never().optional(),\n              }),\n              z.object({\n                deliveryOptions: z.never().optional(),\n                pickupOptions: z\n                  .object({\n                    instructions: z\n                      .string()\n                      .describe('Instructions for the pickup.')\n                      .max(250)\n                      .optional()\n                      .nullable(),\n                    address: z\n                      .object({\n                        city: z.string().optional().nullable(),\n                        subdivision: z.string().optional().nullable(),\n                        country: z.string().optional().nullable(),\n                        postalCode: z.string().optional().nullable(),\n                        addressLine1: z.string().optional().nullable(),\n                        addressLine2: z.string().optional().nullable(),\n                      })\n                      .describe(\n                        'Pickup address.\\n\\nThis is set to the address of the restaurant.'\n                      )\n                      .optional(),\n                  })\n                  .describe('Data specific for pickup fulfillment method.'),\n              }),\n              z.object({\n                pickupOptions: z.never().optional(),\n                deliveryOptions: z\n                  .object({\n                    deliveryTimeInMinutes: z\n                      .number()\n                      .int()\n                      .describe('Estimated delivery time in minutes.')\n                      .min(0)\n                      .optional()\n                      .nullable(),\n                    freeDeliveryThreshold: z\n                      .string()\n                      .describe(\n                        'Threshold for offering free delivery.\\nIf the order price exceeds this threshold, the delivery fee is waived.'\n                      )\n                      .optional()\n                      .nullable(),\n                    deliveryArea: z\n                      .intersection(\n                        z.object({\n                          type: z\n                            .enum([\n                              'UNKNOWN_DELIVERY_AREA',\n                              'RADIUS',\n                              'POSTAL_CODE',\n                              'CUSTOM',\n                              'PROVIDER_DEFINED',\n                            ])\n                            .describe('Type of delivery area.')\n                            .optional(),\n                        }),\n                        z.xor([\n                          z.object({\n                            radiusOptions: z.never().optional(),\n                            postalCodeOptions: z.never().optional(),\n                            customOptions: z.never().optional(),\n                          }),\n                          z.object({\n                            postalCodeOptions: z.never().optional(),\n                            customOptions: z.never().optional(),\n                            radiusOptions: z\n                              .object({\n                                minDistance: z\n                                  .string()\n                                  .describe(\n                                    'Minimum distance value.\\nThe unit of the radius is specified in the `unit` field.'\n                                  )\n                                  .optional()\n                                  .nullable(),\n                                maxDistance: z\n                                  .string()\n                                  .describe(\n                                    'Maximum distance value.\\nThe unit of the radius is specified in the `unit` field.'\n                                  )\n                                  .optional()\n                                  .nullable(),\n                                centerPointAddress: z\n                                  .object({\n                                    city: z.string().optional().nullable(),\n                                    subdivision: z\n                                      .string()\n                                      .optional()\n                                      .nullable(),\n                                    country: z.string().optional().nullable(),\n                                    postalCode: z\n                                      .string()\n                                      .optional()\n                                      .nullable(),\n                                    addressLine1: z\n                                      .string()\n                                      .optional()\n                                      .nullable(),\n                                    addressLine2: z\n                                      .string()\n                                      .optional()\n                                      .nullable(),\n                                  })\n                                  .describe(\n                                    'Address at the center of the circle.'\n                                  )\n                                  .optional(),\n                                unit: z\n                                  .enum(['UNKNOWN_UNIT', 'MILES', 'KILOMETERS'])\n                                  .describe(\n                                    'Unit of measurement of the radius.'\n                                  )\n                                  .optional(),\n                              })\n                              .describe('Settings for a radius delivery area.'),\n                          }),\n                          z.object({\n                            radiusOptions: z.never().optional(),\n                            customOptions: z.never().optional(),\n                            postalCodeOptions: z\n                              .object({\n                                countryCode: z\n                                  .string()\n                                  .describe(\n                                    'Country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.'\n                                  )\n                                  .optional()\n                                  .nullable(),\n                                postalCodes: z\n                                  .array(z.string())\n                                  .max(100)\n                                  .optional(),\n                              })\n                              .describe(\n                                'Settings for a postal code delivery area.'\n                              ),\n                          }),\n                          z.object({\n                            radiusOptions: z.never().optional(),\n                            postalCodeOptions: z.never().optional(),\n                            customOptions: z\n                              .object({\n                                geocodes: z\n                                  .array(\n                                    z.object({\n                                      latitude: z\n                                        .number()\n                                        .describe('Address latitude.')\n                                        .optional()\n                                        .nullable(),\n                                      longitude: z\n                                        .number()\n                                        .describe('Address longitude.')\n                                        .optional()\n                                        .nullable(),\n                                    })\n                                  )\n                                  .optional(),\n                              })\n                              .describe('Settings for a custom delivery area.'),\n                          }),\n                        ])\n                      )\n                      .describe(\n                        'Delivery area supported by this delivery fulfillment method.'\n                      )\n                      .optional(),\n                    deliveryProviderAppId: z\n                      .string()\n                      .describe('Delivery provider app id.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    courierPickupInstructions: z\n                      .string()\n                      .describe('Pickup instructions for couriers.')\n                      .max(250)\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Data specific for delivery fulfillment method.'),\n              }),\n            ])\n          )\n        )\n        .max(100)\n        .optional(),\n      returnEntity: z\n        .boolean()\n        .describe('If true, the created entities will be returned.')\n        .optional(),\n    })\n    .optional(),\n});\nexport const BulkCreateFulfillmentMethodsResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        itemMetadata: z\n          .object({\n            _id: z\n              .string()\n              .describe(\n                \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n              )\n              .optional()\n              .nullable(),\n            originalIndex: z\n              .number()\n              .int()\n              .describe(\n                'Index of the item within the request array. Allows for correlation between request and response items.'\n              )\n              .optional(),\n            success: z\n              .boolean()\n              .describe(\n                'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n              )\n              .optional(),\n            error: z\n              .object({\n                code: z.string().describe('Error code.').optional(),\n                description: z\n                  .string()\n                  .describe('Description of the error.')\n                  .optional(),\n                data: z\n                  .record(z.string(), z.any())\n                  .describe('Data related to the error.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Details about the error in case of failure.')\n              .optional(),\n          })\n          .describe('Metadata for fulfillment method creation.')\n          .optional(),\n        fulfillmentMethod: z\n          .intersection(\n            z.object({\n              _id: z\n                .string()\n                .describe('Fulfillment method ID.')\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              revision: z\n                .string()\n                .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n                .describe(\n                  'The current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.'\n                )\n                .optional()\n                .nullable(),\n              _createdDate: z\n                .date()\n                .describe('Date and time the fulfillment method was created.')\n                .optional()\n                .nullable(),\n              _updatedDate: z\n                .date()\n                .describe(\n                  'Date and time the fulfillment method was last updated.'\n                )\n                .optional()\n                .nullable(),\n              type: z\n                .enum(['UNKNOWN_FULFILLMENT_TYPE', 'PICKUP', 'DELIVERY'])\n                .describe('Type of fulfillment method.')\n                .optional(),\n              name: z\n                .string()\n                .describe('Fulfillment method name.')\n                .min(1)\n                .max(30)\n                .optional()\n                .nullable(),\n              enabled: z\n                .boolean()\n                .describe('Whether the fulfillment method is enabled.')\n                .optional()\n                .nullable(),\n              fee: z\n                .string()\n                .describe('Fee for using this fulfillment method.')\n                .optional()\n                .nullable(),\n              availability: z\n                .object({\n                  availableTimes: z\n                    .array(\n                      z.object({\n                        dayOfWeek: z\n                          .enum([\n                            'MON',\n                            'TUE',\n                            'WED',\n                            'THU',\n                            'FRI',\n                            'SAT',\n                            'SUN',\n                          ])\n                          .describe(\n                            'The day of week this availability relates to.'\n                          )\n                          .optional(),\n                        timeRanges: z\n                          .array(\n                            z.object({\n                              startTime: z\n                                .object({\n                                  hours: z\n                                    .number()\n                                    .int()\n                                    .describe(\n                                      'Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                                    )\n                                    .optional(),\n                                  minutes: z\n                                    .number()\n                                    .int()\n                                    .describe(\n                                      'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  'The start time in time of day representation.'\n                                )\n                                .optional(),\n                              endTime: z\n                                .object({\n                                  hours: z\n                                    .number()\n                                    .int()\n                                    .describe(\n                                      'Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                                    )\n                                    .optional(),\n                                  minutes: z\n                                    .number()\n                                    .int()\n                                    .describe(\n                                      'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  'The end time in time of day representation.'\n                                )\n                                .optional(),\n                            })\n                          )\n                          .optional(),\n                      })\n                    )\n                    .optional(),\n                  timeZone: z\n                    .string()\n                    .describe(\n                      'The timezone in which the availability times are given.'\n                    )\n                    .optional()\n                    .nullable(),\n                })\n                .describe('Availability of this fulfillment method.')\n                .optional(),\n              minOrderPrice: z\n                .string()\n                .describe(\n                  'Minimum order price to qualify for using this fulfillment method.'\n                )\n                .optional()\n                .nullable(),\n              businessLocationId: z\n                .string()\n                .describe(\n                  'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the operation this fulfillment method belongs to.'\n                )\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              extendedFields: z\n                .object({\n                  namespaces: z\n                    .record(z.string(), z.record(z.string(), z.any()))\n                    .describe(\n                      'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                    )\n                    .optional(),\n                })\n                .describe('Extended fields.')\n                .optional(),\n              tags: z\n                .object({\n                  privateTags: z\n                    .object({ tagIds: z.array(z.string()).max(100).optional() })\n                    .describe(\n                      'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n                    )\n                    .optional(),\n                  tags: z\n                    .object({ tagIds: z.array(z.string()).max(100).optional() })\n                    .describe(\n                      'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n                    )\n                    .optional(),\n                })\n                .describe(\n                  'Tags used to classify and sort different types of fulfillment methods.'\n                )\n                .optional(),\n            }),\n            z.xor([\n              z.object({\n                pickupOptions: z.never().optional(),\n                deliveryOptions: z.never().optional(),\n              }),\n              z.object({\n                deliveryOptions: z.never().optional(),\n                pickupOptions: z\n                  .object({\n                    instructions: z\n                      .string()\n                      .describe('Instructions for the pickup.')\n                      .max(250)\n                      .optional()\n                      .nullable(),\n                    address: z\n                      .object({\n                        city: z.string().optional().nullable(),\n                        subdivision: z.string().optional().nullable(),\n                        country: z.string().optional().nullable(),\n                        postalCode: z.string().optional().nullable(),\n                        addressLine1: z.string().optional().nullable(),\n                        addressLine2: z.string().optional().nullable(),\n                      })\n                      .describe(\n                        'Pickup address.\\n\\nThis is set to the address of the restaurant.'\n                      )\n                      .optional(),\n                  })\n                  .describe('Data specific for pickup fulfillment method.'),\n              }),\n              z.object({\n                pickupOptions: z.never().optional(),\n                deliveryOptions: z\n                  .object({\n                    deliveryTimeInMinutes: z\n                      .number()\n                      .int()\n                      .describe('Estimated delivery time in minutes.')\n                      .min(0)\n                      .optional()\n                      .nullable(),\n                    freeDeliveryThreshold: z\n                      .string()\n                      .describe(\n                        'Threshold for offering free delivery.\\nIf the order price exceeds this threshold, the delivery fee is waived.'\n                      )\n                      .optional()\n                      .nullable(),\n                    deliveryArea: z\n                      .intersection(\n                        z.object({\n                          type: z\n                            .enum([\n                              'UNKNOWN_DELIVERY_AREA',\n                              'RADIUS',\n                              'POSTAL_CODE',\n                              'CUSTOM',\n                              'PROVIDER_DEFINED',\n                            ])\n                            .describe('Type of delivery area.')\n                            .optional(),\n                        }),\n                        z.xor([\n                          z.object({\n                            radiusOptions: z.never().optional(),\n                            postalCodeOptions: z.never().optional(),\n                            customOptions: z.never().optional(),\n                          }),\n                          z.object({\n                            postalCodeOptions: z.never().optional(),\n                            customOptions: z.never().optional(),\n                            radiusOptions: z\n                              .object({\n                                minDistance: z\n                                  .string()\n                                  .describe(\n                                    'Minimum distance value.\\nThe unit of the radius is specified in the `unit` field.'\n                                  )\n                                  .optional()\n                                  .nullable(),\n                                maxDistance: z\n                                  .string()\n                                  .describe(\n                                    'Maximum distance value.\\nThe unit of the radius is specified in the `unit` field.'\n                                  )\n                                  .optional()\n                                  .nullable(),\n                                centerPointAddress: z\n                                  .object({\n                                    city: z.string().optional().nullable(),\n                                    subdivision: z\n                                      .string()\n                                      .optional()\n                                      .nullable(),\n                                    country: z.string().optional().nullable(),\n                                    postalCode: z\n                                      .string()\n                                      .optional()\n                                      .nullable(),\n                                    addressLine1: z\n                                      .string()\n                                      .optional()\n                                      .nullable(),\n                                    addressLine2: z\n                                      .string()\n                                      .optional()\n                                      .nullable(),\n                                  })\n                                  .describe(\n                                    'Address at the center of the circle.'\n                                  )\n                                  .optional(),\n                                unit: z\n                                  .enum(['UNKNOWN_UNIT', 'MILES', 'KILOMETERS'])\n                                  .describe(\n                                    'Unit of measurement of the radius.'\n                                  )\n                                  .optional(),\n                              })\n                              .describe('Settings for a radius delivery area.'),\n                          }),\n                          z.object({\n                            radiusOptions: z.never().optional(),\n                            customOptions: z.never().optional(),\n                            postalCodeOptions: z\n                              .object({\n                                countryCode: z\n                                  .string()\n                                  .describe(\n                                    'Country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.'\n                                  )\n                                  .optional()\n                                  .nullable(),\n                                postalCodes: z\n                                  .array(z.string())\n                                  .max(100)\n                                  .optional(),\n                              })\n                              .describe(\n                                'Settings for a postal code delivery area.'\n                              ),\n                          }),\n                          z.object({\n                            radiusOptions: z.never().optional(),\n                            postalCodeOptions: z.never().optional(),\n                            customOptions: z\n                              .object({\n                                geocodes: z\n                                  .array(\n                                    z.object({\n                                      latitude: z\n                                        .number()\n                                        .describe('Address latitude.')\n                                        .optional()\n                                        .nullable(),\n                                      longitude: z\n                                        .number()\n                                        .describe('Address longitude.')\n                                        .optional()\n                                        .nullable(),\n                                    })\n                                  )\n                                  .optional(),\n                              })\n                              .describe('Settings for a custom delivery area.'),\n                          }),\n                        ])\n                      )\n                      .describe(\n                        'Delivery area supported by this delivery fulfillment method.'\n                      )\n                      .optional(),\n                    deliveryProviderAppId: z\n                      .string()\n                      .describe('Delivery provider app id.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    courierPickupInstructions: z\n                      .string()\n                      .describe('Pickup instructions for couriers.')\n                      .max(250)\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Data specific for delivery fulfillment method.'),\n              }),\n            ])\n          )\n          .describe('Created fulfillment method.')\n          .optional(),\n      })\n    )\n    .optional(),\n  bulkActionMetadata: z\n    .object({\n      totalSuccesses: z\n        .number()\n        .int()\n        .describe('Number of items that were successfully processed.')\n        .optional(),\n      totalFailures: z\n        .number()\n        .int()\n        .describe(\"Number of items that couldn't be processed.\")\n        .optional(),\n      undetailedFailures: z\n        .number()\n        .int()\n        .describe(\n          'Number of failures without details because detailed failure threshold was exceeded.'\n        )\n        .optional(),\n    })\n    .describe('Metadata for the API call.')\n    .optional(),\n});\nexport const GetFulfillmentMethodRequest = z.object({\n  fulfillmentMethodId: z\n    .string()\n    .describe('The ID of the fulfillment method to retrieve.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n});\nexport const GetFulfillmentMethodResponse = z.intersection(\n  z.object({\n    _id: z\n      .string()\n      .describe('Fulfillment method ID.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional()\n      .nullable(),\n    revision: z\n      .string()\n      .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n      .describe(\n        'The current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.'\n      )\n      .optional()\n      .nullable(),\n    _createdDate: z\n      .date()\n      .describe('Date and time the fulfillment method was created.')\n      .optional()\n      .nullable(),\n    _updatedDate: z\n      .date()\n      .describe('Date and time the fulfillment method was last updated.')\n      .optional()\n      .nullable(),\n    type: z\n      .enum(['UNKNOWN_FULFILLMENT_TYPE', 'PICKUP', 'DELIVERY'])\n      .describe('Type of fulfillment method.')\n      .optional(),\n    name: z\n      .string()\n      .describe('Fulfillment method name.')\n      .min(1)\n      .max(30)\n      .optional()\n      .nullable(),\n    enabled: z\n      .boolean()\n      .describe('Whether the fulfillment method is enabled.')\n      .optional()\n      .nullable(),\n    fee: z\n      .string()\n      .describe('Fee for using this fulfillment method.')\n      .optional()\n      .nullable(),\n    availability: z\n      .object({\n        availableTimes: z\n          .array(\n            z.object({\n              dayOfWeek: z\n                .enum(['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'])\n                .describe('The day of week this availability relates to.')\n                .optional(),\n              timeRanges: z\n                .array(\n                  z.object({\n                    startTime: z\n                      .object({\n                        hours: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                          )\n                          .optional(),\n                        minutes: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                          )\n                          .optional(),\n                      })\n                      .describe('The start time in time of day representation.')\n                      .optional(),\n                    endTime: z\n                      .object({\n                        hours: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                          )\n                          .optional(),\n                        minutes: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                          )\n                          .optional(),\n                      })\n                      .describe('The end time in time of day representation.')\n                      .optional(),\n                  })\n                )\n                .optional(),\n            })\n          )\n          .optional(),\n        timeZone: z\n          .string()\n          .describe('The timezone in which the availability times are given.')\n          .optional()\n          .nullable(),\n      })\n      .describe('Availability of this fulfillment method.')\n      .optional(),\n    minOrderPrice: z\n      .string()\n      .describe(\n        'Minimum order price to qualify for using this fulfillment method.'\n      )\n      .optional()\n      .nullable(),\n    businessLocationId: z\n      .string()\n      .describe(\n        'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the operation this fulfillment method belongs to.'\n      )\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional()\n      .nullable(),\n    extendedFields: z\n      .object({\n        namespaces: z\n          .record(z.string(), z.record(z.string(), z.any()))\n          .describe(\n            'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n          )\n          .optional(),\n      })\n      .describe('Extended fields.')\n      .optional(),\n    tags: z\n      .object({\n        privateTags: z\n          .object({ tagIds: z.array(z.string()).max(100).optional() })\n          .describe(\n            'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n          )\n          .optional(),\n        tags: z\n          .object({ tagIds: z.array(z.string()).max(100).optional() })\n          .describe(\n            'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n          )\n          .optional(),\n      })\n      .describe(\n        'Tags used to classify and sort different types of fulfillment methods.'\n      )\n      .optional(),\n  }),\n  z.xor([\n    z.object({\n      pickupOptions: z.never().optional(),\n      deliveryOptions: z.never().optional(),\n    }),\n    z.object({\n      deliveryOptions: z.never().optional(),\n      pickupOptions: z\n        .object({\n          instructions: z\n            .string()\n            .describe('Instructions for the pickup.')\n            .max(250)\n            .optional()\n            .nullable(),\n          address: z\n            .object({\n              city: z.string().optional().nullable(),\n              subdivision: z.string().optional().nullable(),\n              country: z.string().optional().nullable(),\n              postalCode: z.string().optional().nullable(),\n              addressLine1: z.string().optional().nullable(),\n              addressLine2: z.string().optional().nullable(),\n            })\n            .describe(\n              'Pickup address.\\n\\nThis is set to the address of the restaurant.'\n            )\n            .optional(),\n        })\n        .describe('Data specific for pickup fulfillment method.'),\n    }),\n    z.object({\n      pickupOptions: z.never().optional(),\n      deliveryOptions: z\n        .object({\n          deliveryTimeInMinutes: z\n            .number()\n            .int()\n            .describe('Estimated delivery time in minutes.')\n            .min(0)\n            .optional()\n            .nullable(),\n          freeDeliveryThreshold: z\n            .string()\n            .describe(\n              'Threshold for offering free delivery.\\nIf the order price exceeds this threshold, the delivery fee is waived.'\n            )\n            .optional()\n            .nullable(),\n          deliveryArea: z\n            .intersection(\n              z.object({\n                type: z\n                  .enum([\n                    'UNKNOWN_DELIVERY_AREA',\n                    'RADIUS',\n                    'POSTAL_CODE',\n                    'CUSTOM',\n                    'PROVIDER_DEFINED',\n                  ])\n                  .describe('Type of delivery area.')\n                  .optional(),\n              }),\n              z.xor([\n                z.object({\n                  radiusOptions: z.never().optional(),\n                  postalCodeOptions: z.never().optional(),\n                  customOptions: z.never().optional(),\n                }),\n                z.object({\n                  postalCodeOptions: z.never().optional(),\n                  customOptions: z.never().optional(),\n                  radiusOptions: z\n                    .object({\n                      minDistance: z\n                        .string()\n                        .describe(\n                          'Minimum distance value.\\nThe unit of the radius is specified in the `unit` field.'\n                        )\n                        .optional()\n                        .nullable(),\n                      maxDistance: z\n                        .string()\n                        .describe(\n                          'Maximum distance value.\\nThe unit of the radius is specified in the `unit` field.'\n                        )\n                        .optional()\n                        .nullable(),\n                      centerPointAddress: z\n                        .object({\n                          city: z.string().optional().nullable(),\n                          subdivision: z.string().optional().nullable(),\n                          country: z.string().optional().nullable(),\n                          postalCode: z.string().optional().nullable(),\n                          addressLine1: z.string().optional().nullable(),\n                          addressLine2: z.string().optional().nullable(),\n                        })\n                        .describe('Address at the center of the circle.')\n                        .optional(),\n                      unit: z\n                        .enum(['UNKNOWN_UNIT', 'MILES', 'KILOMETERS'])\n                        .describe('Unit of measurement of the radius.')\n                        .optional(),\n                    })\n                    .describe('Settings for a radius delivery area.'),\n                }),\n                z.object({\n                  radiusOptions: z.never().optional(),\n                  customOptions: z.never().optional(),\n                  postalCodeOptions: z\n                    .object({\n                      countryCode: z\n                        .string()\n                        .describe(\n                          'Country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.'\n                        )\n                        .optional()\n                        .nullable(),\n                      postalCodes: z.array(z.string()).max(100).optional(),\n                    })\n                    .describe('Settings for a postal code delivery area.'),\n                }),\n                z.object({\n                  radiusOptions: z.never().optional(),\n                  postalCodeOptions: z.never().optional(),\n                  customOptions: z\n                    .object({\n                      geocodes: z\n                        .array(\n                          z.object({\n                            latitude: z\n                              .number()\n                              .describe('Address latitude.')\n                              .optional()\n                              .nullable(),\n                            longitude: z\n                              .number()\n                              .describe('Address longitude.')\n                              .optional()\n                              .nullable(),\n                          })\n                        )\n                        .optional(),\n                    })\n                    .describe('Settings for a custom delivery area.'),\n                }),\n              ])\n            )\n            .describe(\n              'Delivery area supported by this delivery fulfillment method.'\n            )\n            .optional(),\n          deliveryProviderAppId: z\n            .string()\n            .describe('Delivery provider app id.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          courierPickupInstructions: z\n            .string()\n            .describe('Pickup instructions for couriers.')\n            .max(250)\n            .optional()\n            .nullable(),\n        })\n        .describe('Data specific for delivery fulfillment method.'),\n    }),\n  ])\n);\nexport const UpdateFulfillmentMethodRequest = z.object({\n  _id: z\n    .string()\n    .describe('Fulfillment method ID.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n  fulfillmentMethod: z\n    .intersection(\n      z.object({\n        _id: z\n          .string()\n          .describe('Fulfillment method ID.')\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional()\n          .nullable(),\n        revision: z\n          .string()\n          .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n          .describe(\n            'The current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.'\n          ),\n        _createdDate: z\n          .date()\n          .describe('Date and time the fulfillment method was created.')\n          .optional()\n          .nullable(),\n        _updatedDate: z\n          .date()\n          .describe('Date and time the fulfillment method was last updated.')\n          .optional()\n          .nullable(),\n        type: z\n          .enum(['UNKNOWN_FULFILLMENT_TYPE', 'PICKUP', 'DELIVERY'])\n          .optional(),\n        name: z\n          .string()\n          .describe('Fulfillment method name.')\n          .min(1)\n          .max(30)\n          .optional()\n          .nullable(),\n        enabled: z\n          .boolean()\n          .describe('Whether the fulfillment method is enabled.')\n          .optional()\n          .nullable(),\n        fee: z\n          .string()\n          .describe('Fee for using this fulfillment method.')\n          .optional()\n          .nullable(),\n        availability: z\n          .object({\n            availableTimes: z\n              .array(\n                z.object({\n                  dayOfWeek: z\n                    .enum(['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'])\n                    .optional(),\n                  timeRanges: z\n                    .array(\n                      z.object({\n                        startTime: z\n                          .object({\n                            hours: z\n                              .number()\n                              .int()\n                              .describe(\n                                'Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                              )\n                              .optional(),\n                            minutes: z\n                              .number()\n                              .int()\n                              .describe(\n                                'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'The start time in time of day representation.'\n                          )\n                          .optional(),\n                        endTime: z\n                          .object({\n                            hours: z\n                              .number()\n                              .int()\n                              .describe(\n                                'Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                              )\n                              .optional(),\n                            minutes: z\n                              .number()\n                              .int()\n                              .describe(\n                                'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'The end time in time of day representation.'\n                          )\n                          .optional(),\n                      })\n                    )\n                    .optional(),\n                })\n              )\n              .optional(),\n            timeZone: z\n              .string()\n              .describe(\n                'The timezone in which the availability times are given.'\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe('Availability of this fulfillment method.')\n          .optional(),\n        minOrderPrice: z\n          .string()\n          .describe(\n            'Minimum order price to qualify for using this fulfillment method.'\n          )\n          .optional()\n          .nullable(),\n        businessLocationId: z\n          .string()\n          .describe(\n            'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the operation this fulfillment method belongs to.'\n          )\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional()\n          .nullable(),\n        extendedFields: z\n          .object({\n            namespaces: z\n              .record(z.string(), z.record(z.string(), z.any()))\n              .describe(\n                'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n              )\n              .optional(),\n          })\n          .describe('Extended fields.')\n          .optional(),\n        tags: z\n          .object({\n            privateTags: z\n              .object({ tagIds: z.array(z.string()).max(100).optional() })\n              .describe(\n                'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n              )\n              .optional(),\n            tags: z\n              .object({ tagIds: z.array(z.string()).max(100).optional() })\n              .describe(\n                'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n              )\n              .optional(),\n          })\n          .describe(\n            'Tags used to classify and sort different types of fulfillment methods.'\n          )\n          .optional(),\n      }),\n      z.xor([\n        z.object({\n          pickupOptions: z.never().optional(),\n          deliveryOptions: z.never().optional(),\n        }),\n        z.object({\n          deliveryOptions: z.never().optional(),\n          pickupOptions: z\n            .object({\n              instructions: z\n                .string()\n                .describe('Instructions for the pickup.')\n                .max(250)\n                .optional()\n                .nullable(),\n              address: z\n                .object({\n                  city: z.string().optional().nullable(),\n                  subdivision: z.string().optional().nullable(),\n                  country: z.string().optional().nullable(),\n                  postalCode: z.string().optional().nullable(),\n                  addressLine1: z.string().optional().nullable(),\n                  addressLine2: z.string().optional().nullable(),\n                })\n                .describe(\n                  'Pickup address.\\n\\nThis is set to the address of the restaurant.'\n                )\n                .optional(),\n            })\n            .describe('Data specific for pickup fulfillment method.'),\n        }),\n        z.object({\n          pickupOptions: z.never().optional(),\n          deliveryOptions: z\n            .object({\n              deliveryTimeInMinutes: z\n                .number()\n                .int()\n                .describe('Estimated delivery time in minutes.')\n                .min(0)\n                .optional()\n                .nullable(),\n              freeDeliveryThreshold: z\n                .string()\n                .describe(\n                  'Threshold for offering free delivery.\\nIf the order price exceeds this threshold, the delivery fee is waived.'\n                )\n                .optional()\n                .nullable(),\n              deliveryArea: z\n                .intersection(\n                  z.object({\n                    type: z\n                      .enum([\n                        'UNKNOWN_DELIVERY_AREA',\n                        'RADIUS',\n                        'POSTAL_CODE',\n                        'CUSTOM',\n                        'PROVIDER_DEFINED',\n                      ])\n                      .describe('Type of delivery area.')\n                      .optional(),\n                  }),\n                  z.xor([\n                    z.object({\n                      radiusOptions: z.never().optional(),\n                      postalCodeOptions: z.never().optional(),\n                      customOptions: z.never().optional(),\n                    }),\n                    z.object({\n                      postalCodeOptions: z.never().optional(),\n                      customOptions: z.never().optional(),\n                      radiusOptions: z\n                        .object({\n                          minDistance: z\n                            .string()\n                            .describe(\n                              'Minimum distance value.\\nThe unit of the radius is specified in the `unit` field.'\n                            )\n                            .optional()\n                            .nullable(),\n                          maxDistance: z\n                            .string()\n                            .describe(\n                              'Maximum distance value.\\nThe unit of the radius is specified in the `unit` field.'\n                            )\n                            .optional()\n                            .nullable(),\n                          centerPointAddress: z\n                            .object({\n                              city: z.string().optional().nullable(),\n                              subdivision: z.string().optional().nullable(),\n                              country: z.string().optional().nullable(),\n                              postalCode: z.string().optional().nullable(),\n                              addressLine1: z.string().optional().nullable(),\n                              addressLine2: z.string().optional().nullable(),\n                            })\n                            .describe('Address at the center of the circle.')\n                            .optional(),\n                          unit: z\n                            .enum(['UNKNOWN_UNIT', 'MILES', 'KILOMETERS'])\n                            .describe('Unit of measurement of the radius.')\n                            .optional(),\n                        })\n                        .describe('Settings for a radius delivery area.'),\n                    }),\n                    z.object({\n                      radiusOptions: z.never().optional(),\n                      customOptions: z.never().optional(),\n                      postalCodeOptions: z\n                        .object({\n                          countryCode: z\n                            .string()\n                            .describe(\n                              'Country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.'\n                            )\n                            .optional()\n                            .nullable(),\n                          postalCodes: z.array(z.string()).max(100).optional(),\n                        })\n                        .describe('Settings for a postal code delivery area.'),\n                    }),\n                    z.object({\n                      radiusOptions: z.never().optional(),\n                      postalCodeOptions: z.never().optional(),\n                      customOptions: z\n                        .object({\n                          geocodes: z\n                            .array(\n                              z.object({\n                                latitude: z\n                                  .number()\n                                  .describe('Address latitude.')\n                                  .optional()\n                                  .nullable(),\n                                longitude: z\n                                  .number()\n                                  .describe('Address longitude.')\n                                  .optional()\n                                  .nullable(),\n                              })\n                            )\n                            .optional(),\n                        })\n                        .describe('Settings for a custom delivery area.'),\n                    }),\n                  ])\n                )\n                .describe(\n                  'Delivery area supported by this delivery fulfillment method.'\n                )\n                .optional(),\n              deliveryProviderAppId: z\n                .string()\n                .describe('Delivery provider app id.')\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              courierPickupInstructions: z\n                .string()\n                .describe('Pickup instructions for couriers.')\n                .max(250)\n                .optional()\n                .nullable(),\n            })\n            .describe('Data specific for delivery fulfillment method.'),\n        }),\n      ])\n    )\n    .describe('Fulfillment method information to update.'),\n});\nexport const UpdateFulfillmentMethodResponse = z.intersection(\n  z.object({\n    _id: z\n      .string()\n      .describe('Fulfillment method ID.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional()\n      .nullable(),\n    revision: z\n      .string()\n      .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n      .describe(\n        'The current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.'\n      )\n      .optional()\n      .nullable(),\n    _createdDate: z\n      .date()\n      .describe('Date and time the fulfillment method was created.')\n      .optional()\n      .nullable(),\n    _updatedDate: z\n      .date()\n      .describe('Date and time the fulfillment method was last updated.')\n      .optional()\n      .nullable(),\n    type: z\n      .enum(['UNKNOWN_FULFILLMENT_TYPE', 'PICKUP', 'DELIVERY'])\n      .describe('Type of fulfillment method.')\n      .optional(),\n    name: z\n      .string()\n      .describe('Fulfillment method name.')\n      .min(1)\n      .max(30)\n      .optional()\n      .nullable(),\n    enabled: z\n      .boolean()\n      .describe('Whether the fulfillment method is enabled.')\n      .optional()\n      .nullable(),\n    fee: z\n      .string()\n      .describe('Fee for using this fulfillment method.')\n      .optional()\n      .nullable(),\n    availability: z\n      .object({\n        availableTimes: z\n          .array(\n            z.object({\n              dayOfWeek: z\n                .enum(['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'])\n                .describe('The day of week this availability relates to.')\n                .optional(),\n              timeRanges: z\n                .array(\n                  z.object({\n                    startTime: z\n                      .object({\n                        hours: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                          )\n                          .optional(),\n                        minutes: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                          )\n                          .optional(),\n                      })\n                      .describe('The start time in time of day representation.')\n                      .optional(),\n                    endTime: z\n                      .object({\n                        hours: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                          )\n                          .optional(),\n                        minutes: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                          )\n                          .optional(),\n                      })\n                      .describe('The end time in time of day representation.')\n                      .optional(),\n                  })\n                )\n                .optional(),\n            })\n          )\n          .optional(),\n        timeZone: z\n          .string()\n          .describe('The timezone in which the availability times are given.')\n          .optional()\n          .nullable(),\n      })\n      .describe('Availability of this fulfillment method.')\n      .optional(),\n    minOrderPrice: z\n      .string()\n      .describe(\n        'Minimum order price to qualify for using this fulfillment method.'\n      )\n      .optional()\n      .nullable(),\n    businessLocationId: z\n      .string()\n      .describe(\n        'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the operation this fulfillment method belongs to.'\n      )\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional()\n      .nullable(),\n    extendedFields: z\n      .object({\n        namespaces: z\n          .record(z.string(), z.record(z.string(), z.any()))\n          .describe(\n            'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n          )\n          .optional(),\n      })\n      .describe('Extended fields.')\n      .optional(),\n    tags: z\n      .object({\n        privateTags: z\n          .object({ tagIds: z.array(z.string()).max(100).optional() })\n          .describe(\n            'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n          )\n          .optional(),\n        tags: z\n          .object({ tagIds: z.array(z.string()).max(100).optional() })\n          .describe(\n            'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n          )\n          .optional(),\n      })\n      .describe(\n        'Tags used to classify and sort different types of fulfillment methods.'\n      )\n      .optional(),\n  }),\n  z.xor([\n    z.object({\n      pickupOptions: z.never().optional(),\n      deliveryOptions: z.never().optional(),\n    }),\n    z.object({\n      deliveryOptions: z.never().optional(),\n      pickupOptions: z\n        .object({\n          instructions: z\n            .string()\n            .describe('Instructions for the pickup.')\n            .max(250)\n            .optional()\n            .nullable(),\n          address: z\n            .object({\n              city: z.string().optional().nullable(),\n              subdivision: z.string().optional().nullable(),\n              country: z.string().optional().nullable(),\n              postalCode: z.string().optional().nullable(),\n              addressLine1: z.string().optional().nullable(),\n              addressLine2: z.string().optional().nullable(),\n            })\n            .describe(\n              'Pickup address.\\n\\nThis is set to the address of the restaurant.'\n            )\n            .optional(),\n        })\n        .describe('Data specific for pickup fulfillment method.'),\n    }),\n    z.object({\n      pickupOptions: z.never().optional(),\n      deliveryOptions: z\n        .object({\n          deliveryTimeInMinutes: z\n            .number()\n            .int()\n            .describe('Estimated delivery time in minutes.')\n            .min(0)\n            .optional()\n            .nullable(),\n          freeDeliveryThreshold: z\n            .string()\n            .describe(\n              'Threshold for offering free delivery.\\nIf the order price exceeds this threshold, the delivery fee is waived.'\n            )\n            .optional()\n            .nullable(),\n          deliveryArea: z\n            .intersection(\n              z.object({\n                type: z\n                  .enum([\n                    'UNKNOWN_DELIVERY_AREA',\n                    'RADIUS',\n                    'POSTAL_CODE',\n                    'CUSTOM',\n                    'PROVIDER_DEFINED',\n                  ])\n                  .describe('Type of delivery area.')\n                  .optional(),\n              }),\n              z.xor([\n                z.object({\n                  radiusOptions: z.never().optional(),\n                  postalCodeOptions: z.never().optional(),\n                  customOptions: z.never().optional(),\n                }),\n                z.object({\n                  postalCodeOptions: z.never().optional(),\n                  customOptions: z.never().optional(),\n                  radiusOptions: z\n                    .object({\n                      minDistance: z\n                        .string()\n                        .describe(\n                          'Minimum distance value.\\nThe unit of the radius is specified in the `unit` field.'\n                        )\n                        .optional()\n                        .nullable(),\n                      maxDistance: z\n                        .string()\n                        .describe(\n                          'Maximum distance value.\\nThe unit of the radius is specified in the `unit` field.'\n                        )\n                        .optional()\n                        .nullable(),\n                      centerPointAddress: z\n                        .object({\n                          city: z.string().optional().nullable(),\n                          subdivision: z.string().optional().nullable(),\n                          country: z.string().optional().nullable(),\n                          postalCode: z.string().optional().nullable(),\n                          addressLine1: z.string().optional().nullable(),\n                          addressLine2: z.string().optional().nullable(),\n                        })\n                        .describe('Address at the center of the circle.')\n                        .optional(),\n                      unit: z\n                        .enum(['UNKNOWN_UNIT', 'MILES', 'KILOMETERS'])\n                        .describe('Unit of measurement of the radius.')\n                        .optional(),\n                    })\n                    .describe('Settings for a radius delivery area.'),\n                }),\n                z.object({\n                  radiusOptions: z.never().optional(),\n                  customOptions: z.never().optional(),\n                  postalCodeOptions: z\n                    .object({\n                      countryCode: z\n                        .string()\n                        .describe(\n                          'Country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.'\n                        )\n                        .optional()\n                        .nullable(),\n                      postalCodes: z.array(z.string()).max(100).optional(),\n                    })\n                    .describe('Settings for a postal code delivery area.'),\n                }),\n                z.object({\n                  radiusOptions: z.never().optional(),\n                  postalCodeOptions: z.never().optional(),\n                  customOptions: z\n                    .object({\n                      geocodes: z\n                        .array(\n                          z.object({\n                            latitude: z\n                              .number()\n                              .describe('Address latitude.')\n                              .optional()\n                              .nullable(),\n                            longitude: z\n                              .number()\n                              .describe('Address longitude.')\n                              .optional()\n                              .nullable(),\n                          })\n                        )\n                        .optional(),\n                    })\n                    .describe('Settings for a custom delivery area.'),\n                }),\n              ])\n            )\n            .describe(\n              'Delivery area supported by this delivery fulfillment method.'\n            )\n            .optional(),\n          deliveryProviderAppId: z\n            .string()\n            .describe('Delivery provider app id.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          courierPickupInstructions: z\n            .string()\n            .describe('Pickup instructions for couriers.')\n            .max(250)\n            .optional()\n            .nullable(),\n        })\n        .describe('Data specific for delivery fulfillment method.'),\n    }),\n  ])\n);\nexport const DeleteFulfillmentMethodRequest = z.object({\n  fulfillmentMethodId: z\n    .string()\n    .describe('The ID of the fulfillment method to delete.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n});\nexport const DeleteFulfillmentMethodResponse = z.object({});\nexport const QueryFulfillmentMethodsRequest = z.object({\n  query: z\n    .object({\n      filter: z\n        .object({\n          _id: z\n            .object({\n              $eq: z.string(),\n              $exists: z.boolean(),\n              $gt: z.string(),\n              $gte: z.string(),\n              $hasAll: z.array(z.string()),\n              $hasSome: z.array(z.string()),\n              $in: z.array(z.string()),\n              $lt: z.string(),\n              $lte: z.string(),\n              $ne: z.string(),\n              $nin: z.array(z.string()),\n              $startsWith: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          _createdDate: z\n            .object({\n              $eq: z.string(),\n              $exists: z.boolean(),\n              $gt: z.string(),\n              $gte: z.string(),\n              $hasAll: z.array(z.string()),\n              $hasSome: z.array(z.string()),\n              $in: z.array(z.string()),\n              $lt: z.string(),\n              $lte: z.string(),\n              $ne: z.string(),\n              $nin: z.array(z.string()),\n              $startsWith: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          _updatedDate: z\n            .object({\n              $eq: z.string(),\n              $exists: z.boolean(),\n              $gt: z.string(),\n              $gte: z.string(),\n              $hasAll: z.array(z.string()),\n              $hasSome: z.array(z.string()),\n              $in: z.array(z.string()),\n              $lt: z.string(),\n              $lte: z.string(),\n              $ne: z.string(),\n              $nin: z.array(z.string()),\n              $startsWith: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          name: z\n            .object({\n              $eq: z.string(),\n              $exists: z.boolean(),\n              $gt: z.string(),\n              $gte: z.string(),\n              $hasAll: z.array(z.string()),\n              $hasSome: z.array(z.string()),\n              $in: z.array(z.string()),\n              $lt: z.string(),\n              $lte: z.string(),\n              $ne: z.string(),\n              $nin: z.array(z.string()),\n              $startsWith: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          enabled: z\n            .object({\n              $eq: z.boolean(),\n              $exists: z.boolean(),\n              $gt: z.boolean(),\n              $gte: z.boolean(),\n              $hasAll: z.array(z.boolean()),\n              $hasSome: z.array(z.boolean()),\n              $in: z.array(z.boolean()),\n              $lt: z.boolean(),\n              $lte: z.boolean(),\n              $ne: z.boolean(),\n              $nin: z.array(z.boolean()),\n              $startsWith: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          fee: z\n            .object({\n              $eq: z.string(),\n              $exists: z.boolean(),\n              $gt: z.string(),\n              $gte: z.string(),\n              $hasAll: z.array(z.string()),\n              $hasSome: z.array(z.string()),\n              $in: z.array(z.string()),\n              $lt: z.string(),\n              $lte: z.string(),\n              $ne: z.string(),\n              $nin: z.array(z.string()),\n              $startsWith: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          minOrderPrice: z\n            .object({\n              $eq: z.string(),\n              $exists: z.boolean(),\n              $gt: z.string(),\n              $gte: z.string(),\n              $hasAll: z.array(z.string()),\n              $hasSome: z.array(z.string()),\n              $in: z.array(z.string()),\n              $lt: z.string(),\n              $lte: z.string(),\n              $ne: z.string(),\n              $nin: z.array(z.string()),\n              $startsWith: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          type: z\n            .object({\n              $eq: z.string(),\n              $exists: z.boolean(),\n              $gt: z.string(),\n              $gte: z.string(),\n              $hasAll: z.array(z.string()),\n              $hasSome: z.array(z.string()),\n              $in: z.array(z.string()),\n              $lt: z.string(),\n              $lte: z.string(),\n              $ne: z.string(),\n              $nin: z.array(z.string()),\n              $startsWith: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          $and: z.array(z.any()).optional(),\n          $or: z.array(z.any()).optional(),\n          $not: z.any().optional(),\n        })\n        .strict()\n        .optional(),\n      sort: z\n        .array(\n          z.object({\n            fieldName: z\n              .enum([\n                '_id',\n                '_createdDate',\n                '_updatedDate',\n                'name',\n                'enabled',\n                'fee',\n                'minOrderPrice',\n                'type',\n              ])\n              .optional(),\n            order: z.enum(['ASC', 'DESC']).optional(),\n          })\n        )\n        .optional(),\n    })\n    .catchall(z.any())\n    .describe('The query by which to select fulfillment methods.'),\n});\nexport const QueryFulfillmentMethodsResponse = z.object({\n  fulfillmentMethods: z\n    .array(\n      z.intersection(\n        z.object({\n          _id: z\n            .string()\n            .describe('Fulfillment method ID.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          revision: z\n            .string()\n            .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n            .describe(\n              'The current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.'\n            )\n            .optional()\n            .nullable(),\n          _createdDate: z\n            .date()\n            .describe('Date and time the fulfillment method was created.')\n            .optional()\n            .nullable(),\n          _updatedDate: z\n            .date()\n            .describe('Date and time the fulfillment method was last updated.')\n            .optional()\n            .nullable(),\n          type: z\n            .enum(['UNKNOWN_FULFILLMENT_TYPE', 'PICKUP', 'DELIVERY'])\n            .describe('Type of fulfillment method.')\n            .optional(),\n          name: z\n            .string()\n            .describe('Fulfillment method name.')\n            .min(1)\n            .max(30)\n            .optional()\n            .nullable(),\n          enabled: z\n            .boolean()\n            .describe('Whether the fulfillment method is enabled.')\n            .optional()\n            .nullable(),\n          fee: z\n            .string()\n            .describe('Fee for using this fulfillment method.')\n            .optional()\n            .nullable(),\n          availability: z\n            .object({\n              availableTimes: z\n                .array(\n                  z.object({\n                    dayOfWeek: z\n                      .enum(['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'])\n                      .describe('The day of week this availability relates to.')\n                      .optional(),\n                    timeRanges: z\n                      .array(\n                        z.object({\n                          startTime: z\n                            .object({\n                              hours: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                                )\n                                .optional(),\n                              minutes: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'The start time in time of day representation.'\n                            )\n                            .optional(),\n                          endTime: z\n                            .object({\n                              hours: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                                )\n                                .optional(),\n                              minutes: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'The end time in time of day representation.'\n                            )\n                            .optional(),\n                        })\n                      )\n                      .optional(),\n                  })\n                )\n                .optional(),\n              timeZone: z\n                .string()\n                .describe(\n                  'The timezone in which the availability times are given.'\n                )\n                .optional()\n                .nullable(),\n            })\n            .describe('Availability of this fulfillment method.')\n            .optional(),\n          minOrderPrice: z\n            .string()\n            .describe(\n              'Minimum order price to qualify for using this fulfillment method.'\n            )\n            .optional()\n            .nullable(),\n          businessLocationId: z\n            .string()\n            .describe(\n              'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the operation this fulfillment method belongs to.'\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          extendedFields: z\n            .object({\n              namespaces: z\n                .record(z.string(), z.record(z.string(), z.any()))\n                .describe(\n                  'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                )\n                .optional(),\n            })\n            .describe('Extended fields.')\n            .optional(),\n          tags: z\n            .object({\n              privateTags: z\n                .object({ tagIds: z.array(z.string()).max(100).optional() })\n                .describe(\n                  'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n                )\n                .optional(),\n              tags: z\n                .object({ tagIds: z.array(z.string()).max(100).optional() })\n                .describe(\n                  'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n                )\n                .optional(),\n            })\n            .describe(\n              'Tags used to classify and sort different types of fulfillment methods.'\n            )\n            .optional(),\n        }),\n        z.xor([\n          z.object({\n            pickupOptions: z.never().optional(),\n            deliveryOptions: z.never().optional(),\n          }),\n          z.object({\n            deliveryOptions: z.never().optional(),\n            pickupOptions: z\n              .object({\n                instructions: z\n                  .string()\n                  .describe('Instructions for the pickup.')\n                  .max(250)\n                  .optional()\n                  .nullable(),\n                address: z\n                  .object({\n                    city: z.string().optional().nullable(),\n                    subdivision: z.string().optional().nullable(),\n                    country: z.string().optional().nullable(),\n                    postalCode: z.string().optional().nullable(),\n                    addressLine1: z.string().optional().nullable(),\n                    addressLine2: z.string().optional().nullable(),\n                  })\n                  .describe(\n                    'Pickup address.\\n\\nThis is set to the address of the restaurant.'\n                  )\n                  .optional(),\n              })\n              .describe('Data specific for pickup fulfillment method.'),\n          }),\n          z.object({\n            pickupOptions: z.never().optional(),\n            deliveryOptions: z\n              .object({\n                deliveryTimeInMinutes: z\n                  .number()\n                  .int()\n                  .describe('Estimated delivery time in minutes.')\n                  .min(0)\n                  .optional()\n                  .nullable(),\n                freeDeliveryThreshold: z\n                  .string()\n                  .describe(\n                    'Threshold for offering free delivery.\\nIf the order price exceeds this threshold, the delivery fee is waived.'\n                  )\n                  .optional()\n                  .nullable(),\n                deliveryArea: z\n                  .intersection(\n                    z.object({\n                      type: z\n                        .enum([\n                          'UNKNOWN_DELIVERY_AREA',\n                          'RADIUS',\n                          'POSTAL_CODE',\n                          'CUSTOM',\n                          'PROVIDER_DEFINED',\n                        ])\n                        .describe('Type of delivery area.')\n                        .optional(),\n                    }),\n                    z.xor([\n                      z.object({\n                        radiusOptions: z.never().optional(),\n                        postalCodeOptions: z.never().optional(),\n                        customOptions: z.never().optional(),\n                      }),\n                      z.object({\n                        postalCodeOptions: z.never().optional(),\n                        customOptions: z.never().optional(),\n                        radiusOptions: z\n                          .object({\n                            minDistance: z\n                              .string()\n                              .describe(\n                                'Minimum distance value.\\nThe unit of the radius is specified in the `unit` field.'\n                              )\n                              .optional()\n                              .nullable(),\n                            maxDistance: z\n                              .string()\n                              .describe(\n                                'Maximum distance value.\\nThe unit of the radius is specified in the `unit` field.'\n                              )\n                              .optional()\n                              .nullable(),\n                            centerPointAddress: z\n                              .object({\n                                city: z.string().optional().nullable(),\n                                subdivision: z.string().optional().nullable(),\n                                country: z.string().optional().nullable(),\n                                postalCode: z.string().optional().nullable(),\n                                addressLine1: z.string().optional().nullable(),\n                                addressLine2: z.string().optional().nullable(),\n                              })\n                              .describe('Address at the center of the circle.')\n                              .optional(),\n                            unit: z\n                              .enum(['UNKNOWN_UNIT', 'MILES', 'KILOMETERS'])\n                              .describe('Unit of measurement of the radius.')\n                              .optional(),\n                          })\n                          .describe('Settings for a radius delivery area.'),\n                      }),\n                      z.object({\n                        radiusOptions: z.never().optional(),\n                        customOptions: z.never().optional(),\n                        postalCodeOptions: z\n                          .object({\n                            countryCode: z\n                              .string()\n                              .describe(\n                                'Country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.'\n                              )\n                              .optional()\n                              .nullable(),\n                            postalCodes: z\n                              .array(z.string())\n                              .max(100)\n                              .optional(),\n                          })\n                          .describe(\n                            'Settings for a postal code delivery area.'\n                          ),\n                      }),\n                      z.object({\n                        radiusOptions: z.never().optional(),\n                        postalCodeOptions: z.never().optional(),\n                        customOptions: z\n                          .object({\n                            geocodes: z\n                              .array(\n                                z.object({\n                                  latitude: z\n                                    .number()\n                                    .describe('Address latitude.')\n                                    .optional()\n                                    .nullable(),\n                                  longitude: z\n                                    .number()\n                                    .describe('Address longitude.')\n                                    .optional()\n                                    .nullable(),\n                                })\n                              )\n                              .optional(),\n                          })\n                          .describe('Settings for a custom delivery area.'),\n                      }),\n                    ])\n                  )\n                  .describe(\n                    'Delivery area supported by this delivery fulfillment method.'\n                  )\n                  .optional(),\n                deliveryProviderAppId: z\n                  .string()\n                  .describe('Delivery provider app id.')\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional()\n                  .nullable(),\n                courierPickupInstructions: z\n                  .string()\n                  .describe('Pickup instructions for couriers.')\n                  .max(250)\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Data specific for delivery fulfillment method.'),\n          }),\n        ])\n      )\n    )\n    .optional(),\n  pagingMetadata: z\n    .object({\n      count: z\n        .number()\n        .int()\n        .describe('Number of items returned in the response.')\n        .optional()\n        .nullable(),\n      cursors: z\n        .object({\n          next: z\n            .string()\n            .describe(\n              'Cursor string pointing to the next page in the list of results.'\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n          prev: z\n            .string()\n            .describe(\n              'Cursor pointing to the previous page in the list of results.'\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n        })\n        .describe(\n          'Cursor strings that point to the next page, previous page, or both.'\n        )\n        .optional(),\n      hasNext: z\n        .boolean()\n        .describe(\n          'Whether there are more pages to retrieve following the current page.\\n\\n+ `true`: Another page of results can be retrieved.\\n+ `false`: This is the last page.'\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('The metadata of the paginated results.')\n    .optional(),\n});\nexport const ListFulfillmentMethodsRequest = z.object({\n  options: z\n    .object({\n      cursorPaging: z\n        .object({\n          limit: z\n            .number()\n            .int()\n            .describe('Maximum number of items to return in the results.')\n            .min(0)\n            .max(100)\n            .optional()\n            .nullable(),\n          cursor: z\n            .string()\n            .describe(\n              \"Pointer to the next or previous page in the list of results.\\n\\nPass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\\nNot relevant for the first request.\"\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n        })\n        .describe('Cursor paging')\n        .optional(),\n    })\n    .describe('Options for listing the fulfillment methods.')\n    .optional(),\n});\nexport const ListFulfillmentMethodsResponse = z.object({\n  fulfillmentMethods: z\n    .array(\n      z.intersection(\n        z.object({\n          _id: z\n            .string()\n            .describe('Fulfillment method ID.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          revision: z\n            .string()\n            .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n            .describe(\n              'The current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.'\n            )\n            .optional()\n            .nullable(),\n          _createdDate: z\n            .date()\n            .describe('Date and time the fulfillment method was created.')\n            .optional()\n            .nullable(),\n          _updatedDate: z\n            .date()\n            .describe('Date and time the fulfillment method was last updated.')\n            .optional()\n            .nullable(),\n          type: z\n            .enum(['UNKNOWN_FULFILLMENT_TYPE', 'PICKUP', 'DELIVERY'])\n            .describe('Type of fulfillment method.')\n            .optional(),\n          name: z\n            .string()\n            .describe('Fulfillment method name.')\n            .min(1)\n            .max(30)\n            .optional()\n            .nullable(),\n          enabled: z\n            .boolean()\n            .describe('Whether the fulfillment method is enabled.')\n            .optional()\n            .nullable(),\n          fee: z\n            .string()\n            .describe('Fee for using this fulfillment method.')\n            .optional()\n            .nullable(),\n          availability: z\n            .object({\n              availableTimes: z\n                .array(\n                  z.object({\n                    dayOfWeek: z\n                      .enum(['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'])\n                      .describe('The day of week this availability relates to.')\n                      .optional(),\n                    timeRanges: z\n                      .array(\n                        z.object({\n                          startTime: z\n                            .object({\n                              hours: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                                )\n                                .optional(),\n                              minutes: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'The start time in time of day representation.'\n                            )\n                            .optional(),\n                          endTime: z\n                            .object({\n                              hours: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                                )\n                                .optional(),\n                              minutes: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'The end time in time of day representation.'\n                            )\n                            .optional(),\n                        })\n                      )\n                      .optional(),\n                  })\n                )\n                .optional(),\n              timeZone: z\n                .string()\n                .describe(\n                  'The timezone in which the availability times are given.'\n                )\n                .optional()\n                .nullable(),\n            })\n            .describe('Availability of this fulfillment method.')\n            .optional(),\n          minOrderPrice: z\n            .string()\n            .describe(\n              'Minimum order price to qualify for using this fulfillment method.'\n            )\n            .optional()\n            .nullable(),\n          businessLocationId: z\n            .string()\n            .describe(\n              'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the operation this fulfillment method belongs to.'\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          extendedFields: z\n            .object({\n              namespaces: z\n                .record(z.string(), z.record(z.string(), z.any()))\n                .describe(\n                  'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                )\n                .optional(),\n            })\n            .describe('Extended fields.')\n            .optional(),\n          tags: z\n            .object({\n              privateTags: z\n                .object({ tagIds: z.array(z.string()).max(100).optional() })\n                .describe(\n                  'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n                )\n                .optional(),\n              tags: z\n                .object({ tagIds: z.array(z.string()).max(100).optional() })\n                .describe(\n                  'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n                )\n                .optional(),\n            })\n            .describe(\n              'Tags used to classify and sort different types of fulfillment methods.'\n            )\n            .optional(),\n        }),\n        z.xor([\n          z.object({\n            pickupOptions: z.never().optional(),\n            deliveryOptions: z.never().optional(),\n          }),\n          z.object({\n            deliveryOptions: z.never().optional(),\n            pickupOptions: z\n              .object({\n                instructions: z\n                  .string()\n                  .describe('Instructions for the pickup.')\n                  .max(250)\n                  .optional()\n                  .nullable(),\n                address: z\n                  .object({\n                    city: z.string().optional().nullable(),\n                    subdivision: z.string().optional().nullable(),\n                    country: z.string().optional().nullable(),\n                    postalCode: z.string().optional().nullable(),\n                    addressLine1: z.string().optional().nullable(),\n                    addressLine2: z.string().optional().nullable(),\n                  })\n                  .describe(\n                    'Pickup address.\\n\\nThis is set to the address of the restaurant.'\n                  )\n                  .optional(),\n              })\n              .describe('Data specific for pickup fulfillment method.'),\n          }),\n          z.object({\n            pickupOptions: z.never().optional(),\n            deliveryOptions: z\n              .object({\n                deliveryTimeInMinutes: z\n                  .number()\n                  .int()\n                  .describe('Estimated delivery time in minutes.')\n                  .min(0)\n                  .optional()\n                  .nullable(),\n                freeDeliveryThreshold: z\n                  .string()\n                  .describe(\n                    'Threshold for offering free delivery.\\nIf the order price exceeds this threshold, the delivery fee is waived.'\n                  )\n                  .optional()\n                  .nullable(),\n                deliveryArea: z\n                  .intersection(\n                    z.object({\n                      type: z\n                        .enum([\n                          'UNKNOWN_DELIVERY_AREA',\n                          'RADIUS',\n                          'POSTAL_CODE',\n                          'CUSTOM',\n                          'PROVIDER_DEFINED',\n                        ])\n                        .describe('Type of delivery area.')\n                        .optional(),\n                    }),\n                    z.xor([\n                      z.object({\n                        radiusOptions: z.never().optional(),\n                        postalCodeOptions: z.never().optional(),\n                        customOptions: z.never().optional(),\n                      }),\n                      z.object({\n                        postalCodeOptions: z.never().optional(),\n                        customOptions: z.never().optional(),\n                        radiusOptions: z\n                          .object({\n                            minDistance: z\n                              .string()\n                              .describe(\n                                'Minimum distance value.\\nThe unit of the radius is specified in the `unit` field.'\n                              )\n                              .optional()\n                              .nullable(),\n                            maxDistance: z\n                              .string()\n                              .describe(\n                                'Maximum distance value.\\nThe unit of the radius is specified in the `unit` field.'\n                              )\n                              .optional()\n                              .nullable(),\n                            centerPointAddress: z\n                              .object({\n                                city: z.string().optional().nullable(),\n                                subdivision: z.string().optional().nullable(),\n                                country: z.string().optional().nullable(),\n                                postalCode: z.string().optional().nullable(),\n                                addressLine1: z.string().optional().nullable(),\n                                addressLine2: z.string().optional().nullable(),\n                              })\n                              .describe('Address at the center of the circle.')\n                              .optional(),\n                            unit: z\n                              .enum(['UNKNOWN_UNIT', 'MILES', 'KILOMETERS'])\n                              .describe('Unit of measurement of the radius.')\n                              .optional(),\n                          })\n                          .describe('Settings for a radius delivery area.'),\n                      }),\n                      z.object({\n                        radiusOptions: z.never().optional(),\n                        customOptions: z.never().optional(),\n                        postalCodeOptions: z\n                          .object({\n                            countryCode: z\n                              .string()\n                              .describe(\n                                'Country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.'\n                              )\n                              .optional()\n                              .nullable(),\n                            postalCodes: z\n                              .array(z.string())\n                              .max(100)\n                              .optional(),\n                          })\n                          .describe(\n                            'Settings for a postal code delivery area.'\n                          ),\n                      }),\n                      z.object({\n                        radiusOptions: z.never().optional(),\n                        postalCodeOptions: z.never().optional(),\n                        customOptions: z\n                          .object({\n                            geocodes: z\n                              .array(\n                                z.object({\n                                  latitude: z\n                                    .number()\n                                    .describe('Address latitude.')\n                                    .optional()\n                                    .nullable(),\n                                  longitude: z\n                                    .number()\n                                    .describe('Address longitude.')\n                                    .optional()\n                                    .nullable(),\n                                })\n                              )\n                              .optional(),\n                          })\n                          .describe('Settings for a custom delivery area.'),\n                      }),\n                    ])\n                  )\n                  .describe(\n                    'Delivery area supported by this delivery fulfillment method.'\n                  )\n                  .optional(),\n                deliveryProviderAppId: z\n                  .string()\n                  .describe('Delivery provider app id.')\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional()\n                  .nullable(),\n                courierPickupInstructions: z\n                  .string()\n                  .describe('Pickup instructions for couriers.')\n                  .max(250)\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Data specific for delivery fulfillment method.'),\n          }),\n        ])\n      )\n    )\n    .optional(),\n  pagingMetadata: z\n    .object({\n      count: z\n        .number()\n        .int()\n        .describe('Number of items returned in the response.')\n        .optional()\n        .nullable(),\n      cursors: z\n        .object({\n          next: z\n            .string()\n            .describe(\n              'Cursor string pointing to the next page in the list of results.'\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n          prev: z\n            .string()\n            .describe(\n              'Cursor pointing to the previous page in the list of results.'\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n        })\n        .describe(\n          'Cursor strings that point to the next page, previous page, or both.'\n        )\n        .optional(),\n      hasNext: z\n        .boolean()\n        .describe(\n          'Whether there are more pages to retrieve following the current page.\\n\\n+ `true`: Another page of results can be retrieved.\\n+ `false`: This is the last page.'\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('The metadata of the paginated results.')\n    .optional(),\n});\nexport const ListAvailableFulfillmentMethodsForAddressRequest = z.object({\n  options: z\n    .object({\n      address: z\n        .intersection(\n          z.object({\n            country: z.string().describe('Country code.').optional().nullable(),\n            subdivision: z\n              .string()\n              .describe(\n                'Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2).'\n              )\n              .optional()\n              .nullable(),\n            city: z.string().describe('City name.').optional().nullable(),\n            postalCode: z\n              .string()\n              .describe('Zip/postal code.')\n              .optional()\n              .nullable(),\n            addressLine2: z\n              .string()\n              .describe(\n                'Free text providing more detailed address info. Usually contains Apt, Suite, and Floor.'\n              )\n              .optional()\n              .nullable(),\n            formattedAddress: z\n              .string()\n              .describe(\n                'A string containing the full address of this location.'\n              )\n              .optional()\n              .nullable(),\n            hint: z\n              .string()\n              .describe('Free text to help find the address.')\n              .optional()\n              .nullable(),\n            geocode: z\n              .object({\n                latitude: z\n                  .number()\n                  .describe('Address latitude.')\n                  .optional()\n                  .nullable(),\n                longitude: z\n                  .number()\n                  .describe('Address longitude.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Coordinates of the physical address.')\n              .optional(),\n            countryFullname: z\n              .string()\n              .describe('Country full name.')\n              .optional()\n              .nullable(),\n            subdivisionFullname: z\n              .string()\n              .describe('Subdivision full name.')\n              .optional()\n              .nullable(),\n            subdivisions: z\n              .array(\n                z.object({\n                  code: z\n                    .string()\n                    .describe('Short subdivision code.')\n                    .optional(),\n                  name: z\n                    .string()\n                    .describe('Subdivision full name.')\n                    .optional(),\n                })\n              )\n              .max(6)\n              .optional(),\n          }),\n          z.xor([\n            z.object({\n              streetAddress: z.never().optional(),\n              addressLine: z.never().optional(),\n            }),\n            z.object({\n              addressLine: z.never().optional(),\n              streetAddress: z\n                .object({\n                  number: z.string().describe('Street number.').optional(),\n                  name: z.string().describe('Street name.').optional(),\n                  apt: z.string().describe('Apartment number.').optional(),\n                  formattedAddressLine: z\n                    .string()\n                    .describe('Optional address line 1')\n                    .optional()\n                    .nullable(),\n                })\n                .describe('Street name and number.'),\n            }),\n            z.object({\n              streetAddress: z.never().optional(),\n              addressLine: z\n                .string()\n                .describe(\n                  'Main address line, usually street and number as free text.'\n                ),\n            }),\n          ])\n        )\n        .describe(\n          'The address by which to filter delivery fulfillment methods.'\n        )\n        .optional(),\n      cursorPaging: z\n        .object({\n          limit: z\n            .number()\n            .int()\n            .describe('Maximum number of items to return in the results.')\n            .min(0)\n            .max(100)\n            .optional()\n            .nullable(),\n          cursor: z\n            .string()\n            .describe(\n              \"Pointer to the next or previous page in the list of results.\\n\\nPass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\\nNot relevant for the first request.\"\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n        })\n        .describe('Cursor paging')\n        .optional(),\n      fulfillmentMethodIds: z.array(z.string()).max(500).optional(),\n    })\n    .describe('Options for listing the available fulfillment methods.')\n    .optional(),\n});\nexport const ListAvailableFulfillmentMethodsForAddressResponse = z.object({\n  fulfillmentMethods: z\n    .array(\n      z.intersection(\n        z.object({\n          _id: z\n            .string()\n            .describe('Fulfillment method ID.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          revision: z\n            .string()\n            .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n            .describe(\n              'The current state of an item. Each time the item is modified, its `revision` changes by the server. for an update operation to succeed, you MUST pass the latest revision.'\n            )\n            .optional()\n            .nullable(),\n          _createdDate: z\n            .date()\n            .describe('Date and time the fulfillment method was created.')\n            .optional()\n            .nullable(),\n          _updatedDate: z\n            .date()\n            .describe('Date and time the fulfillment method was last updated.')\n            .optional()\n            .nullable(),\n          type: z\n            .enum(['UNKNOWN_FULFILLMENT_TYPE', 'PICKUP', 'DELIVERY'])\n            .describe('Type of fulfillment method.')\n            .optional(),\n          name: z\n            .string()\n            .describe('Fulfillment method name.')\n            .min(1)\n            .max(30)\n            .optional()\n            .nullable(),\n          enabled: z\n            .boolean()\n            .describe('Whether the fulfillment method is enabled.')\n            .optional()\n            .nullable(),\n          fee: z\n            .string()\n            .describe('Fee for using this fulfillment method.')\n            .optional()\n            .nullable(),\n          availability: z\n            .object({\n              availableTimes: z\n                .array(\n                  z.object({\n                    dayOfWeek: z\n                      .enum(['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'])\n                      .describe('The day of week this availability relates to.')\n                      .optional(),\n                    timeRanges: z\n                      .array(\n                        z.object({\n                          startTime: z\n                            .object({\n                              hours: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                                )\n                                .optional(),\n                              minutes: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'The start time in time of day representation.'\n                            )\n                            .optional(),\n                          endTime: z\n                            .object({\n                              hours: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                                )\n                                .optional(),\n                              minutes: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'The end time in time of day representation.'\n                            )\n                            .optional(),\n                        })\n                      )\n                      .optional(),\n                  })\n                )\n                .optional(),\n              timeZone: z\n                .string()\n                .describe(\n                  'The timezone in which the availability times are given.'\n                )\n                .optional()\n                .nullable(),\n            })\n            .describe('Availability of this fulfillment method.')\n            .optional(),\n          minOrderPrice: z\n            .string()\n            .describe(\n              'Minimum order price to qualify for using this fulfillment method.'\n            )\n            .optional()\n            .nullable(),\n          businessLocationId: z\n            .string()\n            .describe(\n              'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the operation this fulfillment method belongs to.'\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          extendedFields: z\n            .object({\n              namespaces: z\n                .record(z.string(), z.record(z.string(), z.any()))\n                .describe(\n                  'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                )\n                .optional(),\n            })\n            .describe('Extended fields.')\n            .optional(),\n          tags: z\n            .object({\n              privateTags: z\n                .object({ tagIds: z.array(z.string()).max(100).optional() })\n                .describe(\n                  'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n                )\n                .optional(),\n              tags: z\n                .object({ tagIds: z.array(z.string()).max(100).optional() })\n                .describe(\n                  'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n                )\n                .optional(),\n            })\n            .describe(\n              'Tags used to classify and sort different types of fulfillment methods.'\n            )\n            .optional(),\n        }),\n        z.xor([\n          z.object({\n            pickupOptions: z.never().optional(),\n            deliveryOptions: z.never().optional(),\n          }),\n          z.object({\n            deliveryOptions: z.never().optional(),\n            pickupOptions: z\n              .object({\n                instructions: z\n                  .string()\n                  .describe('Instructions for the pickup.')\n                  .max(250)\n                  .optional()\n                  .nullable(),\n                address: z\n                  .object({\n                    city: z.string().optional().nullable(),\n                    subdivision: z.string().optional().nullable(),\n                    country: z.string().optional().nullable(),\n                    postalCode: z.string().optional().nullable(),\n                    addressLine1: z.string().optional().nullable(),\n                    addressLine2: z.string().optional().nullable(),\n                  })\n                  .describe(\n                    'Pickup address.\\n\\nThis is set to the address of the restaurant.'\n                  )\n                  .optional(),\n              })\n              .describe('Data specific for pickup fulfillment method.'),\n          }),\n          z.object({\n            pickupOptions: z.never().optional(),\n            deliveryOptions: z\n              .object({\n                deliveryTimeInMinutes: z\n                  .number()\n                  .int()\n                  .describe('Estimated delivery time in minutes.')\n                  .min(0)\n                  .optional()\n                  .nullable(),\n                freeDeliveryThreshold: z\n                  .string()\n                  .describe(\n                    'Threshold for offering free delivery.\\nIf the order price exceeds this threshold, the delivery fee is waived.'\n                  )\n                  .optional()\n                  .nullable(),\n                deliveryArea: z\n                  .intersection(\n                    z.object({\n                      type: z\n                        .enum([\n                          'UNKNOWN_DELIVERY_AREA',\n                          'RADIUS',\n                          'POSTAL_CODE',\n                          'CUSTOM',\n                          'PROVIDER_DEFINED',\n                        ])\n                        .describe('Type of delivery area.')\n                        .optional(),\n                    }),\n                    z.xor([\n                      z.object({\n                        radiusOptions: z.never().optional(),\n                        postalCodeOptions: z.never().optional(),\n                        customOptions: z.never().optional(),\n                      }),\n                      z.object({\n                        postalCodeOptions: z.never().optional(),\n                        customOptions: z.never().optional(),\n                        radiusOptions: z\n                          .object({\n                            minDistance: z\n                              .string()\n                              .describe(\n                                'Minimum distance value.\\nThe unit of the radius is specified in the `unit` field.'\n                              )\n                              .optional()\n                              .nullable(),\n                            maxDistance: z\n                              .string()\n                              .describe(\n                                'Maximum distance value.\\nThe unit of the radius is specified in the `unit` field.'\n                              )\n                              .optional()\n                              .nullable(),\n                            centerPointAddress: z\n                              .object({\n                                city: z.string().optional().nullable(),\n                                subdivision: z.string().optional().nullable(),\n                                country: z.string().optional().nullable(),\n                                postalCode: z.string().optional().nullable(),\n                                addressLine1: z.string().optional().nullable(),\n                                addressLine2: z.string().optional().nullable(),\n                              })\n                              .describe('Address at the center of the circle.')\n                              .optional(),\n                            unit: z\n                              .enum(['UNKNOWN_UNIT', 'MILES', 'KILOMETERS'])\n                              .describe('Unit of measurement of the radius.')\n                              .optional(),\n                          })\n                          .describe('Settings for a radius delivery area.'),\n                      }),\n                      z.object({\n                        radiusOptions: z.never().optional(),\n                        customOptions: z.never().optional(),\n                        postalCodeOptions: z\n                          .object({\n                            countryCode: z\n                              .string()\n                              .describe(\n                                'Country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.'\n                              )\n                              .optional()\n                              .nullable(),\n                            postalCodes: z\n                              .array(z.string())\n                              .max(100)\n                              .optional(),\n                          })\n                          .describe(\n                            'Settings for a postal code delivery area.'\n                          ),\n                      }),\n                      z.object({\n                        radiusOptions: z.never().optional(),\n                        postalCodeOptions: z.never().optional(),\n                        customOptions: z\n                          .object({\n                            geocodes: z\n                              .array(\n                                z.object({\n                                  latitude: z\n                                    .number()\n                                    .describe('Address latitude.')\n                                    .optional()\n                                    .nullable(),\n                                  longitude: z\n                                    .number()\n                                    .describe('Address longitude.')\n                                    .optional()\n                                    .nullable(),\n                                })\n                              )\n                              .optional(),\n                          })\n                          .describe('Settings for a custom delivery area.'),\n                      }),\n                    ])\n                  )\n                  .describe(\n                    'Delivery area supported by this delivery fulfillment method.'\n                  )\n                  .optional(),\n                deliveryProviderAppId: z\n                  .string()\n                  .describe('Delivery provider app id.')\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional()\n                  .nullable(),\n                courierPickupInstructions: z\n                  .string()\n                  .describe('Pickup instructions for couriers.')\n                  .max(250)\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Data specific for delivery fulfillment method.'),\n          }),\n        ])\n      )\n    )\n    .optional(),\n  pagingMetadata: z\n    .object({\n      count: z\n        .number()\n        .int()\n        .describe('Number of items returned in the response.')\n        .optional()\n        .nullable(),\n      cursors: z\n        .object({\n          next: z\n            .string()\n            .describe(\n              'Cursor string pointing to the next page in the list of results.'\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n          prev: z\n            .string()\n            .describe(\n              'Cursor pointing to the previous page in the list of results.'\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n        })\n        .describe(\n          'Cursor strings that point to the next page, previous page, or both.'\n        )\n        .optional(),\n      hasNext: z\n        .boolean()\n        .describe(\n          'Whether there are more pages to retrieve following the current page.\\n\\n+ `true`: Another page of results can be retrieved.\\n+ `false`: This is the last page.'\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('The metadata of the paginated results.')\n    .optional(),\n});\nexport const GetAccumulatedFulfillmentMethodsAvailabilityRequest = z.object({\n  options: z\n    .object({ fulfillmentMethodIds: z.array(z.string()).max(500).optional() })\n    .optional(),\n});\nexport const GetAccumulatedFulfillmentMethodsAvailabilityResponse = z.object({\n  availability: z\n    .object({\n      availableTimes: z\n        .array(\n          z.object({\n            dayOfWeek: z\n              .enum(['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'])\n              .describe('The day of week this availability relates to.')\n              .optional(),\n            timeRanges: z\n              .array(\n                z.object({\n                  startTime: z\n                    .object({\n                      hours: z\n                        .number()\n                        .int()\n                        .describe('Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.')\n                        .optional(),\n                      minutes: z\n                        .number()\n                        .int()\n                        .describe(\n                          'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                        )\n                        .optional(),\n                    })\n                    .describe('The start time in time of day representation.')\n                    .optional(),\n                  endTime: z\n                    .object({\n                      hours: z\n                        .number()\n                        .int()\n                        .describe('Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.')\n                        .optional(),\n                      minutes: z\n                        .number()\n                        .int()\n                        .describe(\n                          'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                        )\n                        .optional(),\n                    })\n                    .describe('The end time in time of day representation.')\n                    .optional(),\n                })\n              )\n              .optional(),\n          })\n        )\n        .optional(),\n      timeZone: z\n        .string()\n        .describe('The timezone in which the availability times are given.')\n        .optional()\n        .nullable(),\n    })\n    .describe('The accumulated availability of all fulfillment methods.')\n    .optional(),\n  types: z\n    .array(z.enum(['UNKNOWN_FULFILLMENT_TYPE', 'PICKUP', 'DELIVERY']))\n    .optional(),\n});\nexport const GetCombinedMethodAvailabilityRequest = z.object({\n  fulfillmentMethodIds: z.array(z.string()).max(500),\n});\nexport const GetCombinedMethodAvailabilityResponse = z.object({\n  combinedAvailability: z\n    .object({\n      availableTimes: z\n        .array(\n          z.object({\n            dayOfWeek: z\n              .enum(['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'])\n              .describe('The day of week this availability relates to.')\n              .optional(),\n            timeRanges: z\n              .array(\n                z.object({\n                  startTime: z\n                    .object({\n                      hours: z\n                        .number()\n                        .int()\n                        .describe('Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.')\n                        .optional(),\n                      minutes: z\n                        .number()\n                        .int()\n                        .describe(\n                          'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                        )\n                        .optional(),\n                    })\n                    .describe('The start time in time of day representation.')\n                    .optional(),\n                  endTime: z\n                    .object({\n                      hours: z\n                        .number()\n                        .int()\n                        .describe('Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.')\n                        .optional(),\n                      minutes: z\n                        .number()\n                        .int()\n                        .describe(\n                          'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                        )\n                        .optional(),\n                    })\n                    .describe('The end time in time of day representation.')\n                    .optional(),\n                })\n              )\n              .optional(),\n          })\n        )\n        .optional(),\n      timeZone: z\n        .string()\n        .describe('The timezone in which the availability times are given.')\n        .optional()\n        .nullable(),\n    })\n    .describe('The combined availability of the given fulfillment methods.')\n    .optional(),\n  fulfillmentTypes: z\n    .array(z.enum(['UNKNOWN_FULFILLMENT_TYPE', 'PICKUP', 'DELIVERY']))\n    .max(100)\n    .optional(),\n});\nexport const GetAggregatedMethodAvailabilityRequest = z.object({\n  fulfillmentMethodIds: z.array(z.string()).max(500),\n});\nexport const GetAggregatedMethodAvailabilityResponse = z.object({\n  aggregatedAvailability: z\n    .object({\n      availableTimes: z\n        .array(\n          z.object({\n            dayOfWeek: z\n              .enum(['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'])\n              .describe('The day of week this availability relates to.')\n              .optional(),\n            timeRanges: z\n              .array(\n                z.object({\n                  startTime: z\n                    .object({\n                      hours: z\n                        .number()\n                        .int()\n                        .describe('Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.')\n                        .optional(),\n                      minutes: z\n                        .number()\n                        .int()\n                        .describe(\n                          'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                        )\n                        .optional(),\n                    })\n                    .describe('The start time in time of day representation.')\n                    .optional(),\n                  endTime: z\n                    .object({\n                      hours: z\n                        .number()\n                        .int()\n                        .describe('Hours. <br />\\nMin: `0`. <br />\\nMax: `23`.')\n                        .optional(),\n                      minutes: z\n                        .number()\n                        .int()\n                        .describe(\n                          'Minutes. <br />\\nMin: `0`. <br />\\nMax: `23`.'\n                        )\n                        .optional(),\n                    })\n                    .describe('The end time in time of day representation.')\n                    .optional(),\n                })\n              )\n              .optional(),\n          })\n        )\n        .optional(),\n      timeZone: z\n        .string()\n        .describe('The timezone in which the availability times are given.')\n        .optional()\n        .nullable(),\n    })\n    .describe('The aggregated availability of the given fulfillment methods.')\n    .optional(),\n  fulfillmentTypes: z\n    .array(z.enum(['UNKNOWN_FULFILLMENT_TYPE', 'PICKUP', 'DELIVERY']))\n    .max(100)\n    .optional(),\n});\nexport const BulkUpdateFulfillmentMethodTagsRequest = z.object({\n  fulfillmentMethodIds: z.array(z.string()).min(1).max(100),\n  options: z\n    .object({\n      assignTags: z\n        .object({\n          privateTags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n            )\n            .optional(),\n          tags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n            )\n            .optional(),\n        })\n        .describe('Tags to assign to the fulfillment methods.')\n        .optional(),\n      unassignTags: z\n        .object({\n          privateTags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n            )\n            .optional(),\n          tags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n            )\n            .optional(),\n        })\n        .describe('Tags to unassign from the fulfillment methods.')\n        .optional(),\n    })\n    .optional(),\n});\nexport const BulkUpdateFulfillmentMethodTagsResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        itemMetadata: z\n          .object({\n            _id: z\n              .string()\n              .describe(\n                \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n              )\n              .regex(\n                /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                'Must be a valid GUID'\n              )\n              .optional()\n              .nullable(),\n            originalIndex: z\n              .number()\n              .int()\n              .describe(\n                'Index of the item within the request array. Allows for correlation between request and response items.'\n              )\n              .optional(),\n            success: z\n              .boolean()\n              .describe(\n                'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n              )\n              .optional(),\n            error: z\n              .object({\n                code: z.string().describe('Error code.').optional(),\n                description: z\n                  .string()\n                  .describe('Description of the error.')\n                  .optional(),\n                data: z\n                  .record(z.string(), z.any())\n                  .describe('Data related to the error.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Details about the error in case of failure.')\n              .optional(),\n          })\n          .describe('Metadata for the updated fulfillment method.')\n          .optional(),\n      })\n    )\n    .min(1)\n    .max(100)\n    .optional(),\n  bulkActionMetadata: z\n    .object({\n      totalSuccesses: z\n        .number()\n        .int()\n        .describe('Number of items that were successfully processed.')\n        .optional(),\n      totalFailures: z\n        .number()\n        .int()\n        .describe(\"Number of items that couldn't be processed.\")\n        .optional(),\n      undetailedFailures: z\n        .number()\n        .int()\n        .describe(\n          'Number of failures without details because detailed failure threshold was exceeded.'\n        )\n        .optional(),\n    })\n    .describe('Metadata for the bulk update.')\n    .optional(),\n});\nexport const BulkUpdateFulfillmentMethodTagsByFilterRequest = z.object({\n  filter: z\n    .record(z.string(), z.any())\n    .describe(\n      'Filter that determines which fulfillment methods to update tags for.'\n    ),\n  options: z\n    .object({\n      assignTags: z\n        .object({\n          privateTags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n            )\n            .optional(),\n          tags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n            )\n            .optional(),\n        })\n        .describe('Tags to assign to the fulfillment methods.')\n        .optional(),\n      unassignTags: z\n        .object({\n          privateTags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n            )\n            .optional(),\n          tags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n            )\n            .optional(),\n        })\n        .describe('Tags to unassign from the fulfillment methods.')\n        .optional(),\n    })\n    .optional(),\n});\nexport const BulkUpdateFulfillmentMethodTagsByFilterResponse = z.object({\n  jobId: z\n    .string()\n    .describe(\n      \"Job ID. Pass this ID to Get Async Job ([SDK](https://dev.wix.com/docs/sdk/backend-modules/async-jobs/get-async-job) | [REST](https://dev.wix.com/docs/rest/business-management/async-job/get-async-job)) to track the job's status.\"\n    )\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    )\n    .optional(),\n});\n"],"mappings":"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","names":[]}