@wix/auto_sdk_ecom_current-cart 1.0.155 → 1.0.157
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/schemas.d.ts +4988 -0
- package/build/cjs/schemas.js +8133 -0
- package/build/cjs/schemas.js.map +1 -0
- package/build/es/schemas.d.mts +4988 -0
- package/build/es/schemas.mjs +8079 -0
- package/build/es/schemas.mjs.map +1 -0
- package/build/internal/cjs/schemas.d.ts +4988 -0
- package/build/internal/cjs/schemas.js +8133 -0
- package/build/internal/cjs/schemas.js.map +1 -0
- package/build/internal/es/schemas.d.mts +4988 -0
- package/build/internal/es/schemas.mjs +8079 -0
- package/build/internal/es/schemas.mjs.map +1 -0
- package/package.json +12 -5
- package/schemas/package.json +3 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../schemas.ts","../../src/ecom-v1-cart-current-cart.schemas.ts"],"sourcesContent":["export * from './src/ecom-v1-cart-current-cart.schemas.js';\n","import * as z from 'zod';\n\nexport const GetCurrentCartRequest = z.object({});\nexport const GetCurrentCartResponse = z.object({\n _id: z\n .string()\n .describe('Cart 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 lineItems: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Line item 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 quantity: z\n .number()\n .int()\n .describe('Item quantity.')\n .min(1)\n .max(100000)\n .optional(),\n catalogReference: z\n .object({\n catalogItemId: z\n .string()\n .describe('ID of the item within the catalog it belongs to.')\n .min(1)\n .max(36)\n .optional(),\n appId: z\n .string()\n .describe(\n 'ID of the app providing the catalog.\\n\\nYou can get your app\\'s ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\\n\\nFor items from Wix catalogs, the following values always apply:\\n+ Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\\n+ Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\\n+ Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`'\n )\n .min(1)\n .optional(),\n options: z\n .record(z.string(), z.any())\n .describe(\n 'Additional item details in `key:value` pairs.\\n\\nUse this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.\\n\\nFor Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration)\\nor [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction).'\n )\n .optional()\n .nullable(),\n })\n .describe(\n \"Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin.\"\n )\n .optional(),\n productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe(\n 'Item name.\\n+ Stores - `product.name`\\n+ Bookings - `service.info.name`\\n+ Events - `ticket.name`'\n )\n .optional(),\n url: z\n .string()\n .describe(\"URL to the item's page on the site.\")\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **after** catalog-defined discount and line item discounts.'\n )\n .optional(),\n fullPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **before** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional(),\n priceBeforeDiscounts: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional(),\n lineItemPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Total price **after** catalog-defined discount and line item discounts.'\n )\n .optional(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .optional(),\n image: z.string().describe('Line item image details.').optional(),\n availability: z\n .object({\n status: z\n .enum([\n 'AVAILABLE',\n 'NOT_FOUND',\n 'NOT_AVAILABLE',\n 'PARTIALLY_AVAILABLE',\n ])\n .describe('Item availability status.')\n .optional(),\n quantityAvailable: z\n .number()\n .int()\n .describe('Quantity available.')\n .optional()\n .nullable(),\n })\n .describe('Item availability details.')\n .optional(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe(\n 'Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability.'\n )\n .optional(),\n itemType: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({\n preset: z.never().optional(),\n custom: z.never().optional(),\n }),\n z.object({\n custom: z.never().optional(),\n preset: z\n .enum([\n 'UNRECOGNISED',\n 'PHYSICAL',\n 'DIGITAL',\n 'GIFT_CARD',\n 'SERVICE',\n ])\n .describe('Preset item type.'),\n }),\n z.object({\n preset: z.never().optional(),\n custom: z\n .string()\n .describe(\n 'Custom item type. When none of the preset types are suitable, specifies the custom type.'\n ),\n }),\n ])\n )\n .describe('Item type. Either a preset type or custom.')\n .optional(),\n subscriptionOptionInfo: z\n .object({\n subscriptionSettings: z\n .object({\n frequency: z\n .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n .describe('Frequency of recurring payment.')\n .optional(),\n interval: z\n .number()\n .int()\n .describe(\n 'Interval of recurring payment.\\n\\nDefault: `1`.\\nIf SubscriptionFrequency is Day the minimum interval is 7'\n )\n .min(1)\n .max(3650)\n .optional()\n .nullable(),\n autoRenewal: z\n .boolean()\n .describe(\n 'Whether subscription is renewed automatically at the end of each period.'\n )\n .optional(),\n billingCycles: z\n .number()\n .int()\n .describe(\n 'Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`.'\n )\n .min(1)\n .optional()\n .nullable(),\n enableCustomerCancellation: z\n .boolean()\n .describe(\n 'Whether to allow the customer to cancel the subscription..'\n )\n .optional(),\n freeTrialPeriod: z\n .object({\n frequency: z\n .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n .describe(\n 'Frequency of period. Values: DAY, WEEK, MONTH, YEAR'\n )\n .optional(),\n interval: z\n .number()\n .int()\n .describe('interval of period')\n .min(1)\n .max(999)\n .optional(),\n })\n .describe(\n 'Period until first cycle starts. If applied payNow will be 0\\nIf None => no free trial'\n )\n .optional(),\n })\n .describe('Subscription option settings.')\n .optional(),\n title: z\n .object({\n original: z\n .string()\n .describe(\n \"Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(150)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Subscription option name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(150)\n .optional()\n .nullable(),\n })\n .describe('Subscription option title.')\n .optional(),\n description: z\n .object({\n original: z\n .string()\n .describe('Subscription option description.')\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe('Translated subscription option description.')\n .max(500)\n .optional()\n .nullable(),\n })\n .describe('Subscription option description.')\n .optional(),\n })\n .describe('Subscription option information.')\n .optional(),\n paymentOption: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .describe(\n 'Type of selected payment option for current item.\\n\\nDefault: `FULL_PAYMENT_ONLINE`'\n )\n .optional(),\n serviceProperties: z\n .object({\n scheduledDate: z\n .date()\n .describe(\n 'Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\\nFor example, the start time of a class.'\n )\n .optional()\n .nullable(),\n numberOfParticipants: z\n .number()\n .int()\n .describe(\n 'The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.'\n )\n .min(1)\n .max(10000)\n .optional()\n .nullable(),\n })\n .describe(\n 'Service properties. When relevant, this contains information such as date and number of participants.'\n )\n .optional(),\n rootCatalogItemId: z\n .string()\n .describe(\n \"In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\\n+ For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\\n+ in most cases, this field is the same as `catalogReference.catalogItemId`.\\n+ Used in membership validation.\"\n )\n .min(1)\n .max(36)\n .optional()\n .nullable(),\n priceDescription: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Price description translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(100)\n .optional()\n .nullable(),\n })\n .describe(\n 'Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".'\n )\n .optional(),\n depositAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Partial payment to be paid upfront during the checkout. Eligible for catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.'\n )\n .optional(),\n selectedMembership: z\n .object({\n _id: z\n .string()\n .describe('Membership ID.')\n .min(1)\n .max(100)\n .optional(),\n appId: z\n .string()\n .describe('ID of the app providing this payment option.')\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(\n 'Selected membership to be used as payment for this item. Must be used with `lineItem.paymentOption` set to `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`. This field can be empty when `lineItem.paymentOption` is set to `MEMBERSHIP_OFFLINE`.'\n )\n .optional(),\n deliveryProfileId: z\n .string()\n .describe('Delivery profile 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 taxGroupId: z\n .string()\n .describe('Tax group ID for this line item.')\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 customLineItem: z\n .boolean()\n .describe(\n \"Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\"\n )\n .optional(),\n consentRequiredPaymentPolicy: z\n .string()\n .describe(\n 'Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.'\n )\n .min(1)\n .max(2500)\n .optional()\n .nullable(),\n priceUndetermined: z\n .boolean()\n .describe(\n 'Whether the price is not yet defined, and will be updated after the order is created.'\n )\n .optional(),\n fixedQuantity: z\n .boolean()\n .describe(\n 'Whether the line item quantity is fixed and cannot be changed.'\n )\n .optional(),\n catalogOverrideFields: z\n .object({\n productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Item name.')\n .optional(),\n price: z\n .string()\n .describe('Item price **after** discounts.')\n .optional()\n .nullable(),\n fullPrice: z\n .string()\n .describe('Item price **before** discounts.')\n .optional()\n .nullable(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .min(0)\n .max(20)\n .optional(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe('Physical properties of the item.')\n .optional(),\n image: z.string().describe('Item image.').optional(),\n paymentOption: z\n .object({\n value: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .describe(\n 'Type of selected payment option for current item.\\n\\nDefault: `FULL_PAYMENT_ONLINE`'\n )\n .optional(),\n })\n .describe('Payment method selected for the item.')\n .optional(),\n depositAmount: z\n .string()\n .describe(\n 'Only eligible for catalog items with `lineItem.paymentOption.value` type of `DEPOSIT_ONLINE`.'\n )\n .optional()\n .nullable(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional()\n .nullable(),\n inventoryAppId: z\n .string()\n .describe('ID of the app managing the inventory.')\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 .describe(\n 'Overriding values for catalog item properties.\\n\\nTo override catalog fields, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\\nLearn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).'\n )\n .optional(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional(),\n taxableAddress: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({ addressType: z.never().optional() }),\n z.object({\n addressType: z\n .enum(['BUSINESS', 'BILLING', 'SHIPPING'])\n .describe(\n 'taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.'\n ),\n }),\n ])\n )\n .describe('Address to use for tax calculation purposes.')\n .optional(),\n extendedFields: z\n .object({\n namespaces: z\n .record(z.string(), z.record(z.string(), z.any()))\n .describe(\n 'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n )\n .optional(),\n })\n .describe(\n \"Custom extended fields for the line item object.\\n\\n[Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured using the 'Checkout & Orders - Line Items Schema Plugin' in the app dashboard before they can be accessed with API calls.\"\n )\n .optional(),\n policies: z\n .array(\n z.object({\n title: z\n .string()\n .describe('Policy title - should be translated')\n .min(1)\n .max(29)\n .optional()\n .nullable(),\n content: z\n .string()\n .describe('Policy content - should be translated')\n .min(1)\n .max(3000)\n .optional(),\n })\n )\n .max(5)\n .optional(),\n membersOnly: z\n .boolean()\n .describe(\n 'Whether the item can only be purchased by site members.\\n\\nDefault: `false`'\n )\n .optional(),\n modifierGroups: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier group ID.')\n .min(1)\n .max(36)\n .optional(),\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Modifier group name.')\n .optional(),\n modifiers: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier ID.')\n .min(1)\n .max(36)\n .optional(),\n quantity: z\n .number()\n .int()\n .describe('The quantity of this modifier.')\n .min(1)\n .max(100000)\n .optional()\n .nullable(),\n label: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Primary display label for the modifier.')\n .optional(),\n details: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Additional details.')\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('The price of the modifier.')\n .optional(),\n })\n )\n .min(1)\n .max(25)\n .optional(),\n })\n )\n .max(25)\n .optional(),\n modifiersTotalPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Total price of all item modifiers. Included in the item price.'\n )\n .optional(),\n })\n )\n .min(1)\n .max(300)\n .optional(),\n buyerNote: z\n .string()\n .describe(\n '[Buyer note](https://support.wix.com/en/article/collecting-and-viewing-buyer-notes) left by the customer.'\n )\n .max(1000)\n .optional()\n .nullable(),\n buyerInfo: z\n .intersection(\n z.object({\n contactId: z\n .string()\n .describe('Contact ID. For more information, see the Contacts API.')\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 email: z\n .string()\n .describe('Buyer email address.')\n .email()\n .optional()\n .nullable(),\n }),\n z.xor([\n z.object({\n visitorId: z.never().optional(),\n memberId: z.never().optional(),\n userId: z.never().optional(),\n }),\n z.object({\n memberId: z.never().optional(),\n userId: z.never().optional(),\n visitorId: z\n .string()\n .describe('Visitor ID. If the buyer is **not** a site member.')\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 visitorId: z.never().optional(),\n userId: z.never().optional(),\n memberId: z\n .string()\n .describe('Member ID. If the buyer is a site member.')\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 visitorId: z.never().optional(),\n memberId: z.never().optional(),\n userId: z\n .string()\n .describe('User ID. If the buyer, or cart owner, is a Wix user.')\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('Buyer information.')\n .optional(),\n currency: z\n .string()\n .describe(\n 'The site’s default currency, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. This represents the base currency configured for the site and remains constant regardless of the customer’s currency selection.'\n )\n .optional(),\n conversionCurrency: z\n .string()\n .describe(\n 'The currency [selected by the customer](https://support.wix.com/en/article/multicurrency-an-overview) during the purchase flow, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\\n\\nThis reflects the customer’s preferred display currency and may differ from the site’s default currency.\\nWhen no specific currency is selected by the customer, this matches the `currency` property.'\n )\n .optional(),\n buyerLanguage: z\n .string()\n .describe(\n 'Language for communication with the buyer. Defaults to the site language.\\n\\nFor a site that supports multiple languages, this is the language the buyer selected.'\n )\n .optional()\n .nullable(),\n siteLanguage: z\n .string()\n .describe('Site language in which original values are displayed.')\n .optional()\n .nullable(),\n taxIncludedInPrices: z\n .boolean()\n .describe('Whether tax is included in line item prices.')\n .optional()\n .nullable(),\n weightUnit: z\n .enum(['UNSPECIFIED_WEIGHT_UNIT', 'KG', 'LB'])\n .describe(\"Weight measurement unit - defaults to site's weight unit.\")\n .optional(),\n checkoutId: z\n .string()\n .describe('ID of the checkout that originated from this cart.')\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 appliedDiscounts: z\n .array(\n z.intersection(\n z.object({}),\n z.xor([\n z.object({\n coupon: z.never().optional(),\n merchantDiscount: z.never().optional(),\n }),\n z.object({\n merchantDiscount: z.never().optional(),\n coupon: z\n .object({\n _id: z.string().describe('Coupon ID.').optional(),\n code: z.string().describe('Coupon code.').optional(),\n })\n .describe('Coupon details.'),\n }),\n z.object({\n coupon: z.never().optional(),\n merchantDiscount: z\n .object({\n amount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Discount value.')\n .optional(),\n })\n .describe('Merchant discount.'),\n }),\n ])\n )\n )\n .optional(),\n _createdDate: z\n .date()\n .describe('Date and time the cart was created.')\n .optional()\n .nullable(),\n _updatedDate: z\n .date()\n .describe('Date and time the cart was updated.')\n .optional()\n .nullable(),\n contactInfo: z\n .object({\n address: z\n .object({\n streetAddress: z\n .object({\n name: z.string().optional(),\n number: z.string().optional(),\n })\n .optional(),\n city: z.string().optional().nullable(),\n subdivision: z.string().optional().nullable(),\n country: z.string().optional().nullable(),\n postalCode: z.string().optional().nullable(),\n addressLine2: z.string().optional().nullable(),\n })\n .describe('Address.')\n .optional(),\n contactDetails: z\n .object({\n firstName: z\n .string()\n .describe('First name.')\n .max(100)\n .optional()\n .nullable(),\n lastName: z\n .string()\n .describe('Last name.')\n .max(100)\n .optional()\n .nullable(),\n phone: z.string().describe('Phone number.').optional().nullable(),\n company: z\n .string()\n .describe('Company name.')\n .max(1000)\n .optional()\n .nullable(),\n vatId: z\n .object({\n _id: z.string().describe(\"Customer's tax ID.\").optional(),\n type: z\n .enum(['UNSPECIFIED', 'CPF', 'CNPJ'])\n .describe(\n 'Tax type.\\n\\nSupported values:\\n+ `CPF`: for individual tax payers\\n+ `CNPJ`: for corporations'\n )\n .optional(),\n })\n .describe(\n 'Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed.'\n )\n .optional(),\n })\n .describe('Contact details.')\n .optional(),\n })\n .describe('Contact info.')\n .optional(),\n overrideCheckoutUrl: z\n .string()\n .describe(\n '`overrideCheckoutUrl` allows the flexibility to redirect customers to a customized checkout page.\\n\\nThis field overrides the `checkoutUrl` in a cart or checkout. `checkoutUrl` is used in the Abandoned Checkout API\\nto send customers back to their checkouts. By default, a `checkoutUrl` generates for a checkout and directs to a\\nstandard Wix checkout page. When `overrideCheckoutUrl` has a value, it will replace and set the value of `checkoutUrl`.'\n )\n .max(1000)\n .optional()\n .nullable(),\n purchaseFlowId: z\n .string()\n .describe(\n 'Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.'\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 selectedShippingOption: z\n .object({\n carrierId: z\n .string()\n .describe('Carrier 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 code: z\n .string()\n .describe(\n 'Selected shipping option code. For example, \"usps_std_overnight\".'\n )\n .min(1)\n .max(100)\n .optional(),\n })\n .describe('Selected shipping option.')\n .optional(),\n extendedFields: z\n .object({\n namespaces: z\n .record(z.string(), z.record(z.string(), z.any()))\n .describe(\n 'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n )\n .optional(),\n })\n .describe('Fields extended by data extensions')\n .optional(),\n businessLocationId: z\n .string()\n .describe(\n 'The business location ID associated with the cart.\\n\\nTo learn more, see the Locations API.'\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 paymentCurrency: z\n .string()\n .describe(\n \"The currency used for payment, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\\n\\nThis is determined by the [customer's selected currency](https://support.wix.com/en/article/multicurrency-an-overview) and the site’s supported payment currencies.\\nIf the customer’s selected currency is supported for payment, this matches the `conversionCurrency` property. If not supported, this falls back to the `currency` property.\"\n )\n .optional(),\n revision: z\n .string()\n .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n .describe(\n 'Revision number, which increments by 1 each time the Cart is updated.'\n )\n .optional()\n .nullable(),\n});\nexport const UpdateCurrentCartRequest = z.object({\n options: z\n .object({\n cartInfo: z\n .object({\n _id: z\n .string()\n .describe('Cart 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 lineItems: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Line item 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 quantity: z\n .number()\n .int()\n .describe('Item quantity.')\n .min(1)\n .max(100000)\n .optional(),\n catalogReference: z\n .object({\n catalogItemId: z\n .string()\n .describe(\n 'ID of the item within the catalog it belongs to.'\n )\n .min(1)\n .max(36)\n .optional(),\n appId: z\n .string()\n .describe(\n 'ID of the app providing the catalog.\\n\\nYou can get your app\\'s ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\\n\\nFor items from Wix catalogs, the following values always apply:\\n+ Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\\n+ Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\\n+ Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`'\n )\n .min(1)\n .optional(),\n options: z\n .record(z.string(), z.any())\n .describe(\n 'Additional item details in `key:value` pairs.\\n\\nUse this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.\\n\\nFor Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration)\\nor [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction).'\n )\n .optional()\n .nullable(),\n })\n .describe(\n \"Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin.\"\n )\n .optional(),\n productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe(\n 'Item name.\\n+ Stores - `product.name`\\n+ Bookings - `service.info.name`\\n+ Events - `ticket.name`'\n )\n .optional(),\n url: z\n .string()\n .describe(\"URL to the item's page on the site.\")\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'Item price **after** catalog-defined discount and line item discounts.'\n )\n .optional(),\n fullPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'Item price **before** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional(),\n priceBeforeDiscounts: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional(),\n lineItemPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'Total price **after** catalog-defined discount and line item discounts.'\n )\n .optional(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .optional(),\n image: z\n .string()\n .describe('Line item image details.')\n .optional(),\n availability: z\n .object({\n status: z\n .enum([\n 'AVAILABLE',\n 'NOT_FOUND',\n 'NOT_AVAILABLE',\n 'PARTIALLY_AVAILABLE',\n ])\n .optional(),\n quantityAvailable: z\n .number()\n .int()\n .describe('Quantity available.')\n .optional()\n .nullable(),\n })\n .describe('Item availability details.')\n .optional(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe(\n 'Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability.'\n )\n .optional(),\n itemType: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({\n preset: z.never().optional(),\n custom: z.never().optional(),\n }),\n z.object({\n custom: z.never().optional(),\n preset: z\n .enum([\n 'UNRECOGNISED',\n 'PHYSICAL',\n 'DIGITAL',\n 'GIFT_CARD',\n 'SERVICE',\n ])\n .describe('Preset item type.'),\n }),\n z.object({\n preset: z.never().optional(),\n custom: z\n .string()\n .describe(\n 'Custom item type. When none of the preset types are suitable, specifies the custom type.'\n ),\n }),\n ])\n )\n .describe('Item type. Either a preset type or custom.')\n .optional(),\n subscriptionOptionInfo: z\n .object({\n subscriptionSettings: z\n .object({\n frequency: z\n .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n .optional(),\n interval: z\n .number()\n .int()\n .describe(\n 'Interval of recurring payment.\\n\\nDefault: `1`.\\nIf SubscriptionFrequency is Day the minimum interval is 7'\n )\n .min(1)\n .max(3650)\n .optional()\n .nullable(),\n autoRenewal: z\n .boolean()\n .describe(\n 'Whether subscription is renewed automatically at the end of each period.'\n )\n .optional(),\n billingCycles: z\n .number()\n .int()\n .describe(\n 'Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`.'\n )\n .min(1)\n .optional()\n .nullable(),\n enableCustomerCancellation: z\n .boolean()\n .describe(\n 'Whether to allow the customer to cancel the subscription..'\n )\n .optional(),\n freeTrialPeriod: z\n .object({\n frequency: z\n .enum([\n 'UNDEFINED',\n 'DAY',\n 'WEEK',\n 'MONTH',\n 'YEAR',\n ])\n .optional(),\n interval: z\n .number()\n .int()\n .describe('interval of period')\n .min(1)\n .max(999)\n .optional(),\n })\n .describe(\n 'Period until first cycle starts. If applied payNow will be 0\\nIf None => no free trial'\n )\n .optional(),\n })\n .describe('Subscription option settings.')\n .optional(),\n title: z\n .object({\n original: z\n .string()\n .describe(\n \"Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(150)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Subscription option name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(150)\n .optional()\n .nullable(),\n })\n .describe('Subscription option title.')\n .optional(),\n description: z\n .object({\n original: z\n .string()\n .describe('Subscription option description.')\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n 'Translated subscription option description.'\n )\n .max(500)\n .optional()\n .nullable(),\n })\n .describe('Subscription option description.')\n .optional(),\n })\n .describe('Subscription option information.')\n .optional(),\n paymentOption: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .optional(),\n serviceProperties: z\n .object({\n scheduledDate: z\n .date()\n .describe(\n 'Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\\nFor example, the start time of a class.'\n )\n .optional()\n .nullable(),\n numberOfParticipants: z\n .number()\n .int()\n .describe(\n 'The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.'\n )\n .min(1)\n .max(10000)\n .optional()\n .nullable(),\n })\n .describe(\n 'Service properties. When relevant, this contains information such as date and number of participants.'\n )\n .optional(),\n rootCatalogItemId: z\n .string()\n .describe(\n \"In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\\n+ For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\\n+ in most cases, this field is the same as `catalogReference.catalogItemId`.\\n+ Used in membership validation.\"\n )\n .min(1)\n .max(36)\n .optional()\n .nullable(),\n priceDescription: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Price description translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(100)\n .optional()\n .nullable(),\n })\n .describe(\n 'Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".'\n )\n .optional(),\n depositAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'Partial payment to be paid upfront during the checkout. Eligible for catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.'\n )\n .optional(),\n selectedMembership: z\n .object({\n _id: z\n .string()\n .describe('Membership ID.')\n .min(1)\n .max(100)\n .optional(),\n appId: z\n .string()\n .describe('ID of the app providing this payment option.')\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(\n 'Selected membership to be used as payment for this item. Must be used with `lineItem.paymentOption` set to `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`. This field can be empty when `lineItem.paymentOption` is set to `MEMBERSHIP_OFFLINE`.'\n )\n .optional(),\n deliveryProfileId: z\n .string()\n .describe('Delivery profile 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 taxGroupId: z\n .string()\n .describe('Tax group ID for this line item.')\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 customLineItem: z\n .boolean()\n .describe(\n \"Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\"\n )\n .optional(),\n consentRequiredPaymentPolicy: z\n .string()\n .describe(\n 'Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.'\n )\n .min(1)\n .max(2500)\n .optional()\n .nullable(),\n priceUndetermined: z\n .boolean()\n .describe(\n 'Whether the price is not yet defined, and will be updated after the order is created.'\n )\n .optional(),\n fixedQuantity: z\n .boolean()\n .describe(\n 'Whether the line item quantity is fixed and cannot be changed.'\n )\n .optional(),\n catalogOverrideFields: z\n .object({\n productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Item name.')\n .optional(),\n price: z\n .string()\n .describe('Item price **after** discounts.')\n .optional()\n .nullable(),\n fullPrice: z\n .string()\n .describe('Item price **before** discounts.')\n .optional()\n .nullable(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe(\n 'HEX or RGB color code for display.'\n )\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .min(0)\n .max(20)\n .optional(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe('Physical properties of the item.')\n .optional(),\n image: z.string().describe('Item image.').optional(),\n paymentOption: z\n .object({\n value: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .optional(),\n })\n .describe('Payment method selected for the item.')\n .optional(),\n depositAmount: z\n .string()\n .describe(\n 'Only eligible for catalog items with `lineItem.paymentOption.value` type of `DEPOSIT_ONLINE`.'\n )\n .optional()\n .nullable(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional()\n .nullable(),\n inventoryAppId: z\n .string()\n .describe('ID of the app managing the inventory.')\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 .describe(\n 'Overriding values for catalog item properties.\\n\\nTo override catalog fields, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\\nLearn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).'\n )\n .optional(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional(),\n taxableAddress: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({ addressType: z.never().optional() }),\n z.object({\n addressType: z\n .enum(['BUSINESS', 'BILLING', 'SHIPPING'])\n .describe(\n 'taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.'\n ),\n }),\n ])\n )\n .describe('Address to use for tax calculation purposes.')\n .optional(),\n extendedFields: z\n .object({\n namespaces: z\n .record(z.string(), z.record(z.string(), z.any()))\n .describe(\n 'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n )\n .optional(),\n })\n .describe(\n \"Custom extended fields for the line item object.\\n\\n[Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured using the 'Checkout & Orders - Line Items Schema Plugin' in the app dashboard before they can be accessed with API calls.\"\n )\n .optional(),\n policies: z\n .array(\n z.object({\n title: z\n .string()\n .describe('Policy title - should be translated')\n .min(1)\n .max(29)\n .optional()\n .nullable(),\n content: z\n .string()\n .describe('Policy content - should be translated')\n .min(1)\n .max(3000)\n .optional(),\n })\n )\n .max(5)\n .optional(),\n membersOnly: z\n .boolean()\n .describe(\n 'Whether the item can only be purchased by site members.\\n\\nDefault: `false`'\n )\n .optional(),\n modifierGroups: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier group ID.')\n .min(1)\n .max(36)\n .optional(),\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Modifier group name.')\n .optional(),\n modifiers: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier ID.')\n .min(1)\n .max(36)\n .optional(),\n quantity: z\n .number()\n .int()\n .describe('The quantity of this modifier.')\n .min(1)\n .max(100000)\n .optional()\n .nullable(),\n label: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe(\n 'Primary display label for the modifier.'\n )\n .optional(),\n details: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Additional details.')\n .optional(),\n price: z\n .object({\n amount: z\n .string()\n .describe('Amount.')\n .optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe(\n 'Amount formatted with currency symbol.'\n )\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('The price of the modifier.')\n .optional(),\n })\n )\n .min(1)\n .max(25)\n .optional(),\n })\n )\n .max(25)\n .optional(),\n modifiersTotalPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'Total price of all item modifiers. Included in the item price.'\n )\n .optional(),\n })\n )\n .min(1)\n .max(300)\n .optional(),\n buyerNote: z\n .string()\n .describe(\n '[Buyer note](https://support.wix.com/en/article/collecting-and-viewing-buyer-notes) left by the customer.'\n )\n .max(1000)\n .optional()\n .nullable(),\n buyerInfo: z\n .intersection(\n z.object({\n contactId: z\n .string()\n .describe(\n 'Contact ID. For more information, see the Contacts API.'\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 email: z\n .string()\n .describe('Buyer email address.')\n .email()\n .optional()\n .nullable(),\n }),\n z.xor([\n z.object({\n visitorId: z.never().optional(),\n memberId: z.never().optional(),\n userId: z.never().optional(),\n }),\n z.object({\n memberId: z.never().optional(),\n userId: z.never().optional(),\n visitorId: z\n .string()\n .describe(\n 'Visitor ID. If the buyer is **not** a site member.'\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 }),\n z.object({\n visitorId: z.never().optional(),\n userId: z.never().optional(),\n memberId: z\n .string()\n .describe('Member ID. If the buyer is a site member.')\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 visitorId: z.never().optional(),\n memberId: z.never().optional(),\n userId: z\n .string()\n .describe(\n 'User ID. If the buyer, or cart owner, is a Wix user.'\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 }),\n ])\n )\n .describe('Buyer information.')\n .optional(),\n currency: z\n .string()\n .describe(\n 'The site’s default currency, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. This represents the base currency configured for the site and remains constant regardless of the customer’s currency selection.'\n )\n .optional(),\n conversionCurrency: z\n .string()\n .describe(\n 'The currency [selected by the customer](https://support.wix.com/en/article/multicurrency-an-overview) during the purchase flow, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\\n\\nThis reflects the customer’s preferred display currency and may differ from the site’s default currency.\\nWhen no specific currency is selected by the customer, this matches the `currency` property.'\n )\n .optional(),\n buyerLanguage: z\n .string()\n .describe(\n 'Language for communication with the buyer. Defaults to the site language.\\n\\nFor a site that supports multiple languages, this is the language the buyer selected.'\n )\n .optional()\n .nullable(),\n siteLanguage: z\n .string()\n .describe('Site language in which original values are displayed.')\n .optional()\n .nullable(),\n taxIncludedInPrices: z\n .boolean()\n .describe('Whether tax is included in line item prices.')\n .optional()\n .nullable(),\n weightUnit: z\n .enum(['UNSPECIFIED_WEIGHT_UNIT', 'KG', 'LB'])\n .optional(),\n checkoutId: z\n .string()\n .describe('ID of the checkout that originated from this cart.')\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 appliedDiscounts: z\n .array(\n z.intersection(\n z.object({}),\n z.xor([\n z.object({\n coupon: z.never().optional(),\n merchantDiscount: z.never().optional(),\n }),\n z.object({\n merchantDiscount: z.never().optional(),\n coupon: z\n .object({\n _id: z.string().describe('Coupon ID.').optional(),\n code: z.string().describe('Coupon code.').optional(),\n })\n .describe('Coupon details.'),\n }),\n z.object({\n coupon: z.never().optional(),\n merchantDiscount: z\n .object({\n amount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe(\n 'Amount formatted with currency symbol.'\n )\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Discount value.')\n .optional(),\n })\n .describe('Merchant discount.'),\n }),\n ])\n )\n )\n .optional(),\n _createdDate: z\n .date()\n .describe('Date and time the cart was created.')\n .optional()\n .nullable(),\n _updatedDate: z\n .date()\n .describe('Date and time the cart was updated.')\n .optional()\n .nullable(),\n contactInfo: z\n .object({\n address: z\n .object({\n streetAddress: z\n .object({\n name: z.string().optional(),\n number: z.string().optional(),\n })\n .optional(),\n city: z.string().optional().nullable(),\n subdivision: z.string().optional().nullable(),\n country: z.string().optional().nullable(),\n postalCode: z.string().optional().nullable(),\n addressLine2: z.string().optional().nullable(),\n })\n .describe('Address.')\n .optional(),\n contactDetails: z\n .object({\n firstName: z\n .string()\n .describe('First name.')\n .max(100)\n .optional()\n .nullable(),\n lastName: z\n .string()\n .describe('Last name.')\n .max(100)\n .optional()\n .nullable(),\n phone: z\n .string()\n .describe('Phone number.')\n .optional()\n .nullable(),\n company: z\n .string()\n .describe('Company name.')\n .max(1000)\n .optional()\n .nullable(),\n vatId: z\n .object({\n _id: z.string().describe(\"Customer's tax ID.\").optional(),\n type: z.enum(['UNSPECIFIED', 'CPF', 'CNPJ']).optional(),\n })\n .describe(\n 'Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed.'\n )\n .optional(),\n })\n .describe('Contact details.')\n .optional(),\n })\n .describe('Contact info.')\n .optional(),\n overrideCheckoutUrl: z\n .string()\n .describe(\n '`overrideCheckoutUrl` allows the flexibility to redirect customers to a customized checkout page.\\n\\nThis field overrides the `checkoutUrl` in a cart or checkout. `checkoutUrl` is used in the Abandoned Checkout API\\nto send customers back to their checkouts. By default, a `checkoutUrl` generates for a checkout and directs to a\\nstandard Wix checkout page. When `overrideCheckoutUrl` has a value, it will replace and set the value of `checkoutUrl`.'\n )\n .max(1000)\n .optional()\n .nullable(),\n purchaseFlowId: z\n .string()\n .describe(\n 'Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.'\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 selectedShippingOption: z\n .object({\n carrierId: z\n .string()\n .describe('Carrier 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 code: z\n .string()\n .describe(\n 'Selected shipping option code. For example, \"usps_std_overnight\".'\n )\n .min(1)\n .max(100)\n .optional(),\n })\n .describe('Selected shipping option.')\n .optional(),\n extendedFields: z\n .object({\n namespaces: z\n .record(z.string(), z.record(z.string(), z.any()))\n .describe(\n 'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n )\n .optional(),\n })\n .describe('Fields extended by data extensions')\n .optional(),\n businessLocationId: z\n .string()\n .describe(\n 'The business location ID associated with the cart.\\n\\nTo learn more, see the Locations API.'\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 paymentCurrency: z\n .string()\n .describe(\n \"The currency used for payment, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\\n\\nThis is determined by the [customer's selected currency](https://support.wix.com/en/article/multicurrency-an-overview) and the site’s supported payment currencies.\\nIf the customer’s selected currency is supported for payment, this matches the `conversionCurrency` property. If not supported, this falls back to the `currency` property.\"\n )\n .optional(),\n revision: z\n .string()\n .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n .describe(\n 'Revision number, which increments by 1 each time the Cart is updated.'\n )\n .optional()\n .nullable(),\n })\n .describe('Cart info.')\n .optional(),\n couponCode: z\n .string()\n .describe('Coupon code. For more information, see the Coupons API.')\n .optional()\n .nullable(),\n merchantDiscounts: z\n .array(\n z.object({\n amount: z.string().describe('Discount amount.').optional(),\n lineItemIds: z.array(z.string()).max(300).optional(),\n })\n )\n .max(100)\n .optional(),\n lineItems: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Line item 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 quantity: z\n .number()\n .int()\n .describe('Item quantity.')\n .min(1)\n .max(100000)\n .optional(),\n catalogReference: z\n .object({\n catalogItemId: z\n .string()\n .describe('ID of the item within the catalog it belongs to.')\n .min(1)\n .max(36)\n .optional(),\n appId: z\n .string()\n .describe(\n 'ID of the app providing the catalog.\\n\\nYou can get your app\\'s ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\\n\\nFor items from Wix catalogs, the following values always apply:\\n+ Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\\n+ Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\\n+ Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`'\n )\n .min(1)\n .optional(),\n options: z\n .record(z.string(), z.any())\n .describe(\n 'Additional item details in `key:value` pairs.\\n\\nUse this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.\\n\\nFor Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration)\\nor [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction).'\n )\n .optional()\n .nullable(),\n })\n .describe(\n \"Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin.\"\n )\n .optional(),\n productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe(\n 'Item name.\\n+ Stores - `product.name`\\n+ Bookings - `service.info.name`\\n+ Events - `ticket.name`'\n )\n .optional(),\n url: z\n .string()\n .describe(\"URL to the item's page on the site.\")\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **after** catalog-defined discount and line item discounts.'\n )\n .optional(),\n fullPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **before** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional(),\n priceBeforeDiscounts: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional(),\n lineItemPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Total price **after** catalog-defined discount and line item discounts.'\n )\n .optional(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .optional(),\n image: z.string().describe('Line item image details.').optional(),\n availability: z\n .object({\n status: z\n .enum([\n 'AVAILABLE',\n 'NOT_FOUND',\n 'NOT_AVAILABLE',\n 'PARTIALLY_AVAILABLE',\n ])\n .optional(),\n quantityAvailable: z\n .number()\n .int()\n .describe('Quantity available.')\n .optional()\n .nullable(),\n })\n .describe('Item availability details.')\n .optional(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe(\n 'Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability.'\n )\n .optional(),\n itemType: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({\n preset: z.never().optional(),\n custom: z.never().optional(),\n }),\n z.object({\n custom: z.never().optional(),\n preset: z\n .enum([\n 'UNRECOGNISED',\n 'PHYSICAL',\n 'DIGITAL',\n 'GIFT_CARD',\n 'SERVICE',\n ])\n .describe('Preset item type.'),\n }),\n z.object({\n preset: z.never().optional(),\n custom: z\n .string()\n .describe(\n 'Custom item type. When none of the preset types are suitable, specifies the custom type.'\n ),\n }),\n ])\n )\n .describe('Item type. Either a preset type or custom.')\n .optional(),\n subscriptionOptionInfo: z\n .object({\n subscriptionSettings: z\n .object({\n frequency: z\n .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n .optional(),\n interval: z\n .number()\n .int()\n .describe(\n 'Interval of recurring payment.\\n\\nDefault: `1`.\\nIf SubscriptionFrequency is Day the minimum interval is 7'\n )\n .min(1)\n .max(3650)\n .optional()\n .nullable(),\n autoRenewal: z\n .boolean()\n .describe(\n 'Whether subscription is renewed automatically at the end of each period.'\n )\n .optional(),\n billingCycles: z\n .number()\n .int()\n .describe(\n 'Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`.'\n )\n .min(1)\n .optional()\n .nullable(),\n enableCustomerCancellation: z\n .boolean()\n .describe(\n 'Whether to allow the customer to cancel the subscription..'\n )\n .optional(),\n freeTrialPeriod: z\n .object({\n frequency: z\n .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n .optional(),\n interval: z\n .number()\n .int()\n .describe('interval of period')\n .min(1)\n .max(999)\n .optional(),\n })\n .describe(\n 'Period until first cycle starts. If applied payNow will be 0\\nIf None => no free trial'\n )\n .optional(),\n })\n .describe('Subscription option settings.')\n .optional(),\n title: z\n .object({\n original: z\n .string()\n .describe(\n \"Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(150)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Subscription option name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(150)\n .optional()\n .nullable(),\n })\n .describe('Subscription option title.')\n .optional(),\n description: z\n .object({\n original: z\n .string()\n .describe('Subscription option description.')\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe('Translated subscription option description.')\n .max(500)\n .optional()\n .nullable(),\n })\n .describe('Subscription option description.')\n .optional(),\n })\n .describe('Subscription option information.')\n .optional(),\n paymentOption: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .optional(),\n serviceProperties: z\n .object({\n scheduledDate: z\n .date()\n .describe(\n 'Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\\nFor example, the start time of a class.'\n )\n .optional()\n .nullable(),\n numberOfParticipants: z\n .number()\n .int()\n .describe(\n 'The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.'\n )\n .min(1)\n .max(10000)\n .optional()\n .nullable(),\n })\n .describe(\n 'Service properties. When relevant, this contains information such as date and number of participants.'\n )\n .optional(),\n rootCatalogItemId: z\n .string()\n .describe(\n \"In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\\n+ For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\\n+ in most cases, this field is the same as `catalogReference.catalogItemId`.\\n+ Used in membership validation.\"\n )\n .min(1)\n .max(36)\n .optional()\n .nullable(),\n priceDescription: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Price description translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(100)\n .optional()\n .nullable(),\n })\n .describe(\n 'Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".'\n )\n .optional(),\n depositAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Partial payment to be paid upfront during the checkout. Eligible for catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.'\n )\n .optional(),\n selectedMembership: z\n .object({\n _id: z\n .string()\n .describe('Membership ID.')\n .min(1)\n .max(100)\n .optional(),\n appId: z\n .string()\n .describe('ID of the app providing this payment option.')\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(\n 'Selected membership to be used as payment for this item. Must be used with `lineItem.paymentOption` set to `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`. This field can be empty when `lineItem.paymentOption` is set to `MEMBERSHIP_OFFLINE`.'\n )\n .optional(),\n deliveryProfileId: z\n .string()\n .describe('Delivery profile 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 taxGroupId: z\n .string()\n .describe('Tax group ID for this line item.')\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 customLineItem: z\n .boolean()\n .describe(\n \"Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\"\n )\n .optional(),\n consentRequiredPaymentPolicy: z\n .string()\n .describe(\n 'Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.'\n )\n .min(1)\n .max(2500)\n .optional()\n .nullable(),\n priceUndetermined: z\n .boolean()\n .describe(\n 'Whether the price is not yet defined, and will be updated after the order is created.'\n )\n .optional(),\n fixedQuantity: z\n .boolean()\n .describe(\n 'Whether the line item quantity is fixed and cannot be changed.'\n )\n .optional(),\n catalogOverrideFields: z\n .object({\n productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Item name.')\n .optional(),\n price: z\n .string()\n .describe('Item price **after** discounts.')\n .optional()\n .nullable(),\n fullPrice: z\n .string()\n .describe('Item price **before** discounts.')\n .optional()\n .nullable(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .min(0)\n .max(20)\n .optional(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe('Physical properties of the item.')\n .optional(),\n image: z.string().describe('Item image.').optional(),\n paymentOption: z\n .object({\n value: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .optional(),\n })\n .describe('Payment method selected for the item.')\n .optional(),\n depositAmount: z\n .string()\n .describe(\n 'Only eligible for catalog items with `lineItem.paymentOption.value` type of `DEPOSIT_ONLINE`.'\n )\n .optional()\n .nullable(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional()\n .nullable(),\n inventoryAppId: z\n .string()\n .describe('ID of the app managing the inventory.')\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 .describe(\n 'Overriding values for catalog item properties.\\n\\nTo override catalog fields, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\\nLearn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).'\n )\n .optional(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional(),\n taxableAddress: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({ addressType: z.never().optional() }),\n z.object({\n addressType: z\n .enum(['BUSINESS', 'BILLING', 'SHIPPING'])\n .describe(\n 'taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.'\n ),\n }),\n ])\n )\n .describe('Address to use for tax calculation purposes.')\n .optional(),\n extendedFields: z\n .object({\n namespaces: z\n .record(z.string(), z.record(z.string(), z.any()))\n .describe(\n 'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n )\n .optional(),\n })\n .describe(\n \"Custom extended fields for the line item object.\\n\\n[Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured using the 'Checkout & Orders - Line Items Schema Plugin' in the app dashboard before they can be accessed with API calls.\"\n )\n .optional(),\n policies: z\n .array(\n z.object({\n title: z\n .string()\n .describe('Policy title - should be translated')\n .min(1)\n .max(29)\n .optional()\n .nullable(),\n content: z\n .string()\n .describe('Policy content - should be translated')\n .min(1)\n .max(3000)\n .optional(),\n })\n )\n .max(5)\n .optional(),\n membersOnly: z\n .boolean()\n .describe(\n 'Whether the item can only be purchased by site members.\\n\\nDefault: `false`'\n )\n .optional(),\n modifierGroups: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier group ID.')\n .min(1)\n .max(36)\n .optional(),\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Modifier group name.')\n .optional(),\n modifiers: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier ID.')\n .min(1)\n .max(36)\n .optional(),\n quantity: z\n .number()\n .int()\n .describe('The quantity of this modifier.')\n .min(1)\n .max(100000)\n .optional()\n .nullable(),\n label: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Primary display label for the modifier.')\n .optional(),\n details: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Additional details.')\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe(\n 'Amount formatted with currency symbol.'\n )\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('The price of the modifier.')\n .optional(),\n })\n )\n .min(1)\n .max(25)\n .optional(),\n })\n )\n .max(25)\n .optional(),\n modifiersTotalPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Total price of all item modifiers. Included in the item price.'\n )\n .optional(),\n })\n )\n .max(300)\n .optional(),\n customLineItems: z\n .array(\n z.object({\n quantity: z\n .number()\n .int()\n .describe('Custom line item quantity.\\n\\nMin: `1`\\nMax: `100000`')\n .min(1)\n .max(100000)\n .optional(),\n price: z\n .string()\n .describe(\n 'Custom line item price.\\n\\nMust be a number or a decimal without symbols.'\n )\n .optional(),\n priceDescription: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Price description translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(100)\n .optional()\n .nullable(),\n })\n .describe(\n 'Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".'\n )\n .optional(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .max(10)\n .optional(),\n media: z.string().describe(\"Custom line item's media.\").optional(),\n _id: z\n .string()\n .describe(\n 'Deprecated. Custom line item ID.\\n\\nTo maintain a unique value for a custom line item across multiple carts and orders, pass `catalogReference` instead.\\nLearn more about [custom items with catalog reference](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/catalogs/catalog-and-custom-items#custom-item-with-catalog-reference).'\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 taxGroupId: z\n .string()\n .describe('Tax group ID for this custom line item.')\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 productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Name of the item or product.')\n .optional(),\n url: z\n .string()\n .describe(\n \"URL to the item's page on the site. When not provided, the link back from the cart page to the relevant product page will not work.\"\n )\n .optional(),\n itemType: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({\n preset: z.never().optional(),\n custom: z.never().optional(),\n }),\n z.object({\n custom: z.never().optional(),\n preset: z\n .enum([\n 'UNRECOGNISED',\n 'PHYSICAL',\n 'DIGITAL',\n 'GIFT_CARD',\n 'SERVICE',\n ])\n .describe('Preset item type.'),\n }),\n z.object({\n preset: z.never().optional(),\n custom: z\n .string()\n .describe(\n 'Custom item type. When none of the preset types are suitable, specifies the custom type.'\n ),\n }),\n ])\n )\n .describe('Item type. Either a preset type or custom.')\n .optional(),\n fullPrice: z\n .string()\n .describe(\n 'Item price **before** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional()\n .nullable(),\n quantityAvailable: z\n .number()\n .int()\n .describe(\n 'Item quantity available for purchase. Only return this if inventory is managed.\\nNot returning this field means that the buyer can \"infinitely\" tick up the number of items in the cart.'\n )\n .min(0)\n .max(100000)\n .optional()\n .nullable(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe('Physical properties of the item.')\n .optional(),\n paymentOption: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .optional(),\n serviceProperties: z\n .object({\n scheduledDate: z\n .date()\n .describe(\n 'Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\\nFor example, the start time of a class.'\n )\n .optional()\n .nullable(),\n numberOfParticipants: z\n .number()\n .int()\n .describe(\n 'The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.'\n )\n .min(1)\n .max(10000)\n .optional()\n .nullable(),\n })\n .describe(\n 'Service properties. When relevant, this contains information such as date and number of participants.\\nUsed, among other things, when checking for valid memberships.'\n )\n .optional(),\n rootCatalogItemId: z\n .string()\n .describe(\n \"In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\\n\\n+ For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\\n+ In most cases, this field is the same as `catalogReference.catalogItemId`.\\n+ Used in membership validation.\"\n )\n .min(1)\n .max(36)\n .optional()\n .nullable(),\n depositAmount: z\n .string()\n .describe(\n \"Partial payment for the given item to be paid upfront during the checkout.\\n\\nEligible for catalog items with type `DEPOSIT_ONLINE`.\\nWhen omitted, the item's price will not be split and is expected to be paid in a single installment.\"\n )\n .optional()\n .nullable(),\n deliveryProfileId: z\n .string()\n .describe('Delivery profile 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 catalogReference: z\n .object({\n catalogItemId: z\n .string()\n .describe('ID of the item within the catalog it belongs to.')\n .min(1)\n .max(36)\n .optional(),\n appId: z\n .string()\n .describe(\n 'ID of the app providing the catalog.\\n\\nYou can get your app\\'s ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\\n\\nFor items from Wix catalogs, the following values always apply:\\n+ Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\\n+ Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\\n+ Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`'\n )\n .min(1)\n .optional(),\n options: z\n .record(z.string(), z.any())\n .describe(\n 'Additional item details in `key:value` pairs.\\n\\nUse this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.\\n\\nFor Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration)\\nor [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction).'\n )\n .optional()\n .nullable(),\n })\n .describe(\n \"Catalog and item reference. Includes IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin.\"\n )\n .optional(),\n priceUndetermined: z\n .boolean()\n .describe(\n 'Whether the price is not yet defined, and will be updated after the order is created.\\n\\nDefault: `false`'\n )\n .optional(),\n fixedQuantity: z\n .boolean()\n .describe(\n 'Whether the line item quantity is fixed and cannot be changed.\\n\\nDefault: `false`'\n )\n .optional(),\n consentRequiredPaymentPolicy: z\n .string()\n .describe(\n 'Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.'\n )\n .min(1)\n .max(1000)\n .optional()\n .nullable(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional(),\n policies: z\n .array(\n z.object({\n title: z\n .string()\n .describe('Policy title - should be translated')\n .min(1)\n .max(29)\n .optional()\n .nullable(),\n content: z\n .string()\n .describe('Policy content - should be translated')\n .min(1)\n .max(3000)\n .optional(),\n })\n )\n .max(5)\n .optional(),\n membersOnly: z\n .boolean()\n .describe(\n 'Whether the item can only be purchased by site members.\\n\\nDefault: `false`'\n )\n .optional(),\n taxableAddress: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({ addressType: z.never().optional() }),\n z.object({\n addressType: z\n .enum(['BUSINESS', 'BILLING', 'SHIPPING'])\n .describe(\n 'taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.'\n ),\n }),\n ])\n )\n .describe('Address to use for tax calculation purposes.')\n .optional(),\n modifierGroups: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier group ID.')\n .min(1)\n .max(36)\n .optional(),\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Modifier group name.')\n .optional(),\n modifiers: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier ID.')\n .min(1)\n .max(36)\n .optional(),\n quantity: z\n .number()\n .int()\n .describe('The quantity of this modifier.')\n .min(1)\n .max(100000)\n .optional()\n .nullable(),\n label: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Primary display label for the modifier.')\n .optional(),\n details: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Additional details.')\n .optional(),\n price: z\n .string()\n .describe('The price of the modifier.')\n .optional()\n .nullable(),\n })\n )\n .min(1)\n .max(25)\n .optional(),\n })\n )\n .max(25)\n .optional(),\n })\n )\n .max(300)\n .optional(),\n })\n .describe('Current cart update options.')\n .optional(),\n});\nexport const UpdateCurrentCartResponse = z.object({\n _id: z\n .string()\n .describe('Cart 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 lineItems: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Line item 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 quantity: z\n .number()\n .int()\n .describe('Item quantity.')\n .min(1)\n .max(100000)\n .optional(),\n catalogReference: z\n .object({\n catalogItemId: z\n .string()\n .describe('ID of the item within the catalog it belongs to.')\n .min(1)\n .max(36)\n .optional(),\n appId: z\n .string()\n .describe(\n 'ID of the app providing the catalog.\\n\\nYou can get your app\\'s ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\\n\\nFor items from Wix catalogs, the following values always apply:\\n+ Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\\n+ Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\\n+ Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`'\n )\n .min(1)\n .optional(),\n options: z\n .record(z.string(), z.any())\n .describe(\n 'Additional item details in `key:value` pairs.\\n\\nUse this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.\\n\\nFor Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration)\\nor [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction).'\n )\n .optional()\n .nullable(),\n })\n .describe(\n \"Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin.\"\n )\n .optional(),\n productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe(\n 'Item name.\\n+ Stores - `product.name`\\n+ Bookings - `service.info.name`\\n+ Events - `ticket.name`'\n )\n .optional(),\n url: z\n .string()\n .describe(\"URL to the item's page on the site.\")\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **after** catalog-defined discount and line item discounts.'\n )\n .optional(),\n fullPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **before** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional(),\n priceBeforeDiscounts: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional(),\n lineItemPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Total price **after** catalog-defined discount and line item discounts.'\n )\n .optional(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .optional(),\n image: z.string().describe('Line item image details.').optional(),\n availability: z\n .object({\n status: z\n .enum([\n 'AVAILABLE',\n 'NOT_FOUND',\n 'NOT_AVAILABLE',\n 'PARTIALLY_AVAILABLE',\n ])\n .describe('Item availability status.')\n .optional(),\n quantityAvailable: z\n .number()\n .int()\n .describe('Quantity available.')\n .optional()\n .nullable(),\n })\n .describe('Item availability details.')\n .optional(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe(\n 'Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability.'\n )\n .optional(),\n itemType: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({\n preset: z.never().optional(),\n custom: z.never().optional(),\n }),\n z.object({\n custom: z.never().optional(),\n preset: z\n .enum([\n 'UNRECOGNISED',\n 'PHYSICAL',\n 'DIGITAL',\n 'GIFT_CARD',\n 'SERVICE',\n ])\n .describe('Preset item type.'),\n }),\n z.object({\n preset: z.never().optional(),\n custom: z\n .string()\n .describe(\n 'Custom item type. When none of the preset types are suitable, specifies the custom type.'\n ),\n }),\n ])\n )\n .describe('Item type. Either a preset type or custom.')\n .optional(),\n subscriptionOptionInfo: z\n .object({\n subscriptionSettings: z\n .object({\n frequency: z\n .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n .describe('Frequency of recurring payment.')\n .optional(),\n interval: z\n .number()\n .int()\n .describe(\n 'Interval of recurring payment.\\n\\nDefault: `1`.\\nIf SubscriptionFrequency is Day the minimum interval is 7'\n )\n .min(1)\n .max(3650)\n .optional()\n .nullable(),\n autoRenewal: z\n .boolean()\n .describe(\n 'Whether subscription is renewed automatically at the end of each period.'\n )\n .optional(),\n billingCycles: z\n .number()\n .int()\n .describe(\n 'Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`.'\n )\n .min(1)\n .optional()\n .nullable(),\n enableCustomerCancellation: z\n .boolean()\n .describe(\n 'Whether to allow the customer to cancel the subscription..'\n )\n .optional(),\n freeTrialPeriod: z\n .object({\n frequency: z\n .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n .describe(\n 'Frequency of period. Values: DAY, WEEK, MONTH, YEAR'\n )\n .optional(),\n interval: z\n .number()\n .int()\n .describe('interval of period')\n .min(1)\n .max(999)\n .optional(),\n })\n .describe(\n 'Period until first cycle starts. If applied payNow will be 0\\nIf None => no free trial'\n )\n .optional(),\n })\n .describe('Subscription option settings.')\n .optional(),\n title: z\n .object({\n original: z\n .string()\n .describe(\n \"Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(150)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Subscription option name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(150)\n .optional()\n .nullable(),\n })\n .describe('Subscription option title.')\n .optional(),\n description: z\n .object({\n original: z\n .string()\n .describe('Subscription option description.')\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe('Translated subscription option description.')\n .max(500)\n .optional()\n .nullable(),\n })\n .describe('Subscription option description.')\n .optional(),\n })\n .describe('Subscription option information.')\n .optional(),\n paymentOption: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .describe(\n 'Type of selected payment option for current item.\\n\\nDefault: `FULL_PAYMENT_ONLINE`'\n )\n .optional(),\n serviceProperties: z\n .object({\n scheduledDate: z\n .date()\n .describe(\n 'Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\\nFor example, the start time of a class.'\n )\n .optional()\n .nullable(),\n numberOfParticipants: z\n .number()\n .int()\n .describe(\n 'The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.'\n )\n .min(1)\n .max(10000)\n .optional()\n .nullable(),\n })\n .describe(\n 'Service properties. When relevant, this contains information such as date and number of participants.'\n )\n .optional(),\n rootCatalogItemId: z\n .string()\n .describe(\n \"In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\\n+ For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\\n+ in most cases, this field is the same as `catalogReference.catalogItemId`.\\n+ Used in membership validation.\"\n )\n .min(1)\n .max(36)\n .optional()\n .nullable(),\n priceDescription: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Price description translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(100)\n .optional()\n .nullable(),\n })\n .describe(\n 'Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".'\n )\n .optional(),\n depositAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Partial payment to be paid upfront during the checkout. Eligible for catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.'\n )\n .optional(),\n selectedMembership: z\n .object({\n _id: z\n .string()\n .describe('Membership ID.')\n .min(1)\n .max(100)\n .optional(),\n appId: z\n .string()\n .describe('ID of the app providing this payment option.')\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(\n 'Selected membership to be used as payment for this item. Must be used with `lineItem.paymentOption` set to `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`. This field can be empty when `lineItem.paymentOption` is set to `MEMBERSHIP_OFFLINE`.'\n )\n .optional(),\n deliveryProfileId: z\n .string()\n .describe('Delivery profile 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 taxGroupId: z\n .string()\n .describe('Tax group ID for this line item.')\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 customLineItem: z\n .boolean()\n .describe(\n \"Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\"\n )\n .optional(),\n consentRequiredPaymentPolicy: z\n .string()\n .describe(\n 'Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.'\n )\n .min(1)\n .max(2500)\n .optional()\n .nullable(),\n priceUndetermined: z\n .boolean()\n .describe(\n 'Whether the price is not yet defined, and will be updated after the order is created.'\n )\n .optional(),\n fixedQuantity: z\n .boolean()\n .describe(\n 'Whether the line item quantity is fixed and cannot be changed.'\n )\n .optional(),\n catalogOverrideFields: z\n .object({\n productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Item name.')\n .optional(),\n price: z\n .string()\n .describe('Item price **after** discounts.')\n .optional()\n .nullable(),\n fullPrice: z\n .string()\n .describe('Item price **before** discounts.')\n .optional()\n .nullable(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .min(0)\n .max(20)\n .optional(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe('Physical properties of the item.')\n .optional(),\n image: z.string().describe('Item image.').optional(),\n paymentOption: z\n .object({\n value: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .describe(\n 'Type of selected payment option for current item.\\n\\nDefault: `FULL_PAYMENT_ONLINE`'\n )\n .optional(),\n })\n .describe('Payment method selected for the item.')\n .optional(),\n depositAmount: z\n .string()\n .describe(\n 'Only eligible for catalog items with `lineItem.paymentOption.value` type of `DEPOSIT_ONLINE`.'\n )\n .optional()\n .nullable(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional()\n .nullable(),\n inventoryAppId: z\n .string()\n .describe('ID of the app managing the inventory.')\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 .describe(\n 'Overriding values for catalog item properties.\\n\\nTo override catalog fields, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\\nLearn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).'\n )\n .optional(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional(),\n taxableAddress: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({ addressType: z.never().optional() }),\n z.object({\n addressType: z\n .enum(['BUSINESS', 'BILLING', 'SHIPPING'])\n .describe(\n 'taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.'\n ),\n }),\n ])\n )\n .describe('Address to use for tax calculation purposes.')\n .optional(),\n extendedFields: z\n .object({\n namespaces: z\n .record(z.string(), z.record(z.string(), z.any()))\n .describe(\n 'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n )\n .optional(),\n })\n .describe(\n \"Custom extended fields for the line item object.\\n\\n[Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured using the 'Checkout & Orders - Line Items Schema Plugin' in the app dashboard before they can be accessed with API calls.\"\n )\n .optional(),\n policies: z\n .array(\n z.object({\n title: z\n .string()\n .describe('Policy title - should be translated')\n .min(1)\n .max(29)\n .optional()\n .nullable(),\n content: z\n .string()\n .describe('Policy content - should be translated')\n .min(1)\n .max(3000)\n .optional(),\n })\n )\n .max(5)\n .optional(),\n membersOnly: z\n .boolean()\n .describe(\n 'Whether the item can only be purchased by site members.\\n\\nDefault: `false`'\n )\n .optional(),\n modifierGroups: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier group ID.')\n .min(1)\n .max(36)\n .optional(),\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Modifier group name.')\n .optional(),\n modifiers: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier ID.')\n .min(1)\n .max(36)\n .optional(),\n quantity: z\n .number()\n .int()\n .describe('The quantity of this modifier.')\n .min(1)\n .max(100000)\n .optional()\n .nullable(),\n label: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Primary display label for the modifier.')\n .optional(),\n details: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Additional details.')\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('The price of the modifier.')\n .optional(),\n })\n )\n .min(1)\n .max(25)\n .optional(),\n })\n )\n .max(25)\n .optional(),\n modifiersTotalPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Total price of all item modifiers. Included in the item price.'\n )\n .optional(),\n })\n )\n .min(1)\n .max(300)\n .optional(),\n buyerNote: z\n .string()\n .describe(\n '[Buyer note](https://support.wix.com/en/article/collecting-and-viewing-buyer-notes) left by the customer.'\n )\n .max(1000)\n .optional()\n .nullable(),\n buyerInfo: z\n .intersection(\n z.object({\n contactId: z\n .string()\n .describe('Contact ID. For more information, see the Contacts API.')\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 email: z\n .string()\n .describe('Buyer email address.')\n .email()\n .optional()\n .nullable(),\n }),\n z.xor([\n z.object({\n visitorId: z.never().optional(),\n memberId: z.never().optional(),\n userId: z.never().optional(),\n }),\n z.object({\n memberId: z.never().optional(),\n userId: z.never().optional(),\n visitorId: z\n .string()\n .describe('Visitor ID. If the buyer is **not** a site member.')\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 visitorId: z.never().optional(),\n userId: z.never().optional(),\n memberId: z\n .string()\n .describe('Member ID. If the buyer is a site member.')\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 visitorId: z.never().optional(),\n memberId: z.never().optional(),\n userId: z\n .string()\n .describe('User ID. If the buyer, or cart owner, is a Wix user.')\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('Buyer information.')\n .optional(),\n currency: z\n .string()\n .describe(\n 'The site’s default currency, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. This represents the base currency configured for the site and remains constant regardless of the customer’s currency selection.'\n )\n .optional(),\n conversionCurrency: z\n .string()\n .describe(\n 'The currency [selected by the customer](https://support.wix.com/en/article/multicurrency-an-overview) during the purchase flow, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\\n\\nThis reflects the customer’s preferred display currency and may differ from the site’s default currency.\\nWhen no specific currency is selected by the customer, this matches the `currency` property.'\n )\n .optional(),\n buyerLanguage: z\n .string()\n .describe(\n 'Language for communication with the buyer. Defaults to the site language.\\n\\nFor a site that supports multiple languages, this is the language the buyer selected.'\n )\n .optional()\n .nullable(),\n siteLanguage: z\n .string()\n .describe('Site language in which original values are displayed.')\n .optional()\n .nullable(),\n taxIncludedInPrices: z\n .boolean()\n .describe('Whether tax is included in line item prices.')\n .optional()\n .nullable(),\n weightUnit: z\n .enum(['UNSPECIFIED_WEIGHT_UNIT', 'KG', 'LB'])\n .describe(\"Weight measurement unit - defaults to site's weight unit.\")\n .optional(),\n checkoutId: z\n .string()\n .describe('ID of the checkout that originated from this cart.')\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 appliedDiscounts: z\n .array(\n z.intersection(\n z.object({}),\n z.xor([\n z.object({\n coupon: z.never().optional(),\n merchantDiscount: z.never().optional(),\n }),\n z.object({\n merchantDiscount: z.never().optional(),\n coupon: z\n .object({\n _id: z.string().describe('Coupon ID.').optional(),\n code: z.string().describe('Coupon code.').optional(),\n })\n .describe('Coupon details.'),\n }),\n z.object({\n coupon: z.never().optional(),\n merchantDiscount: z\n .object({\n amount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Discount value.')\n .optional(),\n })\n .describe('Merchant discount.'),\n }),\n ])\n )\n )\n .optional(),\n _createdDate: z\n .date()\n .describe('Date and time the cart was created.')\n .optional()\n .nullable(),\n _updatedDate: z\n .date()\n .describe('Date and time the cart was updated.')\n .optional()\n .nullable(),\n contactInfo: z\n .object({\n address: z\n .object({\n streetAddress: z\n .object({\n name: z.string().optional(),\n number: z.string().optional(),\n })\n .optional(),\n city: z.string().optional().nullable(),\n subdivision: z.string().optional().nullable(),\n country: z.string().optional().nullable(),\n postalCode: z.string().optional().nullable(),\n addressLine2: z.string().optional().nullable(),\n })\n .describe('Address.')\n .optional(),\n contactDetails: z\n .object({\n firstName: z\n .string()\n .describe('First name.')\n .max(100)\n .optional()\n .nullable(),\n lastName: z\n .string()\n .describe('Last name.')\n .max(100)\n .optional()\n .nullable(),\n phone: z.string().describe('Phone number.').optional().nullable(),\n company: z\n .string()\n .describe('Company name.')\n .max(1000)\n .optional()\n .nullable(),\n vatId: z\n .object({\n _id: z.string().describe(\"Customer's tax ID.\").optional(),\n type: z\n .enum(['UNSPECIFIED', 'CPF', 'CNPJ'])\n .describe(\n 'Tax type.\\n\\nSupported values:\\n+ `CPF`: for individual tax payers\\n+ `CNPJ`: for corporations'\n )\n .optional(),\n })\n .describe(\n 'Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed.'\n )\n .optional(),\n })\n .describe('Contact details.')\n .optional(),\n })\n .describe('Contact info.')\n .optional(),\n overrideCheckoutUrl: z\n .string()\n .describe(\n '`overrideCheckoutUrl` allows the flexibility to redirect customers to a customized checkout page.\\n\\nThis field overrides the `checkoutUrl` in a cart or checkout. `checkoutUrl` is used in the Abandoned Checkout API\\nto send customers back to their checkouts. By default, a `checkoutUrl` generates for a checkout and directs to a\\nstandard Wix checkout page. When `overrideCheckoutUrl` has a value, it will replace and set the value of `checkoutUrl`.'\n )\n .max(1000)\n .optional()\n .nullable(),\n purchaseFlowId: z\n .string()\n .describe(\n 'Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.'\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 selectedShippingOption: z\n .object({\n carrierId: z\n .string()\n .describe('Carrier 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 code: z\n .string()\n .describe(\n 'Selected shipping option code. For example, \"usps_std_overnight\".'\n )\n .min(1)\n .max(100)\n .optional(),\n })\n .describe('Selected shipping option.')\n .optional(),\n extendedFields: z\n .object({\n namespaces: z\n .record(z.string(), z.record(z.string(), z.any()))\n .describe(\n 'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n )\n .optional(),\n })\n .describe('Fields extended by data extensions')\n .optional(),\n businessLocationId: z\n .string()\n .describe(\n 'The business location ID associated with the cart.\\n\\nTo learn more, see the Locations API.'\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 paymentCurrency: z\n .string()\n .describe(\n \"The currency used for payment, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\\n\\nThis is determined by the [customer's selected currency](https://support.wix.com/en/article/multicurrency-an-overview) and the site’s supported payment currencies.\\nIf the customer’s selected currency is supported for payment, this matches the `conversionCurrency` property. If not supported, this falls back to the `currency` property.\"\n )\n .optional(),\n revision: z\n .string()\n .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n .describe(\n 'Revision number, which increments by 1 each time the Cart is updated.'\n )\n .optional()\n .nullable(),\n});\nexport const AddToCurrentCartRequest = z.object({\n options: z\n .object({\n lineItems: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Line item 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 quantity: z\n .number()\n .int()\n .describe('Item quantity.')\n .min(1)\n .max(100000),\n catalogReference: z\n .object({\n catalogItemId: z\n .string()\n .describe('ID of the item within the catalog it belongs to.')\n .min(1)\n .max(36)\n .optional(),\n appId: z\n .string()\n .describe(\n 'ID of the app providing the catalog.\\n\\nYou can get your app\\'s ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\\n\\nFor items from Wix catalogs, the following values always apply:\\n+ Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\\n+ Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\\n+ Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`'\n )\n .min(1)\n .optional(),\n options: z\n .record(z.string(), z.any())\n .describe(\n 'Additional item details in `key:value` pairs.\\n\\nUse this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.\\n\\nFor Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration)\\nor [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction).'\n )\n .optional()\n .nullable(),\n })\n .describe(\n \"Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin.\"\n ),\n productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe(\n 'Item name.\\n+ Stores - `product.name`\\n+ Bookings - `service.info.name`\\n+ Events - `ticket.name`'\n )\n .optional(),\n url: z\n .string()\n .describe(\"URL to the item's page on the site.\")\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **after** catalog-defined discount and line item discounts.'\n )\n .optional(),\n fullPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **before** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional(),\n priceBeforeDiscounts: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional(),\n lineItemPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Total price **after** catalog-defined discount and line item discounts.'\n )\n .optional(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .optional(),\n image: z.string().describe('Line item image details.').optional(),\n availability: z\n .object({\n status: z\n .enum([\n 'AVAILABLE',\n 'NOT_FOUND',\n 'NOT_AVAILABLE',\n 'PARTIALLY_AVAILABLE',\n ])\n .optional(),\n quantityAvailable: z\n .number()\n .int()\n .describe('Quantity available.')\n .optional()\n .nullable(),\n })\n .describe('Item availability details.')\n .optional(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe(\n 'Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability.'\n )\n .optional(),\n itemType: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({\n preset: z.never().optional(),\n custom: z.never().optional(),\n }),\n z.object({\n custom: z.never().optional(),\n preset: z\n .enum([\n 'UNRECOGNISED',\n 'PHYSICAL',\n 'DIGITAL',\n 'GIFT_CARD',\n 'SERVICE',\n ])\n .describe('Preset item type.'),\n }),\n z.object({\n preset: z.never().optional(),\n custom: z\n .string()\n .describe(\n 'Custom item type. When none of the preset types are suitable, specifies the custom type.'\n ),\n }),\n ])\n )\n .describe('Item type. Either a preset type or custom.')\n .optional(),\n subscriptionOptionInfo: z\n .object({\n subscriptionSettings: z\n .object({\n frequency: z\n .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n .optional(),\n interval: z\n .number()\n .int()\n .describe(\n 'Interval of recurring payment.\\n\\nDefault: `1`.\\nIf SubscriptionFrequency is Day the minimum interval is 7'\n )\n .min(1)\n .max(3650)\n .optional()\n .nullable(),\n autoRenewal: z\n .boolean()\n .describe(\n 'Whether subscription is renewed automatically at the end of each period.'\n )\n .optional(),\n billingCycles: z\n .number()\n .int()\n .describe(\n 'Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`.'\n )\n .min(1)\n .optional()\n .nullable(),\n enableCustomerCancellation: z\n .boolean()\n .describe(\n 'Whether to allow the customer to cancel the subscription..'\n )\n .optional(),\n freeTrialPeriod: z\n .object({\n frequency: z\n .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n .optional(),\n interval: z\n .number()\n .int()\n .describe('interval of period')\n .min(1)\n .max(999)\n .optional(),\n })\n .describe(\n 'Period until first cycle starts. If applied payNow will be 0\\nIf None => no free trial'\n )\n .optional(),\n })\n .describe('Subscription option settings.')\n .optional(),\n title: z\n .object({\n original: z\n .string()\n .describe(\n \"Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(150)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Subscription option name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(150)\n .optional()\n .nullable(),\n })\n .describe('Subscription option title.')\n .optional(),\n description: z\n .object({\n original: z\n .string()\n .describe('Subscription option description.')\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe('Translated subscription option description.')\n .max(500)\n .optional()\n .nullable(),\n })\n .describe('Subscription option description.')\n .optional(),\n })\n .describe('Subscription option information.')\n .optional(),\n paymentOption: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .optional(),\n serviceProperties: z\n .object({\n scheduledDate: z\n .date()\n .describe(\n 'Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\\nFor example, the start time of a class.'\n )\n .optional()\n .nullable(),\n numberOfParticipants: z\n .number()\n .int()\n .describe(\n 'The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.'\n )\n .min(1)\n .max(10000)\n .optional()\n .nullable(),\n })\n .describe(\n 'Service properties. When relevant, this contains information such as date and number of participants.'\n )\n .optional(),\n rootCatalogItemId: z\n .string()\n .describe(\n \"In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\\n+ For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\\n+ in most cases, this field is the same as `catalogReference.catalogItemId`.\\n+ Used in membership validation.\"\n )\n .min(1)\n .max(36)\n .optional()\n .nullable(),\n priceDescription: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Price description translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(100)\n .optional()\n .nullable(),\n })\n .describe(\n 'Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".'\n )\n .optional(),\n depositAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Partial payment to be paid upfront during the checkout. Eligible for catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.'\n )\n .optional(),\n selectedMembership: z\n .object({\n _id: z.string().describe('Membership ID.').min(1).max(100),\n appId: z\n .string()\n .describe('ID of the app providing this payment option.')\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 .describe(\n 'Selected membership to be used as payment for this item. Must be used with `lineItem.paymentOption` set to `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`. This field can be empty when `lineItem.paymentOption` is set to `MEMBERSHIP_OFFLINE`.'\n )\n .optional(),\n deliveryProfileId: z\n .string()\n .describe('Delivery profile 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 taxGroupId: z\n .string()\n .describe('Tax group ID for this line item.')\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 customLineItem: z\n .boolean()\n .describe(\n \"Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\"\n )\n .optional(),\n consentRequiredPaymentPolicy: z\n .string()\n .describe(\n 'Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.'\n )\n .min(1)\n .max(2500)\n .optional()\n .nullable(),\n priceUndetermined: z\n .boolean()\n .describe(\n 'Whether the price is not yet defined, and will be updated after the order is created.'\n )\n .optional(),\n fixedQuantity: z\n .boolean()\n .describe(\n 'Whether the line item quantity is fixed and cannot be changed.'\n )\n .optional(),\n catalogOverrideFields: z\n .object({\n productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Item name.')\n .optional(),\n price: z\n .string()\n .describe('Item price **after** discounts.')\n .optional()\n .nullable(),\n fullPrice: z\n .string()\n .describe('Item price **before** discounts.')\n .optional()\n .nullable(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .min(0)\n .max(20)\n .optional(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe('Physical properties of the item.')\n .optional(),\n image: z.string().describe('Item image.').optional(),\n paymentOption: z\n .object({\n value: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .optional(),\n })\n .describe('Payment method selected for the item.')\n .optional(),\n depositAmount: z\n .string()\n .describe(\n 'Only eligible for catalog items with `lineItem.paymentOption.value` type of `DEPOSIT_ONLINE`.'\n )\n .optional()\n .nullable(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional()\n .nullable(),\n inventoryAppId: z\n .string()\n .describe('ID of the app managing the inventory.')\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 .describe(\n 'Overriding values for catalog item properties.\\n\\nTo override catalog fields, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\\nLearn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).'\n )\n .optional(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional(),\n taxableAddress: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({ addressType: z.never().optional() }),\n z.object({\n addressType: z\n .enum(['BUSINESS', 'BILLING', 'SHIPPING'])\n .describe(\n 'taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.'\n ),\n }),\n ])\n )\n .describe('Address to use for tax calculation purposes.')\n .optional(),\n extendedFields: z\n .object({\n namespaces: z\n .record(z.string(), z.record(z.string(), z.any()))\n .describe(\n 'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n )\n .optional(),\n })\n .describe(\n \"Custom extended fields for the line item object.\\n\\n[Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured using the 'Checkout & Orders - Line Items Schema Plugin' in the app dashboard before they can be accessed with API calls.\"\n )\n .optional(),\n policies: z\n .array(\n z.object({\n title: z\n .string()\n .describe('Policy title - should be translated')\n .min(1)\n .max(29)\n .optional()\n .nullable(),\n content: z\n .string()\n .describe('Policy content - should be translated')\n .min(1)\n .max(3000)\n .optional(),\n })\n )\n .max(5)\n .optional(),\n membersOnly: z\n .boolean()\n .describe(\n 'Whether the item can only be purchased by site members.\\n\\nDefault: `false`'\n )\n .optional(),\n modifierGroups: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier group ID.')\n .min(1)\n .max(36)\n .optional(),\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Modifier group name.')\n .optional(),\n modifiers: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier ID.')\n .min(1)\n .max(36)\n .optional(),\n quantity: z\n .number()\n .int()\n .describe('The quantity of this modifier.')\n .min(1)\n .max(100000)\n .optional()\n .nullable(),\n label: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Primary display label for the modifier.')\n .optional(),\n details: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Additional details.')\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe(\n 'Amount formatted with currency symbol.'\n )\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('The price of the modifier.')\n .optional(),\n })\n )\n .min(1)\n .max(25)\n .optional(),\n })\n )\n .max(25)\n .optional(),\n modifiersTotalPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Total price of all item modifiers. Included in the item price.'\n )\n .optional(),\n })\n )\n .max(100)\n .optional(),\n customLineItems: z\n .array(\n z.object({\n quantity: z\n .number()\n .int()\n .describe('Custom line item quantity.\\n\\nMin: `1`\\nMax: `100000`')\n .min(1)\n .max(100000),\n price: z\n .string()\n .describe(\n 'Custom line item price.\\n\\nMust be a number or a decimal without symbols.'\n ),\n priceDescription: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Price description translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(100)\n .optional()\n .nullable(),\n })\n .describe(\n 'Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".'\n )\n .optional(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .max(10)\n .optional(),\n media: z.string().describe(\"Custom line item's media.\").optional(),\n _id: z\n .string()\n .describe(\n 'Deprecated. Custom line item ID.\\n\\nTo maintain a unique value for a custom line item across multiple carts and orders, pass `catalogReference` instead.\\nLearn more about [custom items with catalog reference](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/catalogs/catalog-and-custom-items#custom-item-with-catalog-reference).'\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 taxGroupId: z\n .string()\n .describe('Tax group ID for this custom line item.')\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 productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Name of the item or product.'),\n url: z\n .string()\n .describe(\n \"URL to the item's page on the site. When not provided, the link back from the cart page to the relevant product page will not work.\"\n )\n .optional(),\n itemType: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({\n preset: z.never().optional(),\n custom: z.never().optional(),\n }),\n z.object({\n custom: z.never().optional(),\n preset: z\n .enum([\n 'UNRECOGNISED',\n 'PHYSICAL',\n 'DIGITAL',\n 'GIFT_CARD',\n 'SERVICE',\n ])\n .describe('Preset item type.'),\n }),\n z.object({\n preset: z.never().optional(),\n custom: z\n .string()\n .describe(\n 'Custom item type. When none of the preset types are suitable, specifies the custom type.'\n ),\n }),\n ])\n )\n .describe('Item type. Either a preset type or custom.'),\n fullPrice: z\n .string()\n .describe(\n 'Item price **before** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional()\n .nullable(),\n quantityAvailable: z\n .number()\n .int()\n .describe(\n 'Item quantity available for purchase. Only return this if inventory is managed.\\nNot returning this field means that the buyer can \"infinitely\" tick up the number of items in the cart.'\n )\n .min(0)\n .max(100000)\n .optional()\n .nullable(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe('Physical properties of the item.')\n .optional(),\n paymentOption: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .optional(),\n serviceProperties: z\n .object({\n scheduledDate: z\n .date()\n .describe(\n 'Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\\nFor example, the start time of a class.'\n )\n .optional()\n .nullable(),\n numberOfParticipants: z\n .number()\n .int()\n .describe(\n 'The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.'\n )\n .min(1)\n .max(10000)\n .optional()\n .nullable(),\n })\n .describe(\n 'Service properties. When relevant, this contains information such as date and number of participants.\\nUsed, among other things, when checking for valid memberships.'\n )\n .optional(),\n rootCatalogItemId: z\n .string()\n .describe(\n \"In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\\n\\n+ For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\\n+ In most cases, this field is the same as `catalogReference.catalogItemId`.\\n+ Used in membership validation.\"\n )\n .min(1)\n .max(36)\n .optional()\n .nullable(),\n depositAmount: z\n .string()\n .describe(\n \"Partial payment for the given item to be paid upfront during the checkout.\\n\\nEligible for catalog items with type `DEPOSIT_ONLINE`.\\nWhen omitted, the item's price will not be split and is expected to be paid in a single installment.\"\n )\n .optional()\n .nullable(),\n deliveryProfileId: z\n .string()\n .describe('Delivery profile 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 catalogReference: z\n .object({\n catalogItemId: z\n .string()\n .describe('ID of the item within the catalog it belongs to.')\n .min(1)\n .max(36)\n .optional(),\n appId: z\n .string()\n .describe(\n 'ID of the app providing the catalog.\\n\\nYou can get your app\\'s ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\\n\\nFor items from Wix catalogs, the following values always apply:\\n+ Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\\n+ Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\\n+ Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`'\n )\n .min(1)\n .optional(),\n options: z\n .record(z.string(), z.any())\n .describe(\n 'Additional item details in `key:value` pairs.\\n\\nUse this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.\\n\\nFor Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration)\\nor [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction).'\n )\n .optional()\n .nullable(),\n })\n .describe(\n \"Catalog and item reference. Includes IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin.\"\n )\n .optional(),\n priceUndetermined: z\n .boolean()\n .describe(\n 'Whether the price is not yet defined, and will be updated after the order is created.\\n\\nDefault: `false`'\n )\n .optional(),\n fixedQuantity: z\n .boolean()\n .describe(\n 'Whether the line item quantity is fixed and cannot be changed.\\n\\nDefault: `false`'\n )\n .optional(),\n consentRequiredPaymentPolicy: z\n .string()\n .describe(\n 'Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.'\n )\n .min(1)\n .max(1000)\n .optional()\n .nullable(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional(),\n policies: z\n .array(\n z.object({\n title: z\n .string()\n .describe('Policy title - should be translated')\n .min(1)\n .max(29)\n .optional()\n .nullable(),\n content: z\n .string()\n .describe('Policy content - should be translated')\n .min(1)\n .max(3000)\n .optional(),\n })\n )\n .max(5)\n .optional(),\n membersOnly: z\n .boolean()\n .describe(\n 'Whether the item can only be purchased by site members.\\n\\nDefault: `false`'\n )\n .optional(),\n taxableAddress: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({ addressType: z.never().optional() }),\n z.object({\n addressType: z\n .enum(['BUSINESS', 'BILLING', 'SHIPPING'])\n .describe(\n 'taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.'\n ),\n }),\n ])\n )\n .describe('Address to use for tax calculation purposes.')\n .optional(),\n modifierGroups: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier group ID.')\n .min(1)\n .max(36)\n .optional(),\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Modifier group name.')\n .optional(),\n modifiers: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier ID.')\n .min(1)\n .max(36)\n .optional(),\n quantity: z\n .number()\n .int()\n .describe('The quantity of this modifier.')\n .min(1)\n .max(100000)\n .optional()\n .nullable(),\n label: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Primary display label for the modifier.')\n .optional(),\n details: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Additional details.')\n .optional(),\n price: z\n .string()\n .describe('The price of the modifier.')\n .optional()\n .nullable(),\n })\n )\n .min(1)\n .max(25)\n .optional(),\n })\n )\n .max(25)\n .optional(),\n })\n )\n .max(100)\n .optional(),\n businessLocationId: z\n .string()\n .describe(\n \"Business location ID.\\nTo update a cart's business location ID, use the UpdateCart method.\\nLearn more about the [Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction).\"\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 .describe('Items to be added to the current cart.')\n .optional(),\n});\nexport const AddToCurrentCartResponse = z.object({\n cart: z\n .object({\n _id: z\n .string()\n .describe('Cart 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 lineItems: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Line item 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 quantity: z\n .number()\n .int()\n .describe('Item quantity.')\n .min(1)\n .max(100000)\n .optional(),\n catalogReference: z\n .object({\n catalogItemId: z\n .string()\n .describe('ID of the item within the catalog it belongs to.')\n .min(1)\n .max(36)\n .optional(),\n appId: z\n .string()\n .describe(\n 'ID of the app providing the catalog.\\n\\nYou can get your app\\'s ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\\n\\nFor items from Wix catalogs, the following values always apply:\\n+ Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\\n+ Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\\n+ Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`'\n )\n .min(1)\n .optional(),\n options: z\n .record(z.string(), z.any())\n .describe(\n 'Additional item details in `key:value` pairs.\\n\\nUse this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.\\n\\nFor Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration)\\nor [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction).'\n )\n .optional()\n .nullable(),\n })\n .describe(\n \"Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin.\"\n )\n .optional(),\n productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe(\n 'Item name.\\n+ Stores - `product.name`\\n+ Bookings - `service.info.name`\\n+ Events - `ticket.name`'\n )\n .optional(),\n url: z\n .string()\n .describe(\"URL to the item's page on the site.\")\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **after** catalog-defined discount and line item discounts.'\n )\n .optional(),\n fullPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **before** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional(),\n priceBeforeDiscounts: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional(),\n lineItemPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Total price **after** catalog-defined discount and line item discounts.'\n )\n .optional(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .optional(),\n image: z.string().describe('Line item image details.').optional(),\n availability: z\n .object({\n status: z\n .enum([\n 'AVAILABLE',\n 'NOT_FOUND',\n 'NOT_AVAILABLE',\n 'PARTIALLY_AVAILABLE',\n ])\n .describe('Item availability status.')\n .optional(),\n quantityAvailable: z\n .number()\n .int()\n .describe('Quantity available.')\n .optional()\n .nullable(),\n })\n .describe('Item availability details.')\n .optional(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe(\n 'Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability.'\n )\n .optional(),\n itemType: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({\n preset: z.never().optional(),\n custom: z.never().optional(),\n }),\n z.object({\n custom: z.never().optional(),\n preset: z\n .enum([\n 'UNRECOGNISED',\n 'PHYSICAL',\n 'DIGITAL',\n 'GIFT_CARD',\n 'SERVICE',\n ])\n .describe('Preset item type.'),\n }),\n z.object({\n preset: z.never().optional(),\n custom: z\n .string()\n .describe(\n 'Custom item type. When none of the preset types are suitable, specifies the custom type.'\n ),\n }),\n ])\n )\n .describe('Item type. Either a preset type or custom.')\n .optional(),\n subscriptionOptionInfo: z\n .object({\n subscriptionSettings: z\n .object({\n frequency: z\n .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n .describe('Frequency of recurring payment.')\n .optional(),\n interval: z\n .number()\n .int()\n .describe(\n 'Interval of recurring payment.\\n\\nDefault: `1`.\\nIf SubscriptionFrequency is Day the minimum interval is 7'\n )\n .min(1)\n .max(3650)\n .optional()\n .nullable(),\n autoRenewal: z\n .boolean()\n .describe(\n 'Whether subscription is renewed automatically at the end of each period.'\n )\n .optional(),\n billingCycles: z\n .number()\n .int()\n .describe(\n 'Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`.'\n )\n .min(1)\n .optional()\n .nullable(),\n enableCustomerCancellation: z\n .boolean()\n .describe(\n 'Whether to allow the customer to cancel the subscription..'\n )\n .optional(),\n freeTrialPeriod: z\n .object({\n frequency: z\n .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n .describe(\n 'Frequency of period. Values: DAY, WEEK, MONTH, YEAR'\n )\n .optional(),\n interval: z\n .number()\n .int()\n .describe('interval of period')\n .min(1)\n .max(999)\n .optional(),\n })\n .describe(\n 'Period until first cycle starts. If applied payNow will be 0\\nIf None => no free trial'\n )\n .optional(),\n })\n .describe('Subscription option settings.')\n .optional(),\n title: z\n .object({\n original: z\n .string()\n .describe(\n \"Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(150)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Subscription option name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(150)\n .optional()\n .nullable(),\n })\n .describe('Subscription option title.')\n .optional(),\n description: z\n .object({\n original: z\n .string()\n .describe('Subscription option description.')\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe('Translated subscription option description.')\n .max(500)\n .optional()\n .nullable(),\n })\n .describe('Subscription option description.')\n .optional(),\n })\n .describe('Subscription option information.')\n .optional(),\n paymentOption: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .describe(\n 'Type of selected payment option for current item.\\n\\nDefault: `FULL_PAYMENT_ONLINE`'\n )\n .optional(),\n serviceProperties: z\n .object({\n scheduledDate: z\n .date()\n .describe(\n 'Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\\nFor example, the start time of a class.'\n )\n .optional()\n .nullable(),\n numberOfParticipants: z\n .number()\n .int()\n .describe(\n 'The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.'\n )\n .min(1)\n .max(10000)\n .optional()\n .nullable(),\n })\n .describe(\n 'Service properties. When relevant, this contains information such as date and number of participants.'\n )\n .optional(),\n rootCatalogItemId: z\n .string()\n .describe(\n \"In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\\n+ For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\\n+ in most cases, this field is the same as `catalogReference.catalogItemId`.\\n+ Used in membership validation.\"\n )\n .min(1)\n .max(36)\n .optional()\n .nullable(),\n priceDescription: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Price description translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(100)\n .optional()\n .nullable(),\n })\n .describe(\n 'Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".'\n )\n .optional(),\n depositAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Partial payment to be paid upfront during the checkout. Eligible for catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.'\n )\n .optional(),\n selectedMembership: z\n .object({\n _id: z\n .string()\n .describe('Membership ID.')\n .min(1)\n .max(100)\n .optional(),\n appId: z\n .string()\n .describe('ID of the app providing this payment option.')\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(\n 'Selected membership to be used as payment for this item. Must be used with `lineItem.paymentOption` set to `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`. This field can be empty when `lineItem.paymentOption` is set to `MEMBERSHIP_OFFLINE`.'\n )\n .optional(),\n deliveryProfileId: z\n .string()\n .describe('Delivery profile 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 taxGroupId: z\n .string()\n .describe('Tax group ID for this line item.')\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 customLineItem: z\n .boolean()\n .describe(\n \"Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\"\n )\n .optional(),\n consentRequiredPaymentPolicy: z\n .string()\n .describe(\n 'Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.'\n )\n .min(1)\n .max(2500)\n .optional()\n .nullable(),\n priceUndetermined: z\n .boolean()\n .describe(\n 'Whether the price is not yet defined, and will be updated after the order is created.'\n )\n .optional(),\n fixedQuantity: z\n .boolean()\n .describe(\n 'Whether the line item quantity is fixed and cannot be changed.'\n )\n .optional(),\n catalogOverrideFields: z\n .object({\n productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Item name.')\n .optional(),\n price: z\n .string()\n .describe('Item price **after** discounts.')\n .optional()\n .nullable(),\n fullPrice: z\n .string()\n .describe('Item price **before** discounts.')\n .optional()\n .nullable(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .min(0)\n .max(20)\n .optional(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe('Physical properties of the item.')\n .optional(),\n image: z.string().describe('Item image.').optional(),\n paymentOption: z\n .object({\n value: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .describe(\n 'Type of selected payment option for current item.\\n\\nDefault: `FULL_PAYMENT_ONLINE`'\n )\n .optional(),\n })\n .describe('Payment method selected for the item.')\n .optional(),\n depositAmount: z\n .string()\n .describe(\n 'Only eligible for catalog items with `lineItem.paymentOption.value` type of `DEPOSIT_ONLINE`.'\n )\n .optional()\n .nullable(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional()\n .nullable(),\n inventoryAppId: z\n .string()\n .describe('ID of the app managing the inventory.')\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 .describe(\n 'Overriding values for catalog item properties.\\n\\nTo override catalog fields, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\\nLearn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).'\n )\n .optional(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional(),\n taxableAddress: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({ addressType: z.never().optional() }),\n z.object({\n addressType: z\n .enum(['BUSINESS', 'BILLING', 'SHIPPING'])\n .describe(\n 'taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.'\n ),\n }),\n ])\n )\n .describe('Address to use for tax calculation purposes.')\n .optional(),\n extendedFields: z\n .object({\n namespaces: z\n .record(z.string(), z.record(z.string(), z.any()))\n .describe(\n 'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n )\n .optional(),\n })\n .describe(\n \"Custom extended fields for the line item object.\\n\\n[Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured using the 'Checkout & Orders - Line Items Schema Plugin' in the app dashboard before they can be accessed with API calls.\"\n )\n .optional(),\n policies: z\n .array(\n z.object({\n title: z\n .string()\n .describe('Policy title - should be translated')\n .min(1)\n .max(29)\n .optional()\n .nullable(),\n content: z\n .string()\n .describe('Policy content - should be translated')\n .min(1)\n .max(3000)\n .optional(),\n })\n )\n .max(5)\n .optional(),\n membersOnly: z\n .boolean()\n .describe(\n 'Whether the item can only be purchased by site members.\\n\\nDefault: `false`'\n )\n .optional(),\n modifierGroups: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier group ID.')\n .min(1)\n .max(36)\n .optional(),\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Modifier group name.')\n .optional(),\n modifiers: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier ID.')\n .min(1)\n .max(36)\n .optional(),\n quantity: z\n .number()\n .int()\n .describe('The quantity of this modifier.')\n .min(1)\n .max(100000)\n .optional()\n .nullable(),\n label: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Primary display label for the modifier.')\n .optional(),\n details: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Additional details.')\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe(\n 'Amount formatted with currency symbol.'\n )\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('The price of the modifier.')\n .optional(),\n })\n )\n .min(1)\n .max(25)\n .optional(),\n })\n )\n .max(25)\n .optional(),\n modifiersTotalPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Total price of all item modifiers. Included in the item price.'\n )\n .optional(),\n })\n )\n .min(1)\n .max(300)\n .optional(),\n buyerNote: z\n .string()\n .describe(\n '[Buyer note](https://support.wix.com/en/article/collecting-and-viewing-buyer-notes) left by the customer.'\n )\n .max(1000)\n .optional()\n .nullable(),\n buyerInfo: z\n .intersection(\n z.object({\n contactId: z\n .string()\n .describe(\n 'Contact ID. For more information, see the Contacts API.'\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 email: z\n .string()\n .describe('Buyer email address.')\n .email()\n .optional()\n .nullable(),\n }),\n z.xor([\n z.object({\n visitorId: z.never().optional(),\n memberId: z.never().optional(),\n userId: z.never().optional(),\n }),\n z.object({\n memberId: z.never().optional(),\n userId: z.never().optional(),\n visitorId: z\n .string()\n .describe('Visitor ID. If the buyer is **not** a site member.')\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 visitorId: z.never().optional(),\n userId: z.never().optional(),\n memberId: z\n .string()\n .describe('Member ID. If the buyer is a site member.')\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 visitorId: z.never().optional(),\n memberId: z.never().optional(),\n userId: z\n .string()\n .describe(\n 'User ID. If the buyer, or cart owner, is a Wix user.'\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 }),\n ])\n )\n .describe('Buyer information.')\n .optional(),\n currency: z\n .string()\n .describe(\n 'The site’s default currency, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. This represents the base currency configured for the site and remains constant regardless of the customer’s currency selection.'\n )\n .optional(),\n conversionCurrency: z\n .string()\n .describe(\n 'The currency [selected by the customer](https://support.wix.com/en/article/multicurrency-an-overview) during the purchase flow, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\\n\\nThis reflects the customer’s preferred display currency and may differ from the site’s default currency.\\nWhen no specific currency is selected by the customer, this matches the `currency` property.'\n )\n .optional(),\n buyerLanguage: z\n .string()\n .describe(\n 'Language for communication with the buyer. Defaults to the site language.\\n\\nFor a site that supports multiple languages, this is the language the buyer selected.'\n )\n .optional()\n .nullable(),\n siteLanguage: z\n .string()\n .describe('Site language in which original values are displayed.')\n .optional()\n .nullable(),\n taxIncludedInPrices: z\n .boolean()\n .describe('Whether tax is included in line item prices.')\n .optional()\n .nullable(),\n weightUnit: z\n .enum(['UNSPECIFIED_WEIGHT_UNIT', 'KG', 'LB'])\n .describe(\"Weight measurement unit - defaults to site's weight unit.\")\n .optional(),\n checkoutId: z\n .string()\n .describe('ID of the checkout that originated from this cart.')\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 appliedDiscounts: z\n .array(\n z.intersection(\n z.object({}),\n z.xor([\n z.object({\n coupon: z.never().optional(),\n merchantDiscount: z.never().optional(),\n }),\n z.object({\n merchantDiscount: z.never().optional(),\n coupon: z\n .object({\n _id: z.string().describe('Coupon ID.').optional(),\n code: z.string().describe('Coupon code.').optional(),\n })\n .describe('Coupon details.'),\n }),\n z.object({\n coupon: z.never().optional(),\n merchantDiscount: z\n .object({\n amount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Discount value.')\n .optional(),\n })\n .describe('Merchant discount.'),\n }),\n ])\n )\n )\n .optional(),\n _createdDate: z\n .date()\n .describe('Date and time the cart was created.')\n .optional()\n .nullable(),\n _updatedDate: z\n .date()\n .describe('Date and time the cart was updated.')\n .optional()\n .nullable(),\n contactInfo: z\n .object({\n address: z\n .object({\n streetAddress: z\n .object({\n name: z.string().optional(),\n number: z.string().optional(),\n })\n .optional(),\n city: z.string().optional().nullable(),\n subdivision: z.string().optional().nullable(),\n country: z.string().optional().nullable(),\n postalCode: z.string().optional().nullable(),\n addressLine2: z.string().optional().nullable(),\n })\n .describe('Address.')\n .optional(),\n contactDetails: z\n .object({\n firstName: z\n .string()\n .describe('First name.')\n .max(100)\n .optional()\n .nullable(),\n lastName: z\n .string()\n .describe('Last name.')\n .max(100)\n .optional()\n .nullable(),\n phone: z.string().describe('Phone number.').optional().nullable(),\n company: z\n .string()\n .describe('Company name.')\n .max(1000)\n .optional()\n .nullable(),\n vatId: z\n .object({\n _id: z.string().describe(\"Customer's tax ID.\").optional(),\n type: z\n .enum(['UNSPECIFIED', 'CPF', 'CNPJ'])\n .describe(\n 'Tax type.\\n\\nSupported values:\\n+ `CPF`: for individual tax payers\\n+ `CNPJ`: for corporations'\n )\n .optional(),\n })\n .describe(\n 'Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed.'\n )\n .optional(),\n })\n .describe('Contact details.')\n .optional(),\n })\n .describe('Contact info.')\n .optional(),\n overrideCheckoutUrl: z\n .string()\n .describe(\n '`overrideCheckoutUrl` allows the flexibility to redirect customers to a customized checkout page.\\n\\nThis field overrides the `checkoutUrl` in a cart or checkout. `checkoutUrl` is used in the Abandoned Checkout API\\nto send customers back to their checkouts. By default, a `checkoutUrl` generates for a checkout and directs to a\\nstandard Wix checkout page. When `overrideCheckoutUrl` has a value, it will replace and set the value of `checkoutUrl`.'\n )\n .max(1000)\n .optional()\n .nullable(),\n purchaseFlowId: z\n .string()\n .describe(\n 'Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.'\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 selectedShippingOption: z\n .object({\n carrierId: z\n .string()\n .describe('Carrier 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 code: z\n .string()\n .describe(\n 'Selected shipping option code. For example, \"usps_std_overnight\".'\n )\n .min(1)\n .max(100)\n .optional(),\n })\n .describe('Selected shipping option.')\n .optional(),\n extendedFields: z\n .object({\n namespaces: z\n .record(z.string(), z.record(z.string(), z.any()))\n .describe(\n 'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n )\n .optional(),\n })\n .describe('Fields extended by data extensions')\n .optional(),\n businessLocationId: z\n .string()\n .describe(\n 'The business location ID associated with the cart.\\n\\nTo learn more, see the Locations API.'\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 paymentCurrency: z\n .string()\n .describe(\n \"The currency used for payment, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\\n\\nThis is determined by the [customer's selected currency](https://support.wix.com/en/article/multicurrency-an-overview) and the site’s supported payment currencies.\\nIf the customer’s selected currency is supported for payment, this matches the `conversionCurrency` property. If not supported, this falls back to the `currency` property.\"\n )\n .optional(),\n revision: z\n .string()\n .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n .describe(\n 'Revision number, which increments by 1 each time the Cart is updated.'\n )\n .optional()\n .nullable(),\n })\n .describe('Updated cart.')\n .optional(),\n});\nexport const RemoveLineItemsFromCurrentCartRequest = z.object({\n lineItemIds: z.array(z.string()).min(1).max(100),\n});\nexport const RemoveLineItemsFromCurrentCartResponse = z.object({\n cart: z\n .object({\n _id: z\n .string()\n .describe('Cart 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 lineItems: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Line item 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 quantity: z\n .number()\n .int()\n .describe('Item quantity.')\n .min(1)\n .max(100000)\n .optional(),\n catalogReference: z\n .object({\n catalogItemId: z\n .string()\n .describe('ID of the item within the catalog it belongs to.')\n .min(1)\n .max(36)\n .optional(),\n appId: z\n .string()\n .describe(\n 'ID of the app providing the catalog.\\n\\nYou can get your app\\'s ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\\n\\nFor items from Wix catalogs, the following values always apply:\\n+ Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\\n+ Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\\n+ Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`'\n )\n .min(1)\n .optional(),\n options: z\n .record(z.string(), z.any())\n .describe(\n 'Additional item details in `key:value` pairs.\\n\\nUse this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.\\n\\nFor Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration)\\nor [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction).'\n )\n .optional()\n .nullable(),\n })\n .describe(\n \"Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin.\"\n )\n .optional(),\n productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe(\n 'Item name.\\n+ Stores - `product.name`\\n+ Bookings - `service.info.name`\\n+ Events - `ticket.name`'\n )\n .optional(),\n url: z\n .string()\n .describe(\"URL to the item's page on the site.\")\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **after** catalog-defined discount and line item discounts.'\n )\n .optional(),\n fullPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **before** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional(),\n priceBeforeDiscounts: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional(),\n lineItemPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Total price **after** catalog-defined discount and line item discounts.'\n )\n .optional(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .optional(),\n image: z.string().describe('Line item image details.').optional(),\n availability: z\n .object({\n status: z\n .enum([\n 'AVAILABLE',\n 'NOT_FOUND',\n 'NOT_AVAILABLE',\n 'PARTIALLY_AVAILABLE',\n ])\n .describe('Item availability status.')\n .optional(),\n quantityAvailable: z\n .number()\n .int()\n .describe('Quantity available.')\n .optional()\n .nullable(),\n })\n .describe('Item availability details.')\n .optional(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe(\n 'Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability.'\n )\n .optional(),\n itemType: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({\n preset: z.never().optional(),\n custom: z.never().optional(),\n }),\n z.object({\n custom: z.never().optional(),\n preset: z\n .enum([\n 'UNRECOGNISED',\n 'PHYSICAL',\n 'DIGITAL',\n 'GIFT_CARD',\n 'SERVICE',\n ])\n .describe('Preset item type.'),\n }),\n z.object({\n preset: z.never().optional(),\n custom: z\n .string()\n .describe(\n 'Custom item type. When none of the preset types are suitable, specifies the custom type.'\n ),\n }),\n ])\n )\n .describe('Item type. Either a preset type or custom.')\n .optional(),\n subscriptionOptionInfo: z\n .object({\n subscriptionSettings: z\n .object({\n frequency: z\n .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n .describe('Frequency of recurring payment.')\n .optional(),\n interval: z\n .number()\n .int()\n .describe(\n 'Interval of recurring payment.\\n\\nDefault: `1`.\\nIf SubscriptionFrequency is Day the minimum interval is 7'\n )\n .min(1)\n .max(3650)\n .optional()\n .nullable(),\n autoRenewal: z\n .boolean()\n .describe(\n 'Whether subscription is renewed automatically at the end of each period.'\n )\n .optional(),\n billingCycles: z\n .number()\n .int()\n .describe(\n 'Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`.'\n )\n .min(1)\n .optional()\n .nullable(),\n enableCustomerCancellation: z\n .boolean()\n .describe(\n 'Whether to allow the customer to cancel the subscription..'\n )\n .optional(),\n freeTrialPeriod: z\n .object({\n frequency: z\n .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n .describe(\n 'Frequency of period. Values: DAY, WEEK, MONTH, YEAR'\n )\n .optional(),\n interval: z\n .number()\n .int()\n .describe('interval of period')\n .min(1)\n .max(999)\n .optional(),\n })\n .describe(\n 'Period until first cycle starts. If applied payNow will be 0\\nIf None => no free trial'\n )\n .optional(),\n })\n .describe('Subscription option settings.')\n .optional(),\n title: z\n .object({\n original: z\n .string()\n .describe(\n \"Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(150)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Subscription option name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(150)\n .optional()\n .nullable(),\n })\n .describe('Subscription option title.')\n .optional(),\n description: z\n .object({\n original: z\n .string()\n .describe('Subscription option description.')\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe('Translated subscription option description.')\n .max(500)\n .optional()\n .nullable(),\n })\n .describe('Subscription option description.')\n .optional(),\n })\n .describe('Subscription option information.')\n .optional(),\n paymentOption: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .describe(\n 'Type of selected payment option for current item.\\n\\nDefault: `FULL_PAYMENT_ONLINE`'\n )\n .optional(),\n serviceProperties: z\n .object({\n scheduledDate: z\n .date()\n .describe(\n 'Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\\nFor example, the start time of a class.'\n )\n .optional()\n .nullable(),\n numberOfParticipants: z\n .number()\n .int()\n .describe(\n 'The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.'\n )\n .min(1)\n .max(10000)\n .optional()\n .nullable(),\n })\n .describe(\n 'Service properties. When relevant, this contains information such as date and number of participants.'\n )\n .optional(),\n rootCatalogItemId: z\n .string()\n .describe(\n \"In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\\n+ For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\\n+ in most cases, this field is the same as `catalogReference.catalogItemId`.\\n+ Used in membership validation.\"\n )\n .min(1)\n .max(36)\n .optional()\n .nullable(),\n priceDescription: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Price description translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(100)\n .optional()\n .nullable(),\n })\n .describe(\n 'Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".'\n )\n .optional(),\n depositAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Partial payment to be paid upfront during the checkout. Eligible for catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.'\n )\n .optional(),\n selectedMembership: z\n .object({\n _id: z\n .string()\n .describe('Membership ID.')\n .min(1)\n .max(100)\n .optional(),\n appId: z\n .string()\n .describe('ID of the app providing this payment option.')\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(\n 'Selected membership to be used as payment for this item. Must be used with `lineItem.paymentOption` set to `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`. This field can be empty when `lineItem.paymentOption` is set to `MEMBERSHIP_OFFLINE`.'\n )\n .optional(),\n deliveryProfileId: z\n .string()\n .describe('Delivery profile 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 taxGroupId: z\n .string()\n .describe('Tax group ID for this line item.')\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 customLineItem: z\n .boolean()\n .describe(\n \"Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\"\n )\n .optional(),\n consentRequiredPaymentPolicy: z\n .string()\n .describe(\n 'Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.'\n )\n .min(1)\n .max(2500)\n .optional()\n .nullable(),\n priceUndetermined: z\n .boolean()\n .describe(\n 'Whether the price is not yet defined, and will be updated after the order is created.'\n )\n .optional(),\n fixedQuantity: z\n .boolean()\n .describe(\n 'Whether the line item quantity is fixed and cannot be changed.'\n )\n .optional(),\n catalogOverrideFields: z\n .object({\n productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Item name.')\n .optional(),\n price: z\n .string()\n .describe('Item price **after** discounts.')\n .optional()\n .nullable(),\n fullPrice: z\n .string()\n .describe('Item price **before** discounts.')\n .optional()\n .nullable(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .min(0)\n .max(20)\n .optional(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe('Physical properties of the item.')\n .optional(),\n image: z.string().describe('Item image.').optional(),\n paymentOption: z\n .object({\n value: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .describe(\n 'Type of selected payment option for current item.\\n\\nDefault: `FULL_PAYMENT_ONLINE`'\n )\n .optional(),\n })\n .describe('Payment method selected for the item.')\n .optional(),\n depositAmount: z\n .string()\n .describe(\n 'Only eligible for catalog items with `lineItem.paymentOption.value` type of `DEPOSIT_ONLINE`.'\n )\n .optional()\n .nullable(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional()\n .nullable(),\n inventoryAppId: z\n .string()\n .describe('ID of the app managing the inventory.')\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 .describe(\n 'Overriding values for catalog item properties.\\n\\nTo override catalog fields, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\\nLearn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).'\n )\n .optional(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional(),\n taxableAddress: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({ addressType: z.never().optional() }),\n z.object({\n addressType: z\n .enum(['BUSINESS', 'BILLING', 'SHIPPING'])\n .describe(\n 'taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.'\n ),\n }),\n ])\n )\n .describe('Address to use for tax calculation purposes.')\n .optional(),\n extendedFields: z\n .object({\n namespaces: z\n .record(z.string(), z.record(z.string(), z.any()))\n .describe(\n 'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n )\n .optional(),\n })\n .describe(\n \"Custom extended fields for the line item object.\\n\\n[Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured using the 'Checkout & Orders - Line Items Schema Plugin' in the app dashboard before they can be accessed with API calls.\"\n )\n .optional(),\n policies: z\n .array(\n z.object({\n title: z\n .string()\n .describe('Policy title - should be translated')\n .min(1)\n .max(29)\n .optional()\n .nullable(),\n content: z\n .string()\n .describe('Policy content - should be translated')\n .min(1)\n .max(3000)\n .optional(),\n })\n )\n .max(5)\n .optional(),\n membersOnly: z\n .boolean()\n .describe(\n 'Whether the item can only be purchased by site members.\\n\\nDefault: `false`'\n )\n .optional(),\n modifierGroups: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier group ID.')\n .min(1)\n .max(36)\n .optional(),\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Modifier group name.')\n .optional(),\n modifiers: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier ID.')\n .min(1)\n .max(36)\n .optional(),\n quantity: z\n .number()\n .int()\n .describe('The quantity of this modifier.')\n .min(1)\n .max(100000)\n .optional()\n .nullable(),\n label: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Primary display label for the modifier.')\n .optional(),\n details: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Additional details.')\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe(\n 'Amount formatted with currency symbol.'\n )\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('The price of the modifier.')\n .optional(),\n })\n )\n .min(1)\n .max(25)\n .optional(),\n })\n )\n .max(25)\n .optional(),\n modifiersTotalPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Total price of all item modifiers. Included in the item price.'\n )\n .optional(),\n })\n )\n .min(1)\n .max(300)\n .optional(),\n buyerNote: z\n .string()\n .describe(\n '[Buyer note](https://support.wix.com/en/article/collecting-and-viewing-buyer-notes) left by the customer.'\n )\n .max(1000)\n .optional()\n .nullable(),\n buyerInfo: z\n .intersection(\n z.object({\n contactId: z\n .string()\n .describe(\n 'Contact ID. For more information, see the Contacts API.'\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 email: z\n .string()\n .describe('Buyer email address.')\n .email()\n .optional()\n .nullable(),\n }),\n z.xor([\n z.object({\n visitorId: z.never().optional(),\n memberId: z.never().optional(),\n userId: z.never().optional(),\n }),\n z.object({\n memberId: z.never().optional(),\n userId: z.never().optional(),\n visitorId: z\n .string()\n .describe('Visitor ID. If the buyer is **not** a site member.')\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 visitorId: z.never().optional(),\n userId: z.never().optional(),\n memberId: z\n .string()\n .describe('Member ID. If the buyer is a site member.')\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 visitorId: z.never().optional(),\n memberId: z.never().optional(),\n userId: z\n .string()\n .describe(\n 'User ID. If the buyer, or cart owner, is a Wix user.'\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 }),\n ])\n )\n .describe('Buyer information.')\n .optional(),\n currency: z\n .string()\n .describe(\n 'The site’s default currency, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. This represents the base currency configured for the site and remains constant regardless of the customer’s currency selection.'\n )\n .optional(),\n conversionCurrency: z\n .string()\n .describe(\n 'The currency [selected by the customer](https://support.wix.com/en/article/multicurrency-an-overview) during the purchase flow, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\\n\\nThis reflects the customer’s preferred display currency and may differ from the site’s default currency.\\nWhen no specific currency is selected by the customer, this matches the `currency` property.'\n )\n .optional(),\n buyerLanguage: z\n .string()\n .describe(\n 'Language for communication with the buyer. Defaults to the site language.\\n\\nFor a site that supports multiple languages, this is the language the buyer selected.'\n )\n .optional()\n .nullable(),\n siteLanguage: z\n .string()\n .describe('Site language in which original values are displayed.')\n .optional()\n .nullable(),\n taxIncludedInPrices: z\n .boolean()\n .describe('Whether tax is included in line item prices.')\n .optional()\n .nullable(),\n weightUnit: z\n .enum(['UNSPECIFIED_WEIGHT_UNIT', 'KG', 'LB'])\n .describe(\"Weight measurement unit - defaults to site's weight unit.\")\n .optional(),\n checkoutId: z\n .string()\n .describe('ID of the checkout that originated from this cart.')\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 appliedDiscounts: z\n .array(\n z.intersection(\n z.object({}),\n z.xor([\n z.object({\n coupon: z.never().optional(),\n merchantDiscount: z.never().optional(),\n }),\n z.object({\n merchantDiscount: z.never().optional(),\n coupon: z\n .object({\n _id: z.string().describe('Coupon ID.').optional(),\n code: z.string().describe('Coupon code.').optional(),\n })\n .describe('Coupon details.'),\n }),\n z.object({\n coupon: z.never().optional(),\n merchantDiscount: z\n .object({\n amount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Discount value.')\n .optional(),\n })\n .describe('Merchant discount.'),\n }),\n ])\n )\n )\n .optional(),\n _createdDate: z\n .date()\n .describe('Date and time the cart was created.')\n .optional()\n .nullable(),\n _updatedDate: z\n .date()\n .describe('Date and time the cart was updated.')\n .optional()\n .nullable(),\n contactInfo: z\n .object({\n address: z\n .object({\n streetAddress: z\n .object({\n name: z.string().optional(),\n number: z.string().optional(),\n })\n .optional(),\n city: z.string().optional().nullable(),\n subdivision: z.string().optional().nullable(),\n country: z.string().optional().nullable(),\n postalCode: z.string().optional().nullable(),\n addressLine2: z.string().optional().nullable(),\n })\n .describe('Address.')\n .optional(),\n contactDetails: z\n .object({\n firstName: z\n .string()\n .describe('First name.')\n .max(100)\n .optional()\n .nullable(),\n lastName: z\n .string()\n .describe('Last name.')\n .max(100)\n .optional()\n .nullable(),\n phone: z.string().describe('Phone number.').optional().nullable(),\n company: z\n .string()\n .describe('Company name.')\n .max(1000)\n .optional()\n .nullable(),\n vatId: z\n .object({\n _id: z.string().describe(\"Customer's tax ID.\").optional(),\n type: z\n .enum(['UNSPECIFIED', 'CPF', 'CNPJ'])\n .describe(\n 'Tax type.\\n\\nSupported values:\\n+ `CPF`: for individual tax payers\\n+ `CNPJ`: for corporations'\n )\n .optional(),\n })\n .describe(\n 'Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed.'\n )\n .optional(),\n })\n .describe('Contact details.')\n .optional(),\n })\n .describe('Contact info.')\n .optional(),\n overrideCheckoutUrl: z\n .string()\n .describe(\n '`overrideCheckoutUrl` allows the flexibility to redirect customers to a customized checkout page.\\n\\nThis field overrides the `checkoutUrl` in a cart or checkout. `checkoutUrl` is used in the Abandoned Checkout API\\nto send customers back to their checkouts. By default, a `checkoutUrl` generates for a checkout and directs to a\\nstandard Wix checkout page. When `overrideCheckoutUrl` has a value, it will replace and set the value of `checkoutUrl`.'\n )\n .max(1000)\n .optional()\n .nullable(),\n purchaseFlowId: z\n .string()\n .describe(\n 'Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.'\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 selectedShippingOption: z\n .object({\n carrierId: z\n .string()\n .describe('Carrier 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 code: z\n .string()\n .describe(\n 'Selected shipping option code. For example, \"usps_std_overnight\".'\n )\n .min(1)\n .max(100)\n .optional(),\n })\n .describe('Selected shipping option.')\n .optional(),\n extendedFields: z\n .object({\n namespaces: z\n .record(z.string(), z.record(z.string(), z.any()))\n .describe(\n 'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n )\n .optional(),\n })\n .describe('Fields extended by data extensions')\n .optional(),\n businessLocationId: z\n .string()\n .describe(\n 'The business location ID associated with the cart.\\n\\nTo learn more, see the Locations API.'\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 paymentCurrency: z\n .string()\n .describe(\n \"The currency used for payment, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\\n\\nThis is determined by the [customer's selected currency](https://support.wix.com/en/article/multicurrency-an-overview) and the site’s supported payment currencies.\\nIf the customer’s selected currency is supported for payment, this matches the `conversionCurrency` property. If not supported, this falls back to the `currency` property.\"\n )\n .optional(),\n revision: z\n .string()\n .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n .describe(\n 'Revision number, which increments by 1 each time the Cart is updated.'\n )\n .optional()\n .nullable(),\n })\n .describe('Updated cart.')\n .optional(),\n});\nexport const CreateCheckoutFromCurrentCartRequest = z.object({\n options: z\n .object({\n channelType: z\n .enum([\n 'UNSPECIFIED',\n 'WEB',\n 'POS',\n 'EBAY',\n 'AMAZON',\n 'OTHER_PLATFORM',\n 'WIX_APP_STORE',\n 'WIX_INVOICES',\n 'BACKOFFICE_MERCHANT',\n 'WISH',\n 'CLASS_PASS',\n 'GLOBAL_E',\n 'FACEBOOK',\n 'ETSY',\n 'TIKTOK',\n 'FAIRE_COM',\n 'PAYPAL_AGENTIC_CHECKOUT',\n 'STRIPE_AGENTIC_CHECKOUT',\n ])\n .optional(),\n shippingAddress: z\n .object({\n country: z\n .string()\n .describe(\n 'Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format.'\n )\n .optional()\n .nullable(),\n subdivision: z\n .string()\n .describe(\n 'Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format.'\n )\n .max(50)\n .optional()\n .nullable(),\n city: z.string().describe('City name.').max(50).optional().nullable(),\n postalCode: z\n .string()\n .describe('Postal or zip code.')\n .max(50)\n .optional()\n .nullable(),\n streetAddress: z\n .object({\n number: z.string().describe('Street number.').optional(),\n name: z.string().describe('Street name.').optional(),\n })\n .describe('Street address.')\n .optional(),\n addressLine: z\n .string()\n .describe('Main address line (usually street name and number).')\n .max(150)\n .optional()\n .nullable(),\n addressLine2: z\n .string()\n .describe(\n 'Free text providing more detailed address info. Usually contains apt, suite, floor.'\n )\n .max(100)\n .optional()\n .nullable(),\n geocode: z\n .object({\n latitude: z\n .number()\n .describe('Address latitude.')\n .optional()\n .nullable(),\n longitude: z\n .number()\n .describe('Address longitude.')\n .optional()\n .nullable(),\n })\n .describe(\n 'Geocode object containing latitude and longitude coordinates.'\n )\n .optional(),\n countryFullname: z\n .string()\n .describe(\"Country's full name.\")\n .optional()\n .nullable(),\n subdivisionFullname: z\n .string()\n .describe('Subdivision full-name.')\n .optional()\n .nullable(),\n })\n .describe(\n 'Shipping address. Used for calculating tax and shipping (when applicable).'\n )\n .optional(),\n billingAddress: z\n .object({\n country: z\n .string()\n .describe(\n 'Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format.'\n )\n .optional()\n .nullable(),\n subdivision: z\n .string()\n .describe(\n 'Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format.'\n )\n .max(50)\n .optional()\n .nullable(),\n city: z.string().describe('City name.').max(50).optional().nullable(),\n postalCode: z\n .string()\n .describe('Postal or zip code.')\n .max(50)\n .optional()\n .nullable(),\n streetAddress: z\n .object({\n number: z.string().describe('Street number.').optional(),\n name: z.string().describe('Street name.').optional(),\n })\n .describe('Street address.')\n .optional(),\n addressLine: z\n .string()\n .describe('Main address line (usually street name and number).')\n .max(150)\n .optional()\n .nullable(),\n addressLine2: z\n .string()\n .describe(\n 'Free text providing more detailed address info. Usually contains apt, suite, floor.'\n )\n .max(100)\n .optional()\n .nullable(),\n geocode: z\n .object({\n latitude: z\n .number()\n .describe('Address latitude.')\n .optional()\n .nullable(),\n longitude: z\n .number()\n .describe('Address longitude.')\n .optional()\n .nullable(),\n })\n .describe(\n 'Geocode object containing latitude and longitude coordinates.'\n )\n .optional(),\n countryFullname: z\n .string()\n .describe(\"Country's full name.\")\n .optional()\n .nullable(),\n subdivisionFullname: z\n .string()\n .describe('Subdivision full-name.')\n .optional()\n .nullable(),\n })\n .describe(\n 'Billing address. Used for calculating tax if all the items in the cart are not shippable.'\n )\n .optional(),\n selectedShippingOption: z\n .object({\n carrierId: z\n .string()\n .describe('Carrier 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 code: z\n .string()\n .describe(\n 'Selected shipping option code. For example, \"usps_std_overnight\".'\n )\n .min(1)\n .max(100)\n .optional(),\n })\n .describe(\n 'Selected shipping option.\\n\\nPass this field only when there is no existing shipping option in the cart.'\n )\n .optional(),\n email: z\n .string()\n .describe(\n 'Required when setting billing or shipping address and user is not logged in.'\n )\n .email()\n .optional()\n .nullable(),\n })\n .describe('Checkout creation options.')\n .optional(),\n});\nexport const CreateCheckoutFromCurrentCartResponse = z.object({\n checkoutId: z\n .string()\n .describe(\"The newly created checkout's ID.\")\n .optional(),\n});\nexport const RemoveCouponFromCurrentCartRequest = z.object({});\nexport const RemoveCouponFromCurrentCartResponse = z.object({\n cart: z\n .object({\n _id: z\n .string()\n .describe('Cart 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 lineItems: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Line item 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 quantity: z\n .number()\n .int()\n .describe('Item quantity.')\n .min(1)\n .max(100000)\n .optional(),\n catalogReference: z\n .object({\n catalogItemId: z\n .string()\n .describe('ID of the item within the catalog it belongs to.')\n .min(1)\n .max(36)\n .optional(),\n appId: z\n .string()\n .describe(\n 'ID of the app providing the catalog.\\n\\nYou can get your app\\'s ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\\n\\nFor items from Wix catalogs, the following values always apply:\\n+ Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\\n+ Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\\n+ Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`'\n )\n .min(1)\n .optional(),\n options: z\n .record(z.string(), z.any())\n .describe(\n 'Additional item details in `key:value` pairs.\\n\\nUse this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.\\n\\nFor Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration)\\nor [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction).'\n )\n .optional()\n .nullable(),\n })\n .describe(\n \"Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin.\"\n )\n .optional(),\n productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe(\n 'Item name.\\n+ Stores - `product.name`\\n+ Bookings - `service.info.name`\\n+ Events - `ticket.name`'\n )\n .optional(),\n url: z\n .string()\n .describe(\"URL to the item's page on the site.\")\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **after** catalog-defined discount and line item discounts.'\n )\n .optional(),\n fullPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **before** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional(),\n priceBeforeDiscounts: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional(),\n lineItemPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Total price **after** catalog-defined discount and line item discounts.'\n )\n .optional(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .optional(),\n image: z.string().describe('Line item image details.').optional(),\n availability: z\n .object({\n status: z\n .enum([\n 'AVAILABLE',\n 'NOT_FOUND',\n 'NOT_AVAILABLE',\n 'PARTIALLY_AVAILABLE',\n ])\n .describe('Item availability status.')\n .optional(),\n quantityAvailable: z\n .number()\n .int()\n .describe('Quantity available.')\n .optional()\n .nullable(),\n })\n .describe('Item availability details.')\n .optional(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe(\n 'Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability.'\n )\n .optional(),\n itemType: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({\n preset: z.never().optional(),\n custom: z.never().optional(),\n }),\n z.object({\n custom: z.never().optional(),\n preset: z\n .enum([\n 'UNRECOGNISED',\n 'PHYSICAL',\n 'DIGITAL',\n 'GIFT_CARD',\n 'SERVICE',\n ])\n .describe('Preset item type.'),\n }),\n z.object({\n preset: z.never().optional(),\n custom: z\n .string()\n .describe(\n 'Custom item type. When none of the preset types are suitable, specifies the custom type.'\n ),\n }),\n ])\n )\n .describe('Item type. Either a preset type or custom.')\n .optional(),\n subscriptionOptionInfo: z\n .object({\n subscriptionSettings: z\n .object({\n frequency: z\n .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n .describe('Frequency of recurring payment.')\n .optional(),\n interval: z\n .number()\n .int()\n .describe(\n 'Interval of recurring payment.\\n\\nDefault: `1`.\\nIf SubscriptionFrequency is Day the minimum interval is 7'\n )\n .min(1)\n .max(3650)\n .optional()\n .nullable(),\n autoRenewal: z\n .boolean()\n .describe(\n 'Whether subscription is renewed automatically at the end of each period.'\n )\n .optional(),\n billingCycles: z\n .number()\n .int()\n .describe(\n 'Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`.'\n )\n .min(1)\n .optional()\n .nullable(),\n enableCustomerCancellation: z\n .boolean()\n .describe(\n 'Whether to allow the customer to cancel the subscription..'\n )\n .optional(),\n freeTrialPeriod: z\n .object({\n frequency: z\n .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n .describe(\n 'Frequency of period. Values: DAY, WEEK, MONTH, YEAR'\n )\n .optional(),\n interval: z\n .number()\n .int()\n .describe('interval of period')\n .min(1)\n .max(999)\n .optional(),\n })\n .describe(\n 'Period until first cycle starts. If applied payNow will be 0\\nIf None => no free trial'\n )\n .optional(),\n })\n .describe('Subscription option settings.')\n .optional(),\n title: z\n .object({\n original: z\n .string()\n .describe(\n \"Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(150)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Subscription option name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(150)\n .optional()\n .nullable(),\n })\n .describe('Subscription option title.')\n .optional(),\n description: z\n .object({\n original: z\n .string()\n .describe('Subscription option description.')\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe('Translated subscription option description.')\n .max(500)\n .optional()\n .nullable(),\n })\n .describe('Subscription option description.')\n .optional(),\n })\n .describe('Subscription option information.')\n .optional(),\n paymentOption: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .describe(\n 'Type of selected payment option for current item.\\n\\nDefault: `FULL_PAYMENT_ONLINE`'\n )\n .optional(),\n serviceProperties: z\n .object({\n scheduledDate: z\n .date()\n .describe(\n 'Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\\nFor example, the start time of a class.'\n )\n .optional()\n .nullable(),\n numberOfParticipants: z\n .number()\n .int()\n .describe(\n 'The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.'\n )\n .min(1)\n .max(10000)\n .optional()\n .nullable(),\n })\n .describe(\n 'Service properties. When relevant, this contains information such as date and number of participants.'\n )\n .optional(),\n rootCatalogItemId: z\n .string()\n .describe(\n \"In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\\n+ For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\\n+ in most cases, this field is the same as `catalogReference.catalogItemId`.\\n+ Used in membership validation.\"\n )\n .min(1)\n .max(36)\n .optional()\n .nullable(),\n priceDescription: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Price description translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(100)\n .optional()\n .nullable(),\n })\n .describe(\n 'Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".'\n )\n .optional(),\n depositAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Partial payment to be paid upfront during the checkout. Eligible for catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.'\n )\n .optional(),\n selectedMembership: z\n .object({\n _id: z\n .string()\n .describe('Membership ID.')\n .min(1)\n .max(100)\n .optional(),\n appId: z\n .string()\n .describe('ID of the app providing this payment option.')\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(\n 'Selected membership to be used as payment for this item. Must be used with `lineItem.paymentOption` set to `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`. This field can be empty when `lineItem.paymentOption` is set to `MEMBERSHIP_OFFLINE`.'\n )\n .optional(),\n deliveryProfileId: z\n .string()\n .describe('Delivery profile 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 taxGroupId: z\n .string()\n .describe('Tax group ID for this line item.')\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 customLineItem: z\n .boolean()\n .describe(\n \"Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\"\n )\n .optional(),\n consentRequiredPaymentPolicy: z\n .string()\n .describe(\n 'Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.'\n )\n .min(1)\n .max(2500)\n .optional()\n .nullable(),\n priceUndetermined: z\n .boolean()\n .describe(\n 'Whether the price is not yet defined, and will be updated after the order is created.'\n )\n .optional(),\n fixedQuantity: z\n .boolean()\n .describe(\n 'Whether the line item quantity is fixed and cannot be changed.'\n )\n .optional(),\n catalogOverrideFields: z\n .object({\n productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Item name.')\n .optional(),\n price: z\n .string()\n .describe('Item price **after** discounts.')\n .optional()\n .nullable(),\n fullPrice: z\n .string()\n .describe('Item price **before** discounts.')\n .optional()\n .nullable(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .min(0)\n .max(20)\n .optional(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe('Physical properties of the item.')\n .optional(),\n image: z.string().describe('Item image.').optional(),\n paymentOption: z\n .object({\n value: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .describe(\n 'Type of selected payment option for current item.\\n\\nDefault: `FULL_PAYMENT_ONLINE`'\n )\n .optional(),\n })\n .describe('Payment method selected for the item.')\n .optional(),\n depositAmount: z\n .string()\n .describe(\n 'Only eligible for catalog items with `lineItem.paymentOption.value` type of `DEPOSIT_ONLINE`.'\n )\n .optional()\n .nullable(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional()\n .nullable(),\n inventoryAppId: z\n .string()\n .describe('ID of the app managing the inventory.')\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 .describe(\n 'Overriding values for catalog item properties.\\n\\nTo override catalog fields, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\\nLearn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).'\n )\n .optional(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional(),\n taxableAddress: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({ addressType: z.never().optional() }),\n z.object({\n addressType: z\n .enum(['BUSINESS', 'BILLING', 'SHIPPING'])\n .describe(\n 'taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.'\n ),\n }),\n ])\n )\n .describe('Address to use for tax calculation purposes.')\n .optional(),\n extendedFields: z\n .object({\n namespaces: z\n .record(z.string(), z.record(z.string(), z.any()))\n .describe(\n 'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n )\n .optional(),\n })\n .describe(\n \"Custom extended fields for the line item object.\\n\\n[Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured using the 'Checkout & Orders - Line Items Schema Plugin' in the app dashboard before they can be accessed with API calls.\"\n )\n .optional(),\n policies: z\n .array(\n z.object({\n title: z\n .string()\n .describe('Policy title - should be translated')\n .min(1)\n .max(29)\n .optional()\n .nullable(),\n content: z\n .string()\n .describe('Policy content - should be translated')\n .min(1)\n .max(3000)\n .optional(),\n })\n )\n .max(5)\n .optional(),\n membersOnly: z\n .boolean()\n .describe(\n 'Whether the item can only be purchased by site members.\\n\\nDefault: `false`'\n )\n .optional(),\n modifierGroups: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier group ID.')\n .min(1)\n .max(36)\n .optional(),\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Modifier group name.')\n .optional(),\n modifiers: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier ID.')\n .min(1)\n .max(36)\n .optional(),\n quantity: z\n .number()\n .int()\n .describe('The quantity of this modifier.')\n .min(1)\n .max(100000)\n .optional()\n .nullable(),\n label: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Primary display label for the modifier.')\n .optional(),\n details: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Additional details.')\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe(\n 'Amount formatted with currency symbol.'\n )\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('The price of the modifier.')\n .optional(),\n })\n )\n .min(1)\n .max(25)\n .optional(),\n })\n )\n .max(25)\n .optional(),\n modifiersTotalPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Total price of all item modifiers. Included in the item price.'\n )\n .optional(),\n })\n )\n .min(1)\n .max(300)\n .optional(),\n buyerNote: z\n .string()\n .describe(\n '[Buyer note](https://support.wix.com/en/article/collecting-and-viewing-buyer-notes) left by the customer.'\n )\n .max(1000)\n .optional()\n .nullable(),\n buyerInfo: z\n .intersection(\n z.object({\n contactId: z\n .string()\n .describe(\n 'Contact ID. For more information, see the Contacts API.'\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 email: z\n .string()\n .describe('Buyer email address.')\n .email()\n .optional()\n .nullable(),\n }),\n z.xor([\n z.object({\n visitorId: z.never().optional(),\n memberId: z.never().optional(),\n userId: z.never().optional(),\n }),\n z.object({\n memberId: z.never().optional(),\n userId: z.never().optional(),\n visitorId: z\n .string()\n .describe('Visitor ID. If the buyer is **not** a site member.')\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 visitorId: z.never().optional(),\n userId: z.never().optional(),\n memberId: z\n .string()\n .describe('Member ID. If the buyer is a site member.')\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 visitorId: z.never().optional(),\n memberId: z.never().optional(),\n userId: z\n .string()\n .describe(\n 'User ID. If the buyer, or cart owner, is a Wix user.'\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 }),\n ])\n )\n .describe('Buyer information.')\n .optional(),\n currency: z\n .string()\n .describe(\n 'The site’s default currency, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. This represents the base currency configured for the site and remains constant regardless of the customer’s currency selection.'\n )\n .optional(),\n conversionCurrency: z\n .string()\n .describe(\n 'The currency [selected by the customer](https://support.wix.com/en/article/multicurrency-an-overview) during the purchase flow, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\\n\\nThis reflects the customer’s preferred display currency and may differ from the site’s default currency.\\nWhen no specific currency is selected by the customer, this matches the `currency` property.'\n )\n .optional(),\n buyerLanguage: z\n .string()\n .describe(\n 'Language for communication with the buyer. Defaults to the site language.\\n\\nFor a site that supports multiple languages, this is the language the buyer selected.'\n )\n .optional()\n .nullable(),\n siteLanguage: z\n .string()\n .describe('Site language in which original values are displayed.')\n .optional()\n .nullable(),\n taxIncludedInPrices: z\n .boolean()\n .describe('Whether tax is included in line item prices.')\n .optional()\n .nullable(),\n weightUnit: z\n .enum(['UNSPECIFIED_WEIGHT_UNIT', 'KG', 'LB'])\n .describe(\"Weight measurement unit - defaults to site's weight unit.\")\n .optional(),\n checkoutId: z\n .string()\n .describe('ID of the checkout that originated from this cart.')\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 appliedDiscounts: z\n .array(\n z.intersection(\n z.object({}),\n z.xor([\n z.object({\n coupon: z.never().optional(),\n merchantDiscount: z.never().optional(),\n }),\n z.object({\n merchantDiscount: z.never().optional(),\n coupon: z\n .object({\n _id: z.string().describe('Coupon ID.').optional(),\n code: z.string().describe('Coupon code.').optional(),\n })\n .describe('Coupon details.'),\n }),\n z.object({\n coupon: z.never().optional(),\n merchantDiscount: z\n .object({\n amount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Discount value.')\n .optional(),\n })\n .describe('Merchant discount.'),\n }),\n ])\n )\n )\n .optional(),\n _createdDate: z\n .date()\n .describe('Date and time the cart was created.')\n .optional()\n .nullable(),\n _updatedDate: z\n .date()\n .describe('Date and time the cart was updated.')\n .optional()\n .nullable(),\n contactInfo: z\n .object({\n address: z\n .object({\n streetAddress: z\n .object({\n name: z.string().optional(),\n number: z.string().optional(),\n })\n .optional(),\n city: z.string().optional().nullable(),\n subdivision: z.string().optional().nullable(),\n country: z.string().optional().nullable(),\n postalCode: z.string().optional().nullable(),\n addressLine2: z.string().optional().nullable(),\n })\n .describe('Address.')\n .optional(),\n contactDetails: z\n .object({\n firstName: z\n .string()\n .describe('First name.')\n .max(100)\n .optional()\n .nullable(),\n lastName: z\n .string()\n .describe('Last name.')\n .max(100)\n .optional()\n .nullable(),\n phone: z.string().describe('Phone number.').optional().nullable(),\n company: z\n .string()\n .describe('Company name.')\n .max(1000)\n .optional()\n .nullable(),\n vatId: z\n .object({\n _id: z.string().describe(\"Customer's tax ID.\").optional(),\n type: z\n .enum(['UNSPECIFIED', 'CPF', 'CNPJ'])\n .describe(\n 'Tax type.\\n\\nSupported values:\\n+ `CPF`: for individual tax payers\\n+ `CNPJ`: for corporations'\n )\n .optional(),\n })\n .describe(\n 'Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed.'\n )\n .optional(),\n })\n .describe('Contact details.')\n .optional(),\n })\n .describe('Contact info.')\n .optional(),\n overrideCheckoutUrl: z\n .string()\n .describe(\n '`overrideCheckoutUrl` allows the flexibility to redirect customers to a customized checkout page.\\n\\nThis field overrides the `checkoutUrl` in a cart or checkout. `checkoutUrl` is used in the Abandoned Checkout API\\nto send customers back to their checkouts. By default, a `checkoutUrl` generates for a checkout and directs to a\\nstandard Wix checkout page. When `overrideCheckoutUrl` has a value, it will replace and set the value of `checkoutUrl`.'\n )\n .max(1000)\n .optional()\n .nullable(),\n purchaseFlowId: z\n .string()\n .describe(\n 'Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.'\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 selectedShippingOption: z\n .object({\n carrierId: z\n .string()\n .describe('Carrier 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 code: z\n .string()\n .describe(\n 'Selected shipping option code. For example, \"usps_std_overnight\".'\n )\n .min(1)\n .max(100)\n .optional(),\n })\n .describe('Selected shipping option.')\n .optional(),\n extendedFields: z\n .object({\n namespaces: z\n .record(z.string(), z.record(z.string(), z.any()))\n .describe(\n 'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n )\n .optional(),\n })\n .describe('Fields extended by data extensions')\n .optional(),\n businessLocationId: z\n .string()\n .describe(\n 'The business location ID associated with the cart.\\n\\nTo learn more, see the Locations API.'\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 paymentCurrency: z\n .string()\n .describe(\n \"The currency used for payment, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\\n\\nThis is determined by the [customer's selected currency](https://support.wix.com/en/article/multicurrency-an-overview) and the site’s supported payment currencies.\\nIf the customer’s selected currency is supported for payment, this matches the `conversionCurrency` property. If not supported, this falls back to the `currency` property.\"\n )\n .optional(),\n revision: z\n .string()\n .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n .describe(\n 'Revision number, which increments by 1 each time the Cart is updated.'\n )\n .optional()\n .nullable(),\n })\n .describe('Updated cart.')\n .optional(),\n});\nexport const UpdateCurrentCartLineItemQuantityRequest = z.object({\n lineItems: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('*Required.** Line item 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 quantity: z\n .number()\n .int()\n .describe('*Required.** New quantity. Number must be 1 or higher.')\n .min(1)\n .max(100000)\n .optional(),\n })\n )\n .min(1)\n .max(100),\n});\nexport const UpdateCurrentCartLineItemQuantityResponse = z.object({\n cart: z\n .object({\n _id: z\n .string()\n .describe('Cart 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 lineItems: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Line item 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 quantity: z\n .number()\n .int()\n .describe('Item quantity.')\n .min(1)\n .max(100000)\n .optional(),\n catalogReference: z\n .object({\n catalogItemId: z\n .string()\n .describe('ID of the item within the catalog it belongs to.')\n .min(1)\n .max(36)\n .optional(),\n appId: z\n .string()\n .describe(\n 'ID of the app providing the catalog.\\n\\nYou can get your app\\'s ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\\n\\nFor items from Wix catalogs, the following values always apply:\\n+ Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\\n+ Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\\n+ Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`'\n )\n .min(1)\n .optional(),\n options: z\n .record(z.string(), z.any())\n .describe(\n 'Additional item details in `key:value` pairs.\\n\\nUse this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.\\n\\nFor Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration)\\nor [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction).'\n )\n .optional()\n .nullable(),\n })\n .describe(\n \"Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin.\"\n )\n .optional(),\n productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe(\n 'Item name.\\n+ Stores - `product.name`\\n+ Bookings - `service.info.name`\\n+ Events - `ticket.name`'\n )\n .optional(),\n url: z\n .string()\n .describe(\"URL to the item's page on the site.\")\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **after** catalog-defined discount and line item discounts.'\n )\n .optional(),\n fullPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **before** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional(),\n priceBeforeDiscounts: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional(),\n lineItemPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Total price **after** catalog-defined discount and line item discounts.'\n )\n .optional(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .optional(),\n image: z.string().describe('Line item image details.').optional(),\n availability: z\n .object({\n status: z\n .enum([\n 'AVAILABLE',\n 'NOT_FOUND',\n 'NOT_AVAILABLE',\n 'PARTIALLY_AVAILABLE',\n ])\n .describe('Item availability status.')\n .optional(),\n quantityAvailable: z\n .number()\n .int()\n .describe('Quantity available.')\n .optional()\n .nullable(),\n })\n .describe('Item availability details.')\n .optional(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe(\n 'Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability.'\n )\n .optional(),\n itemType: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({\n preset: z.never().optional(),\n custom: z.never().optional(),\n }),\n z.object({\n custom: z.never().optional(),\n preset: z\n .enum([\n 'UNRECOGNISED',\n 'PHYSICAL',\n 'DIGITAL',\n 'GIFT_CARD',\n 'SERVICE',\n ])\n .describe('Preset item type.'),\n }),\n z.object({\n preset: z.never().optional(),\n custom: z\n .string()\n .describe(\n 'Custom item type. When none of the preset types are suitable, specifies the custom type.'\n ),\n }),\n ])\n )\n .describe('Item type. Either a preset type or custom.')\n .optional(),\n subscriptionOptionInfo: z\n .object({\n subscriptionSettings: z\n .object({\n frequency: z\n .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n .describe('Frequency of recurring payment.')\n .optional(),\n interval: z\n .number()\n .int()\n .describe(\n 'Interval of recurring payment.\\n\\nDefault: `1`.\\nIf SubscriptionFrequency is Day the minimum interval is 7'\n )\n .min(1)\n .max(3650)\n .optional()\n .nullable(),\n autoRenewal: z\n .boolean()\n .describe(\n 'Whether subscription is renewed automatically at the end of each period.'\n )\n .optional(),\n billingCycles: z\n .number()\n .int()\n .describe(\n 'Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`.'\n )\n .min(1)\n .optional()\n .nullable(),\n enableCustomerCancellation: z\n .boolean()\n .describe(\n 'Whether to allow the customer to cancel the subscription..'\n )\n .optional(),\n freeTrialPeriod: z\n .object({\n frequency: z\n .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n .describe(\n 'Frequency of period. Values: DAY, WEEK, MONTH, YEAR'\n )\n .optional(),\n interval: z\n .number()\n .int()\n .describe('interval of period')\n .min(1)\n .max(999)\n .optional(),\n })\n .describe(\n 'Period until first cycle starts. If applied payNow will be 0\\nIf None => no free trial'\n )\n .optional(),\n })\n .describe('Subscription option settings.')\n .optional(),\n title: z\n .object({\n original: z\n .string()\n .describe(\n \"Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(150)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Subscription option name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(150)\n .optional()\n .nullable(),\n })\n .describe('Subscription option title.')\n .optional(),\n description: z\n .object({\n original: z\n .string()\n .describe('Subscription option description.')\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe('Translated subscription option description.')\n .max(500)\n .optional()\n .nullable(),\n })\n .describe('Subscription option description.')\n .optional(),\n })\n .describe('Subscription option information.')\n .optional(),\n paymentOption: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .describe(\n 'Type of selected payment option for current item.\\n\\nDefault: `FULL_PAYMENT_ONLINE`'\n )\n .optional(),\n serviceProperties: z\n .object({\n scheduledDate: z\n .date()\n .describe(\n 'Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\\nFor example, the start time of a class.'\n )\n .optional()\n .nullable(),\n numberOfParticipants: z\n .number()\n .int()\n .describe(\n 'The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.'\n )\n .min(1)\n .max(10000)\n .optional()\n .nullable(),\n })\n .describe(\n 'Service properties. When relevant, this contains information such as date and number of participants.'\n )\n .optional(),\n rootCatalogItemId: z\n .string()\n .describe(\n \"In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\\n+ For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\\n+ in most cases, this field is the same as `catalogReference.catalogItemId`.\\n+ Used in membership validation.\"\n )\n .min(1)\n .max(36)\n .optional()\n .nullable(),\n priceDescription: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Price description translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(100)\n .optional()\n .nullable(),\n })\n .describe(\n 'Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".'\n )\n .optional(),\n depositAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Partial payment to be paid upfront during the checkout. Eligible for catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.'\n )\n .optional(),\n selectedMembership: z\n .object({\n _id: z\n .string()\n .describe('Membership ID.')\n .min(1)\n .max(100)\n .optional(),\n appId: z\n .string()\n .describe('ID of the app providing this payment option.')\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(\n 'Selected membership to be used as payment for this item. Must be used with `lineItem.paymentOption` set to `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`. This field can be empty when `lineItem.paymentOption` is set to `MEMBERSHIP_OFFLINE`.'\n )\n .optional(),\n deliveryProfileId: z\n .string()\n .describe('Delivery profile 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 taxGroupId: z\n .string()\n .describe('Tax group ID for this line item.')\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 customLineItem: z\n .boolean()\n .describe(\n \"Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\"\n )\n .optional(),\n consentRequiredPaymentPolicy: z\n .string()\n .describe(\n 'Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.'\n )\n .min(1)\n .max(2500)\n .optional()\n .nullable(),\n priceUndetermined: z\n .boolean()\n .describe(\n 'Whether the price is not yet defined, and will be updated after the order is created.'\n )\n .optional(),\n fixedQuantity: z\n .boolean()\n .describe(\n 'Whether the line item quantity is fixed and cannot be changed.'\n )\n .optional(),\n catalogOverrideFields: z\n .object({\n productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Item name.')\n .optional(),\n price: z\n .string()\n .describe('Item price **after** discounts.')\n .optional()\n .nullable(),\n fullPrice: z\n .string()\n .describe('Item price **before** discounts.')\n .optional()\n .nullable(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .min(0)\n .max(20)\n .optional(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe('Physical properties of the item.')\n .optional(),\n image: z.string().describe('Item image.').optional(),\n paymentOption: z\n .object({\n value: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .describe(\n 'Type of selected payment option for current item.\\n\\nDefault: `FULL_PAYMENT_ONLINE`'\n )\n .optional(),\n })\n .describe('Payment method selected for the item.')\n .optional(),\n depositAmount: z\n .string()\n .describe(\n 'Only eligible for catalog items with `lineItem.paymentOption.value` type of `DEPOSIT_ONLINE`.'\n )\n .optional()\n .nullable(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional()\n .nullable(),\n inventoryAppId: z\n .string()\n .describe('ID of the app managing the inventory.')\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 .describe(\n 'Overriding values for catalog item properties.\\n\\nTo override catalog fields, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\\nLearn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).'\n )\n .optional(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional(),\n taxableAddress: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({ addressType: z.never().optional() }),\n z.object({\n addressType: z\n .enum(['BUSINESS', 'BILLING', 'SHIPPING'])\n .describe(\n 'taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.'\n ),\n }),\n ])\n )\n .describe('Address to use for tax calculation purposes.')\n .optional(),\n extendedFields: z\n .object({\n namespaces: z\n .record(z.string(), z.record(z.string(), z.any()))\n .describe(\n 'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n )\n .optional(),\n })\n .describe(\n \"Custom extended fields for the line item object.\\n\\n[Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured using the 'Checkout & Orders - Line Items Schema Plugin' in the app dashboard before they can be accessed with API calls.\"\n )\n .optional(),\n policies: z\n .array(\n z.object({\n title: z\n .string()\n .describe('Policy title - should be translated')\n .min(1)\n .max(29)\n .optional()\n .nullable(),\n content: z\n .string()\n .describe('Policy content - should be translated')\n .min(1)\n .max(3000)\n .optional(),\n })\n )\n .max(5)\n .optional(),\n membersOnly: z\n .boolean()\n .describe(\n 'Whether the item can only be purchased by site members.\\n\\nDefault: `false`'\n )\n .optional(),\n modifierGroups: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier group ID.')\n .min(1)\n .max(36)\n .optional(),\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Modifier group name.')\n .optional(),\n modifiers: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier ID.')\n .min(1)\n .max(36)\n .optional(),\n quantity: z\n .number()\n .int()\n .describe('The quantity of this modifier.')\n .min(1)\n .max(100000)\n .optional()\n .nullable(),\n label: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Primary display label for the modifier.')\n .optional(),\n details: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Additional details.')\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe(\n 'Amount formatted with currency symbol.'\n )\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('The price of the modifier.')\n .optional(),\n })\n )\n .min(1)\n .max(25)\n .optional(),\n })\n )\n .max(25)\n .optional(),\n modifiersTotalPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Total price of all item modifiers. Included in the item price.'\n )\n .optional(),\n })\n )\n .min(1)\n .max(300)\n .optional(),\n buyerNote: z\n .string()\n .describe(\n '[Buyer note](https://support.wix.com/en/article/collecting-and-viewing-buyer-notes) left by the customer.'\n )\n .max(1000)\n .optional()\n .nullable(),\n buyerInfo: z\n .intersection(\n z.object({\n contactId: z\n .string()\n .describe(\n 'Contact ID. For more information, see the Contacts API.'\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 email: z\n .string()\n .describe('Buyer email address.')\n .email()\n .optional()\n .nullable(),\n }),\n z.xor([\n z.object({\n visitorId: z.never().optional(),\n memberId: z.never().optional(),\n userId: z.never().optional(),\n }),\n z.object({\n memberId: z.never().optional(),\n userId: z.never().optional(),\n visitorId: z\n .string()\n .describe('Visitor ID. If the buyer is **not** a site member.')\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 visitorId: z.never().optional(),\n userId: z.never().optional(),\n memberId: z\n .string()\n .describe('Member ID. If the buyer is a site member.')\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 visitorId: z.never().optional(),\n memberId: z.never().optional(),\n userId: z\n .string()\n .describe(\n 'User ID. If the buyer, or cart owner, is a Wix user.'\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 }),\n ])\n )\n .describe('Buyer information.')\n .optional(),\n currency: z\n .string()\n .describe(\n 'The site’s default currency, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. This represents the base currency configured for the site and remains constant regardless of the customer’s currency selection.'\n )\n .optional(),\n conversionCurrency: z\n .string()\n .describe(\n 'The currency [selected by the customer](https://support.wix.com/en/article/multicurrency-an-overview) during the purchase flow, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\\n\\nThis reflects the customer’s preferred display currency and may differ from the site’s default currency.\\nWhen no specific currency is selected by the customer, this matches the `currency` property.'\n )\n .optional(),\n buyerLanguage: z\n .string()\n .describe(\n 'Language for communication with the buyer. Defaults to the site language.\\n\\nFor a site that supports multiple languages, this is the language the buyer selected.'\n )\n .optional()\n .nullable(),\n siteLanguage: z\n .string()\n .describe('Site language in which original values are displayed.')\n .optional()\n .nullable(),\n taxIncludedInPrices: z\n .boolean()\n .describe('Whether tax is included in line item prices.')\n .optional()\n .nullable(),\n weightUnit: z\n .enum(['UNSPECIFIED_WEIGHT_UNIT', 'KG', 'LB'])\n .describe(\"Weight measurement unit - defaults to site's weight unit.\")\n .optional(),\n checkoutId: z\n .string()\n .describe('ID of the checkout that originated from this cart.')\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 appliedDiscounts: z\n .array(\n z.intersection(\n z.object({}),\n z.xor([\n z.object({\n coupon: z.never().optional(),\n merchantDiscount: z.never().optional(),\n }),\n z.object({\n merchantDiscount: z.never().optional(),\n coupon: z\n .object({\n _id: z.string().describe('Coupon ID.').optional(),\n code: z.string().describe('Coupon code.').optional(),\n })\n .describe('Coupon details.'),\n }),\n z.object({\n coupon: z.never().optional(),\n merchantDiscount: z\n .object({\n amount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Discount value.')\n .optional(),\n })\n .describe('Merchant discount.'),\n }),\n ])\n )\n )\n .optional(),\n _createdDate: z\n .date()\n .describe('Date and time the cart was created.')\n .optional()\n .nullable(),\n _updatedDate: z\n .date()\n .describe('Date and time the cart was updated.')\n .optional()\n .nullable(),\n contactInfo: z\n .object({\n address: z\n .object({\n streetAddress: z\n .object({\n name: z.string().optional(),\n number: z.string().optional(),\n })\n .optional(),\n city: z.string().optional().nullable(),\n subdivision: z.string().optional().nullable(),\n country: z.string().optional().nullable(),\n postalCode: z.string().optional().nullable(),\n addressLine2: z.string().optional().nullable(),\n })\n .describe('Address.')\n .optional(),\n contactDetails: z\n .object({\n firstName: z\n .string()\n .describe('First name.')\n .max(100)\n .optional()\n .nullable(),\n lastName: z\n .string()\n .describe('Last name.')\n .max(100)\n .optional()\n .nullable(),\n phone: z.string().describe('Phone number.').optional().nullable(),\n company: z\n .string()\n .describe('Company name.')\n .max(1000)\n .optional()\n .nullable(),\n vatId: z\n .object({\n _id: z.string().describe(\"Customer's tax ID.\").optional(),\n type: z\n .enum(['UNSPECIFIED', 'CPF', 'CNPJ'])\n .describe(\n 'Tax type.\\n\\nSupported values:\\n+ `CPF`: for individual tax payers\\n+ `CNPJ`: for corporations'\n )\n .optional(),\n })\n .describe(\n 'Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed.'\n )\n .optional(),\n })\n .describe('Contact details.')\n .optional(),\n })\n .describe('Contact info.')\n .optional(),\n overrideCheckoutUrl: z\n .string()\n .describe(\n '`overrideCheckoutUrl` allows the flexibility to redirect customers to a customized checkout page.\\n\\nThis field overrides the `checkoutUrl` in a cart or checkout. `checkoutUrl` is used in the Abandoned Checkout API\\nto send customers back to their checkouts. By default, a `checkoutUrl` generates for a checkout and directs to a\\nstandard Wix checkout page. When `overrideCheckoutUrl` has a value, it will replace and set the value of `checkoutUrl`.'\n )\n .max(1000)\n .optional()\n .nullable(),\n purchaseFlowId: z\n .string()\n .describe(\n 'Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.'\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 selectedShippingOption: z\n .object({\n carrierId: z\n .string()\n .describe('Carrier 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 code: z\n .string()\n .describe(\n 'Selected shipping option code. For example, \"usps_std_overnight\".'\n )\n .min(1)\n .max(100)\n .optional(),\n })\n .describe('Selected shipping option.')\n .optional(),\n extendedFields: z\n .object({\n namespaces: z\n .record(z.string(), z.record(z.string(), z.any()))\n .describe(\n 'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n )\n .optional(),\n })\n .describe('Fields extended by data extensions')\n .optional(),\n businessLocationId: z\n .string()\n .describe(\n 'The business location ID associated with the cart.\\n\\nTo learn more, see the Locations API.'\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 paymentCurrency: z\n .string()\n .describe(\n \"The currency used for payment, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\\n\\nThis is determined by the [customer's selected currency](https://support.wix.com/en/article/multicurrency-an-overview) and the site’s supported payment currencies.\\nIf the customer’s selected currency is supported for payment, this matches the `conversionCurrency` property. If not supported, this falls back to the `currency` property.\"\n )\n .optional(),\n revision: z\n .string()\n .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n .describe(\n 'Revision number, which increments by 1 each time the Cart is updated.'\n )\n .optional()\n .nullable(),\n })\n .describe('Updated cart.')\n .optional(),\n});\nexport const EstimateCurrentCartTotalsRequest = z.object({\n options: z\n .object({\n selectedShippingOption: z\n .object({\n carrierId: z\n .string()\n .describe('Carrier 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 code: z\n .string()\n .describe(\n 'Selected shipping option code. For example, \"usps_std_overnight\".'\n )\n .min(1)\n .max(100)\n .optional(),\n })\n .describe(\n 'Selected shipping option\\n\\nPass this field only when there is no existing shipping option in the cart.'\n )\n .optional(),\n shippingAddress: z\n .object({\n country: z\n .string()\n .describe(\n 'Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format.'\n )\n .optional()\n .nullable(),\n subdivision: z\n .string()\n .describe(\n 'Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format.'\n )\n .max(50)\n .optional()\n .nullable(),\n city: z.string().describe('City name.').max(50).optional().nullable(),\n postalCode: z\n .string()\n .describe('Postal or zip code.')\n .max(50)\n .optional()\n .nullable(),\n streetAddress: z\n .object({\n number: z.string().describe('Street number.').optional(),\n name: z.string().describe('Street name.').optional(),\n })\n .describe('Street address.')\n .optional(),\n addressLine: z\n .string()\n .describe('Main address line (usually street name and number).')\n .max(150)\n .optional()\n .nullable(),\n addressLine2: z\n .string()\n .describe(\n 'Free text providing more detailed address info. Usually contains apt, suite, floor.'\n )\n .max(100)\n .optional()\n .nullable(),\n geocode: z\n .object({\n latitude: z\n .number()\n .describe('Address latitude.')\n .optional()\n .nullable(),\n longitude: z\n .number()\n .describe('Address longitude.')\n .optional()\n .nullable(),\n })\n .describe(\n 'Geocode object containing latitude and longitude coordinates.'\n )\n .optional(),\n countryFullname: z\n .string()\n .describe(\"Country's full name.\")\n .optional()\n .nullable(),\n subdivisionFullname: z\n .string()\n .describe('Subdivision full-name.')\n .optional()\n .nullable(),\n })\n .describe(\n 'Shipping address. Used for calculating tax and shipping (when applicable).'\n )\n .optional(),\n billingAddress: z\n .object({\n country: z\n .string()\n .describe(\n 'Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format.'\n )\n .optional()\n .nullable(),\n subdivision: z\n .string()\n .describe(\n 'Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format.'\n )\n .max(50)\n .optional()\n .nullable(),\n city: z.string().describe('City name.').max(50).optional().nullable(),\n postalCode: z\n .string()\n .describe('Postal or zip code.')\n .max(50)\n .optional()\n .nullable(),\n streetAddress: z\n .object({\n number: z.string().describe('Street number.').optional(),\n name: z.string().describe('Street name.').optional(),\n })\n .describe('Street address.')\n .optional(),\n addressLine: z\n .string()\n .describe('Main address line (usually street name and number).')\n .max(150)\n .optional()\n .nullable(),\n addressLine2: z\n .string()\n .describe(\n 'Free text providing more detailed address info. Usually contains apt, suite, floor.'\n )\n .max(100)\n .optional()\n .nullable(),\n geocode: z\n .object({\n latitude: z\n .number()\n .describe('Address latitude.')\n .optional()\n .nullable(),\n longitude: z\n .number()\n .describe('Address longitude.')\n .optional()\n .nullable(),\n })\n .describe(\n 'Geocode object containing latitude and longitude coordinates.'\n )\n .optional(),\n countryFullname: z\n .string()\n .describe(\"Country's full name.\")\n .optional()\n .nullable(),\n subdivisionFullname: z\n .string()\n .describe('Subdivision full-name.')\n .optional()\n .nullable(),\n })\n .describe(\n 'Billing address. Used for calculating tax if all the items in the cart are not shippable.'\n )\n .optional(),\n selectedMemberships: z\n .object({\n memberships: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Membership ID.')\n .min(1)\n .max(100)\n .optional(),\n appId: z\n .string()\n .describe('ID of the app providing this payment option.')\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 lineItemIds: z.array(z.string()).min(1).max(300).optional(),\n })\n )\n .max(300)\n .optional(),\n })\n .describe(\n 'The selected membership payment options and which line items they apply to.'\n )\n .optional(),\n calculateTax: z\n .boolean()\n .describe(\n 'Whether to calculate tax in the calculation request.\\n\\nDefault: `true`'\n )\n .optional()\n .nullable(),\n calculateShipping: z\n .boolean()\n .describe(\n 'Whether to calculate shipping in the calculation request.\\n\\nDefault: `true`'\n )\n .optional()\n .nullable(),\n calculateAdditionalFees: z\n .boolean()\n .describe(\n 'Whether to calculate additional fees in the calculation request.\\n\\nDefault: `true`'\n )\n .optional()\n .nullable(),\n })\n .describe('Total estimation options.')\n .optional(),\n});\nexport const EstimateCurrentCartTotalsResponse = z.object({\n cart: z\n .object({\n _id: z\n .string()\n .describe('Cart 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 lineItems: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Line item 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 quantity: z\n .number()\n .int()\n .describe('Item quantity.')\n .min(1)\n .max(100000)\n .optional(),\n catalogReference: z\n .object({\n catalogItemId: z\n .string()\n .describe('ID of the item within the catalog it belongs to.')\n .min(1)\n .max(36)\n .optional(),\n appId: z\n .string()\n .describe(\n 'ID of the app providing the catalog.\\n\\nYou can get your app\\'s ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\\n\\nFor items from Wix catalogs, the following values always apply:\\n+ Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\\n+ Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\\n+ Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`'\n )\n .min(1)\n .optional(),\n options: z\n .record(z.string(), z.any())\n .describe(\n 'Additional item details in `key:value` pairs.\\n\\nUse this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.\\n\\nFor Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration)\\nor [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction).'\n )\n .optional()\n .nullable(),\n })\n .describe(\n \"Catalog and item reference. Holds IDs for the item and the catalog it came from, as well as further optional info. Optional for custom line items, which don't trigger the Catalog service plugin.\"\n )\n .optional(),\n productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe(\n 'Item name.\\n+ Stores - `product.name`\\n+ Bookings - `service.info.name`\\n+ Events - `ticket.name`'\n )\n .optional(),\n url: z\n .string()\n .describe(\"URL to the item's page on the site.\")\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **after** catalog-defined discount and line item discounts.'\n )\n .optional(),\n fullPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **before** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional(),\n priceBeforeDiscounts: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price **before** line item discounts and **after** catalog-defined discount. Defaults to `price` when not provided.'\n )\n .optional(),\n lineItemPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Total price **after** catalog-defined discount and line item discounts.'\n )\n .optional(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .optional(),\n image: z.string().describe('Line item image details.').optional(),\n availability: z\n .object({\n status: z\n .enum([\n 'AVAILABLE',\n 'NOT_FOUND',\n 'NOT_AVAILABLE',\n 'PARTIALLY_AVAILABLE',\n ])\n .describe('Item availability status.')\n .optional(),\n quantityAvailable: z\n .number()\n .int()\n .describe('Quantity available.')\n .optional()\n .nullable(),\n })\n .describe('Item availability details.')\n .optional(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe(\n 'Physical properties of the item. When relevant, contains information such as SKU, item weight, and shippability.'\n )\n .optional(),\n itemType: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({\n preset: z.never().optional(),\n custom: z.never().optional(),\n }),\n z.object({\n custom: z.never().optional(),\n preset: z\n .enum([\n 'UNRECOGNISED',\n 'PHYSICAL',\n 'DIGITAL',\n 'GIFT_CARD',\n 'SERVICE',\n ])\n .describe('Preset item type.'),\n }),\n z.object({\n preset: z.never().optional(),\n custom: z\n .string()\n .describe(\n 'Custom item type. When none of the preset types are suitable, specifies the custom type.'\n ),\n }),\n ])\n )\n .describe('Item type. Either a preset type or custom.')\n .optional(),\n subscriptionOptionInfo: z\n .object({\n subscriptionSettings: z\n .object({\n frequency: z\n .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n .describe('Frequency of recurring payment.')\n .optional(),\n interval: z\n .number()\n .int()\n .describe(\n 'Interval of recurring payment.\\n\\nDefault: `1`.\\nIf SubscriptionFrequency is Day the minimum interval is 7'\n )\n .min(1)\n .max(3650)\n .optional()\n .nullable(),\n autoRenewal: z\n .boolean()\n .describe(\n 'Whether subscription is renewed automatically at the end of each period.'\n )\n .optional(),\n billingCycles: z\n .number()\n .int()\n .describe(\n 'Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`.'\n )\n .min(1)\n .optional()\n .nullable(),\n enableCustomerCancellation: z\n .boolean()\n .describe(\n 'Whether to allow the customer to cancel the subscription..'\n )\n .optional(),\n freeTrialPeriod: z\n .object({\n frequency: z\n .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n .describe(\n 'Frequency of period. Values: DAY, WEEK, MONTH, YEAR'\n )\n .optional(),\n interval: z\n .number()\n .int()\n .describe('interval of period')\n .min(1)\n .max(999)\n .optional(),\n })\n .describe(\n 'Period until first cycle starts. If applied payNow will be 0\\nIf None => no free trial'\n )\n .optional(),\n })\n .describe('Subscription option settings.')\n .optional(),\n title: z\n .object({\n original: z\n .string()\n .describe(\n \"Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(150)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Subscription option name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(150)\n .optional()\n .nullable(),\n })\n .describe('Subscription option title.')\n .optional(),\n description: z\n .object({\n original: z\n .string()\n .describe('Subscription option description.')\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe('Translated subscription option description.')\n .max(500)\n .optional()\n .nullable(),\n })\n .describe('Subscription option description.')\n .optional(),\n })\n .describe('Subscription option information.')\n .optional(),\n paymentOption: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .describe(\n 'Type of selected payment option for current item.\\n\\nDefault: `FULL_PAYMENT_ONLINE`'\n )\n .optional(),\n serviceProperties: z\n .object({\n scheduledDate: z\n .date()\n .describe(\n 'Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\\nFor example, the start time of a class.'\n )\n .optional()\n .nullable(),\n numberOfParticipants: z\n .number()\n .int()\n .describe(\n 'The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.'\n )\n .min(1)\n .max(10000)\n .optional()\n .nullable(),\n })\n .describe(\n 'Service properties. When relevant, this contains information such as date and number of participants.'\n )\n .optional(),\n rootCatalogItemId: z\n .string()\n .describe(\n \"In cases where `catalogReference.catalogItemId` is NOT the actual catalog item ID, this field will return the true item's ID.\\n+ For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking ID. Therefore this value is set to the service ID.\\n+ in most cases, this field is the same as `catalogReference.catalogItemId`.\\n+ Used in membership validation.\"\n )\n .min(1)\n .max(36)\n .optional()\n .nullable(),\n priceDescription: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .min(1)\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Price description translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(100)\n .optional()\n .nullable(),\n })\n .describe(\n 'Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".'\n )\n .optional(),\n depositAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Partial payment to be paid upfront during the checkout. Eligible for catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.'\n )\n .optional(),\n selectedMembership: z\n .object({\n _id: z\n .string()\n .describe('Membership ID.')\n .min(1)\n .max(100)\n .optional(),\n appId: z\n .string()\n .describe('ID of the app providing this payment option.')\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(\n 'Selected membership to be used as payment for this item. Must be used with `lineItem.paymentOption` set to `MEMBERSHIP` or `MEMBERSHIP_OFFLINE`. This field can be empty when `lineItem.paymentOption` is set to `MEMBERSHIP_OFFLINE`.'\n )\n .optional(),\n deliveryProfileId: z\n .string()\n .describe('Delivery profile 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 taxGroupId: z\n .string()\n .describe('Tax group ID for this line item.')\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 customLineItem: z\n .boolean()\n .describe(\n \"Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.\"\n )\n .optional(),\n consentRequiredPaymentPolicy: z\n .string()\n .describe(\n 'Item payment policy that requires customer consent to complete purchase. The payment policy will be displayed on the checkout page.'\n )\n .min(1)\n .max(2500)\n .optional()\n .nullable(),\n priceUndetermined: z\n .boolean()\n .describe(\n 'Whether the price is not yet defined, and will be updated after the order is created.'\n )\n .optional(),\n fixedQuantity: z\n .boolean()\n .describe(\n 'Whether the line item quantity is fixed and cannot be changed.'\n )\n .optional(),\n catalogOverrideFields: z\n .object({\n productName: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Item name.')\n .optional(),\n price: z\n .string()\n .describe('Item price **after** discounts.')\n .optional()\n .nullable(),\n fullPrice: z\n .string()\n .describe('Item price **before** discounts.')\n .optional()\n .nullable(),\n descriptionLines: z\n .array(\n z.intersection(\n z.object({\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(200)\n .optional()\n .nullable(),\n })\n .describe('Description line name.')\n .optional(),\n }),\n z.xor([\n z.object({\n plainText: z.never().optional(),\n colorInfo: z.never().optional(),\n }),\n z.object({\n colorInfo: z.never().optional(),\n plainText: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(600)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(600)\n .optional()\n .nullable(),\n })\n .describe('Description line plain text value.'),\n }),\n z.object({\n plainText: z.never().optional(),\n colorInfo: z\n .object({\n original: z\n .string()\n .describe(\n \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n )\n .max(500)\n .optional(),\n translated: z\n .string()\n .describe(\n \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n )\n .max(500)\n .optional()\n .nullable(),\n code: z\n .string()\n .describe('HEX or RGB color code for display.')\n .optional()\n .nullable(),\n })\n .describe('Description line color value.'),\n }),\n ])\n )\n )\n .min(0)\n .max(20)\n .optional(),\n physicalProperties: z\n .object({\n weight: z\n .number()\n .describe(\n 'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n )\n .optional()\n .nullable(),\n sku: z\n .string()\n .describe(\n 'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n )\n .max(40)\n .optional()\n .nullable(),\n shippable: z\n .boolean()\n .describe('Whether this line item is shippable.')\n .optional(),\n })\n .describe('Physical properties of the item.')\n .optional(),\n image: z.string().describe('Item image.').optional(),\n paymentOption: z\n .object({\n value: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .describe(\n 'Type of selected payment option for current item.\\n\\nDefault: `FULL_PAYMENT_ONLINE`'\n )\n .optional(),\n })\n .describe('Payment method selected for the item.')\n .optional(),\n depositAmount: z\n .string()\n .describe(\n 'Only eligible for catalog items with `lineItem.paymentOption.value` type of `DEPOSIT_ONLINE`.'\n )\n .optional()\n .nullable(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional()\n .nullable(),\n inventoryAppId: z\n .string()\n .describe('ID of the app managing the inventory.')\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 .describe(\n 'Overriding values for catalog item properties.\\n\\nTo override catalog fields, your app must have the permission scope named \"Manage eCommerce - Admin Permissions\".\\nLearn more about [permission scopes](https://dev.wix.com/docs/build-apps/develop-your-app/access/authorization/about-permissions).'\n )\n .optional(),\n savePaymentMethod: z\n .boolean()\n .describe(\n 'Whether to save the payment method on the order.\\n\\nDefault: `false`'\n )\n .optional(),\n taxableAddress: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({ addressType: z.never().optional() }),\n z.object({\n addressType: z\n .enum(['BUSINESS', 'BILLING', 'SHIPPING'])\n .describe(\n 'taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.'\n ),\n }),\n ])\n )\n .describe('Address to use for tax calculation purposes.')\n .optional(),\n extendedFields: z\n .object({\n namespaces: z\n .record(z.string(), z.record(z.string(), z.any()))\n .describe(\n 'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n )\n .optional(),\n })\n .describe(\n \"Custom extended fields for the line item object.\\n\\n[Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured using the 'Checkout & Orders - Line Items Schema Plugin' in the app dashboard before they can be accessed with API calls.\"\n )\n .optional(),\n policies: z\n .array(\n z.object({\n title: z\n .string()\n .describe('Policy title - should be translated')\n .min(1)\n .max(29)\n .optional()\n .nullable(),\n content: z\n .string()\n .describe('Policy content - should be translated')\n .min(1)\n .max(3000)\n .optional(),\n })\n )\n .max(5)\n .optional(),\n membersOnly: z\n .boolean()\n .describe(\n 'Whether the item can only be purchased by site members.\\n\\nDefault: `false`'\n )\n .optional(),\n modifierGroups: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier group ID.')\n .min(1)\n .max(36)\n .optional(),\n name: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Modifier group name.')\n .optional(),\n modifiers: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Modifier ID.')\n .min(1)\n .max(36)\n .optional(),\n quantity: z\n .number()\n .int()\n .describe('The quantity of this modifier.')\n .min(1)\n .max(100000)\n .optional()\n .nullable(),\n label: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Primary display label for the modifier.')\n .optional(),\n details: z\n .object({\n original: z\n .string()\n .describe(\n \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n )\n .min(1)\n .max(200)\n .optional(),\n translated: z\n .string()\n .describe(\n \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n )\n .min(1)\n .max(400)\n .optional()\n .nullable(),\n })\n .describe('Additional details.')\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe(\n 'Amount formatted with currency symbol.'\n )\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('The price of the modifier.')\n .optional(),\n })\n )\n .min(1)\n .max(25)\n .optional(),\n })\n )\n .max(25)\n .optional(),\n modifiersTotalPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Total price of all item modifiers. Included in the item price.'\n )\n .optional(),\n })\n )\n .min(1)\n .max(300)\n .optional(),\n buyerNote: z\n .string()\n .describe(\n '[Buyer note](https://support.wix.com/en/article/collecting-and-viewing-buyer-notes) left by the customer.'\n )\n .max(1000)\n .optional()\n .nullable(),\n buyerInfo: z\n .intersection(\n z.object({\n contactId: z\n .string()\n .describe(\n 'Contact ID. For more information, see the Contacts API.'\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 email: z\n .string()\n .describe('Buyer email address.')\n .email()\n .optional()\n .nullable(),\n }),\n z.xor([\n z.object({\n visitorId: z.never().optional(),\n memberId: z.never().optional(),\n userId: z.never().optional(),\n }),\n z.object({\n memberId: z.never().optional(),\n userId: z.never().optional(),\n visitorId: z\n .string()\n .describe('Visitor ID. If the buyer is **not** a site member.')\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 visitorId: z.never().optional(),\n userId: z.never().optional(),\n memberId: z\n .string()\n .describe('Member ID. If the buyer is a site member.')\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 visitorId: z.never().optional(),\n memberId: z.never().optional(),\n userId: z\n .string()\n .describe(\n 'User ID. If the buyer, or cart owner, is a Wix user.'\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 }),\n ])\n )\n .describe('Buyer information.')\n .optional(),\n currency: z\n .string()\n .describe(\n 'The site’s default currency, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. This represents the base currency configured for the site and remains constant regardless of the customer’s currency selection.'\n )\n .optional(),\n conversionCurrency: z\n .string()\n .describe(\n 'The currency [selected by the customer](https://support.wix.com/en/article/multicurrency-an-overview) during the purchase flow, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\\n\\nThis reflects the customer’s preferred display currency and may differ from the site’s default currency.\\nWhen no specific currency is selected by the customer, this matches the `currency` property.'\n )\n .optional(),\n buyerLanguage: z\n .string()\n .describe(\n 'Language for communication with the buyer. Defaults to the site language.\\n\\nFor a site that supports multiple languages, this is the language the buyer selected.'\n )\n .optional()\n .nullable(),\n siteLanguage: z\n .string()\n .describe('Site language in which original values are displayed.')\n .optional()\n .nullable(),\n taxIncludedInPrices: z\n .boolean()\n .describe('Whether tax is included in line item prices.')\n .optional()\n .nullable(),\n weightUnit: z\n .enum(['UNSPECIFIED_WEIGHT_UNIT', 'KG', 'LB'])\n .describe(\"Weight measurement unit - defaults to site's weight unit.\")\n .optional(),\n checkoutId: z\n .string()\n .describe('ID of the checkout that originated from this cart.')\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 appliedDiscounts: z\n .array(\n z.intersection(\n z.object({}),\n z.xor([\n z.object({\n coupon: z.never().optional(),\n merchantDiscount: z.never().optional(),\n }),\n z.object({\n merchantDiscount: z.never().optional(),\n coupon: z\n .object({\n _id: z.string().describe('Coupon ID.').optional(),\n code: z.string().describe('Coupon code.').optional(),\n })\n .describe('Coupon details.'),\n }),\n z.object({\n coupon: z.never().optional(),\n merchantDiscount: z\n .object({\n amount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Discount value.')\n .optional(),\n })\n .describe('Merchant discount.'),\n }),\n ])\n )\n )\n .optional(),\n _createdDate: z\n .date()\n .describe('Date and time the cart was created.')\n .optional()\n .nullable(),\n _updatedDate: z\n .date()\n .describe('Date and time the cart was updated.')\n .optional()\n .nullable(),\n contactInfo: z\n .object({\n address: z\n .object({\n streetAddress: z\n .object({\n name: z.string().optional(),\n number: z.string().optional(),\n })\n .optional(),\n city: z.string().optional().nullable(),\n subdivision: z.string().optional().nullable(),\n country: z.string().optional().nullable(),\n postalCode: z.string().optional().nullable(),\n addressLine2: z.string().optional().nullable(),\n })\n .describe('Address.')\n .optional(),\n contactDetails: z\n .object({\n firstName: z\n .string()\n .describe('First name.')\n .max(100)\n .optional()\n .nullable(),\n lastName: z\n .string()\n .describe('Last name.')\n .max(100)\n .optional()\n .nullable(),\n phone: z.string().describe('Phone number.').optional().nullable(),\n company: z\n .string()\n .describe('Company name.')\n .max(1000)\n .optional()\n .nullable(),\n vatId: z\n .object({\n _id: z.string().describe(\"Customer's tax ID.\").optional(),\n type: z\n .enum(['UNSPECIFIED', 'CPF', 'CNPJ'])\n .describe(\n 'Tax type.\\n\\nSupported values:\\n+ `CPF`: for individual tax payers\\n+ `CNPJ`: for corporations'\n )\n .optional(),\n })\n .describe(\n 'Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed.'\n )\n .optional(),\n })\n .describe('Contact details.')\n .optional(),\n })\n .describe('Contact info.')\n .optional(),\n overrideCheckoutUrl: z\n .string()\n .describe(\n '`overrideCheckoutUrl` allows the flexibility to redirect customers to a customized checkout page.\\n\\nThis field overrides the `checkoutUrl` in a cart or checkout. `checkoutUrl` is used in the Abandoned Checkout API\\nto send customers back to their checkouts. By default, a `checkoutUrl` generates for a checkout and directs to a\\nstandard Wix checkout page. When `overrideCheckoutUrl` has a value, it will replace and set the value of `checkoutUrl`.'\n )\n .max(1000)\n .optional()\n .nullable(),\n purchaseFlowId: z\n .string()\n .describe(\n 'Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.'\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 selectedShippingOption: z\n .object({\n carrierId: z\n .string()\n .describe('Carrier 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 code: z\n .string()\n .describe(\n 'Selected shipping option code. For example, \"usps_std_overnight\".'\n )\n .min(1)\n .max(100)\n .optional(),\n })\n .describe('Selected shipping option.')\n .optional(),\n extendedFields: z\n .object({\n namespaces: z\n .record(z.string(), z.record(z.string(), z.any()))\n .describe(\n 'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n )\n .optional(),\n })\n .describe('Fields extended by data extensions')\n .optional(),\n businessLocationId: z\n .string()\n .describe(\n 'The business location ID associated with the cart.\\n\\nTo learn more, see the Locations API.'\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 paymentCurrency: z\n .string()\n .describe(\n \"The currency used for payment, in three-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\\n\\nThis is determined by the [customer's selected currency](https://support.wix.com/en/article/multicurrency-an-overview) and the site’s supported payment currencies.\\nIf the customer’s selected currency is supported for payment, this matches the `conversionCurrency` property. If not supported, this falls back to the `currency` property.\"\n )\n .optional(),\n revision: z\n .string()\n .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n .describe(\n 'Revision number, which increments by 1 each time the Cart is updated.'\n )\n .optional()\n .nullable(),\n })\n .describe('Cart.')\n .optional(),\n calculatedLineItems: z\n .array(\n z.object({\n lineItemId: z.string().describe('Line item ID.').optional(),\n pricesBreakdown: z\n .object({\n totalPriceAfterTax: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Total price after discounts, tax, and modifiers.')\n .optional(),\n totalPriceBeforeTax: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Total price after discounts and modifiers, and before tax.'\n )\n .optional(),\n taxDetails: z\n .object({\n taxableAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Amount for which tax is calculated.')\n .optional(),\n taxRate: z\n .string()\n .describe('Tax rate %, as a decimal point between 0 and 1.')\n .optional(),\n totalTax: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'Calculated tax, based on `taxable_amount` and `tax_rate`.'\n )\n .optional(),\n rateBreakdown: z\n .array(\n z.object({\n name: z\n .string()\n .describe(\n 'Name of tax against which the calculation was performed.'\n )\n .max(100)\n .optional(),\n rate: z\n .string()\n .describe(\n 'Rate at which this tax detail was calculated.'\n )\n .optional(),\n tax: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Amount of tax for this tax detail.')\n .optional(),\n })\n )\n .optional(),\n taxBreakdown: z\n .array(\n z.object({\n jurisdiction: z\n .string()\n .describe(\n 'The name of the jurisdiction to which this tax detail applies. For example, \"New York\" or \"Quebec\".'\n )\n .max(200)\n .optional()\n .nullable(),\n nonTaxableAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'The amount of this line item price that was considered nontaxable. (Decimal value)'\n )\n .optional(),\n rate: z\n .string()\n .describe(\n 'The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.0000 signifies 200% tax. (Decimal value)'\n )\n .optional()\n .nullable(),\n taxAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'The amount of tax estimated for this line item. (Decimal value)'\n )\n .optional(),\n taxableAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('The taxable amount of this line item.')\n .optional(),\n taxType: z\n .string()\n .describe(\n 'The type of tax that was calculated. Depends on the jurisdiction\\'s tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc.'\n )\n .max(200)\n .optional()\n .nullable(),\n taxName: z\n .string()\n .describe(\n 'The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\\nThis name should be explicit enough to allow the merchant to understand what tax was calculated.'\n )\n .max(200)\n .optional()\n .nullable(),\n jurisdictionType: z\n .enum([\n 'UNDEFINED',\n 'COUNTRY',\n 'STATE',\n 'COUNTY',\n 'CITY',\n 'SPECIAL',\n ])\n .describe(\n 'The type of the jurisdiction in which this tax detail applies.'\n )\n .optional(),\n })\n )\n .min(0)\n .max(1000)\n .optional(),\n })\n .describe('Tax details.')\n .optional(),\n totalDiscount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Total discount applied for the line item.')\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Catalog price after catalog-defined discount, automatic discounts, and modifiers.'\n )\n .optional(),\n priceBeforeDiscounts: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price before automatic discounts, coupons, and global discounts; after catalog-defined discounts and modifiers.\\nDefaults to `price` when not provided.'\n )\n .optional(),\n lineItemPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Total line item price after catalog-defined discounts, automatic discounts, and modifiers.'\n )\n .optional(),\n fullPrice: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Item price before all discounts and modifiers.\\nDefaults to `price` when not provided.'\n )\n .optional(),\n depositAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Partial payment out of `price` to be paid upfront during the checkout.\\nApplies to catalog items with `lineItem.paymentOption` type `DEPOSIT_ONLINE` only.'\n )\n .optional(),\n })\n .describe('Price breakdown for this line item.')\n .optional(),\n paymentOption: z\n .enum([\n 'FULL_PAYMENT_ONLINE',\n 'FULL_PAYMENT_OFFLINE',\n 'MEMBERSHIP',\n 'DEPOSIT_ONLINE',\n 'MEMBERSHIP_OFFLINE',\n 'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n ])\n .describe(\n 'Type of selected payment option for current item. Supported values:\\n+ `\"FULL_PAYMENT_ONLINE\"` - The entire payment for this item will happen as part of the checkout\\n+ `\"FULL_PAYMENT_OFFLINE\"` - The entire payment for this item will happen after the checkout\\n+ `\"MEMBERSHIP\"` - This item cannot be paid via monetary payment options, only via non monetary option such membership. When this option is used, price must be set to 0\\n+ `\"DEPOSIT_ONLINE\"` - Partial payment of the given item will happen as part of the checkout. Amount to be paid is defined by deposit_amount field.'\n )\n .optional(),\n taxableAddress: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({ addressType: z.never().optional() }),\n z.object({\n addressType: z\n .enum(['BUSINESS', 'BILLING', 'SHIPPING'])\n .describe(\n 'taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.'\n ),\n }),\n ])\n )\n .describe('tax calculation address.')\n .optional(),\n })\n )\n .optional(),\n priceSummary: z\n .object({\n subtotal: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Subtotal of all line items, before discounts and before tax.'\n )\n .optional(),\n shipping: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Total shipping price, before discounts and before tax.')\n .optional(),\n tax: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Total tax.')\n .optional(),\n discount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Total calculated discount value.')\n .optional(),\n total: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Total price after discounts, gift cards, and tax.')\n .optional(),\n additionalFees: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Total additional fees price before tax.')\n .optional(),\n })\n .describe('Price summary.')\n .optional(),\n giftCard: z\n .object({\n _id: z.string().describe('Gift Card ID.').optional(),\n obfuscatedCode: z\n .string()\n .describe('Gift card obfuscated code.')\n .optional(),\n amount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Actual amount to be redeemed from the gift card.')\n .optional(),\n appId: z\n .string()\n .describe('App ID of the gift card 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 externalId: z\n .string()\n .describe(\n \"External ID in the gift card provider's system.\\nUsed for integration and tracking across different platforms.\"\n )\n .min(1)\n .max(50)\n .optional()\n .nullable(),\n requestedAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Requested amount to redeem from the gift card.')\n .optional(),\n })\n .describe('Applied gift card.')\n .optional(),\n taxSummary: z\n .object({\n taxableAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Amount for which tax is calculated, added from line items.')\n .optional(),\n totalTax: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Calculated tax, added from line items.')\n .optional(),\n calculationDetails: z\n .intersection(\n z.object({\n rateType: z\n .enum([\n 'NO_TAX_COLLECTED',\n 'MANUAL_RATE',\n 'AUTO_RATE',\n 'FALLBACK_RATE',\n ])\n .describe('Rate calculation type.')\n .optional(),\n }),\n z.xor([\n z.object({\n manualRateReason: z.never().optional(),\n autoTaxFallbackDetails: z.never().optional(),\n }),\n z.object({\n autoTaxFallbackDetails: z.never().optional(),\n manualRateReason: z\n .enum(['GLOBAL_SETTING_TO_MANUAL', 'REGION_SETTING_TO_MANUAL'])\n .describe('Reason the manual calculation was used.'),\n }),\n z.object({\n manualRateReason: z.never().optional(),\n autoTaxFallbackDetails: z\n .object({\n fallbackReason: z\n .enum(['AUTO_TAX_FAILED', 'AUTO_TAX_DEACTIVATED'])\n .describe('reason for fallback')\n .optional(),\n error: z\n .object({\n code: z.string().describe('Error code.').optional(),\n description: z\n .string()\n .describe('Description of the error.')\n .optional(),\n data: z\n .record(z.string(), z.any())\n .describe('Data related to the error.')\n .optional()\n .nullable(),\n })\n .describe(\n 'invalid request (i.e. address), timeout, internal error, license error, and others will be encoded here'\n )\n .optional(),\n })\n .describe('Details of the fallback rate calculation.'),\n }),\n ])\n )\n .describe('Tax calculator that was active when the order was created.')\n .optional(),\n })\n .describe('Tax summary.')\n .optional(),\n shippingInfo: z\n .object({\n region: z\n .object({\n _id: z\n .string()\n .describe('Shipping region 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 name: z\n .string()\n .describe('Shipping region name.')\n .max(100)\n .optional(),\n })\n .describe('Shipping region.')\n .optional(),\n selectedCarrierServiceOption: z\n .object({\n code: z\n .string()\n .describe(\n 'Unique identifier of selected option. For example, \"usps_std_overnight\".'\n )\n .max(100)\n .optional(),\n title: z\n .string()\n .describe(\n 'Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\\nFor example, \"Standard\" or \"First-Class Package International\".'\n )\n .max(250)\n .optional(),\n logistics: z\n .object({\n deliveryTime: z\n .string()\n .describe(\n 'Expected delivery time, in free text. For example, \"3-5 business days\".'\n )\n .max(500)\n .optional()\n .nullable(),\n instructions: z\n .string()\n .describe(\n 'Instructions for caller, e.g for pickup: \"Please deliver during opening hours, and please don\\'t park in disabled parking spot\".'\n )\n .max(1000)\n .optional()\n .nullable(),\n pickupDetails: z\n .object({\n address: z\n .object({\n streetAddress: z\n .object({\n name: z.string().optional(),\n number: z.string().optional(),\n })\n .optional(),\n city: z.string().optional().nullable(),\n subdivision: z.string().optional().nullable(),\n country: z.string().optional().nullable(),\n postalCode: z.string().optional().nullable(),\n addressLine2: z.string().optional().nullable(),\n })\n .describe('Pickup address.')\n .optional(),\n businessLocation: z\n .boolean()\n .describe(\n 'Whether the pickup address is that of a business - this may effect tax calculation.'\n )\n .optional(),\n pickupMethod: z\n .enum(['STORE_PICKUP', 'PICKUP_POINT'])\n .describe('Pickup method')\n .optional(),\n })\n .describe('Pickup details.')\n .optional(),\n })\n .describe('Delivery logistics.')\n .optional(),\n cost: z\n .object({\n totalPriceAfterTax: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Total shipping price, after discount and after tax.')\n .optional(),\n totalPriceBeforeTax: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'Total price of shipping after discounts (when relevant), and before tax.'\n )\n .optional(),\n taxDetails: z\n .object({\n taxableAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Amount for which tax is calculated.')\n .optional(),\n taxRate: z\n .string()\n .describe('Tax rate %, as a decimal point between 0 and 1.')\n .optional(),\n totalTax: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'Calculated tax, based on `taxable_amount` and `tax_rate`.'\n )\n .optional(),\n rateBreakdown: z\n .array(\n z.object({\n name: z\n .string()\n .describe(\n 'Name of tax against which the calculation was performed.'\n )\n .max(100)\n .optional(),\n rate: z\n .string()\n .describe(\n 'Rate at which this tax detail was calculated.'\n )\n .optional(),\n tax: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe(\n 'Amount formatted with currency symbol.'\n )\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Amount of tax for this tax detail.')\n .optional(),\n })\n )\n .optional(),\n taxBreakdown: z\n .array(\n z.object({\n jurisdiction: z\n .string()\n .describe(\n 'The name of the jurisdiction to which this tax detail applies. For example, \"New York\" or \"Quebec\".'\n )\n .max(200)\n .optional()\n .nullable(),\n nonTaxableAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe(\n 'Amount formatted with currency symbol.'\n )\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'The amount of this line item price that was considered nontaxable. (Decimal value)'\n )\n .optional(),\n rate: z\n .string()\n .describe(\n 'The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.0000 signifies 200% tax. (Decimal value)'\n )\n .optional()\n .nullable(),\n taxAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe(\n 'Amount formatted with currency symbol.'\n )\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'The amount of tax estimated for this line item. (Decimal value)'\n )\n .optional(),\n taxableAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe(\n 'Amount formatted with currency symbol.'\n )\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('The taxable amount of this line item.')\n .optional(),\n taxType: z\n .string()\n .describe(\n 'The type of tax that was calculated. Depends on the jurisdiction\\'s tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc.'\n )\n .max(200)\n .optional()\n .nullable(),\n taxName: z\n .string()\n .describe(\n 'The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\\nThis name should be explicit enough to allow the merchant to understand what tax was calculated.'\n )\n .max(200)\n .optional()\n .nullable(),\n jurisdictionType: z\n .enum([\n 'UNDEFINED',\n 'COUNTRY',\n 'STATE',\n 'COUNTY',\n 'CITY',\n 'SPECIAL',\n ])\n .describe(\n 'The type of the jurisdiction in which this tax detail applies.'\n )\n .optional(),\n })\n )\n .min(0)\n .max(1000)\n .optional(),\n })\n .describe('Tax details.')\n .optional(),\n totalDiscount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Shipping discount before tax.')\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Shipping price before discount and before tax.')\n .optional(),\n })\n .describe('Shipping costs.')\n .optional(),\n requestedShippingOption: z\n .boolean()\n .describe(\n 'Were we able to find the requested shipping option, or otherwise we fallback to the default one (the first)'\n )\n .optional(),\n otherCharges: z\n .array(\n z.object({\n type: z\n .enum(['HANDLING_FEE', 'INSURANCE'])\n .describe('Type of additional cost.')\n .optional(),\n details: z\n .string()\n .describe(\n \"Details of the charge, such as 'Full Coverage Insurance of up to 80% of value of shipment'.\"\n )\n .max(200)\n .optional()\n .nullable(),\n cost: z\n .object({\n totalPriceAfterTax: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'Total shipping price, after discount and after tax.'\n )\n .optional(),\n totalPriceBeforeTax: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'Total price of shipping after discounts (when relevant), and before tax.'\n )\n .optional(),\n taxDetails: z\n .object({\n taxableAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe(\n 'Amount formatted with currency symbol.'\n )\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Amount for which tax is calculated.')\n .optional(),\n taxRate: z\n .string()\n .describe(\n 'Tax rate %, as a decimal point between 0 and 1.'\n )\n .optional(),\n totalTax: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe(\n 'Amount formatted with currency symbol.'\n )\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'Calculated tax, based on `taxable_amount` and `tax_rate`.'\n )\n .optional(),\n rateBreakdown: z\n .array(\n z.object({\n name: z\n .string()\n .describe(\n 'Name of tax against which the calculation was performed.'\n )\n .max(100)\n .optional(),\n rate: z\n .string()\n .describe(\n 'Rate at which this tax detail was calculated.'\n )\n .optional(),\n tax: z\n .object({\n amount: z\n .string()\n .describe('Amount.')\n .optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe(\n 'Amount formatted with currency symbol.'\n )\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Amount of tax for this tax detail.')\n .optional(),\n })\n )\n .optional(),\n taxBreakdown: z\n .array(\n z.object({\n jurisdiction: z\n .string()\n .describe(\n 'The name of the jurisdiction to which this tax detail applies. For example, \"New York\" or \"Quebec\".'\n )\n .max(200)\n .optional()\n .nullable(),\n nonTaxableAmount: z\n .object({\n amount: z\n .string()\n .describe('Amount.')\n .optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe(\n 'Amount formatted with currency symbol.'\n )\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'The amount of this line item price that was considered nontaxable. (Decimal value)'\n )\n .optional(),\n rate: z\n .string()\n .describe(\n 'The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.0000 signifies 200% tax. (Decimal value)'\n )\n .optional()\n .nullable(),\n taxAmount: z\n .object({\n amount: z\n .string()\n .describe('Amount.')\n .optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe(\n 'Amount formatted with currency symbol.'\n )\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'The amount of tax estimated for this line item. (Decimal value)'\n )\n .optional(),\n taxableAmount: z\n .object({\n amount: z\n .string()\n .describe('Amount.')\n .optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe(\n 'Amount formatted with currency symbol.'\n )\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'The taxable amount of this line item.'\n )\n .optional(),\n taxType: z\n .string()\n .describe(\n 'The type of tax that was calculated. Depends on the jurisdiction\\'s tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc.'\n )\n .max(200)\n .optional()\n .nullable(),\n taxName: z\n .string()\n .describe(\n 'The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\\nThis name should be explicit enough to allow the merchant to understand what tax was calculated.'\n )\n .max(200)\n .optional()\n .nullable(),\n jurisdictionType: z\n .enum([\n 'UNDEFINED',\n 'COUNTRY',\n 'STATE',\n 'COUNTY',\n 'CITY',\n 'SPECIAL',\n ])\n .describe(\n 'The type of the jurisdiction in which this tax detail applies.'\n )\n .optional(),\n })\n )\n .min(0)\n .max(1000)\n .optional(),\n })\n .describe('Tax details.')\n .optional(),\n totalDiscount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Shipping discount before tax.')\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'Shipping price before discount and before tax.'\n )\n .optional(),\n })\n .describe('Price of added charge.')\n .optional(),\n })\n )\n .optional(),\n carrierId: z\n .string()\n .describe(\"This carrier's unique 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 deliveryAllocations: z\n .array(\n z.object({\n deliveryCarrier: z\n .object({\n appId: z\n .string()\n .describe('The carrier app id')\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n code: z\n .string()\n .describe(\n 'Unique code that acts as an ID for a shipping rate. For example, `\"usps_std_overnight\"`.'\n )\n .max(250)\n .optional(),\n })\n .describe(\n \"The delivery option's carrier details, could be multiple if the delivery option is a combination of multiple carriers\"\n )\n .optional(),\n deliveryRegion: z\n .object({\n _id: z\n .string()\n .describe('The delivery region 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 name: z\n .string()\n .describe('The delivery region name.')\n .max(100)\n .optional()\n .nullable(),\n })\n .describe(\n 'The delivery region that are relevant for this delivery solution.'\n )\n .optional(),\n applicableLineItems: z\n .object({\n lineItemIds: z.array(z.string()).max(300).optional(),\n })\n .describe(\n 'Populated if the delivery solution is a partially supplied by this carrier.'\n )\n .optional(),\n })\n )\n .max(300)\n .optional(),\n partial: z\n .boolean()\n .describe(\n \"If the delivery solution is a partial and doesn't apply to all items.\"\n )\n .optional()\n .nullable(),\n })\n .describe('Selected shipping option.')\n .optional(),\n carrierServiceOptions: z\n .array(\n z.object({\n carrierId: z\n .string()\n .describe('Carrier 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 shippingOptions: z\n .array(\n z.object({\n code: z\n .string()\n .describe(\n 'Unique code of provided shipping option like \"usps_std_overnight\".\\nFor legacy calculators this would be the UUID of the option.'\n )\n .max(100)\n .optional(),\n title: z\n .string()\n .describe(\n 'Title of the option, such as USPS Standard Overnight Delivery (in the requested locale).\\nFor example, \"Standard\" or \"First-Class Package International\".'\n )\n .max(250)\n .optional(),\n logistics: z\n .object({\n deliveryTime: z\n .string()\n .describe(\n 'Expected delivery time, in free text. For example, \"3-5 business days\".'\n )\n .max(500)\n .optional()\n .nullable(),\n instructions: z\n .string()\n .describe(\n 'Instructions for caller, e.g for pickup: \"Please deliver during opening hours, and please don\\'t park in disabled parking spot\".'\n )\n .max(1000)\n .optional()\n .nullable(),\n pickupDetails: z\n .object({\n address: z\n .object({\n streetAddress: z\n .object({\n name: z.string().optional(),\n number: z.string().optional(),\n })\n .optional(),\n city: z.string().optional().nullable(),\n subdivision: z.string().optional().nullable(),\n country: z.string().optional().nullable(),\n postalCode: z.string().optional().nullable(),\n addressLine2: z.string().optional().nullable(),\n })\n .describe('Pickup address.')\n .optional(),\n businessLocation: z\n .boolean()\n .describe(\n 'Whether the pickup address is that of a business - this may effect tax calculation.'\n )\n .optional(),\n pickupMethod: z\n .enum(['STORE_PICKUP', 'PICKUP_POINT'])\n .describe('Pickup method')\n .optional(),\n })\n .describe('Pickup details.')\n .optional(),\n })\n .describe('Delivery logistics.')\n .optional(),\n cost: z\n .object({\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Shipping price.')\n .optional(),\n otherCharges: z\n .array(\n z.object({\n type: z\n .enum(['HANDLING_FEE', 'INSURANCE'])\n .describe('Type of additional cost.')\n .optional(),\n price: z\n .object({\n amount: z\n .string()\n .describe('Amount.')\n .optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe(\n 'Amount formatted with currency symbol.'\n )\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Price of added cost.')\n .optional(),\n details: z\n .string()\n .describe(\n 'Description of the additional charge. For example, `\"Handling fee of $5 applied for gift wrapping\"`.'\n )\n .max(250)\n .optional()\n .nullable(),\n })\n )\n .optional(),\n })\n .describe('Sipping price information.')\n .optional(),\n deliveryAllocations: z\n .array(\n z.object({\n deliveryCarrier: z\n .object({\n appId: z\n .string()\n .describe('The carrier app id')\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n code: z\n .string()\n .describe(\n 'Unique code that acts as an ID for a shipping rate. For example, `\"usps_std_overnight\"`.'\n )\n .max(250)\n .optional(),\n })\n .describe(\n \"The delivery option's carrier details, could be multiple if the delivery option is a combination of multiple carriers\"\n )\n .optional(),\n deliveryRegion: z\n .object({\n _id: z\n .string()\n .describe('The delivery region 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 name: z\n .string()\n .describe('The delivery region name.')\n .max(100)\n .optional()\n .nullable(),\n })\n .describe(\n 'The delivery region that are relevant for this delivery solution.'\n )\n .optional(),\n applicableLineItems: z\n .object({\n lineItemIds: z\n .array(z.string())\n .max(300)\n .optional(),\n })\n .describe(\n 'Populated if the delivery solution is a partially supplied by this carrier.'\n )\n .optional(),\n })\n )\n .max(300)\n .optional(),\n partial: z\n .boolean()\n .describe(\n \"If the delivery solution is a partial and doesn't apply to all items.\"\n )\n .optional()\n .nullable(),\n })\n )\n .optional(),\n })\n )\n .optional(),\n })\n .describe('Shipping information.')\n .optional(),\n appliedDiscounts: z\n .array(\n z.intersection(\n z.object({\n discountType: z\n .enum(['GLOBAL', 'SPECIFIC_ITEMS', 'SHIPPING'])\n .describe('Discount type.')\n .optional(),\n lineItemIds: z.array(z.string()).optional(),\n }),\n z.xor([\n z.object({\n coupon: z.never().optional(),\n merchantDiscount: z.never().optional(),\n discountRule: z.never().optional(),\n }),\n z.object({\n merchantDiscount: z.never().optional(),\n discountRule: z.never().optional(),\n coupon: z\n .object({\n _id: z.string().describe('Coupon ID.').optional(),\n code: z.string().describe('Coupon code.').optional(),\n amount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Coupon value.')\n .optional(),\n name: z.string().describe('Coupon name.').optional(),\n })\n .describe('Coupon details.'),\n }),\n z.object({\n coupon: z.never().optional(),\n discountRule: z.never().optional(),\n merchantDiscount: z\n .object({\n amount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Discount value.')\n .optional(),\n percentage: z\n .number()\n .describe(\n 'Discount Percentage. Will be calculated from items price before other discounts.'\n )\n .min(1)\n .max(100)\n .optional()\n .nullable(),\n })\n .describe('Merchant discount.'),\n }),\n z.object({\n coupon: z.never().optional(),\n merchantDiscount: z.never().optional(),\n discountRule: z\n .object({\n _id: z\n .string()\n .describe('Discount rule 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 name: z\n .object({\n original: z\n .string()\n .describe(\n \"Original discount rule name (in site's default language).\"\n )\n .min(1)\n .max(256)\n .optional(),\n translated: z\n .string()\n .describe(\n 'Translated discount rule name according to buyer language. Defaults to `original` when not provided.'\n )\n .min(1)\n .max(500)\n .optional()\n .nullable(),\n })\n .describe('Discount rule name')\n .optional(),\n amount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Discount value.')\n .optional(),\n })\n .describe('Discount rule'),\n }),\n ])\n )\n )\n .optional(),\n calculationErrors: z\n .intersection(\n z.object({\n taxCalculationError: z\n .intersection(\n z.object({\n tracing: z\n .record(z.string(), z.string())\n .describe(\n \"deprecated in API's - to enable migration from rendering arbitrary tracing to rest response\"\n )\n .optional(),\n }),\n z.xor([\n z.object({\n applicationError: z.never().optional(),\n validationError: z.never().optional(),\n systemError: z.never().optional(),\n }),\n z.object({\n validationError: z.never().optional(),\n systemError: z.never().optional(),\n applicationError: z.object({\n code: z.string().describe('Error code.').optional(),\n description: z\n .string()\n .describe('Description of the error.')\n .optional(),\n data: z\n .record(z.string(), z.any())\n .describe('Data related to the error.')\n .optional()\n .nullable(),\n }),\n }),\n z.object({\n applicationError: z.never().optional(),\n systemError: z.never().optional(),\n validationError: z.object({\n fieldViolations: z\n .array(\n z.object({\n field: z.string().optional(),\n description: z.string().optional(),\n violatedRule: z\n .enum([\n 'VALIDATION',\n 'OTHER',\n 'MAX',\n 'MIN',\n 'MAX_LENGTH',\n 'MIN_LENGTH',\n 'MAX_SIZE',\n 'MIN_SIZE',\n 'FORMAT',\n 'DECIMAL_LTE',\n 'DECIMAL_GTE',\n 'DECIMAL_LT',\n 'DECIMAL_GT',\n 'DECIMAL_MAX_SCALE',\n 'INVALID_ENUM_VALUE',\n 'REQUIRED_FIELD',\n 'FIELD_NOT_ALLOWED',\n 'ONE_OF_ALIGNMENT',\n 'EXACT_LENGTH',\n 'EXACT_SIZE',\n 'REQUIRED_ONE_OF_FIELD',\n ])\n .optional(),\n ruleName: z\n .string()\n .describe('applicable when violated_rule=OTHER')\n .optional()\n .nullable(),\n data: z\n .record(z.string(), z.any())\n .optional()\n .nullable(),\n })\n )\n .optional(),\n }),\n }),\n z.object({\n applicationError: z.never().optional(),\n validationError: z.never().optional(),\n systemError: z.object({\n errorCode: z\n .string()\n .describe('Error code.')\n .optional()\n .nullable(),\n }),\n }),\n ])\n )\n .describe('Tax calculation error.')\n .optional(),\n couponCalculationError: z\n .intersection(\n z.object({\n tracing: z\n .record(z.string(), z.string())\n .describe(\n \"deprecated in API's - to enable migration from rendering arbitrary tracing to rest response\"\n )\n .optional(),\n }),\n z.xor([\n z.object({\n applicationError: z.never().optional(),\n validationError: z.never().optional(),\n systemError: z.never().optional(),\n }),\n z.object({\n validationError: z.never().optional(),\n systemError: z.never().optional(),\n applicationError: z.object({\n code: z.string().describe('Error code.').optional(),\n description: z\n .string()\n .describe('Description of the error.')\n .optional(),\n data: z\n .record(z.string(), z.any())\n .describe('Data related to the error.')\n .optional()\n .nullable(),\n }),\n }),\n z.object({\n applicationError: z.never().optional(),\n systemError: z.never().optional(),\n validationError: z.object({\n fieldViolations: z\n .array(\n z.object({\n field: z.string().optional(),\n description: z.string().optional(),\n violatedRule: z\n .enum([\n 'VALIDATION',\n 'OTHER',\n 'MAX',\n 'MIN',\n 'MAX_LENGTH',\n 'MIN_LENGTH',\n 'MAX_SIZE',\n 'MIN_SIZE',\n 'FORMAT',\n 'DECIMAL_LTE',\n 'DECIMAL_GTE',\n 'DECIMAL_LT',\n 'DECIMAL_GT',\n 'DECIMAL_MAX_SCALE',\n 'INVALID_ENUM_VALUE',\n 'REQUIRED_FIELD',\n 'FIELD_NOT_ALLOWED',\n 'ONE_OF_ALIGNMENT',\n 'EXACT_LENGTH',\n 'EXACT_SIZE',\n 'REQUIRED_ONE_OF_FIELD',\n ])\n .optional(),\n ruleName: z\n .string()\n .describe('applicable when violated_rule=OTHER')\n .optional()\n .nullable(),\n data: z\n .record(z.string(), z.any())\n .optional()\n .nullable(),\n })\n )\n .optional(),\n }),\n }),\n z.object({\n applicationError: z.never().optional(),\n validationError: z.never().optional(),\n systemError: z.object({\n errorCode: z\n .string()\n .describe('Error code.')\n .optional()\n .nullable(),\n }),\n }),\n ])\n )\n .describe('Coupon calculation error.')\n .optional(),\n giftCardCalculationError: z\n .intersection(\n z.object({\n tracing: z\n .record(z.string(), z.string())\n .describe(\n \"deprecated in API's - to enable migration from rendering arbitrary tracing to rest response\"\n )\n .optional(),\n }),\n z.xor([\n z.object({\n applicationError: z.never().optional(),\n validationError: z.never().optional(),\n systemError: z.never().optional(),\n }),\n z.object({\n validationError: z.never().optional(),\n systemError: z.never().optional(),\n applicationError: z.object({\n code: z.string().describe('Error code.').optional(),\n description: z\n .string()\n .describe('Description of the error.')\n .optional(),\n data: z\n .record(z.string(), z.any())\n .describe('Data related to the error.')\n .optional()\n .nullable(),\n }),\n }),\n z.object({\n applicationError: z.never().optional(),\n systemError: z.never().optional(),\n validationError: z.object({\n fieldViolations: z\n .array(\n z.object({\n field: z.string().optional(),\n description: z.string().optional(),\n violatedRule: z\n .enum([\n 'VALIDATION',\n 'OTHER',\n 'MAX',\n 'MIN',\n 'MAX_LENGTH',\n 'MIN_LENGTH',\n 'MAX_SIZE',\n 'MIN_SIZE',\n 'FORMAT',\n 'DECIMAL_LTE',\n 'DECIMAL_GTE',\n 'DECIMAL_LT',\n 'DECIMAL_GT',\n 'DECIMAL_MAX_SCALE',\n 'INVALID_ENUM_VALUE',\n 'REQUIRED_FIELD',\n 'FIELD_NOT_ALLOWED',\n 'ONE_OF_ALIGNMENT',\n 'EXACT_LENGTH',\n 'EXACT_SIZE',\n 'REQUIRED_ONE_OF_FIELD',\n ])\n .optional(),\n ruleName: z\n .string()\n .describe('applicable when violated_rule=OTHER')\n .optional()\n .nullable(),\n data: z\n .record(z.string(), z.any())\n .optional()\n .nullable(),\n })\n )\n .optional(),\n }),\n }),\n z.object({\n applicationError: z.never().optional(),\n validationError: z.never().optional(),\n systemError: z.object({\n errorCode: z\n .string()\n .describe('Error code.')\n .optional()\n .nullable(),\n }),\n }),\n ])\n )\n .describe('Gift card calculation error.')\n .optional(),\n orderValidationErrors: z\n .array(\n z.object({\n code: z.string().describe('Error code.').optional(),\n description: z\n .string()\n .describe('Description of the error.')\n .optional(),\n data: z\n .record(z.string(), z.any())\n .describe('Data related to the error.')\n .optional()\n .nullable(),\n })\n )\n .optional(),\n membershipError: z\n .intersection(\n z.object({\n tracing: z\n .record(z.string(), z.string())\n .describe(\n \"deprecated in API's - to enable migration from rendering arbitrary tracing to rest response\"\n )\n .optional(),\n }),\n z.xor([\n z.object({\n applicationError: z.never().optional(),\n validationError: z.never().optional(),\n systemError: z.never().optional(),\n }),\n z.object({\n validationError: z.never().optional(),\n systemError: z.never().optional(),\n applicationError: z.object({\n code: z.string().describe('Error code.').optional(),\n description: z\n .string()\n .describe('Description of the error.')\n .optional(),\n data: z\n .record(z.string(), z.any())\n .describe('Data related to the error.')\n .optional()\n .nullable(),\n }),\n }),\n z.object({\n applicationError: z.never().optional(),\n systemError: z.never().optional(),\n validationError: z.object({\n fieldViolations: z\n .array(\n z.object({\n field: z.string().optional(),\n description: z.string().optional(),\n violatedRule: z\n .enum([\n 'VALIDATION',\n 'OTHER',\n 'MAX',\n 'MIN',\n 'MAX_LENGTH',\n 'MIN_LENGTH',\n 'MAX_SIZE',\n 'MIN_SIZE',\n 'FORMAT',\n 'DECIMAL_LTE',\n 'DECIMAL_GTE',\n 'DECIMAL_LT',\n 'DECIMAL_GT',\n 'DECIMAL_MAX_SCALE',\n 'INVALID_ENUM_VALUE',\n 'REQUIRED_FIELD',\n 'FIELD_NOT_ALLOWED',\n 'ONE_OF_ALIGNMENT',\n 'EXACT_LENGTH',\n 'EXACT_SIZE',\n 'REQUIRED_ONE_OF_FIELD',\n ])\n .optional(),\n ruleName: z\n .string()\n .describe('applicable when violated_rule=OTHER')\n .optional()\n .nullable(),\n data: z\n .record(z.string(), z.any())\n .optional()\n .nullable(),\n })\n )\n .optional(),\n }),\n }),\n z.object({\n applicationError: z.never().optional(),\n validationError: z.never().optional(),\n systemError: z.object({\n errorCode: z\n .string()\n .describe('Error code.')\n .optional()\n .nullable(),\n }),\n }),\n ])\n )\n .describe(\n \"Membership payment methods calculation errors\\nFor example, will indicate that a line item that must be paid with membership payment doesn't have one or selected memberships are invalid\"\n )\n .optional(),\n discountsCalculationError: z\n .intersection(\n z.object({\n tracing: z\n .record(z.string(), z.string())\n .describe(\n \"deprecated in API's - to enable migration from rendering arbitrary tracing to rest response\"\n )\n .optional(),\n }),\n z.xor([\n z.object({\n applicationError: z.never().optional(),\n validationError: z.never().optional(),\n systemError: z.never().optional(),\n }),\n z.object({\n validationError: z.never().optional(),\n systemError: z.never().optional(),\n applicationError: z.object({\n code: z.string().describe('Error code.').optional(),\n description: z\n .string()\n .describe('Description of the error.')\n .optional(),\n data: z\n .record(z.string(), z.any())\n .describe('Data related to the error.')\n .optional()\n .nullable(),\n }),\n }),\n z.object({\n applicationError: z.never().optional(),\n systemError: z.never().optional(),\n validationError: z.object({\n fieldViolations: z\n .array(\n z.object({\n field: z.string().optional(),\n description: z.string().optional(),\n violatedRule: z\n .enum([\n 'VALIDATION',\n 'OTHER',\n 'MAX',\n 'MIN',\n 'MAX_LENGTH',\n 'MIN_LENGTH',\n 'MAX_SIZE',\n 'MIN_SIZE',\n 'FORMAT',\n 'DECIMAL_LTE',\n 'DECIMAL_GTE',\n 'DECIMAL_LT',\n 'DECIMAL_GT',\n 'DECIMAL_MAX_SCALE',\n 'INVALID_ENUM_VALUE',\n 'REQUIRED_FIELD',\n 'FIELD_NOT_ALLOWED',\n 'ONE_OF_ALIGNMENT',\n 'EXACT_LENGTH',\n 'EXACT_SIZE',\n 'REQUIRED_ONE_OF_FIELD',\n ])\n .optional(),\n ruleName: z\n .string()\n .describe('applicable when violated_rule=OTHER')\n .optional()\n .nullable(),\n data: z\n .record(z.string(), z.any())\n .optional()\n .nullable(),\n })\n )\n .optional(),\n }),\n }),\n z.object({\n applicationError: z.never().optional(),\n validationError: z.never().optional(),\n systemError: z.object({\n errorCode: z\n .string()\n .describe('Error code.')\n .optional()\n .nullable(),\n }),\n }),\n ])\n )\n .describe('Discount Rule calculation error.')\n .optional(),\n }),\n z.xor([\n z.object({\n generalShippingCalculationError: z.never().optional(),\n carrierErrors: z.never().optional(),\n selectedShippingOptionError: z.never().optional(),\n }),\n z.object({\n carrierErrors: z.never().optional(),\n selectedShippingOptionError: z.never().optional(),\n generalShippingCalculationError: z\n .intersection(\n z.object({\n tracing: z\n .record(z.string(), z.string())\n .describe(\n \"deprecated in API's - to enable migration from rendering arbitrary tracing to rest response\"\n )\n .optional(),\n }),\n z.xor([\n z.object({\n applicationError: z.never().optional(),\n validationError: z.never().optional(),\n systemError: z.never().optional(),\n }),\n z.object({\n validationError: z.never().optional(),\n systemError: z.never().optional(),\n applicationError: z.object({\n code: z.string().describe('Error code.').optional(),\n description: z\n .string()\n .describe('Description of the error.')\n .optional(),\n data: z\n .record(z.string(), z.any())\n .describe('Data related to the error.')\n .optional()\n .nullable(),\n }),\n }),\n z.object({\n applicationError: z.never().optional(),\n systemError: z.never().optional(),\n validationError: z.object({\n fieldViolations: z\n .array(\n z.object({\n field: z.string().optional(),\n description: z.string().optional(),\n violatedRule: z\n .enum([\n 'VALIDATION',\n 'OTHER',\n 'MAX',\n 'MIN',\n 'MAX_LENGTH',\n 'MIN_LENGTH',\n 'MAX_SIZE',\n 'MIN_SIZE',\n 'FORMAT',\n 'DECIMAL_LTE',\n 'DECIMAL_GTE',\n 'DECIMAL_LT',\n 'DECIMAL_GT',\n 'DECIMAL_MAX_SCALE',\n 'INVALID_ENUM_VALUE',\n 'REQUIRED_FIELD',\n 'FIELD_NOT_ALLOWED',\n 'ONE_OF_ALIGNMENT',\n 'EXACT_LENGTH',\n 'EXACT_SIZE',\n 'REQUIRED_ONE_OF_FIELD',\n ])\n .optional(),\n ruleName: z\n .string()\n .describe('applicable when violated_rule=OTHER')\n .optional()\n .nullable(),\n data: z\n .record(z.string(), z.any())\n .optional()\n .nullable(),\n })\n )\n .optional(),\n }),\n }),\n z.object({\n applicationError: z.never().optional(),\n validationError: z.never().optional(),\n systemError: z.object({\n errorCode: z\n .string()\n .describe('Error code.')\n .optional()\n .nullable(),\n }),\n }),\n ])\n )\n .describe('General shipping calculation error.'),\n }),\n z.object({\n generalShippingCalculationError: z.never().optional(),\n selectedShippingOptionError: z.never().optional(),\n carrierErrors: z\n .object({\n errors: z\n .array(\n z.object({\n carrierId: z.string().describe('Carrier ID.').optional(),\n error: z\n .intersection(\n z.object({\n tracing: z\n .record(z.string(), z.string())\n .describe(\n \"deprecated in API's - to enable migration from rendering arbitrary tracing to rest response\"\n )\n .optional(),\n }),\n z.xor([\n z.object({\n applicationError: z.never().optional(),\n validationError: z.never().optional(),\n systemError: z.never().optional(),\n }),\n z.object({\n validationError: z.never().optional(),\n systemError: z.never().optional(),\n applicationError: z.object({\n code: z\n .string()\n .describe('Error code.')\n .optional(),\n description: z\n .string()\n .describe('Description of the error.')\n .optional(),\n data: z\n .record(z.string(), z.any())\n .describe('Data related to the error.')\n .optional()\n .nullable(),\n }),\n }),\n z.object({\n applicationError: z.never().optional(),\n systemError: z.never().optional(),\n validationError: z.object({\n fieldViolations: z\n .array(\n z.object({\n field: z.string().optional(),\n description: z.string().optional(),\n violatedRule: z\n .enum([\n 'VALIDATION',\n 'OTHER',\n 'MAX',\n 'MIN',\n 'MAX_LENGTH',\n 'MIN_LENGTH',\n 'MAX_SIZE',\n 'MIN_SIZE',\n 'FORMAT',\n 'DECIMAL_LTE',\n 'DECIMAL_GTE',\n 'DECIMAL_LT',\n 'DECIMAL_GT',\n 'DECIMAL_MAX_SCALE',\n 'INVALID_ENUM_VALUE',\n 'REQUIRED_FIELD',\n 'FIELD_NOT_ALLOWED',\n 'ONE_OF_ALIGNMENT',\n 'EXACT_LENGTH',\n 'EXACT_SIZE',\n 'REQUIRED_ONE_OF_FIELD',\n ])\n .optional(),\n ruleName: z\n .string()\n .describe(\n 'applicable when violated_rule=OTHER'\n )\n .optional()\n .nullable(),\n data: z\n .record(z.string(), z.any())\n .optional()\n .nullable(),\n })\n )\n .optional(),\n }),\n }),\n z.object({\n applicationError: z.never().optional(),\n validationError: z.never().optional(),\n systemError: z.object({\n errorCode: z\n .string()\n .describe('Error code.')\n .optional()\n .nullable(),\n }),\n }),\n ])\n )\n .describe('Error details.')\n .optional(),\n })\n )\n .optional(),\n })\n .describe('Errors related to the delivery carrier.'),\n }),\n z.object({\n generalShippingCalculationError: z.never().optional(),\n carrierErrors: z.never().optional(),\n selectedShippingOptionError: z\n .intersection(\n z.object({\n tracing: z\n .record(z.string(), z.string())\n .describe(\n \"deprecated in API's - to enable migration from rendering arbitrary tracing to rest response\"\n )\n .optional(),\n }),\n z.xor([\n z.object({\n applicationError: z.never().optional(),\n validationError: z.never().optional(),\n systemError: z.never().optional(),\n }),\n z.object({\n validationError: z.never().optional(),\n systemError: z.never().optional(),\n applicationError: z.object({\n code: z.string().describe('Error code.').optional(),\n description: z\n .string()\n .describe('Description of the error.')\n .optional(),\n data: z\n .record(z.string(), z.any())\n .describe('Data related to the error.')\n .optional()\n .nullable(),\n }),\n }),\n z.object({\n applicationError: z.never().optional(),\n systemError: z.never().optional(),\n validationError: z.object({\n fieldViolations: z\n .array(\n z.object({\n field: z.string().optional(),\n description: z.string().optional(),\n violatedRule: z\n .enum([\n 'VALIDATION',\n 'OTHER',\n 'MAX',\n 'MIN',\n 'MAX_LENGTH',\n 'MIN_LENGTH',\n 'MAX_SIZE',\n 'MIN_SIZE',\n 'FORMAT',\n 'DECIMAL_LTE',\n 'DECIMAL_GTE',\n 'DECIMAL_LT',\n 'DECIMAL_GT',\n 'DECIMAL_MAX_SCALE',\n 'INVALID_ENUM_VALUE',\n 'REQUIRED_FIELD',\n 'FIELD_NOT_ALLOWED',\n 'ONE_OF_ALIGNMENT',\n 'EXACT_LENGTH',\n 'EXACT_SIZE',\n 'REQUIRED_ONE_OF_FIELD',\n ])\n .optional(),\n ruleName: z\n .string()\n .describe('applicable when violated_rule=OTHER')\n .optional()\n .nullable(),\n data: z\n .record(z.string(), z.any())\n .optional()\n .nullable(),\n })\n )\n .optional(),\n }),\n }),\n z.object({\n applicationError: z.never().optional(),\n validationError: z.never().optional(),\n systemError: z.object({\n errorCode: z\n .string()\n .describe('Error code.')\n .optional()\n .nullable(),\n }),\n }),\n ])\n )\n .describe('Error related to the selected shipping option.'),\n }),\n ])\n )\n .describe('Calculation errors.')\n .optional(),\n weightUnit: z\n .enum(['UNSPECIFIED_WEIGHT_UNIT', 'KG', 'LB'])\n .describe(\"Weight measurement unit. Defaults to site's weight unit.\")\n .optional(),\n currency: z\n .string()\n .describe('Currency used for pricing in this store.')\n .optional(),\n payNow: z\n .object({\n subtotal: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Subtotal of all line items, before discounts and before tax.'\n )\n .optional(),\n shipping: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Total shipping price, before discounts and before tax.')\n .optional(),\n tax: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Total tax.')\n .optional(),\n discount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Total calculated discount value.')\n .optional(),\n total: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Total price after discounts, gift cards, and tax.')\n .optional(),\n additionalFees: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Total additional fees price before tax.')\n .optional(),\n })\n .describe('Minimal amount to pay in order to place the order.')\n .optional(),\n payLater: z\n .object({\n subtotal: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Subtotal of all line items, before discounts and before tax.'\n )\n .optional(),\n shipping: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Total shipping price, before discounts and before tax.')\n .optional(),\n tax: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Total tax.')\n .optional(),\n discount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Total calculated discount value.')\n .optional(),\n total: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Total price after discounts, gift cards, and tax.')\n .optional(),\n additionalFees: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z.string().describe('Converted amount.').optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Total additional fees price before tax.')\n .optional(),\n })\n .describe('Remaining amount for the order to be fully paid.')\n .optional(),\n membershipOptions: z\n .object({\n eligibleMemberships: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Membership ID.')\n .min(1)\n .max(100)\n .optional(),\n appId: z\n .string()\n .describe('ID of the application providing this payment option.')\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 .object({\n original: z\n .string()\n .describe('Membership name.')\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n 'Translated membership name. Defaults to `original` when not provided.'\n )\n .max(100)\n .optional()\n .nullable(),\n })\n .describe('The name of this membership.')\n .optional(),\n lineItemIds: z.array(z.string()).min(1).max(300).optional(),\n credits: z\n .object({\n total: z\n .number()\n .int()\n .describe(\"Membership's initial value.\")\n .min(1)\n .optional(),\n remaining: z\n .number()\n .int()\n .describe(\"Membership's remaining value.\")\n .min(0)\n .optional(),\n })\n .describe(\n 'Optional - For a membership that has limited credits, information about credit usage.'\n )\n .optional(),\n expirationDate: z\n .date()\n .describe('Optional - TMembership expiry date.')\n .optional()\n .nullable(),\n additionalData: z\n .record(z.string(), z.any())\n .describe('Additional data about this membership.')\n .optional()\n .nullable(),\n })\n )\n .max(300)\n .optional(),\n invalidMemberships: z\n .array(\n z.object({\n membership: z\n .object({\n _id: z\n .string()\n .describe('Membership ID.')\n .min(1)\n .max(100)\n .optional(),\n appId: z\n .string()\n .describe(\n 'ID of the application providing this payment option.'\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 .object({\n original: z\n .string()\n .describe('Membership name.')\n .max(100)\n .optional(),\n translated: z\n .string()\n .describe(\n 'Translated membership name. Defaults to `original` when not provided.'\n )\n .max(100)\n .optional()\n .nullable(),\n })\n .describe('The name of this membership.')\n .optional(),\n lineItemIds: z.array(z.string()).min(1).max(300).optional(),\n credits: z\n .object({\n total: z\n .number()\n .int()\n .describe(\"Membership's initial value.\")\n .min(1)\n .optional(),\n remaining: z\n .number()\n .int()\n .describe(\"Membership's remaining value.\")\n .min(0)\n .optional(),\n })\n .describe(\n 'Optional - For a membership that has limited credits, information about credit usage.'\n )\n .optional(),\n expirationDate: z\n .date()\n .describe('Optional - TMembership expiry date.')\n .optional()\n .nullable(),\n additionalData: z\n .record(z.string(), z.any())\n .describe('Additional data about this membership.')\n .optional()\n .nullable(),\n })\n .describe('Membership details.')\n .optional(),\n reason: z\n .string()\n .describe(\n 'Reason why this membership is invalid and cannot be used.'\n )\n .min(1)\n .max(100)\n .optional(),\n })\n )\n .max(300)\n .optional(),\n selectedMemberships: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Membership ID.')\n .min(1)\n .max(100)\n .optional(),\n appId: z\n .string()\n .describe('ID of the app providing this payment option.')\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 lineItemIds: z.array(z.string()).min(1).max(300).optional(),\n })\n )\n .max(300)\n .optional(),\n })\n .describe(\n 'Information about valid and invalid memberships, and which ones are selected for usage.'\n )\n .optional(),\n additionalFees: z\n .array(\n z.object({\n code: z\n .string()\n .describe(\n \"Additional fee's unique code (or ID) for future processing.\"\n )\n .min(1)\n .max(100)\n .optional()\n .nullable(),\n name: z\n .string()\n .describe(\"Additional fee's name.\")\n .min(1)\n .max(50)\n .optional(),\n price: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\"Additional fee's price.\")\n .optional(),\n taxDetails: z\n .object({\n taxableAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe('Amount for which tax is calculated.')\n .optional(),\n taxRate: z\n .string()\n .describe('Tax rate %, as a decimal point between 0 and 1.')\n .optional(),\n totalTax: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\n 'Calculated tax, based on `taxable_amount` and `tax_rate`.'\n )\n .optional(),\n rateBreakdown: z\n .array(\n z.object({\n name: z\n .string()\n .describe(\n 'Name of tax against which the calculation was performed.'\n )\n .max(100)\n .optional(),\n rate: z\n .string()\n .describe('Rate at which this tax detail was calculated.')\n .optional(),\n tax: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('Amount of tax for this tax detail.')\n .optional(),\n })\n )\n .optional(),\n taxBreakdown: z\n .array(\n z.object({\n jurisdiction: z\n .string()\n .describe(\n 'The name of the jurisdiction to which this tax detail applies. For example, \"New York\" or \"Quebec\".'\n )\n .max(200)\n .optional()\n .nullable(),\n nonTaxableAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'The amount of this line item price that was considered nontaxable. (Decimal value)'\n )\n .optional(),\n rate: z\n .string()\n .describe(\n 'The rate at which this tax detail was calculated, e.g 0.1000 signifies 10% tax and 2.0000 signifies 200% tax. (Decimal value)'\n )\n .optional()\n .nullable(),\n taxAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe(\n 'The amount of tax estimated for this line item. (Decimal value)'\n )\n .optional(),\n taxableAmount: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe(\n 'Converted amount formatted with currency symbol.'\n )\n .optional(),\n })\n .describe('The taxable amount of this line item.')\n .optional(),\n taxType: z\n .string()\n .describe(\n 'The type of tax that was calculated. Depends on the jurisdiction\\'s tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc.'\n )\n .max(200)\n .optional()\n .nullable(),\n taxName: z\n .string()\n .describe(\n 'The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\\nThis name should be explicit enough to allow the merchant to understand what tax was calculated.'\n )\n .max(200)\n .optional()\n .nullable(),\n jurisdictionType: z\n .enum([\n 'UNDEFINED',\n 'COUNTRY',\n 'STATE',\n 'COUNTY',\n 'CITY',\n 'SPECIAL',\n ])\n .describe(\n 'The type of the jurisdiction in which this tax detail applies.'\n )\n .optional(),\n })\n )\n .min(0)\n .max(1000)\n .optional(),\n })\n .describe('Tax details.')\n .optional(),\n providerAppId: z\n .string()\n .describe(\"Provider's app id.\")\n .min(1)\n .max(100)\n .optional()\n .nullable(),\n priceBeforeTax: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\"Additional fee's price before tax.\")\n .optional(),\n priceAfterTax: z\n .object({\n amount: z.string().describe('Amount.').optional(),\n convertedAmount: z\n .string()\n .describe('Converted amount.')\n .optional(),\n formattedAmount: z\n .string()\n .describe('Amount formatted with currency symbol.')\n .optional(),\n formattedConvertedAmount: z\n .string()\n .describe('Converted amount formatted with currency symbol.')\n .optional(),\n })\n .describe(\"Additional fee's price after tax.\")\n .optional(),\n lineItemIds: z.array(z.string()).optional(),\n source: z\n .enum([\n 'UNKNOWN_ADDITIONAL_FEE_SOURCE',\n 'SERVICE_PLUGIN',\n 'ITEM',\n 'MANUAL',\n 'SHIPPING',\n 'PLATFORM',\n ])\n .describe('the source the additional fee was added from')\n .optional(),\n translatedName: z\n .string()\n .describe(\n 'The translated name of the additional fee. The translation language is determined by the `languages` field in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).'\n )\n .min(1)\n .max(50)\n .optional()\n .nullable(),\n })\n )\n .max(100)\n .optional(),\n violations: z\n .array(\n z.object({\n severity: z\n .enum(['WARNING', 'ERROR'])\n .describe(\n \"Severity of the violation. The violations are shown on the cart and checkout pages. A warning is displayed as yellow, and allows a site visitor to proceed with caution. An error is displayed as red, and doesn't allow a site visitor to proceed with the eCommerce flow.\"\n )\n .optional(),\n target: z\n .intersection(\n z.object({}),\n z.xor([\n z.object({\n other: z.never().optional(),\n lineItem: z.never().optional(),\n }),\n z.object({\n lineItem: z.never().optional(),\n other: z\n .object({\n name: z\n .enum(['OTHER_DEFAULT'])\n .describe(\n 'Location on a checkout or a cart page where a general (other) violation will be displayed.'\n )\n .optional(),\n })\n .describe('General (other) violation.'),\n }),\n z.object({\n other: z.never().optional(),\n lineItem: z\n .object({\n name: z\n .enum(['LINE_ITEM_DEFAULT'])\n .describe(\n 'Location on a checkout or a cart page where the specific line item violation will be displayed.'\n )\n .optional(),\n _id: z\n .string()\n .describe('ID of the line item containing the violation.')\n .optional()\n .nullable(),\n })\n .describe('Specific line item violation.'),\n }),\n ])\n )\n .describe(\n 'Target location on a checkout or cart page where the violation will be displayed.'\n )\n .optional(),\n description: z\n .string()\n .describe(\n 'Violation description. Can include rich text. Only HTTP or HTTPS links in the following format are allowed: `<a href=\"https://www.wix.com\">Click me</a>`.'\n )\n .min(1)\n .max(1000)\n .optional()\n .nullable(),\n })\n )\n .optional(),\n});\nexport const DeleteCurrentCartRequest = z.object({});\nexport const DeleteCurrentCartResponse = z.object({});\n"],"mappings":"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","names":[]}
|