{"version":3,"sources":["../../src/restaurants-v3-order-orders.schemas.ts"],"sourcesContent":["import * as z from 'zod';\n\nexport const GetOrderRequest = z.object({\n  _id: z.string().describe('ID of the order to retrieve.'),\n  options: z\n    .object({\n      fieldMask: z\n        .object({ paths: z.array(z.string()) })\n        .describe(\n          \"Set of fields to retrieve.\\nFields that aren't included in `fieldmaks.paths` are ignored.\\nSee [the article about field masks](https://dev.wix.com/api/rest/restaurants/orders/supported-field-masks)\\nfor more details.\"\n        )\n        .optional()\n        .nullable(),\n    })\n    .optional(),\n});\nexport const GetOrderResponse = (() => {\n  let comWixpressRestaurantsOrdersV3LineItemSchema: z.ZodType<any> = z.object({\n    quantity: z\n      .number()\n      .int()\n      .describe('Line item quantity.')\n      .min(1)\n      .max(100000)\n      .optional(),\n    price: z.string().describe('Line item price.').optional(),\n    comment: z\n      .string()\n      .describe('Comment about the line item added by the customer.')\n      .max(1000)\n      .optional()\n      .nullable(),\n    dishOptions: z\n      .array(\n        z.object({\n          name: z\n            .string()\n            .describe('Line item option name.')\n            .max(1000)\n            .optional()\n            .nullable(),\n          selectedChoices: z\n            .array(z.lazy(() => comWixpressRestaurantsOrdersV3LineItemSchema))\n            .min(0)\n            .max(300)\n            .optional(),\n          minChoices: z\n            .number()\n            .int()\n            .describe(\n              'Minimum number of dish options the customer is required to choose.'\n            )\n            .min(0)\n            .max(2147483647)\n            .optional()\n            .nullable(),\n          maxChoices: z\n            .number()\n            .int()\n            .describe(\n              'Maximum number of dish options the customer is allowed to choose.'\n            )\n            .min(1)\n            .max(2147483647)\n            .optional()\n            .nullable(),\n          type: z\n            .enum([\n              'UNSPECIFIED_DISPLAY_TYPE',\n              'SELECTION',\n              'EXTRAS',\n              'DESELECTION',\n            ])\n            .describe('Dish option type.')\n            .optional(),\n          availableChoices: z\n            .array(\n              z.object({\n                itemId: z\n                  .string()\n                  .describe('Line item ID as defined in the catalog.')\n                  .optional()\n                  .nullable(),\n                price: z\n                  .string()\n                  .describe('Line item price.')\n                  .optional()\n                  .nullable(),\n                name: z\n                  .string()\n                  .describe('Line item name.')\n                  .max(1000)\n                  .optional()\n                  .nullable(),\n              })\n            )\n            .min(1)\n            .max(300)\n            .optional(),\n          defaultChoices: z.array(z.string()).min(0).max(300).optional(),\n        })\n      )\n      .min(0)\n      .max(300)\n      .optional(),\n    catalogReference: z\n      .object({\n        catalogItemId: z\n          .string()\n          .describe('Line item ID as defined in the catalog.')\n          .optional(),\n        catalogItemName: z\n          .string()\n          .describe('Line item name as defined in the catalog.')\n          .max(1000)\n          .optional()\n          .nullable(),\n        catalogItemDescription: z\n          .string()\n          .describe('Item description as defined in the catalog.')\n          .max(1000)\n          .optional()\n          .nullable(),\n        catalogItemMedia: z\n          .string()\n          .describe('Item media url as defined in the catalog.')\n          .url()\n          .optional()\n          .nullable(),\n      })\n      .describe('References to the line item’s origin catalog.')\n      .optional(),\n  });\n  return z.object({\n    _id: z.string().describe('Order ID.').optional(),\n    locationId: z\n      .string()\n      .describe('ID of the restaurant’s location.')\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    _createdDate: z\n      .date()\n      .describe(\n        'Order creation date and time in `yyyy-mm-ddThh:mm:sssZ` format.'\n      )\n      .optional()\n      .nullable(),\n    _updatedDate: z\n      .date()\n      .describe(\n        \"Date and time of order's latest update in `yyyy-mm-ddThh:mm:sssZ` format.\"\n      )\n      .optional()\n      .nullable(),\n    comment: z\n      .string()\n      .describe('Additional note to the order added by the customer.')\n      .max(1000)\n      .optional()\n      .nullable(),\n    currency: z\n      .string()\n      .describe('Currency of the order.')\n      .optional()\n      .nullable(),\n    status: z\n      .enum([\n        'UNSPECIFIED_ORDER_STATUS',\n        'PENDING',\n        'NEW',\n        'ACCEPTED',\n        'CANCELED',\n        'FULFILLED',\n      ])\n      .describe('Current order status.')\n      .optional(),\n    lineItems: z\n      .array(comWixpressRestaurantsOrdersV3LineItemSchema)\n      .min(1)\n      .max(300)\n      .optional(),\n    discounts: z\n      .array(\n        z.object({\n          catalogDiscountId: z\n            .string()\n            .describe('Discount ID as defined in the catalog.')\n            .optional(),\n          appliedAmount: z.string().describe('Amount saved.').optional(),\n          catalogDiscountType: z\n            .enum([\n              'UNSPECIFIED_TYPE',\n              'OFF_ITEM',\n              'OFF_ORDER',\n              'OFF_ORDER_MANAGER_DISCOUNT',\n            ])\n            .describe('Discount type.')\n            .optional(),\n          catalogDiscountName: z\n            .string()\n            .describe('Discount name as defined in the catalog.')\n            .min(1)\n            .max(256)\n            .optional(),\n          catalogDiscountDescription: z\n            .string()\n            .describe(\n              'Discount description as defined in the catalog.\\n\\nMax: 1,000 characters'\n            )\n            .min(1)\n            .max(1000)\n            .optional(),\n        })\n      )\n      .min(0)\n      .max(100)\n      .optional(),\n    coupon: z\n      .object({\n        code: z.string().describe('Coupon code.').optional(),\n        _id: z\n          .string()\n          .describe('Coupon 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      })\n      .describe('Coupon applied to the order.')\n      .optional(),\n    payments: z\n      .array(\n        z.object({\n          type: z\n            .enum([\n              'UNSPECIFIED_PAYMENT_TYPE',\n              'CASH',\n              'CREDIT',\n              'DELIVERY_CLUB',\n              'DELIVERY_COM',\n              'BITPAY',\n              'CELLARIX',\n              'BITSOFGOLD',\n              'MULTIPASS',\n              'TENBIS',\n              'PAYPAL',\n              'MYSODEXO',\n              'WIX_PAYMENTS',\n            ])\n            .describe('Payment type.')\n            .optional(),\n          amount: z\n            .string()\n            .describe(\n              'Amount paid using this payment type. Only differs from total amount paid in case of split payments.'\n            )\n            .optional()\n            .nullable(),\n          method: z.string().describe('Payment method.').optional().nullable(),\n          providerTransactionId: z\n            .string()\n            .describe(\n              'Transaction ID.\\nSee [Cashier API](https://dev.wix.com/api/rest/wix-cashier/payments/transaction) for more details.'\n            )\n            .optional()\n            .nullable(),\n        })\n      )\n      .min(1)\n      .max(100)\n      .optional(),\n    fulfillment: z\n      .intersection(\n        z.object({\n          type: z\n            .enum([\n              'UNSPECIFIED_FULFILLMENT_TYPE',\n              'PICKUP',\n              'DELIVERY',\n              'DINE_IN',\n            ])\n            .describe('Fulfillment type.')\n            .optional(),\n          promisedTime: z\n            .date()\n            .describe('Latest delivery time promised by the restaurant.')\n            .optional()\n            .nullable(),\n          asap: z\n            .boolean()\n            .describe(\n              'Whether the order should be fulfilled as soon as possible. Defaults to `true`.'\n            )\n            .optional()\n            .nullable(),\n        }),\n        z.xor([\n          z.object({\n            deliveryDetails: z.never().optional(),\n            pickupDetails: z.never().optional(),\n            dineInDetails: z.never().optional(),\n          }),\n          z.object({\n            pickupDetails: z.never().optional(),\n            dineInDetails: z.never().optional(),\n            deliveryDetails: z\n              .intersection(\n                z.object({\n                  address: z\n                    .object({\n                      formatted: z\n                        .string()\n                        .describe('Formatted delivery address.')\n                        .max(250)\n                        .optional()\n                        .nullable(),\n                      country: z\n                        .string()\n                        .describe('Country.')\n                        .max(100)\n                        .optional()\n                        .nullable(),\n                      city: z\n                        .string()\n                        .describe('City name.')\n                        .max(100)\n                        .optional()\n                        .nullable(),\n                      street: z\n                        .string()\n                        .describe('Street name.')\n                        .max(100)\n                        .optional()\n                        .nullable(),\n                      streetNumber: z\n                        .string()\n                        .describe('Street number.')\n                        .max(100)\n                        .optional()\n                        .nullable(),\n                      apt: z\n                        .string()\n                        .describe('Apartment number.')\n                        .max(100)\n                        .optional()\n                        .nullable(),\n                      floor: z\n                        .string()\n                        .describe('Floor.')\n                        .max(100)\n                        .optional()\n                        .nullable(),\n                      entrance: z\n                        .string()\n                        .describe('Entrance.')\n                        .max(100)\n                        .optional()\n                        .nullable(),\n                      zipCode: z\n                        .string()\n                        .describe('ZIP/postal code.')\n                        .max(100)\n                        .optional()\n                        .nullable(),\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                      onArrival: z\n                        .enum([\n                          'UNSPECIFIED_ON_ARRIVAL_TYPE',\n                          'BUZZ_DOOR',\n                          'CALL_ME',\n                        ])\n                        .describe(\n                          'Special delivery instructions upon arrival to the address.'\n                        )\n                        .optional(),\n                      approximate: z\n                        .boolean()\n                        .describe(\n                          'Whether an approximate address is used. Defaults to `false`. In case of `false` a house number is required.'\n                        )\n                        .optional()\n                        .nullable(),\n                      comment: z\n                        .string()\n                        .describe(\n                          'Delivery Instructions added by the customer.'\n                        )\n                        .max(500)\n                        .optional()\n                        .nullable(),\n                      location: 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('Geo coordinates of the address.')\n                        .optional(),\n                      addressLine2: z\n                        .string()\n                        .describe('Address Line 2.')\n                        .optional()\n                        .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                    })\n                    .describe('Delivery address.')\n                    .optional(),\n                  pickupInfo: z\n                    .object({\n                      windowStartTime: z\n                        .date()\n                        .describe(\n                          'When a delivery is ready to be picked up. This is the start time of the pickup window.'\n                        )\n                        .optional()\n                        .nullable(),\n                      windowEndTime: z\n                        .date()\n                        .describe(\n                          'When a delivery must be picked up by. This is the end time of the pickup window.'\n                        )\n                        .optional()\n                        .nullable(),\n                    })\n                    .describe('Information about the delivery pickup.')\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    restaurant: z.never().optional(),\n                    externalProvider: z.never().optional(),\n                  }),\n                  z.object({\n                    externalProvider: z.never().optional(),\n                    restaurant: z\n                      .object({\n                        fee: z\n                          .string()\n                          .describe('Delivery fee.')\n                          .optional()\n                          .nullable(),\n                      })\n                      .describe('Delivery through the restaurant.'),\n                  }),\n                  z.object({\n                    restaurant: z.never().optional(),\n                    externalProvider: z\n                      .object({\n                        _id: z\n                          .string()\n                          .describe('ID of the external delivery provider.')\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                        name: z\n                          .string()\n                          .describe('Name of the external delivery provider.')\n                          .optional(),\n                        customerFee: z\n                          .string()\n                          .describe('Delivery fee charged to the customer.')\n                          .optional()\n                          .nullable(),\n                        commission: z\n                          .string()\n                          .describe(\n                            'Fee paid by the restaurant to the external delivery provider.'\n                          )\n                          .optional()\n                          .nullable(),\n                        pickupTime: z\n                          .date()\n                          .describe('Order pickup time.')\n                          .optional()\n                          .nullable(),\n                        dropOffTime: z\n                          .date()\n                          .describe('Order drop off time.')\n                          .optional()\n                          .nullable(),\n                      })\n                      .describe('Delivery through an external provider.'),\n                  }),\n                ])\n              )\n              .describe('Delivery details.'),\n          }),\n          z.object({\n            deliveryDetails: z.never().optional(),\n            dineInDetails: z.never().optional(),\n            pickupDetails: z\n              .object({\n                fee: z\n                  .string()\n                  .describe('Pickup fee charged to the customer.')\n                  .optional()\n                  .nullable(),\n                curbside: z\n                  .object({\n                    info: z\n                      .string()\n                      .describe('Additional information for curbside pickup.')\n                      .min(0)\n                      .max(50)\n                      .optional(),\n                  })\n                  .describe('Curbside pickup method')\n                  .optional(),\n              })\n              .describe('Pickup details.'),\n          }),\n          z.object({\n            deliveryDetails: z.never().optional(),\n            pickupDetails: z.never().optional(),\n            dineInDetails: z\n              .object({\n                label: z\n                  .string()\n                  .describe(\n                    'Label of dine-in information added by the restaurant, e.g. `table` or `booth`.'\n                  )\n                  .optional(),\n                value: z\n                  .string()\n                  .describe(\n                    'Value of dine-in information added by the restaurant, e.g. `#6`.'\n                  )\n                  .optional(),\n              })\n              .describe('Dine-in details'),\n          }),\n        ])\n      )\n      .describe('Order fulfillment information.')\n      .optional(),\n    customer: z\n      .intersection(\n        z.object({\n          firstName: z.string().describe('First name.').optional(),\n          lastName: z.string().describe('Last name.').optional(),\n          phone: z.string().describe('Phone number.').optional().nullable(),\n          email: z.string().describe('Email address.').optional(),\n          contactId: z\n            .string()\n            .describe(\n              \"Customer's contact ID.\\nSee [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4) for more details.\"\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        }),\n        z.xor([\n          z.object({\n            memberId: z.never().optional(),\n            visitorId: z.never().optional(),\n          }),\n          z.object({\n            visitorId: z.never().optional(),\n            memberId: z\n              .string()\n              .describe('Member 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          }),\n          z.object({\n            memberId: z.never().optional(),\n            visitorId: z\n              .string()\n              .describe('Visitor 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          }),\n        ])\n      )\n      .describe('Customer information.')\n      .optional(),\n    totals: z\n      .object({\n        subtotal: z\n          .string()\n          .describe(\n            'Order subtotal. Calculated by substracting delivery fee, tax and discount from order total.'\n          )\n          .optional(),\n        total: z.string().describe('Total order price.').optional(),\n        delivery: z\n          .string()\n          .describe('Total delivery fees charged to the customer.')\n          .optional()\n          .nullable(),\n        tax: z.string().describe('Total tax.').optional().nullable(),\n        discount: z\n          .string()\n          .describe('Total discount amount.')\n          .optional()\n          .nullable(),\n        loyaltySavings: z\n          .string()\n          .describe('Total amount saved through the Wix Loyalty program.')\n          .optional()\n          .nullable(),\n        quantity: z\n          .number()\n          .int()\n          .describe('Total number of line items.')\n          .min(0)\n          .optional(),\n        tip: z.string().describe('Total tip.').optional().nullable(),\n      })\n      .describe('Order totals.')\n      .optional(),\n    activities: z\n      .array(\n        z.object({\n          timestamp: z\n            .date()\n            .describe('Activity timestamp.')\n            .optional()\n            .nullable(),\n          message: z\n            .string()\n            .describe('Optional message added during order activity.')\n            .max(1000)\n            .optional()\n            .nullable(),\n        })\n      )\n      .optional(),\n    channelInfo: z\n      .object({\n        type: z\n          .enum([\n            'UNSPECIFIED_CHANNEL_TYPE',\n            'WEB',\n            'MOBILE_WEB',\n            'MOBILE',\n            'CALL_CENTER',\n            'FACEBOOK',\n            'TPA',\n          ])\n          .optional(),\n      })\n      .describe('Information about the sales channel that submitted the order.')\n      .optional(),\n    loyaltyInfo: z\n      .object({\n        rewardId: z\n          .string()\n          .describe('Associated Wix Loyalty reward 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        appliedAmount: z\n          .string()\n          .describe('Amount saved redeeming Wix Loyalty reward.')\n          .optional()\n          .nullable(),\n        redeemedPoints: z\n          .number()\n          .int()\n          .describe('Wix Loyalty points redeemed.')\n          .min(0)\n          .optional()\n          .nullable(),\n        transactionId: z\n          .string()\n          .describe('Associated Wix Loyalty transaction 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        estimatedAccountBalance: z\n          .number()\n          .int()\n          .describe(\n            'Wix Loyalty estimated account point balance.\\nEqual to the sum of earned and adjusted points minus redeemed points.\\nThe estimated point balance is the value before the order is completed. Following the purchase, the point balance is updated.'\n          )\n          .min(0)\n          .optional()\n          .nullable(),\n        estimatedPointsEarned: z\n          .number()\n          .int()\n          .describe(\n            'Wix Loyalty estimated total earned points.\\nThe estimated total earned points is the value before the order is completed. Following the purchase, the total is updated.'\n          )\n          .min(0)\n          .optional()\n          .nullable(),\n        rewardRevision: z\n          .string()\n          .describe(\n            'Associated Wix Loyalty reward revision number, which increments by 1 each time the loyalty account is updated.\\n\\nTo prevent conflicting changes, the current revision must be passed when updating the loyalty account.\\nIgnored when creating an account.'\n          )\n          .optional()\n          .nullable(),\n      })\n      .describe(\n        'Information about the order’s loyalty points.\\nLearn more about the [Wix Loyalty Program](https://dev.wix.com/api/rest/wix-loyalty-program/introduction).'\n      )\n      .optional(),\n  });\n})();\nexport const ListOrdersRequest = z.object({\n  options: z\n    .object({\n      fieldMask: z\n        .object({ paths: z.array(z.string()) })\n        .describe(\n          \"Set of fields to retrieve.\\nFields that aren't included in `fieldmaks.paths` are ignored.\\nSee [the article about field masks](https://dev.wix.com/api/rest/restaurants/orders/supported-field-masks)\\nfor more details.\"\n        )\n        .optional()\n        .nullable(),\n      status: z\n        .enum([\n          'UNSPECIFIED_ORDER_STATUS',\n          'PENDING',\n          'NEW',\n          'ACCEPTED',\n          'CANCELED',\n          'FULFILLED',\n        ])\n        .optional(),\n      createdDate: z\n        .string()\n        .describe(\n          'Order creation date and time. Must include a `gte:` or `lte:` prefix, for example: `gte:2021-10-26T12:48:15Z`.'\n        )\n        .optional()\n        .nullable(),\n      delivered: z\n        .boolean()\n        .describe('Whether the order has been delivered.')\n        .optional()\n        .nullable(),\n      locationIds: z.array(z.string()).optional(),\n      sort: z\n        .object({\n          fieldName: z\n            .enum(['CREATED_DATE', 'UPDATED_DATE', 'PROMISED_TIME'])\n            .optional(),\n          order: z.enum(['ASC', 'DESC']).optional(),\n        })\n        .describe('Sorting options.')\n        .optional(),\n      limit: z\n        .number()\n        .int()\n        .describe(\n          'Number of orders to return. The minimum limit is 1, the maximum 1000.'\n        )\n        .min(1)\n        .max(1000)\n        .optional()\n        .nullable(),\n    })\n    .optional(),\n});\nexport const ListOrdersResponse = (() => {\n  let comWixpressRestaurantsOrdersV3LineItemSchema: z.ZodType<any> = z.object({\n    quantity: z\n      .number()\n      .int()\n      .describe('Line item quantity.')\n      .min(1)\n      .max(100000)\n      .optional(),\n    price: z.string().describe('Line item price.').optional(),\n    comment: z\n      .string()\n      .describe('Comment about the line item added by the customer.')\n      .max(1000)\n      .optional()\n      .nullable(),\n    dishOptions: z\n      .array(\n        z.object({\n          name: z\n            .string()\n            .describe('Line item option name.')\n            .max(1000)\n            .optional()\n            .nullable(),\n          selectedChoices: z\n            .array(z.lazy(() => comWixpressRestaurantsOrdersV3LineItemSchema))\n            .min(0)\n            .max(300)\n            .optional(),\n          minChoices: z\n            .number()\n            .int()\n            .describe(\n              'Minimum number of dish options the customer is required to choose.'\n            )\n            .min(0)\n            .max(2147483647)\n            .optional()\n            .nullable(),\n          maxChoices: z\n            .number()\n            .int()\n            .describe(\n              'Maximum number of dish options the customer is allowed to choose.'\n            )\n            .min(1)\n            .max(2147483647)\n            .optional()\n            .nullable(),\n          type: z\n            .enum([\n              'UNSPECIFIED_DISPLAY_TYPE',\n              'SELECTION',\n              'EXTRAS',\n              'DESELECTION',\n            ])\n            .describe('Dish option type.')\n            .optional(),\n          availableChoices: z\n            .array(\n              z.object({\n                itemId: z\n                  .string()\n                  .describe('Line item ID as defined in the catalog.')\n                  .optional()\n                  .nullable(),\n                price: z\n                  .string()\n                  .describe('Line item price.')\n                  .optional()\n                  .nullable(),\n                name: z\n                  .string()\n                  .describe('Line item name.')\n                  .max(1000)\n                  .optional()\n                  .nullable(),\n              })\n            )\n            .min(1)\n            .max(300)\n            .optional(),\n          defaultChoices: z.array(z.string()).min(0).max(300).optional(),\n        })\n      )\n      .min(0)\n      .max(300)\n      .optional(),\n    catalogReference: z\n      .object({\n        catalogItemId: z\n          .string()\n          .describe('Line item ID as defined in the catalog.')\n          .optional(),\n        catalogItemName: z\n          .string()\n          .describe('Line item name as defined in the catalog.')\n          .max(1000)\n          .optional()\n          .nullable(),\n        catalogItemDescription: z\n          .string()\n          .describe('Item description as defined in the catalog.')\n          .max(1000)\n          .optional()\n          .nullable(),\n        catalogItemMedia: z\n          .string()\n          .describe('Item media url as defined in the catalog.')\n          .url()\n          .optional()\n          .nullable(),\n      })\n      .describe('References to the line item’s origin catalog.')\n      .optional(),\n  });\n  return z.object({\n    orders: z\n      .array(\n        z.object({\n          _id: z.string().describe('Order ID.').optional(),\n          locationId: z\n            .string()\n            .describe('ID of the restaurant’s location.')\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          _createdDate: z\n            .date()\n            .describe(\n              'Order creation date and time in `yyyy-mm-ddThh:mm:sssZ` format.'\n            )\n            .optional()\n            .nullable(),\n          _updatedDate: z\n            .date()\n            .describe(\n              \"Date and time of order's latest update in `yyyy-mm-ddThh:mm:sssZ` format.\"\n            )\n            .optional()\n            .nullable(),\n          comment: z\n            .string()\n            .describe('Additional note to the order added by the customer.')\n            .max(1000)\n            .optional()\n            .nullable(),\n          currency: z\n            .string()\n            .describe('Currency of the order.')\n            .optional()\n            .nullable(),\n          status: z\n            .enum([\n              'UNSPECIFIED_ORDER_STATUS',\n              'PENDING',\n              'NEW',\n              'ACCEPTED',\n              'CANCELED',\n              'FULFILLED',\n            ])\n            .describe('Current order status.')\n            .optional(),\n          lineItems: z\n            .array(comWixpressRestaurantsOrdersV3LineItemSchema)\n            .min(1)\n            .max(300)\n            .optional(),\n          discounts: z\n            .array(\n              z.object({\n                catalogDiscountId: z\n                  .string()\n                  .describe('Discount ID as defined in the catalog.')\n                  .optional(),\n                appliedAmount: z.string().describe('Amount saved.').optional(),\n                catalogDiscountType: z\n                  .enum([\n                    'UNSPECIFIED_TYPE',\n                    'OFF_ITEM',\n                    'OFF_ORDER',\n                    'OFF_ORDER_MANAGER_DISCOUNT',\n                  ])\n                  .describe('Discount type.')\n                  .optional(),\n                catalogDiscountName: z\n                  .string()\n                  .describe('Discount name as defined in the catalog.')\n                  .min(1)\n                  .max(256)\n                  .optional(),\n                catalogDiscountDescription: z\n                  .string()\n                  .describe(\n                    'Discount description as defined in the catalog.\\n\\nMax: 1,000 characters'\n                  )\n                  .min(1)\n                  .max(1000)\n                  .optional(),\n              })\n            )\n            .min(0)\n            .max(100)\n            .optional(),\n          coupon: z\n            .object({\n              code: z.string().describe('Coupon code.').optional(),\n              _id: z\n                .string()\n                .describe('Coupon 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            })\n            .describe('Coupon applied to the order.')\n            .optional(),\n          payments: z\n            .array(\n              z.object({\n                type: z\n                  .enum([\n                    'UNSPECIFIED_PAYMENT_TYPE',\n                    'CASH',\n                    'CREDIT',\n                    'DELIVERY_CLUB',\n                    'DELIVERY_COM',\n                    'BITPAY',\n                    'CELLARIX',\n                    'BITSOFGOLD',\n                    'MULTIPASS',\n                    'TENBIS',\n                    'PAYPAL',\n                    'MYSODEXO',\n                    'WIX_PAYMENTS',\n                  ])\n                  .describe('Payment type.')\n                  .optional(),\n                amount: z\n                  .string()\n                  .describe(\n                    'Amount paid using this payment type. Only differs from total amount paid in case of split payments.'\n                  )\n                  .optional()\n                  .nullable(),\n                method: z\n                  .string()\n                  .describe('Payment method.')\n                  .optional()\n                  .nullable(),\n                providerTransactionId: z\n                  .string()\n                  .describe(\n                    'Transaction ID.\\nSee [Cashier API](https://dev.wix.com/api/rest/wix-cashier/payments/transaction) for more details.'\n                  )\n                  .optional()\n                  .nullable(),\n              })\n            )\n            .min(1)\n            .max(100)\n            .optional(),\n          fulfillment: z\n            .intersection(\n              z.object({\n                type: z\n                  .enum([\n                    'UNSPECIFIED_FULFILLMENT_TYPE',\n                    'PICKUP',\n                    'DELIVERY',\n                    'DINE_IN',\n                  ])\n                  .describe('Fulfillment type.')\n                  .optional(),\n                promisedTime: z\n                  .date()\n                  .describe('Latest delivery time promised by the restaurant.')\n                  .optional()\n                  .nullable(),\n                asap: z\n                  .boolean()\n                  .describe(\n                    'Whether the order should be fulfilled as soon as possible. Defaults to `true`.'\n                  )\n                  .optional()\n                  .nullable(),\n              }),\n              z.xor([\n                z.object({\n                  deliveryDetails: z.never().optional(),\n                  pickupDetails: z.never().optional(),\n                  dineInDetails: z.never().optional(),\n                }),\n                z.object({\n                  pickupDetails: z.never().optional(),\n                  dineInDetails: z.never().optional(),\n                  deliveryDetails: z\n                    .intersection(\n                      z.object({\n                        address: z\n                          .object({\n                            formatted: z\n                              .string()\n                              .describe('Formatted delivery address.')\n                              .max(250)\n                              .optional()\n                              .nullable(),\n                            country: z\n                              .string()\n                              .describe('Country.')\n                              .max(100)\n                              .optional()\n                              .nullable(),\n                            city: z\n                              .string()\n                              .describe('City name.')\n                              .max(100)\n                              .optional()\n                              .nullable(),\n                            street: z\n                              .string()\n                              .describe('Street name.')\n                              .max(100)\n                              .optional()\n                              .nullable(),\n                            streetNumber: z\n                              .string()\n                              .describe('Street number.')\n                              .max(100)\n                              .optional()\n                              .nullable(),\n                            apt: z\n                              .string()\n                              .describe('Apartment number.')\n                              .max(100)\n                              .optional()\n                              .nullable(),\n                            floor: z\n                              .string()\n                              .describe('Floor.')\n                              .max(100)\n                              .optional()\n                              .nullable(),\n                            entrance: z\n                              .string()\n                              .describe('Entrance.')\n                              .max(100)\n                              .optional()\n                              .nullable(),\n                            zipCode: z\n                              .string()\n                              .describe('ZIP/postal code.')\n                              .max(100)\n                              .optional()\n                              .nullable(),\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                            onArrival: z\n                              .enum([\n                                'UNSPECIFIED_ON_ARRIVAL_TYPE',\n                                'BUZZ_DOOR',\n                                'CALL_ME',\n                              ])\n                              .describe(\n                                'Special delivery instructions upon arrival to the address.'\n                              )\n                              .optional(),\n                            approximate: z\n                              .boolean()\n                              .describe(\n                                'Whether an approximate address is used. Defaults to `false`. In case of `false` a house number is required.'\n                              )\n                              .optional()\n                              .nullable(),\n                            comment: z\n                              .string()\n                              .describe(\n                                'Delivery Instructions added by the customer.'\n                              )\n                              .max(500)\n                              .optional()\n                              .nullable(),\n                            location: 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('Geo coordinates of the address.')\n                              .optional(),\n                            addressLine2: z\n                              .string()\n                              .describe('Address Line 2.')\n                              .optional()\n                              .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                          })\n                          .describe('Delivery address.')\n                          .optional(),\n                        pickupInfo: z\n                          .object({\n                            windowStartTime: z\n                              .date()\n                              .describe(\n                                'When a delivery is ready to be picked up. This is the start time of the pickup window.'\n                              )\n                              .optional()\n                              .nullable(),\n                            windowEndTime: z\n                              .date()\n                              .describe(\n                                'When a delivery must be picked up by. This is the end time of the pickup window.'\n                              )\n                              .optional()\n                              .nullable(),\n                          })\n                          .describe('Information about the delivery pickup.')\n                          .optional(),\n                      }),\n                      z.xor([\n                        z.object({\n                          restaurant: z.never().optional(),\n                          externalProvider: z.never().optional(),\n                        }),\n                        z.object({\n                          externalProvider: z.never().optional(),\n                          restaurant: z\n                            .object({\n                              fee: z\n                                .string()\n                                .describe('Delivery fee.')\n                                .optional()\n                                .nullable(),\n                            })\n                            .describe('Delivery through the restaurant.'),\n                        }),\n                        z.object({\n                          restaurant: z.never().optional(),\n                          externalProvider: z\n                            .object({\n                              _id: z\n                                .string()\n                                .describe(\n                                  'ID of the external delivery provider.'\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                              name: z\n                                .string()\n                                .describe(\n                                  'Name of the external delivery provider.'\n                                )\n                                .optional(),\n                              customerFee: z\n                                .string()\n                                .describe(\n                                  'Delivery fee charged to the customer.'\n                                )\n                                .optional()\n                                .nullable(),\n                              commission: z\n                                .string()\n                                .describe(\n                                  'Fee paid by the restaurant to the external delivery provider.'\n                                )\n                                .optional()\n                                .nullable(),\n                              pickupTime: z\n                                .date()\n                                .describe('Order pickup time.')\n                                .optional()\n                                .nullable(),\n                              dropOffTime: z\n                                .date()\n                                .describe('Order drop off time.')\n                                .optional()\n                                .nullable(),\n                            })\n                            .describe('Delivery through an external provider.'),\n                        }),\n                      ])\n                    )\n                    .describe('Delivery details.'),\n                }),\n                z.object({\n                  deliveryDetails: z.never().optional(),\n                  dineInDetails: z.never().optional(),\n                  pickupDetails: z\n                    .object({\n                      fee: z\n                        .string()\n                        .describe('Pickup fee charged to the customer.')\n                        .optional()\n                        .nullable(),\n                      curbside: z\n                        .object({\n                          info: z\n                            .string()\n                            .describe(\n                              'Additional information for curbside pickup.'\n                            )\n                            .min(0)\n                            .max(50)\n                            .optional(),\n                        })\n                        .describe('Curbside pickup method')\n                        .optional(),\n                    })\n                    .describe('Pickup details.'),\n                }),\n                z.object({\n                  deliveryDetails: z.never().optional(),\n                  pickupDetails: z.never().optional(),\n                  dineInDetails: z\n                    .object({\n                      label: z\n                        .string()\n                        .describe(\n                          'Label of dine-in information added by the restaurant, e.g. `table` or `booth`.'\n                        )\n                        .optional(),\n                      value: z\n                        .string()\n                        .describe(\n                          'Value of dine-in information added by the restaurant, e.g. `#6`.'\n                        )\n                        .optional(),\n                    })\n                    .describe('Dine-in details'),\n                }),\n              ])\n            )\n            .describe('Order fulfillment information.')\n            .optional(),\n          customer: z\n            .intersection(\n              z.object({\n                firstName: z.string().describe('First name.').optional(),\n                lastName: z.string().describe('Last name.').optional(),\n                phone: z\n                  .string()\n                  .describe('Phone number.')\n                  .optional()\n                  .nullable(),\n                email: z.string().describe('Email address.').optional(),\n                contactId: z\n                  .string()\n                  .describe(\n                    \"Customer's contact ID.\\nSee [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4) for more details.\"\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              }),\n              z.xor([\n                z.object({\n                  memberId: z.never().optional(),\n                  visitorId: z.never().optional(),\n                }),\n                z.object({\n                  visitorId: z.never().optional(),\n                  memberId: z\n                    .string()\n                    .describe('Member 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                }),\n                z.object({\n                  memberId: z.never().optional(),\n                  visitorId: z\n                    .string()\n                    .describe('Visitor 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                }),\n              ])\n            )\n            .describe('Customer information.')\n            .optional(),\n          totals: z\n            .object({\n              subtotal: z\n                .string()\n                .describe(\n                  'Order subtotal. Calculated by substracting delivery fee, tax and discount from order total.'\n                )\n                .optional(),\n              total: z.string().describe('Total order price.').optional(),\n              delivery: z\n                .string()\n                .describe('Total delivery fees charged to the customer.')\n                .optional()\n                .nullable(),\n              tax: z.string().describe('Total tax.').optional().nullable(),\n              discount: z\n                .string()\n                .describe('Total discount amount.')\n                .optional()\n                .nullable(),\n              loyaltySavings: z\n                .string()\n                .describe('Total amount saved through the Wix Loyalty program.')\n                .optional()\n                .nullable(),\n              quantity: z\n                .number()\n                .int()\n                .describe('Total number of line items.')\n                .min(0)\n                .optional(),\n              tip: z.string().describe('Total tip.').optional().nullable(),\n            })\n            .describe('Order totals.')\n            .optional(),\n          activities: z\n            .array(\n              z.object({\n                timestamp: z\n                  .date()\n                  .describe('Activity timestamp.')\n                  .optional()\n                  .nullable(),\n                message: z\n                  .string()\n                  .describe('Optional message added during order activity.')\n                  .max(1000)\n                  .optional()\n                  .nullable(),\n              })\n            )\n            .optional(),\n          channelInfo: z\n            .object({\n              type: z\n                .enum([\n                  'UNSPECIFIED_CHANNEL_TYPE',\n                  'WEB',\n                  'MOBILE_WEB',\n                  'MOBILE',\n                  'CALL_CENTER',\n                  'FACEBOOK',\n                  'TPA',\n                ])\n                .optional(),\n            })\n            .describe(\n              'Information about the sales channel that submitted the order.'\n            )\n            .optional(),\n          loyaltyInfo: z\n            .object({\n              rewardId: z\n                .string()\n                .describe('Associated Wix Loyalty reward 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              appliedAmount: z\n                .string()\n                .describe('Amount saved redeeming Wix Loyalty reward.')\n                .optional()\n                .nullable(),\n              redeemedPoints: z\n                .number()\n                .int()\n                .describe('Wix Loyalty points redeemed.')\n                .min(0)\n                .optional()\n                .nullable(),\n              transactionId: z\n                .string()\n                .describe('Associated Wix Loyalty transaction 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              estimatedAccountBalance: z\n                .number()\n                .int()\n                .describe(\n                  'Wix Loyalty estimated account point balance.\\nEqual to the sum of earned and adjusted points minus redeemed points.\\nThe estimated point balance is the value before the order is completed. Following the purchase, the point balance is updated.'\n                )\n                .min(0)\n                .optional()\n                .nullable(),\n              estimatedPointsEarned: z\n                .number()\n                .int()\n                .describe(\n                  'Wix Loyalty estimated total earned points.\\nThe estimated total earned points is the value before the order is completed. Following the purchase, the total is updated.'\n                )\n                .min(0)\n                .optional()\n                .nullable(),\n              rewardRevision: z\n                .string()\n                .describe(\n                  'Associated Wix Loyalty reward revision number, which increments by 1 each time the loyalty account is updated.\\n\\nTo prevent conflicting changes, the current revision must be passed when updating the loyalty account.\\nIgnored when creating an account.'\n                )\n                .optional()\n                .nullable(),\n            })\n            .describe(\n              'Information about the order’s loyalty points.\\nLearn more about the [Wix Loyalty Program](https://dev.wix.com/api/rest/wix-loyalty-program/introduction).'\n            )\n            .optional(),\n        })\n      )\n      .optional(),\n  });\n})();\nexport const AcceptOrderRequest = z.object({\n  _id: z.string().describe('ID of the order to mark as `ACCEPTED`.'),\n  options: z\n    .object({\n      message: z\n        .string()\n        .describe('Message when accepting the order.')\n        .max(1000)\n        .optional()\n        .nullable(),\n    })\n    .optional(),\n});\nexport const AcceptOrderResponse = (() => {\n  let comWixpressRestaurantsOrdersV3LineItemSchema: z.ZodType<any> = z.object({\n    quantity: z\n      .number()\n      .int()\n      .describe('Line item quantity.')\n      .min(1)\n      .max(100000)\n      .optional(),\n    price: z.string().describe('Line item price.').optional(),\n    comment: z\n      .string()\n      .describe('Comment about the line item added by the customer.')\n      .max(1000)\n      .optional()\n      .nullable(),\n    dishOptions: z\n      .array(\n        z.object({\n          name: z\n            .string()\n            .describe('Line item option name.')\n            .max(1000)\n            .optional()\n            .nullable(),\n          selectedChoices: z\n            .array(z.lazy(() => comWixpressRestaurantsOrdersV3LineItemSchema))\n            .min(0)\n            .max(300)\n            .optional(),\n          minChoices: z\n            .number()\n            .int()\n            .describe(\n              'Minimum number of dish options the customer is required to choose.'\n            )\n            .min(0)\n            .max(2147483647)\n            .optional()\n            .nullable(),\n          maxChoices: z\n            .number()\n            .int()\n            .describe(\n              'Maximum number of dish options the customer is allowed to choose.'\n            )\n            .min(1)\n            .max(2147483647)\n            .optional()\n            .nullable(),\n          type: z\n            .enum([\n              'UNSPECIFIED_DISPLAY_TYPE',\n              'SELECTION',\n              'EXTRAS',\n              'DESELECTION',\n            ])\n            .describe('Dish option type.')\n            .optional(),\n          availableChoices: z\n            .array(\n              z.object({\n                itemId: z\n                  .string()\n                  .describe('Line item ID as defined in the catalog.')\n                  .optional()\n                  .nullable(),\n                price: z\n                  .string()\n                  .describe('Line item price.')\n                  .optional()\n                  .nullable(),\n                name: z\n                  .string()\n                  .describe('Line item name.')\n                  .max(1000)\n                  .optional()\n                  .nullable(),\n              })\n            )\n            .min(1)\n            .max(300)\n            .optional(),\n          defaultChoices: z.array(z.string()).min(0).max(300).optional(),\n        })\n      )\n      .min(0)\n      .max(300)\n      .optional(),\n    catalogReference: z\n      .object({\n        catalogItemId: z\n          .string()\n          .describe('Line item ID as defined in the catalog.')\n          .optional(),\n        catalogItemName: z\n          .string()\n          .describe('Line item name as defined in the catalog.')\n          .max(1000)\n          .optional()\n          .nullable(),\n        catalogItemDescription: z\n          .string()\n          .describe('Item description as defined in the catalog.')\n          .max(1000)\n          .optional()\n          .nullable(),\n        catalogItemMedia: z\n          .string()\n          .describe('Item media url as defined in the catalog.')\n          .url()\n          .optional()\n          .nullable(),\n      })\n      .describe('References to the line item’s origin catalog.')\n      .optional(),\n  });\n  return z.object({\n    order: z\n      .object({\n        _id: z.string().describe('Order ID.').optional(),\n        locationId: z\n          .string()\n          .describe('ID of the restaurant’s location.')\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        _createdDate: z\n          .date()\n          .describe(\n            'Order creation date and time in `yyyy-mm-ddThh:mm:sssZ` format.'\n          )\n          .optional()\n          .nullable(),\n        _updatedDate: z\n          .date()\n          .describe(\n            \"Date and time of order's latest update in `yyyy-mm-ddThh:mm:sssZ` format.\"\n          )\n          .optional()\n          .nullable(),\n        comment: z\n          .string()\n          .describe('Additional note to the order added by the customer.')\n          .max(1000)\n          .optional()\n          .nullable(),\n        currency: z\n          .string()\n          .describe('Currency of the order.')\n          .optional()\n          .nullable(),\n        status: z\n          .enum([\n            'UNSPECIFIED_ORDER_STATUS',\n            'PENDING',\n            'NEW',\n            'ACCEPTED',\n            'CANCELED',\n            'FULFILLED',\n          ])\n          .describe('Current order status.')\n          .optional(),\n        lineItems: z\n          .array(comWixpressRestaurantsOrdersV3LineItemSchema)\n          .min(1)\n          .max(300)\n          .optional(),\n        discounts: z\n          .array(\n            z.object({\n              catalogDiscountId: z\n                .string()\n                .describe('Discount ID as defined in the catalog.')\n                .optional(),\n              appliedAmount: z.string().describe('Amount saved.').optional(),\n              catalogDiscountType: z\n                .enum([\n                  'UNSPECIFIED_TYPE',\n                  'OFF_ITEM',\n                  'OFF_ORDER',\n                  'OFF_ORDER_MANAGER_DISCOUNT',\n                ])\n                .describe('Discount type.')\n                .optional(),\n              catalogDiscountName: z\n                .string()\n                .describe('Discount name as defined in the catalog.')\n                .min(1)\n                .max(256)\n                .optional(),\n              catalogDiscountDescription: z\n                .string()\n                .describe(\n                  'Discount description as defined in the catalog.\\n\\nMax: 1,000 characters'\n                )\n                .min(1)\n                .max(1000)\n                .optional(),\n            })\n          )\n          .min(0)\n          .max(100)\n          .optional(),\n        coupon: z\n          .object({\n            code: z.string().describe('Coupon code.').optional(),\n            _id: z\n              .string()\n              .describe('Coupon 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          })\n          .describe('Coupon applied to the order.')\n          .optional(),\n        payments: z\n          .array(\n            z.object({\n              type: z\n                .enum([\n                  'UNSPECIFIED_PAYMENT_TYPE',\n                  'CASH',\n                  'CREDIT',\n                  'DELIVERY_CLUB',\n                  'DELIVERY_COM',\n                  'BITPAY',\n                  'CELLARIX',\n                  'BITSOFGOLD',\n                  'MULTIPASS',\n                  'TENBIS',\n                  'PAYPAL',\n                  'MYSODEXO',\n                  'WIX_PAYMENTS',\n                ])\n                .describe('Payment type.')\n                .optional(),\n              amount: z\n                .string()\n                .describe(\n                  'Amount paid using this payment type. Only differs from total amount paid in case of split payments.'\n                )\n                .optional()\n                .nullable(),\n              method: z\n                .string()\n                .describe('Payment method.')\n                .optional()\n                .nullable(),\n              providerTransactionId: z\n                .string()\n                .describe(\n                  'Transaction ID.\\nSee [Cashier API](https://dev.wix.com/api/rest/wix-cashier/payments/transaction) for more details.'\n                )\n                .optional()\n                .nullable(),\n            })\n          )\n          .min(1)\n          .max(100)\n          .optional(),\n        fulfillment: z\n          .intersection(\n            z.object({\n              type: z\n                .enum([\n                  'UNSPECIFIED_FULFILLMENT_TYPE',\n                  'PICKUP',\n                  'DELIVERY',\n                  'DINE_IN',\n                ])\n                .describe('Fulfillment type.')\n                .optional(),\n              promisedTime: z\n                .date()\n                .describe('Latest delivery time promised by the restaurant.')\n                .optional()\n                .nullable(),\n              asap: z\n                .boolean()\n                .describe(\n                  'Whether the order should be fulfilled as soon as possible. Defaults to `true`.'\n                )\n                .optional()\n                .nullable(),\n            }),\n            z.xor([\n              z.object({\n                deliveryDetails: z.never().optional(),\n                pickupDetails: z.never().optional(),\n                dineInDetails: z.never().optional(),\n              }),\n              z.object({\n                pickupDetails: z.never().optional(),\n                dineInDetails: z.never().optional(),\n                deliveryDetails: z\n                  .intersection(\n                    z.object({\n                      address: z\n                        .object({\n                          formatted: z\n                            .string()\n                            .describe('Formatted delivery address.')\n                            .max(250)\n                            .optional()\n                            .nullable(),\n                          country: z\n                            .string()\n                            .describe('Country.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          city: z\n                            .string()\n                            .describe('City name.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          street: z\n                            .string()\n                            .describe('Street name.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          streetNumber: z\n                            .string()\n                            .describe('Street number.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          apt: z\n                            .string()\n                            .describe('Apartment number.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          floor: z\n                            .string()\n                            .describe('Floor.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          entrance: z\n                            .string()\n                            .describe('Entrance.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          zipCode: z\n                            .string()\n                            .describe('ZIP/postal code.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\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                          onArrival: z\n                            .enum([\n                              'UNSPECIFIED_ON_ARRIVAL_TYPE',\n                              'BUZZ_DOOR',\n                              'CALL_ME',\n                            ])\n                            .describe(\n                              'Special delivery instructions upon arrival to the address.'\n                            )\n                            .optional(),\n                          approximate: z\n                            .boolean()\n                            .describe(\n                              'Whether an approximate address is used. Defaults to `false`. In case of `false` a house number is required.'\n                            )\n                            .optional()\n                            .nullable(),\n                          comment: z\n                            .string()\n                            .describe(\n                              'Delivery Instructions added by the customer.'\n                            )\n                            .max(500)\n                            .optional()\n                            .nullable(),\n                          location: 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('Geo coordinates of the address.')\n                            .optional(),\n                          addressLine2: z\n                            .string()\n                            .describe('Address Line 2.')\n                            .optional()\n                            .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                        })\n                        .describe('Delivery address.')\n                        .optional(),\n                      pickupInfo: z\n                        .object({\n                          windowStartTime: z\n                            .date()\n                            .describe(\n                              'When a delivery is ready to be picked up. This is the start time of the pickup window.'\n                            )\n                            .optional()\n                            .nullable(),\n                          windowEndTime: z\n                            .date()\n                            .describe(\n                              'When a delivery must be picked up by. This is the end time of the pickup window.'\n                            )\n                            .optional()\n                            .nullable(),\n                        })\n                        .describe('Information about the delivery pickup.')\n                        .optional(),\n                    }),\n                    z.xor([\n                      z.object({\n                        restaurant: z.never().optional(),\n                        externalProvider: z.never().optional(),\n                      }),\n                      z.object({\n                        externalProvider: z.never().optional(),\n                        restaurant: z\n                          .object({\n                            fee: z\n                              .string()\n                              .describe('Delivery fee.')\n                              .optional()\n                              .nullable(),\n                          })\n                          .describe('Delivery through the restaurant.'),\n                      }),\n                      z.object({\n                        restaurant: z.never().optional(),\n                        externalProvider: z\n                          .object({\n                            _id: z\n                              .string()\n                              .describe('ID of the external delivery provider.')\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                            name: z\n                              .string()\n                              .describe(\n                                'Name of the external delivery provider.'\n                              )\n                              .optional(),\n                            customerFee: z\n                              .string()\n                              .describe('Delivery fee charged to the customer.')\n                              .optional()\n                              .nullable(),\n                            commission: z\n                              .string()\n                              .describe(\n                                'Fee paid by the restaurant to the external delivery provider.'\n                              )\n                              .optional()\n                              .nullable(),\n                            pickupTime: z\n                              .date()\n                              .describe('Order pickup time.')\n                              .optional()\n                              .nullable(),\n                            dropOffTime: z\n                              .date()\n                              .describe('Order drop off time.')\n                              .optional()\n                              .nullable(),\n                          })\n                          .describe('Delivery through an external provider.'),\n                      }),\n                    ])\n                  )\n                  .describe('Delivery details.'),\n              }),\n              z.object({\n                deliveryDetails: z.never().optional(),\n                dineInDetails: z.never().optional(),\n                pickupDetails: z\n                  .object({\n                    fee: z\n                      .string()\n                      .describe('Pickup fee charged to the customer.')\n                      .optional()\n                      .nullable(),\n                    curbside: z\n                      .object({\n                        info: z\n                          .string()\n                          .describe(\n                            'Additional information for curbside pickup.'\n                          )\n                          .min(0)\n                          .max(50)\n                          .optional(),\n                      })\n                      .describe('Curbside pickup method')\n                      .optional(),\n                  })\n                  .describe('Pickup details.'),\n              }),\n              z.object({\n                deliveryDetails: z.never().optional(),\n                pickupDetails: z.never().optional(),\n                dineInDetails: z\n                  .object({\n                    label: z\n                      .string()\n                      .describe(\n                        'Label of dine-in information added by the restaurant, e.g. `table` or `booth`.'\n                      )\n                      .optional(),\n                    value: z\n                      .string()\n                      .describe(\n                        'Value of dine-in information added by the restaurant, e.g. `#6`.'\n                      )\n                      .optional(),\n                  })\n                  .describe('Dine-in details'),\n              }),\n            ])\n          )\n          .describe('Order fulfillment information.')\n          .optional(),\n        customer: z\n          .intersection(\n            z.object({\n              firstName: z.string().describe('First name.').optional(),\n              lastName: z.string().describe('Last name.').optional(),\n              phone: z.string().describe('Phone number.').optional().nullable(),\n              email: z.string().describe('Email address.').optional(),\n              contactId: z\n                .string()\n                .describe(\n                  \"Customer's contact ID.\\nSee [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4) for more details.\"\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            }),\n            z.xor([\n              z.object({\n                memberId: z.never().optional(),\n                visitorId: z.never().optional(),\n              }),\n              z.object({\n                visitorId: z.never().optional(),\n                memberId: z\n                  .string()\n                  .describe('Member 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              }),\n              z.object({\n                memberId: z.never().optional(),\n                visitorId: z\n                  .string()\n                  .describe('Visitor 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              }),\n            ])\n          )\n          .describe('Customer information.')\n          .optional(),\n        totals: z\n          .object({\n            subtotal: z\n              .string()\n              .describe(\n                'Order subtotal. Calculated by substracting delivery fee, tax and discount from order total.'\n              )\n              .optional(),\n            total: z.string().describe('Total order price.').optional(),\n            delivery: z\n              .string()\n              .describe('Total delivery fees charged to the customer.')\n              .optional()\n              .nullable(),\n            tax: z.string().describe('Total tax.').optional().nullable(),\n            discount: z\n              .string()\n              .describe('Total discount amount.')\n              .optional()\n              .nullable(),\n            loyaltySavings: z\n              .string()\n              .describe('Total amount saved through the Wix Loyalty program.')\n              .optional()\n              .nullable(),\n            quantity: z\n              .number()\n              .int()\n              .describe('Total number of line items.')\n              .min(0)\n              .optional(),\n            tip: z.string().describe('Total tip.').optional().nullable(),\n          })\n          .describe('Order totals.')\n          .optional(),\n        activities: z\n          .array(\n            z.object({\n              timestamp: z\n                .date()\n                .describe('Activity timestamp.')\n                .optional()\n                .nullable(),\n              message: z\n                .string()\n                .describe('Optional message added during order activity.')\n                .max(1000)\n                .optional()\n                .nullable(),\n            })\n          )\n          .optional(),\n        channelInfo: z\n          .object({\n            type: z\n              .enum([\n                'UNSPECIFIED_CHANNEL_TYPE',\n                'WEB',\n                'MOBILE_WEB',\n                'MOBILE',\n                'CALL_CENTER',\n                'FACEBOOK',\n                'TPA',\n              ])\n              .optional(),\n          })\n          .describe(\n            'Information about the sales channel that submitted the order.'\n          )\n          .optional(),\n        loyaltyInfo: z\n          .object({\n            rewardId: z\n              .string()\n              .describe('Associated Wix Loyalty reward 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            appliedAmount: z\n              .string()\n              .describe('Amount saved redeeming Wix Loyalty reward.')\n              .optional()\n              .nullable(),\n            redeemedPoints: z\n              .number()\n              .int()\n              .describe('Wix Loyalty points redeemed.')\n              .min(0)\n              .optional()\n              .nullable(),\n            transactionId: z\n              .string()\n              .describe('Associated Wix Loyalty transaction 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            estimatedAccountBalance: z\n              .number()\n              .int()\n              .describe(\n                'Wix Loyalty estimated account point balance.\\nEqual to the sum of earned and adjusted points minus redeemed points.\\nThe estimated point balance is the value before the order is completed. Following the purchase, the point balance is updated.'\n              )\n              .min(0)\n              .optional()\n              .nullable(),\n            estimatedPointsEarned: z\n              .number()\n              .int()\n              .describe(\n                'Wix Loyalty estimated total earned points.\\nThe estimated total earned points is the value before the order is completed. Following the purchase, the total is updated.'\n              )\n              .min(0)\n              .optional()\n              .nullable(),\n            rewardRevision: z\n              .string()\n              .describe(\n                'Associated Wix Loyalty reward revision number, which increments by 1 each time the loyalty account is updated.\\n\\nTo prevent conflicting changes, the current revision must be passed when updating the loyalty account.\\nIgnored when creating an account.'\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe(\n            'Information about the order’s loyalty points.\\nLearn more about the [Wix Loyalty Program](https://dev.wix.com/api/rest/wix-loyalty-program/introduction).'\n          )\n          .optional(),\n      })\n      .describe('Accepted order.')\n      .optional(),\n  });\n})();\nexport const CancelOrderRequest = z.object({\n  _id: z.string().describe('ID of the order to mark as `CANCELED`.'),\n  options: z\n    .object({\n      message: z\n        .string()\n        .describe('Message when canceling the order.')\n        .max(1000)\n        .optional()\n        .nullable(),\n    })\n    .optional(),\n});\nexport const CancelOrderResponse = (() => {\n  let comWixpressRestaurantsOrdersV3LineItemSchema: z.ZodType<any> = z.object({\n    quantity: z\n      .number()\n      .int()\n      .describe('Line item quantity.')\n      .min(1)\n      .max(100000)\n      .optional(),\n    price: z.string().describe('Line item price.').optional(),\n    comment: z\n      .string()\n      .describe('Comment about the line item added by the customer.')\n      .max(1000)\n      .optional()\n      .nullable(),\n    dishOptions: z\n      .array(\n        z.object({\n          name: z\n            .string()\n            .describe('Line item option name.')\n            .max(1000)\n            .optional()\n            .nullable(),\n          selectedChoices: z\n            .array(z.lazy(() => comWixpressRestaurantsOrdersV3LineItemSchema))\n            .min(0)\n            .max(300)\n            .optional(),\n          minChoices: z\n            .number()\n            .int()\n            .describe(\n              'Minimum number of dish options the customer is required to choose.'\n            )\n            .min(0)\n            .max(2147483647)\n            .optional()\n            .nullable(),\n          maxChoices: z\n            .number()\n            .int()\n            .describe(\n              'Maximum number of dish options the customer is allowed to choose.'\n            )\n            .min(1)\n            .max(2147483647)\n            .optional()\n            .nullable(),\n          type: z\n            .enum([\n              'UNSPECIFIED_DISPLAY_TYPE',\n              'SELECTION',\n              'EXTRAS',\n              'DESELECTION',\n            ])\n            .describe('Dish option type.')\n            .optional(),\n          availableChoices: z\n            .array(\n              z.object({\n                itemId: z\n                  .string()\n                  .describe('Line item ID as defined in the catalog.')\n                  .optional()\n                  .nullable(),\n                price: z\n                  .string()\n                  .describe('Line item price.')\n                  .optional()\n                  .nullable(),\n                name: z\n                  .string()\n                  .describe('Line item name.')\n                  .max(1000)\n                  .optional()\n                  .nullable(),\n              })\n            )\n            .min(1)\n            .max(300)\n            .optional(),\n          defaultChoices: z.array(z.string()).min(0).max(300).optional(),\n        })\n      )\n      .min(0)\n      .max(300)\n      .optional(),\n    catalogReference: z\n      .object({\n        catalogItemId: z\n          .string()\n          .describe('Line item ID as defined in the catalog.')\n          .optional(),\n        catalogItemName: z\n          .string()\n          .describe('Line item name as defined in the catalog.')\n          .max(1000)\n          .optional()\n          .nullable(),\n        catalogItemDescription: z\n          .string()\n          .describe('Item description as defined in the catalog.')\n          .max(1000)\n          .optional()\n          .nullable(),\n        catalogItemMedia: z\n          .string()\n          .describe('Item media url as defined in the catalog.')\n          .url()\n          .optional()\n          .nullable(),\n      })\n      .describe('References to the line item’s origin catalog.')\n      .optional(),\n  });\n  return z.object({\n    order: z\n      .object({\n        _id: z.string().describe('Order ID.').optional(),\n        locationId: z\n          .string()\n          .describe('ID of the restaurant’s location.')\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        _createdDate: z\n          .date()\n          .describe(\n            'Order creation date and time in `yyyy-mm-ddThh:mm:sssZ` format.'\n          )\n          .optional()\n          .nullable(),\n        _updatedDate: z\n          .date()\n          .describe(\n            \"Date and time of order's latest update in `yyyy-mm-ddThh:mm:sssZ` format.\"\n          )\n          .optional()\n          .nullable(),\n        comment: z\n          .string()\n          .describe('Additional note to the order added by the customer.')\n          .max(1000)\n          .optional()\n          .nullable(),\n        currency: z\n          .string()\n          .describe('Currency of the order.')\n          .optional()\n          .nullable(),\n        status: z\n          .enum([\n            'UNSPECIFIED_ORDER_STATUS',\n            'PENDING',\n            'NEW',\n            'ACCEPTED',\n            'CANCELED',\n            'FULFILLED',\n          ])\n          .describe('Current order status.')\n          .optional(),\n        lineItems: z\n          .array(comWixpressRestaurantsOrdersV3LineItemSchema)\n          .min(1)\n          .max(300)\n          .optional(),\n        discounts: z\n          .array(\n            z.object({\n              catalogDiscountId: z\n                .string()\n                .describe('Discount ID as defined in the catalog.')\n                .optional(),\n              appliedAmount: z.string().describe('Amount saved.').optional(),\n              catalogDiscountType: z\n                .enum([\n                  'UNSPECIFIED_TYPE',\n                  'OFF_ITEM',\n                  'OFF_ORDER',\n                  'OFF_ORDER_MANAGER_DISCOUNT',\n                ])\n                .describe('Discount type.')\n                .optional(),\n              catalogDiscountName: z\n                .string()\n                .describe('Discount name as defined in the catalog.')\n                .min(1)\n                .max(256)\n                .optional(),\n              catalogDiscountDescription: z\n                .string()\n                .describe(\n                  'Discount description as defined in the catalog.\\n\\nMax: 1,000 characters'\n                )\n                .min(1)\n                .max(1000)\n                .optional(),\n            })\n          )\n          .min(0)\n          .max(100)\n          .optional(),\n        coupon: z\n          .object({\n            code: z.string().describe('Coupon code.').optional(),\n            _id: z\n              .string()\n              .describe('Coupon 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          })\n          .describe('Coupon applied to the order.')\n          .optional(),\n        payments: z\n          .array(\n            z.object({\n              type: z\n                .enum([\n                  'UNSPECIFIED_PAYMENT_TYPE',\n                  'CASH',\n                  'CREDIT',\n                  'DELIVERY_CLUB',\n                  'DELIVERY_COM',\n                  'BITPAY',\n                  'CELLARIX',\n                  'BITSOFGOLD',\n                  'MULTIPASS',\n                  'TENBIS',\n                  'PAYPAL',\n                  'MYSODEXO',\n                  'WIX_PAYMENTS',\n                ])\n                .describe('Payment type.')\n                .optional(),\n              amount: z\n                .string()\n                .describe(\n                  'Amount paid using this payment type. Only differs from total amount paid in case of split payments.'\n                )\n                .optional()\n                .nullable(),\n              method: z\n                .string()\n                .describe('Payment method.')\n                .optional()\n                .nullable(),\n              providerTransactionId: z\n                .string()\n                .describe(\n                  'Transaction ID.\\nSee [Cashier API](https://dev.wix.com/api/rest/wix-cashier/payments/transaction) for more details.'\n                )\n                .optional()\n                .nullable(),\n            })\n          )\n          .min(1)\n          .max(100)\n          .optional(),\n        fulfillment: z\n          .intersection(\n            z.object({\n              type: z\n                .enum([\n                  'UNSPECIFIED_FULFILLMENT_TYPE',\n                  'PICKUP',\n                  'DELIVERY',\n                  'DINE_IN',\n                ])\n                .describe('Fulfillment type.')\n                .optional(),\n              promisedTime: z\n                .date()\n                .describe('Latest delivery time promised by the restaurant.')\n                .optional()\n                .nullable(),\n              asap: z\n                .boolean()\n                .describe(\n                  'Whether the order should be fulfilled as soon as possible. Defaults to `true`.'\n                )\n                .optional()\n                .nullable(),\n            }),\n            z.xor([\n              z.object({\n                deliveryDetails: z.never().optional(),\n                pickupDetails: z.never().optional(),\n                dineInDetails: z.never().optional(),\n              }),\n              z.object({\n                pickupDetails: z.never().optional(),\n                dineInDetails: z.never().optional(),\n                deliveryDetails: z\n                  .intersection(\n                    z.object({\n                      address: z\n                        .object({\n                          formatted: z\n                            .string()\n                            .describe('Formatted delivery address.')\n                            .max(250)\n                            .optional()\n                            .nullable(),\n                          country: z\n                            .string()\n                            .describe('Country.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          city: z\n                            .string()\n                            .describe('City name.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          street: z\n                            .string()\n                            .describe('Street name.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          streetNumber: z\n                            .string()\n                            .describe('Street number.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          apt: z\n                            .string()\n                            .describe('Apartment number.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          floor: z\n                            .string()\n                            .describe('Floor.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          entrance: z\n                            .string()\n                            .describe('Entrance.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          zipCode: z\n                            .string()\n                            .describe('ZIP/postal code.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\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                          onArrival: z\n                            .enum([\n                              'UNSPECIFIED_ON_ARRIVAL_TYPE',\n                              'BUZZ_DOOR',\n                              'CALL_ME',\n                            ])\n                            .describe(\n                              'Special delivery instructions upon arrival to the address.'\n                            )\n                            .optional(),\n                          approximate: z\n                            .boolean()\n                            .describe(\n                              'Whether an approximate address is used. Defaults to `false`. In case of `false` a house number is required.'\n                            )\n                            .optional()\n                            .nullable(),\n                          comment: z\n                            .string()\n                            .describe(\n                              'Delivery Instructions added by the customer.'\n                            )\n                            .max(500)\n                            .optional()\n                            .nullable(),\n                          location: 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('Geo coordinates of the address.')\n                            .optional(),\n                          addressLine2: z\n                            .string()\n                            .describe('Address Line 2.')\n                            .optional()\n                            .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                        })\n                        .describe('Delivery address.')\n                        .optional(),\n                      pickupInfo: z\n                        .object({\n                          windowStartTime: z\n                            .date()\n                            .describe(\n                              'When a delivery is ready to be picked up. This is the start time of the pickup window.'\n                            )\n                            .optional()\n                            .nullable(),\n                          windowEndTime: z\n                            .date()\n                            .describe(\n                              'When a delivery must be picked up by. This is the end time of the pickup window.'\n                            )\n                            .optional()\n                            .nullable(),\n                        })\n                        .describe('Information about the delivery pickup.')\n                        .optional(),\n                    }),\n                    z.xor([\n                      z.object({\n                        restaurant: z.never().optional(),\n                        externalProvider: z.never().optional(),\n                      }),\n                      z.object({\n                        externalProvider: z.never().optional(),\n                        restaurant: z\n                          .object({\n                            fee: z\n                              .string()\n                              .describe('Delivery fee.')\n                              .optional()\n                              .nullable(),\n                          })\n                          .describe('Delivery through the restaurant.'),\n                      }),\n                      z.object({\n                        restaurant: z.never().optional(),\n                        externalProvider: z\n                          .object({\n                            _id: z\n                              .string()\n                              .describe('ID of the external delivery provider.')\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                            name: z\n                              .string()\n                              .describe(\n                                'Name of the external delivery provider.'\n                              )\n                              .optional(),\n                            customerFee: z\n                              .string()\n                              .describe('Delivery fee charged to the customer.')\n                              .optional()\n                              .nullable(),\n                            commission: z\n                              .string()\n                              .describe(\n                                'Fee paid by the restaurant to the external delivery provider.'\n                              )\n                              .optional()\n                              .nullable(),\n                            pickupTime: z\n                              .date()\n                              .describe('Order pickup time.')\n                              .optional()\n                              .nullable(),\n                            dropOffTime: z\n                              .date()\n                              .describe('Order drop off time.')\n                              .optional()\n                              .nullable(),\n                          })\n                          .describe('Delivery through an external provider.'),\n                      }),\n                    ])\n                  )\n                  .describe('Delivery details.'),\n              }),\n              z.object({\n                deliveryDetails: z.never().optional(),\n                dineInDetails: z.never().optional(),\n                pickupDetails: z\n                  .object({\n                    fee: z\n                      .string()\n                      .describe('Pickup fee charged to the customer.')\n                      .optional()\n                      .nullable(),\n                    curbside: z\n                      .object({\n                        info: z\n                          .string()\n                          .describe(\n                            'Additional information for curbside pickup.'\n                          )\n                          .min(0)\n                          .max(50)\n                          .optional(),\n                      })\n                      .describe('Curbside pickup method')\n                      .optional(),\n                  })\n                  .describe('Pickup details.'),\n              }),\n              z.object({\n                deliveryDetails: z.never().optional(),\n                pickupDetails: z.never().optional(),\n                dineInDetails: z\n                  .object({\n                    label: z\n                      .string()\n                      .describe(\n                        'Label of dine-in information added by the restaurant, e.g. `table` or `booth`.'\n                      )\n                      .optional(),\n                    value: z\n                      .string()\n                      .describe(\n                        'Value of dine-in information added by the restaurant, e.g. `#6`.'\n                      )\n                      .optional(),\n                  })\n                  .describe('Dine-in details'),\n              }),\n            ])\n          )\n          .describe('Order fulfillment information.')\n          .optional(),\n        customer: z\n          .intersection(\n            z.object({\n              firstName: z.string().describe('First name.').optional(),\n              lastName: z.string().describe('Last name.').optional(),\n              phone: z.string().describe('Phone number.').optional().nullable(),\n              email: z.string().describe('Email address.').optional(),\n              contactId: z\n                .string()\n                .describe(\n                  \"Customer's contact ID.\\nSee [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4) for more details.\"\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            }),\n            z.xor([\n              z.object({\n                memberId: z.never().optional(),\n                visitorId: z.never().optional(),\n              }),\n              z.object({\n                visitorId: z.never().optional(),\n                memberId: z\n                  .string()\n                  .describe('Member 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              }),\n              z.object({\n                memberId: z.never().optional(),\n                visitorId: z\n                  .string()\n                  .describe('Visitor 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              }),\n            ])\n          )\n          .describe('Customer information.')\n          .optional(),\n        totals: z\n          .object({\n            subtotal: z\n              .string()\n              .describe(\n                'Order subtotal. Calculated by substracting delivery fee, tax and discount from order total.'\n              )\n              .optional(),\n            total: z.string().describe('Total order price.').optional(),\n            delivery: z\n              .string()\n              .describe('Total delivery fees charged to the customer.')\n              .optional()\n              .nullable(),\n            tax: z.string().describe('Total tax.').optional().nullable(),\n            discount: z\n              .string()\n              .describe('Total discount amount.')\n              .optional()\n              .nullable(),\n            loyaltySavings: z\n              .string()\n              .describe('Total amount saved through the Wix Loyalty program.')\n              .optional()\n              .nullable(),\n            quantity: z\n              .number()\n              .int()\n              .describe('Total number of line items.')\n              .min(0)\n              .optional(),\n            tip: z.string().describe('Total tip.').optional().nullable(),\n          })\n          .describe('Order totals.')\n          .optional(),\n        activities: z\n          .array(\n            z.object({\n              timestamp: z\n                .date()\n                .describe('Activity timestamp.')\n                .optional()\n                .nullable(),\n              message: z\n                .string()\n                .describe('Optional message added during order activity.')\n                .max(1000)\n                .optional()\n                .nullable(),\n            })\n          )\n          .optional(),\n        channelInfo: z\n          .object({\n            type: z\n              .enum([\n                'UNSPECIFIED_CHANNEL_TYPE',\n                'WEB',\n                'MOBILE_WEB',\n                'MOBILE',\n                'CALL_CENTER',\n                'FACEBOOK',\n                'TPA',\n              ])\n              .optional(),\n          })\n          .describe(\n            'Information about the sales channel that submitted the order.'\n          )\n          .optional(),\n        loyaltyInfo: z\n          .object({\n            rewardId: z\n              .string()\n              .describe('Associated Wix Loyalty reward 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            appliedAmount: z\n              .string()\n              .describe('Amount saved redeeming Wix Loyalty reward.')\n              .optional()\n              .nullable(),\n            redeemedPoints: z\n              .number()\n              .int()\n              .describe('Wix Loyalty points redeemed.')\n              .min(0)\n              .optional()\n              .nullable(),\n            transactionId: z\n              .string()\n              .describe('Associated Wix Loyalty transaction 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            estimatedAccountBalance: z\n              .number()\n              .int()\n              .describe(\n                'Wix Loyalty estimated account point balance.\\nEqual to the sum of earned and adjusted points minus redeemed points.\\nThe estimated point balance is the value before the order is completed. Following the purchase, the point balance is updated.'\n              )\n              .min(0)\n              .optional()\n              .nullable(),\n            estimatedPointsEarned: z\n              .number()\n              .int()\n              .describe(\n                'Wix Loyalty estimated total earned points.\\nThe estimated total earned points is the value before the order is completed. Following the purchase, the total is updated.'\n              )\n              .min(0)\n              .optional()\n              .nullable(),\n            rewardRevision: z\n              .string()\n              .describe(\n                'Associated Wix Loyalty reward revision number, which increments by 1 each time the loyalty account is updated.\\n\\nTo prevent conflicting changes, the current revision must be passed when updating the loyalty account.\\nIgnored when creating an account.'\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe(\n            'Information about the order’s loyalty points.\\nLearn more about the [Wix Loyalty Program](https://dev.wix.com/api/rest/wix-loyalty-program/introduction).'\n          )\n          .optional(),\n      })\n      .describe('Canceled order.')\n      .optional(),\n  });\n})();\nexport const FulfillOrderRequest = z.object({\n  _id: z.string().describe('ID of the order to mark as `FULFILLED`.'),\n});\nexport const FulfillOrderResponse = (() => {\n  let comWixpressRestaurantsOrdersV3LineItemSchema: z.ZodType<any> = z.object({\n    quantity: z\n      .number()\n      .int()\n      .describe('Line item quantity.')\n      .min(1)\n      .max(100000)\n      .optional(),\n    price: z.string().describe('Line item price.').optional(),\n    comment: z\n      .string()\n      .describe('Comment about the line item added by the customer.')\n      .max(1000)\n      .optional()\n      .nullable(),\n    dishOptions: z\n      .array(\n        z.object({\n          name: z\n            .string()\n            .describe('Line item option name.')\n            .max(1000)\n            .optional()\n            .nullable(),\n          selectedChoices: z\n            .array(z.lazy(() => comWixpressRestaurantsOrdersV3LineItemSchema))\n            .min(0)\n            .max(300)\n            .optional(),\n          minChoices: z\n            .number()\n            .int()\n            .describe(\n              'Minimum number of dish options the customer is required to choose.'\n            )\n            .min(0)\n            .max(2147483647)\n            .optional()\n            .nullable(),\n          maxChoices: z\n            .number()\n            .int()\n            .describe(\n              'Maximum number of dish options the customer is allowed to choose.'\n            )\n            .min(1)\n            .max(2147483647)\n            .optional()\n            .nullable(),\n          type: z\n            .enum([\n              'UNSPECIFIED_DISPLAY_TYPE',\n              'SELECTION',\n              'EXTRAS',\n              'DESELECTION',\n            ])\n            .describe('Dish option type.')\n            .optional(),\n          availableChoices: z\n            .array(\n              z.object({\n                itemId: z\n                  .string()\n                  .describe('Line item ID as defined in the catalog.')\n                  .optional()\n                  .nullable(),\n                price: z\n                  .string()\n                  .describe('Line item price.')\n                  .optional()\n                  .nullable(),\n                name: z\n                  .string()\n                  .describe('Line item name.')\n                  .max(1000)\n                  .optional()\n                  .nullable(),\n              })\n            )\n            .min(1)\n            .max(300)\n            .optional(),\n          defaultChoices: z.array(z.string()).min(0).max(300).optional(),\n        })\n      )\n      .min(0)\n      .max(300)\n      .optional(),\n    catalogReference: z\n      .object({\n        catalogItemId: z\n          .string()\n          .describe('Line item ID as defined in the catalog.')\n          .optional(),\n        catalogItemName: z\n          .string()\n          .describe('Line item name as defined in the catalog.')\n          .max(1000)\n          .optional()\n          .nullable(),\n        catalogItemDescription: z\n          .string()\n          .describe('Item description as defined in the catalog.')\n          .max(1000)\n          .optional()\n          .nullable(),\n        catalogItemMedia: z\n          .string()\n          .describe('Item media url as defined in the catalog.')\n          .url()\n          .optional()\n          .nullable(),\n      })\n      .describe('References to the line item’s origin catalog.')\n      .optional(),\n  });\n  return z.object({\n    order: z\n      .object({\n        _id: z.string().describe('Order ID.').optional(),\n        locationId: z\n          .string()\n          .describe('ID of the restaurant’s location.')\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        _createdDate: z\n          .date()\n          .describe(\n            'Order creation date and time in `yyyy-mm-ddThh:mm:sssZ` format.'\n          )\n          .optional()\n          .nullable(),\n        _updatedDate: z\n          .date()\n          .describe(\n            \"Date and time of order's latest update in `yyyy-mm-ddThh:mm:sssZ` format.\"\n          )\n          .optional()\n          .nullable(),\n        comment: z\n          .string()\n          .describe('Additional note to the order added by the customer.')\n          .max(1000)\n          .optional()\n          .nullable(),\n        currency: z\n          .string()\n          .describe('Currency of the order.')\n          .optional()\n          .nullable(),\n        status: z\n          .enum([\n            'UNSPECIFIED_ORDER_STATUS',\n            'PENDING',\n            'NEW',\n            'ACCEPTED',\n            'CANCELED',\n            'FULFILLED',\n          ])\n          .describe('Current order status.')\n          .optional(),\n        lineItems: z\n          .array(comWixpressRestaurantsOrdersV3LineItemSchema)\n          .min(1)\n          .max(300)\n          .optional(),\n        discounts: z\n          .array(\n            z.object({\n              catalogDiscountId: z\n                .string()\n                .describe('Discount ID as defined in the catalog.')\n                .optional(),\n              appliedAmount: z.string().describe('Amount saved.').optional(),\n              catalogDiscountType: z\n                .enum([\n                  'UNSPECIFIED_TYPE',\n                  'OFF_ITEM',\n                  'OFF_ORDER',\n                  'OFF_ORDER_MANAGER_DISCOUNT',\n                ])\n                .describe('Discount type.')\n                .optional(),\n              catalogDiscountName: z\n                .string()\n                .describe('Discount name as defined in the catalog.')\n                .min(1)\n                .max(256)\n                .optional(),\n              catalogDiscountDescription: z\n                .string()\n                .describe(\n                  'Discount description as defined in the catalog.\\n\\nMax: 1,000 characters'\n                )\n                .min(1)\n                .max(1000)\n                .optional(),\n            })\n          )\n          .min(0)\n          .max(100)\n          .optional(),\n        coupon: z\n          .object({\n            code: z.string().describe('Coupon code.').optional(),\n            _id: z\n              .string()\n              .describe('Coupon 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          })\n          .describe('Coupon applied to the order.')\n          .optional(),\n        payments: z\n          .array(\n            z.object({\n              type: z\n                .enum([\n                  'UNSPECIFIED_PAYMENT_TYPE',\n                  'CASH',\n                  'CREDIT',\n                  'DELIVERY_CLUB',\n                  'DELIVERY_COM',\n                  'BITPAY',\n                  'CELLARIX',\n                  'BITSOFGOLD',\n                  'MULTIPASS',\n                  'TENBIS',\n                  'PAYPAL',\n                  'MYSODEXO',\n                  'WIX_PAYMENTS',\n                ])\n                .describe('Payment type.')\n                .optional(),\n              amount: z\n                .string()\n                .describe(\n                  'Amount paid using this payment type. Only differs from total amount paid in case of split payments.'\n                )\n                .optional()\n                .nullable(),\n              method: z\n                .string()\n                .describe('Payment method.')\n                .optional()\n                .nullable(),\n              providerTransactionId: z\n                .string()\n                .describe(\n                  'Transaction ID.\\nSee [Cashier API](https://dev.wix.com/api/rest/wix-cashier/payments/transaction) for more details.'\n                )\n                .optional()\n                .nullable(),\n            })\n          )\n          .min(1)\n          .max(100)\n          .optional(),\n        fulfillment: z\n          .intersection(\n            z.object({\n              type: z\n                .enum([\n                  'UNSPECIFIED_FULFILLMENT_TYPE',\n                  'PICKUP',\n                  'DELIVERY',\n                  'DINE_IN',\n                ])\n                .describe('Fulfillment type.')\n                .optional(),\n              promisedTime: z\n                .date()\n                .describe('Latest delivery time promised by the restaurant.')\n                .optional()\n                .nullable(),\n              asap: z\n                .boolean()\n                .describe(\n                  'Whether the order should be fulfilled as soon as possible. Defaults to `true`.'\n                )\n                .optional()\n                .nullable(),\n            }),\n            z.xor([\n              z.object({\n                deliveryDetails: z.never().optional(),\n                pickupDetails: z.never().optional(),\n                dineInDetails: z.never().optional(),\n              }),\n              z.object({\n                pickupDetails: z.never().optional(),\n                dineInDetails: z.never().optional(),\n                deliveryDetails: z\n                  .intersection(\n                    z.object({\n                      address: z\n                        .object({\n                          formatted: z\n                            .string()\n                            .describe('Formatted delivery address.')\n                            .max(250)\n                            .optional()\n                            .nullable(),\n                          country: z\n                            .string()\n                            .describe('Country.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          city: z\n                            .string()\n                            .describe('City name.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          street: z\n                            .string()\n                            .describe('Street name.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          streetNumber: z\n                            .string()\n                            .describe('Street number.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          apt: z\n                            .string()\n                            .describe('Apartment number.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          floor: z\n                            .string()\n                            .describe('Floor.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          entrance: z\n                            .string()\n                            .describe('Entrance.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\n                          zipCode: z\n                            .string()\n                            .describe('ZIP/postal code.')\n                            .max(100)\n                            .optional()\n                            .nullable(),\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                          onArrival: z\n                            .enum([\n                              'UNSPECIFIED_ON_ARRIVAL_TYPE',\n                              'BUZZ_DOOR',\n                              'CALL_ME',\n                            ])\n                            .describe(\n                              'Special delivery instructions upon arrival to the address.'\n                            )\n                            .optional(),\n                          approximate: z\n                            .boolean()\n                            .describe(\n                              'Whether an approximate address is used. Defaults to `false`. In case of `false` a house number is required.'\n                            )\n                            .optional()\n                            .nullable(),\n                          comment: z\n                            .string()\n                            .describe(\n                              'Delivery Instructions added by the customer.'\n                            )\n                            .max(500)\n                            .optional()\n                            .nullable(),\n                          location: 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('Geo coordinates of the address.')\n                            .optional(),\n                          addressLine2: z\n                            .string()\n                            .describe('Address Line 2.')\n                            .optional()\n                            .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                        })\n                        .describe('Delivery address.')\n                        .optional(),\n                      pickupInfo: z\n                        .object({\n                          windowStartTime: z\n                            .date()\n                            .describe(\n                              'When a delivery is ready to be picked up. This is the start time of the pickup window.'\n                            )\n                            .optional()\n                            .nullable(),\n                          windowEndTime: z\n                            .date()\n                            .describe(\n                              'When a delivery must be picked up by. This is the end time of the pickup window.'\n                            )\n                            .optional()\n                            .nullable(),\n                        })\n                        .describe('Information about the delivery pickup.')\n                        .optional(),\n                    }),\n                    z.xor([\n                      z.object({\n                        restaurant: z.never().optional(),\n                        externalProvider: z.never().optional(),\n                      }),\n                      z.object({\n                        externalProvider: z.never().optional(),\n                        restaurant: z\n                          .object({\n                            fee: z\n                              .string()\n                              .describe('Delivery fee.')\n                              .optional()\n                              .nullable(),\n                          })\n                          .describe('Delivery through the restaurant.'),\n                      }),\n                      z.object({\n                        restaurant: z.never().optional(),\n                        externalProvider: z\n                          .object({\n                            _id: z\n                              .string()\n                              .describe('ID of the external delivery provider.')\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                            name: z\n                              .string()\n                              .describe(\n                                'Name of the external delivery provider.'\n                              )\n                              .optional(),\n                            customerFee: z\n                              .string()\n                              .describe('Delivery fee charged to the customer.')\n                              .optional()\n                              .nullable(),\n                            commission: z\n                              .string()\n                              .describe(\n                                'Fee paid by the restaurant to the external delivery provider.'\n                              )\n                              .optional()\n                              .nullable(),\n                            pickupTime: z\n                              .date()\n                              .describe('Order pickup time.')\n                              .optional()\n                              .nullable(),\n                            dropOffTime: z\n                              .date()\n                              .describe('Order drop off time.')\n                              .optional()\n                              .nullable(),\n                          })\n                          .describe('Delivery through an external provider.'),\n                      }),\n                    ])\n                  )\n                  .describe('Delivery details.'),\n              }),\n              z.object({\n                deliveryDetails: z.never().optional(),\n                dineInDetails: z.never().optional(),\n                pickupDetails: z\n                  .object({\n                    fee: z\n                      .string()\n                      .describe('Pickup fee charged to the customer.')\n                      .optional()\n                      .nullable(),\n                    curbside: z\n                      .object({\n                        info: z\n                          .string()\n                          .describe(\n                            'Additional information for curbside pickup.'\n                          )\n                          .min(0)\n                          .max(50)\n                          .optional(),\n                      })\n                      .describe('Curbside pickup method')\n                      .optional(),\n                  })\n                  .describe('Pickup details.'),\n              }),\n              z.object({\n                deliveryDetails: z.never().optional(),\n                pickupDetails: z.never().optional(),\n                dineInDetails: z\n                  .object({\n                    label: z\n                      .string()\n                      .describe(\n                        'Label of dine-in information added by the restaurant, e.g. `table` or `booth`.'\n                      )\n                      .optional(),\n                    value: z\n                      .string()\n                      .describe(\n                        'Value of dine-in information added by the restaurant, e.g. `#6`.'\n                      )\n                      .optional(),\n                  })\n                  .describe('Dine-in details'),\n              }),\n            ])\n          )\n          .describe('Order fulfillment information.')\n          .optional(),\n        customer: z\n          .intersection(\n            z.object({\n              firstName: z.string().describe('First name.').optional(),\n              lastName: z.string().describe('Last name.').optional(),\n              phone: z.string().describe('Phone number.').optional().nullable(),\n              email: z.string().describe('Email address.').optional(),\n              contactId: z\n                .string()\n                .describe(\n                  \"Customer's contact ID.\\nSee [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4) for more details.\"\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            }),\n            z.xor([\n              z.object({\n                memberId: z.never().optional(),\n                visitorId: z.never().optional(),\n              }),\n              z.object({\n                visitorId: z.never().optional(),\n                memberId: z\n                  .string()\n                  .describe('Member 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              }),\n              z.object({\n                memberId: z.never().optional(),\n                visitorId: z\n                  .string()\n                  .describe('Visitor 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              }),\n            ])\n          )\n          .describe('Customer information.')\n          .optional(),\n        totals: z\n          .object({\n            subtotal: z\n              .string()\n              .describe(\n                'Order subtotal. Calculated by substracting delivery fee, tax and discount from order total.'\n              )\n              .optional(),\n            total: z.string().describe('Total order price.').optional(),\n            delivery: z\n              .string()\n              .describe('Total delivery fees charged to the customer.')\n              .optional()\n              .nullable(),\n            tax: z.string().describe('Total tax.').optional().nullable(),\n            discount: z\n              .string()\n              .describe('Total discount amount.')\n              .optional()\n              .nullable(),\n            loyaltySavings: z\n              .string()\n              .describe('Total amount saved through the Wix Loyalty program.')\n              .optional()\n              .nullable(),\n            quantity: z\n              .number()\n              .int()\n              .describe('Total number of line items.')\n              .min(0)\n              .optional(),\n            tip: z.string().describe('Total tip.').optional().nullable(),\n          })\n          .describe('Order totals.')\n          .optional(),\n        activities: z\n          .array(\n            z.object({\n              timestamp: z\n                .date()\n                .describe('Activity timestamp.')\n                .optional()\n                .nullable(),\n              message: z\n                .string()\n                .describe('Optional message added during order activity.')\n                .max(1000)\n                .optional()\n                .nullable(),\n            })\n          )\n          .optional(),\n        channelInfo: z\n          .object({\n            type: z\n              .enum([\n                'UNSPECIFIED_CHANNEL_TYPE',\n                'WEB',\n                'MOBILE_WEB',\n                'MOBILE',\n                'CALL_CENTER',\n                'FACEBOOK',\n                'TPA',\n              ])\n              .optional(),\n          })\n          .describe(\n            'Information about the sales channel that submitted the order.'\n          )\n          .optional(),\n        loyaltyInfo: z\n          .object({\n            rewardId: z\n              .string()\n              .describe('Associated Wix Loyalty reward 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            appliedAmount: z\n              .string()\n              .describe('Amount saved redeeming Wix Loyalty reward.')\n              .optional()\n              .nullable(),\n            redeemedPoints: z\n              .number()\n              .int()\n              .describe('Wix Loyalty points redeemed.')\n              .min(0)\n              .optional()\n              .nullable(),\n            transactionId: z\n              .string()\n              .describe('Associated Wix Loyalty transaction 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            estimatedAccountBalance: z\n              .number()\n              .int()\n              .describe(\n                'Wix Loyalty estimated account point balance.\\nEqual to the sum of earned and adjusted points minus redeemed points.\\nThe estimated point balance is the value before the order is completed. Following the purchase, the point balance is updated.'\n              )\n              .min(0)\n              .optional()\n              .nullable(),\n            estimatedPointsEarned: z\n              .number()\n              .int()\n              .describe(\n                'Wix Loyalty estimated total earned points.\\nThe estimated total earned points is the value before the order is completed. Following the purchase, the total is updated.'\n              )\n              .min(0)\n              .optional()\n              .nullable(),\n            rewardRevision: z\n              .string()\n              .describe(\n                'Associated Wix Loyalty reward revision number, which increments by 1 each time the loyalty account is updated.\\n\\nTo prevent conflicting changes, the current revision must be passed when updating the loyalty account.\\nIgnored when creating an account.'\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe(\n            'Information about the order’s loyalty points.\\nLearn more about the [Wix Loyalty Program](https://dev.wix.com/api/rest/wix-loyalty-program/introduction).'\n          )\n          .optional(),\n      })\n      .describe('Fulfilled order.')\n      .optional(),\n  });\n})();\n"],"mappings":"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","names":[]}