{"version":3,"sources":["../../src/ecom-v1-checkout-template-checkout-templates.schemas.ts"],"sourcesContent":["import * as z from 'zod';\n\nexport const CreateCheckoutTemplateRequest = z.object({\n  checkoutTemplate: z\n    .object({\n      _id: z\n        .string()\n        .describe('Checkout template 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      status: z.enum(['ACTIVE', 'INACTIVE']).optional(),\n      customization: z\n        .object({\n          webClient: z\n            .object({\n              disabledContinueShoppingButton: z\n                .boolean()\n                .describe(\n                  'Whether to disable the \"Continue shopping\" button.\\n\\nDefault: `false`'\n                )\n                .optional(),\n              disabledPolicyAgreementCheckbox: z\n                .boolean()\n                .describe(\n                  'Whether to disable policy agreement checkout in the checkout page\\n\\nDefault: `false`'\n                )\n                .optional(),\n            })\n            .describe(\n              'Web client customizations. These customizations only apply to the standard Wix checkout page.'\n            )\n            .optional(),\n          lockedGiftCard: z\n            .boolean()\n            .describe(\n              'Whether to lock the ability to add or remove a gift card.\\n\\nDefault: `false`'\n            )\n            .optional(),\n          lockedCoupon: z\n            .boolean()\n            .describe(\n              'Whether to lock the ability to apply or remove a coupon code.\\n\\nDefault: `false`'\n            )\n            .optional(),\n          disabledManualPayment: z\n            .boolean()\n            .describe(\n              'Whether to disable manual payment option for this checkout.\\n\\nDefault: `false`'\n            )\n            .optional(),\n        })\n        .describe(\n          'Custom settings to apply to the checkout page created from this template.'\n        )\n        .optional(),\n      lineItems: z\n        .array(\n          z.object({\n            quantity: z\n              .number()\n              .int()\n              .describe('Item quantity.\\n\\nMin: `1` <br />\\nMax: `100000`')\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                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                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            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('Overriding values for catalog item properties.')\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            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            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                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                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      couponCode: z\n        .string()\n        .describe(\n          'Coupon code.\\n\\nNote that a checkout can only hold one `couponCode` at a time. If an additional `couponCode` is added, it will override the existing `couponCode`.\\nFor additional information, see the Coupons API.'\n        )\n        .optional()\n        .nullable(),\n      customContentReference: z\n        .object({\n          appId: z\n            .string()\n            .describe(\n              \"ID of the app providing the content.\\n\\nYou can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\"\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          componentId: z\n            .string()\n            .describe(\n              \"ID of the component within the app it belongs to.\\n\\nYou can get your component's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\"\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional(),\n        })\n        .describe(\n          'Reference IDs for the app and component providing custom checkout page content.\\n\\nTo access and manage custom checkout page content, 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      externalReference: z\n        .object({\n          appId: z\n            .string()\n            .describe(\n              'ID of the app associated with the purchase flow.\\nFor example, the Wix Pay Links app ID.'\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          resourceId: z\n            .string()\n            .describe(\n              'Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system.\\nFor example, a Wix Pay Link ID.'\n            )\n            .min(1)\n            .max(100)\n            .optional()\n            .nullable(),\n        })\n        .describe(\n          'References to an external app and resource associated with the checkout.\\nUsed for integration and tracking across different platforms.'\n        )\n        .optional(),\n    })\n    .describe('Checkout template to create.'),\n});\nexport const CreateCheckoutTemplateResponse = z.object({\n  _id: z\n    .string()\n    .describe('Checkout template 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  status: z\n    .enum(['ACTIVE', 'INACTIVE'])\n    .describe(\n      'Status of the checkout template.\\n\\nWhen `status` is `INACTIVE` checkouts will not be created with this template `id`. Instead, the endpoint will redirect to the domain site.\\n\\nDefault: `ACTIVE`'\n    )\n    .optional(),\n  customization: z\n    .object({\n      webClient: z\n        .object({\n          disabledContinueShoppingButton: z\n            .boolean()\n            .describe(\n              'Whether to disable the \"Continue shopping\" button.\\n\\nDefault: `false`'\n            )\n            .optional(),\n          disabledPolicyAgreementCheckbox: z\n            .boolean()\n            .describe(\n              'Whether to disable policy agreement checkout in the checkout page\\n\\nDefault: `false`'\n            )\n            .optional(),\n        })\n        .describe(\n          'Web client customizations. These customizations only apply to the standard Wix checkout page.'\n        )\n        .optional(),\n      lockedGiftCard: z\n        .boolean()\n        .describe(\n          'Whether to lock the ability to add or remove a gift card.\\n\\nDefault: `false`'\n        )\n        .optional(),\n      lockedCoupon: z\n        .boolean()\n        .describe(\n          'Whether to lock the ability to apply or remove a coupon code.\\n\\nDefault: `false`'\n        )\n        .optional(),\n      disabledManualPayment: z\n        .boolean()\n        .describe(\n          'Whether to disable manual payment option for this checkout.\\n\\nDefault: `false`'\n        )\n        .optional(),\n    })\n    .describe(\n      'Custom settings to apply to the checkout page created from this template.'\n    )\n    .optional(),\n  lineItems: z\n    .array(\n      z.object({\n        quantity: z\n          .number()\n          .int()\n          .describe('Item quantity.\\n\\nMin: `1` <br />\\nMax: `100000`')\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        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('Overriding values for catalog item properties.')\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          .describe(\n            'Type of selected payment option for current item. Defaults to `FULL_PAYMENT_ONLINE`.\\n\\n+ `FULL_PAYMENT_ONLINE` - Entire payment for this item happens as part of the checkout.\\n+ `FULL_PAYMENT_OFFLINE` - Entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\\n+ `MEMBERSHIP` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` is 0.\\n+ `DEPOSIT_ONLINE` -  Partial payment for the given item to be paid upfront during the checkout. Amount to be paid is defined by deposit_amount field.'\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  couponCode: z\n    .string()\n    .describe(\n      'Coupon code.\\n\\nNote that a checkout can only hold one `couponCode` at a time. If an additional `couponCode` is added, it will override the existing `couponCode`.\\nFor additional information, see the Coupons API.'\n    )\n    .optional()\n    .nullable(),\n  customContentReference: z\n    .object({\n      appId: z\n        .string()\n        .describe(\n          \"ID of the app providing the content.\\n\\nYou can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\"\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      componentId: z\n        .string()\n        .describe(\n          \"ID of the component within the app it belongs to.\\n\\nYou can get your component's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\"\n        )\n        .regex(\n          /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n          'Must be a valid GUID'\n        )\n        .optional(),\n    })\n    .describe(\n      'Reference IDs for the app and component providing custom checkout page content.\\n\\nTo access and manage custom checkout page content, 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  externalReference: z\n    .object({\n      appId: z\n        .string()\n        .describe(\n          'ID of the app associated with the purchase flow.\\nFor example, the Wix Pay Links app ID.'\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      resourceId: z\n        .string()\n        .describe(\n          'Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system.\\nFor example, a Wix Pay Link ID.'\n        )\n        .min(1)\n        .max(100)\n        .optional()\n        .nullable(),\n    })\n    .describe(\n      'References to an external app and resource associated with the checkout.\\nUsed for integration and tracking across different platforms.'\n    )\n    .optional(),\n});\nexport const GetCheckoutTemplateRequest = z.object({\n  checkoutTemplateId: z\n    .string()\n    .describe('ID of the checkout template to retrieve.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n});\nexport const GetCheckoutTemplateResponse = z.object({\n  _id: z\n    .string()\n    .describe('Checkout template 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  status: z\n    .enum(['ACTIVE', 'INACTIVE'])\n    .describe(\n      'Status of the checkout template.\\n\\nWhen `status` is `INACTIVE` checkouts will not be created with this template `id`. Instead, the endpoint will redirect to the domain site.\\n\\nDefault: `ACTIVE`'\n    )\n    .optional(),\n  customization: z\n    .object({\n      webClient: z\n        .object({\n          disabledContinueShoppingButton: z\n            .boolean()\n            .describe(\n              'Whether to disable the \"Continue shopping\" button.\\n\\nDefault: `false`'\n            )\n            .optional(),\n          disabledPolicyAgreementCheckbox: z\n            .boolean()\n            .describe(\n              'Whether to disable policy agreement checkout in the checkout page\\n\\nDefault: `false`'\n            )\n            .optional(),\n        })\n        .describe(\n          'Web client customizations. These customizations only apply to the standard Wix checkout page.'\n        )\n        .optional(),\n      lockedGiftCard: z\n        .boolean()\n        .describe(\n          'Whether to lock the ability to add or remove a gift card.\\n\\nDefault: `false`'\n        )\n        .optional(),\n      lockedCoupon: z\n        .boolean()\n        .describe(\n          'Whether to lock the ability to apply or remove a coupon code.\\n\\nDefault: `false`'\n        )\n        .optional(),\n      disabledManualPayment: z\n        .boolean()\n        .describe(\n          'Whether to disable manual payment option for this checkout.\\n\\nDefault: `false`'\n        )\n        .optional(),\n    })\n    .describe(\n      'Custom settings to apply to the checkout page created from this template.'\n    )\n    .optional(),\n  lineItems: z\n    .array(\n      z.object({\n        quantity: z\n          .number()\n          .int()\n          .describe('Item quantity.\\n\\nMin: `1` <br />\\nMax: `100000`')\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        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('Overriding values for catalog item properties.')\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          .describe(\n            'Type of selected payment option for current item. Defaults to `FULL_PAYMENT_ONLINE`.\\n\\n+ `FULL_PAYMENT_ONLINE` - Entire payment for this item happens as part of the checkout.\\n+ `FULL_PAYMENT_OFFLINE` - Entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\\n+ `MEMBERSHIP` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` is 0.\\n+ `DEPOSIT_ONLINE` -  Partial payment for the given item to be paid upfront during the checkout. Amount to be paid is defined by deposit_amount field.'\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  couponCode: z\n    .string()\n    .describe(\n      'Coupon code.\\n\\nNote that a checkout can only hold one `couponCode` at a time. If an additional `couponCode` is added, it will override the existing `couponCode`.\\nFor additional information, see the Coupons API.'\n    )\n    .optional()\n    .nullable(),\n  customContentReference: z\n    .object({\n      appId: z\n        .string()\n        .describe(\n          \"ID of the app providing the content.\\n\\nYou can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\"\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      componentId: z\n        .string()\n        .describe(\n          \"ID of the component within the app it belongs to.\\n\\nYou can get your component's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\"\n        )\n        .regex(\n          /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n          'Must be a valid GUID'\n        )\n        .optional(),\n    })\n    .describe(\n      'Reference IDs for the app and component providing custom checkout page content.\\n\\nTo access and manage custom checkout page content, 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  externalReference: z\n    .object({\n      appId: z\n        .string()\n        .describe(\n          'ID of the app associated with the purchase flow.\\nFor example, the Wix Pay Links app ID.'\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      resourceId: z\n        .string()\n        .describe(\n          'Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system.\\nFor example, a Wix Pay Link ID.'\n        )\n        .min(1)\n        .max(100)\n        .optional()\n        .nullable(),\n    })\n    .describe(\n      'References to an external app and resource associated with the checkout.\\nUsed for integration and tracking across different platforms.'\n    )\n    .optional(),\n});\nexport const UpdateCheckoutTemplateRequest = z.object({\n  _id: z\n    .string()\n    .describe('Checkout template 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  checkoutTemplate: z\n    .object({\n      _id: z\n        .string()\n        .describe('Checkout template 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      status: z.enum(['ACTIVE', 'INACTIVE']).optional(),\n      customization: z\n        .object({\n          webClient: z\n            .object({\n              disabledContinueShoppingButton: z\n                .boolean()\n                .describe(\n                  'Whether to disable the \"Continue shopping\" button.\\n\\nDefault: `false`'\n                )\n                .optional(),\n              disabledPolicyAgreementCheckbox: z\n                .boolean()\n                .describe(\n                  'Whether to disable policy agreement checkout in the checkout page\\n\\nDefault: `false`'\n                )\n                .optional(),\n            })\n            .describe(\n              'Web client customizations. These customizations only apply to the standard Wix checkout page.'\n            )\n            .optional(),\n          lockedGiftCard: z\n            .boolean()\n            .describe(\n              'Whether to lock the ability to add or remove a gift card.\\n\\nDefault: `false`'\n            )\n            .optional(),\n          lockedCoupon: z\n            .boolean()\n            .describe(\n              'Whether to lock the ability to apply or remove a coupon code.\\n\\nDefault: `false`'\n            )\n            .optional(),\n          disabledManualPayment: z\n            .boolean()\n            .describe(\n              'Whether to disable manual payment option for this checkout.\\n\\nDefault: `false`'\n            )\n            .optional(),\n        })\n        .describe(\n          'Custom settings to apply to the checkout page created from this template.'\n        )\n        .optional(),\n      lineItems: z\n        .array(\n          z.object({\n            quantity: z\n              .number()\n              .int()\n              .describe('Item quantity.\\n\\nMin: `1` <br />\\nMax: `100000`')\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            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('Overriding values for catalog item properties.')\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      couponCode: z\n        .string()\n        .describe(\n          'Coupon code.\\n\\nNote that a checkout can only hold one `couponCode` at a time. If an additional `couponCode` is added, it will override the existing `couponCode`.\\nFor additional information, see the Coupons API.'\n        )\n        .optional()\n        .nullable(),\n      customContentReference: z\n        .object({\n          appId: z\n            .string()\n            .describe(\n              \"ID of the app providing the content.\\n\\nYou can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\"\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          componentId: z\n            .string()\n            .describe(\n              \"ID of the component within the app it belongs to.\\n\\nYou can get your component's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\"\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional(),\n        })\n        .describe(\n          'Reference IDs for the app and component providing custom checkout page content.\\n\\nTo access and manage custom checkout page content, 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      externalReference: z\n        .object({\n          appId: z\n            .string()\n            .describe(\n              'ID of the app associated with the purchase flow.\\nFor example, the Wix Pay Links app ID.'\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          resourceId: z\n            .string()\n            .describe(\n              'Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system.\\nFor example, a Wix Pay Link ID.'\n            )\n            .min(1)\n            .max(100)\n            .optional()\n            .nullable(),\n        })\n        .describe(\n          'References to an external app and resource associated with the checkout.\\nUsed for integration and tracking across different platforms.'\n        )\n        .optional(),\n    })\n    .describe('Checkout template info to update.'),\n});\nexport const UpdateCheckoutTemplateResponse = z.object({\n  _id: z\n    .string()\n    .describe('Checkout template 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  status: z\n    .enum(['ACTIVE', 'INACTIVE'])\n    .describe(\n      'Status of the checkout template.\\n\\nWhen `status` is `INACTIVE` checkouts will not be created with this template `id`. Instead, the endpoint will redirect to the domain site.\\n\\nDefault: `ACTIVE`'\n    )\n    .optional(),\n  customization: z\n    .object({\n      webClient: z\n        .object({\n          disabledContinueShoppingButton: z\n            .boolean()\n            .describe(\n              'Whether to disable the \"Continue shopping\" button.\\n\\nDefault: `false`'\n            )\n            .optional(),\n          disabledPolicyAgreementCheckbox: z\n            .boolean()\n            .describe(\n              'Whether to disable policy agreement checkout in the checkout page\\n\\nDefault: `false`'\n            )\n            .optional(),\n        })\n        .describe(\n          'Web client customizations. These customizations only apply to the standard Wix checkout page.'\n        )\n        .optional(),\n      lockedGiftCard: z\n        .boolean()\n        .describe(\n          'Whether to lock the ability to add or remove a gift card.\\n\\nDefault: `false`'\n        )\n        .optional(),\n      lockedCoupon: z\n        .boolean()\n        .describe(\n          'Whether to lock the ability to apply or remove a coupon code.\\n\\nDefault: `false`'\n        )\n        .optional(),\n      disabledManualPayment: z\n        .boolean()\n        .describe(\n          'Whether to disable manual payment option for this checkout.\\n\\nDefault: `false`'\n        )\n        .optional(),\n    })\n    .describe(\n      'Custom settings to apply to the checkout page created from this template.'\n    )\n    .optional(),\n  lineItems: z\n    .array(\n      z.object({\n        quantity: z\n          .number()\n          .int()\n          .describe('Item quantity.\\n\\nMin: `1` <br />\\nMax: `100000`')\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        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('Overriding values for catalog item properties.')\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          .describe(\n            'Type of selected payment option for current item. Defaults to `FULL_PAYMENT_ONLINE`.\\n\\n+ `FULL_PAYMENT_ONLINE` - Entire payment for this item happens as part of the checkout.\\n+ `FULL_PAYMENT_OFFLINE` - Entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\\n+ `MEMBERSHIP` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` is 0.\\n+ `DEPOSIT_ONLINE` -  Partial payment for the given item to be paid upfront during the checkout. Amount to be paid is defined by deposit_amount field.'\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  couponCode: z\n    .string()\n    .describe(\n      'Coupon code.\\n\\nNote that a checkout can only hold one `couponCode` at a time. If an additional `couponCode` is added, it will override the existing `couponCode`.\\nFor additional information, see the Coupons API.'\n    )\n    .optional()\n    .nullable(),\n  customContentReference: z\n    .object({\n      appId: z\n        .string()\n        .describe(\n          \"ID of the app providing the content.\\n\\nYou can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\"\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      componentId: z\n        .string()\n        .describe(\n          \"ID of the component within the app it belongs to.\\n\\nYou can get your component's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\"\n        )\n        .regex(\n          /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n          'Must be a valid GUID'\n        )\n        .optional(),\n    })\n    .describe(\n      'Reference IDs for the app and component providing custom checkout page content.\\n\\nTo access and manage custom checkout page content, 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  externalReference: z\n    .object({\n      appId: z\n        .string()\n        .describe(\n          'ID of the app associated with the purchase flow.\\nFor example, the Wix Pay Links app ID.'\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      resourceId: z\n        .string()\n        .describe(\n          'Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system.\\nFor example, a Wix Pay Link ID.'\n        )\n        .min(1)\n        .max(100)\n        .optional()\n        .nullable(),\n    })\n    .describe(\n      'References to an external app and resource associated with the checkout.\\nUsed for integration and tracking across different platforms.'\n    )\n    .optional(),\n});\nexport const DeleteCheckoutTemplateRequest = z.object({\n  checkoutTemplateId: z\n    .string()\n    .describe('ID of the checkout template to delete.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n});\nexport const DeleteCheckoutTemplateResponse = z.object({});\nexport const QueryCheckoutTemplatesRequest = z.object({\n  query: z\n    .object({\n      filter: z\n        .object({\n          _id: z\n            .object({\n              $eq: z.string(),\n              $exists: z.boolean(),\n              $gt: z.string(),\n              $gte: z.string(),\n              $hasAll: z.array(z.string()),\n              $hasSome: z.array(z.string()),\n              $in: z.array(z.string()),\n              $lt: z.string(),\n              $lte: z.string(),\n              $ne: z.string(),\n              $nin: z.array(z.string()),\n              $startsWith: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          status: z\n            .object({\n              $eq: z.string(),\n              $exists: z.boolean(),\n              $gt: z.string(),\n              $gte: z.string(),\n              $hasAll: z.array(z.string()),\n              $hasSome: z.array(z.string()),\n              $in: z.array(z.string()),\n              $lt: z.string(),\n              $lte: z.string(),\n              $ne: z.string(),\n              $nin: z.array(z.string()),\n              $startsWith: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          $and: z.array(z.any()).optional(),\n          $or: z.array(z.any()).optional(),\n          $not: z.any().optional(),\n        })\n        .strict()\n        .optional(),\n      sort: z\n        .array(\n          z.object({\n            fieldName: z.enum(['_id', 'status']).optional(),\n            order: z.enum(['ASC', 'DESC']).optional(),\n          })\n        )\n        .optional(),\n    })\n    .catchall(z.any())\n    .describe('Query options.'),\n});\nexport const QueryCheckoutTemplatesResponse = z.object({\n  checkoutTemplates: z\n    .array(\n      z.object({\n        _id: z\n          .string()\n          .describe('Checkout template 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        status: z\n          .enum(['ACTIVE', 'INACTIVE'])\n          .describe(\n            'Status of the checkout template.\\n\\nWhen `status` is `INACTIVE` checkouts will not be created with this template `id`. Instead, the endpoint will redirect to the domain site.\\n\\nDefault: `ACTIVE`'\n          )\n          .optional(),\n        customization: z\n          .object({\n            webClient: z\n              .object({\n                disabledContinueShoppingButton: z\n                  .boolean()\n                  .describe(\n                    'Whether to disable the \"Continue shopping\" button.\\n\\nDefault: `false`'\n                  )\n                  .optional(),\n                disabledPolicyAgreementCheckbox: z\n                  .boolean()\n                  .describe(\n                    'Whether to disable policy agreement checkout in the checkout page\\n\\nDefault: `false`'\n                  )\n                  .optional(),\n              })\n              .describe(\n                'Web client customizations. These customizations only apply to the standard Wix checkout page.'\n              )\n              .optional(),\n            lockedGiftCard: z\n              .boolean()\n              .describe(\n                'Whether to lock the ability to add or remove a gift card.\\n\\nDefault: `false`'\n              )\n              .optional(),\n            lockedCoupon: z\n              .boolean()\n              .describe(\n                'Whether to lock the ability to apply or remove a coupon code.\\n\\nDefault: `false`'\n              )\n              .optional(),\n            disabledManualPayment: z\n              .boolean()\n              .describe(\n                'Whether to disable manual payment option for this checkout.\\n\\nDefault: `false`'\n              )\n              .optional(),\n          })\n          .describe(\n            'Custom settings to apply to the checkout page created from this template.'\n          )\n          .optional(),\n        lineItems: z\n          .array(\n            z.object({\n              quantity: z\n                .number()\n                .int()\n                .describe('Item quantity.\\n\\nMin: `1` <br />\\nMax: `100000`')\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              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                        .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('Overriding values for catalog item properties.')\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(\n                  'Custom line item quantity.\\n\\nMin: `1`\\nMax: `100000`'\n                )\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\n                .string()\n                .describe(\"Custom line item's media.\")\n                .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                .describe(\n                  'Type of selected payment option for current item. Defaults to `FULL_PAYMENT_ONLINE`.\\n\\n+ `FULL_PAYMENT_ONLINE` - Entire payment for this item happens as part of the checkout.\\n+ `FULL_PAYMENT_OFFLINE` - Entire payment for this item happens after the checkout. For example, when using cash, check, or other offline payment methods.\\n+ `MEMBERSHIP` - Payment for this item is done by charging a membership. When this option is used, `lineItem.price.amount` is 0.\\n+ `DEPOSIT_ONLINE` -  Partial payment for the given item to be paid upfront during the checkout. Amount to be paid is defined by deposit_amount field.'\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(\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. 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        couponCode: z\n          .string()\n          .describe(\n            'Coupon code.\\n\\nNote that a checkout can only hold one `couponCode` at a time. If an additional `couponCode` is added, it will override the existing `couponCode`.\\nFor additional information, see the Coupons API.'\n          )\n          .optional()\n          .nullable(),\n        customContentReference: z\n          .object({\n            appId: z\n              .string()\n              .describe(\n                \"ID of the app providing the content.\\n\\nYou can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\"\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            componentId: z\n              .string()\n              .describe(\n                \"ID of the component within the app it belongs to.\\n\\nYou can get your component's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\"\n              )\n              .regex(\n                /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                'Must be a valid GUID'\n              )\n              .optional(),\n          })\n          .describe(\n            'Reference IDs for the app and component providing custom checkout page content.\\n\\nTo access and manage custom checkout page content, 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        externalReference: z\n          .object({\n            appId: z\n              .string()\n              .describe(\n                'ID of the app associated with the purchase flow.\\nFor example, the Wix Pay Links app ID.'\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            resourceId: z\n              .string()\n              .describe(\n                'Reference to an external resource ID. Used to link the purchase flow to a specific entity in an external system.\\nFor example, a Wix Pay Link ID.'\n              )\n              .min(1)\n              .max(100)\n              .optional()\n              .nullable(),\n          })\n          .describe(\n            'References to an external app and resource associated with the checkout.\\nUsed for integration and tracking across different platforms.'\n          )\n          .optional(),\n      })\n    )\n    .optional(),\n  pagingMetadata: z\n    .object({\n      count: z\n        .number()\n        .int()\n        .describe('Number of items returned in the response.')\n        .optional()\n        .nullable(),\n      cursors: z\n        .object({\n          next: z\n            .string()\n            .describe('Cursor pointing to next page in the list of results.')\n            .optional()\n            .nullable(),\n          prev: z\n            .string()\n            .describe(\n              'Cursor pointing to previous page in the list of results.'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe('Offset that was requested.')\n        .optional(),\n      hasNext: z\n        .boolean()\n        .describe(\n          'Indicates if there are more results after the current page.\\nIf `true`, another page of results can be retrieved.\\nIf `false`, this is the last page.'\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Paging metadata.')\n    .optional(),\n});\nexport const CreateCheckoutFromTemplateRequest = z.object({\n  checkoutTemplateId: z\n    .string()\n    .describe('ID of the checkout template to use to create a checkout from.')\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  siteId: z\n    .string()\n    .describe('ID of the site associated with the checkout template.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n});\nexport const CreateCheckoutFromTemplateResponse = z.object({\n  checkoutId: z\n    .string()\n    .describe('ID of the created checkout.')\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  checkoutUrl: z\n    .string()\n    .describe('URL of the created checkout page.')\n    .optional(),\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});\nexport const CreateAndRedirectToCheckoutRequest = z.object({\n  checkoutTemplateId: z\n    .string()\n    .describe('ID of the checkout template to use to create a checkout.')\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  siteId: z\n    .string()\n    .describe('ID of the site associated with the checkout template.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n});\nexport const CreateAndRedirectToCheckoutResponse = z.object({\n  body: z.string().optional(),\n  statusCode: z.number().int().optional().nullable(),\n  headers: z\n    .array(\n      z.object({ key: z.string().optional(), value: z.string().optional() })\n    )\n    .optional(),\n});\n"],"mappings":"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","names":[]}