{"version":3,"sources":["../../src/addons-v1-add-on-add-ons.schemas.ts"],"sourcesContent":["import * as z from 'zod';\n\nexport const CreateAddOnRequest = z.object({\n  addOn: z\n    .intersection(\n      z.object({\n        _id: z\n          .string()\n          .describe('Add-on ID.')\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional()\n          .nullable(),\n        revision: z\n          .string()\n          .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n          .describe(\n            'Revision number, which increments by 1 each time the add-on is updated.\\nTo prevent conflicting changes, the current revision must be passed when updating the add-on.\\n\\nIgnored when creating an add-on.'\n          )\n          .optional()\n          .nullable(),\n        _createdDate: z\n          .date()\n          .describe(\n            'Date and time the add-on was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n          )\n          .optional()\n          .nullable(),\n        _updatedDate: z\n          .date()\n          .describe(\n            'Date and time the add-on was last updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n          )\n          .optional()\n          .nullable(),\n        name: z\n          .string()\n          .describe('Display name of the add-on shown to customers.')\n          .min(1)\n          .max(100)\n          .optional()\n          .nullable(),\n        price: z\n          .object({\n            value: z\n              .string()\n              .describe(\n                'Add-on price amount as a decimal string with period as decimal separator. For example, `3.99` for a $3.99 add-on or `15.00` for a $15.00 add-on.'\n              )\n              .optional(),\n            currency: z\n              .string()\n              .describe(\n                'Currency code for the add-on price. Must be a valid [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code. For example, `USD` for US dollars or `EUR` for euros.'\n              )\n              .optional(),\n            formattedValue: z\n              .string()\n              .describe(\n                'Add-on price amount as a decimal string in local format for display purposes. For example, `$3.99` for US format or `3,99 €` for European format.'\n              )\n              .max(50)\n              .optional()\n              .nullable(),\n          })\n          .describe('Pricing information for the add-on.')\n          .optional(),\n        taxGroup: z\n          .string()\n          .describe(\n            \"ID of the [tax group](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/tax-groups/introduction) to categorize the add-on for tax calculation in [Wix eCommerce](https://dev.wix.com/docs/rest/business-solutions/e-commerce/introduction).\\nLearn more about [how Wix eCommerce implements tax calculation](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/introduction).\\n\\nThis field doesn't apply to custom checkout/billing implementations.\"\n          )\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional()\n          .nullable(),\n        extendedFields: z\n          .object({\n            namespaces: z\n              .record(z.string(), z.record(z.string(), z.any()))\n              .describe(\n                'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n              )\n              .optional(),\n          })\n          .describe(\n            'Data extensions enabling users to save custom data related to the add-on.'\n          )\n          .optional(),\n        tags: z\n          .object({\n            privateTags: z\n              .object({ tagIds: z.array(z.string()).max(100).optional() })\n              .describe(\n                'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n              )\n              .optional(),\n            tags: z\n              .object({ tagIds: z.array(z.string()).max(100).optional() })\n              .describe(\n                'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n              )\n              .optional(),\n          })\n          .describe(\n            '[Tags](https://dev.wix.com/docs/rest/business-management/tags/introduction) assigned to add-ons for categorization and filtering purposes.'\n          )\n          .optional(),\n      }),\n      z.xor([\n        z.object({\n          durationInMinutes: z.never().optional(),\n          maxQuantity: z.never().optional(),\n        }),\n        z.object({\n          maxQuantity: z.never().optional(),\n          durationInMinutes: z\n            .number()\n            .int()\n            .describe(\n              'Duration in minutes for duration-based add-ons that extend offering time.'\n            )\n            .min(1)\n            .max(1440),\n        }),\n        z.object({\n          durationInMinutes: z.never().optional(),\n          maxQuantity: z\n            .number()\n            .int()\n            .describe(\n              'Maximum quantity customers can purchase for quantity-based add-ons.'\n            )\n            .min(1)\n            .max(9999),\n        }),\n      ])\n    )\n    .describe('Add-on to create.'),\n});\nexport const CreateAddOnResponse = z.intersection(\n  z.object({\n    _id: z\n      .string()\n      .describe('Add-on ID.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional()\n      .nullable(),\n    revision: z\n      .string()\n      .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n      .describe(\n        'Revision number, which increments by 1 each time the add-on is updated.\\nTo prevent conflicting changes, the current revision must be passed when updating the add-on.\\n\\nIgnored when creating an add-on.'\n      )\n      .optional()\n      .nullable(),\n    _createdDate: z\n      .date()\n      .describe(\n        'Date and time the add-on was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n      )\n      .optional()\n      .nullable(),\n    _updatedDate: z\n      .date()\n      .describe(\n        'Date and time the add-on was last updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n      )\n      .optional()\n      .nullable(),\n    name: z\n      .string()\n      .describe('Display name of the add-on shown to customers.')\n      .min(1)\n      .max(100)\n      .optional()\n      .nullable(),\n    price: z\n      .object({\n        value: z\n          .string()\n          .describe(\n            'Add-on price amount as a decimal string with period as decimal separator. For example, `3.99` for a $3.99 add-on or `15.00` for a $15.00 add-on.'\n          )\n          .optional(),\n        currency: z\n          .string()\n          .describe(\n            'Currency code for the add-on price. Must be a valid [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code. For example, `USD` for US dollars or `EUR` for euros.'\n          )\n          .optional(),\n        formattedValue: z\n          .string()\n          .describe(\n            'Add-on price amount as a decimal string in local format for display purposes. For example, `$3.99` for US format or `3,99 €` for European format.'\n          )\n          .max(50)\n          .optional()\n          .nullable(),\n      })\n      .describe('Pricing information for the add-on.')\n      .optional(),\n    taxGroup: z\n      .string()\n      .describe(\n        \"ID of the [tax group](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/tax-groups/introduction) to categorize the add-on for tax calculation in [Wix eCommerce](https://dev.wix.com/docs/rest/business-solutions/e-commerce/introduction).\\nLearn more about [how Wix eCommerce implements tax calculation](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/introduction).\\n\\nThis field doesn't apply to custom checkout/billing implementations.\"\n      )\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional()\n      .nullable(),\n    extendedFields: z\n      .object({\n        namespaces: z\n          .record(z.string(), z.record(z.string(), z.any()))\n          .describe(\n            'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n          )\n          .optional(),\n      })\n      .describe(\n        'Data extensions enabling users to save custom data related to the add-on.'\n      )\n      .optional(),\n    tags: z\n      .object({\n        privateTags: z\n          .object({ tagIds: z.array(z.string()).max(100).optional() })\n          .describe(\n            'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n          )\n          .optional(),\n        tags: z\n          .object({ tagIds: z.array(z.string()).max(100).optional() })\n          .describe(\n            'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n          )\n          .optional(),\n      })\n      .describe(\n        '[Tags](https://dev.wix.com/docs/rest/business-management/tags/introduction) assigned to add-ons for categorization and filtering purposes.'\n      )\n      .optional(),\n  }),\n  z.xor([\n    z.object({\n      durationInMinutes: z.never().optional(),\n      maxQuantity: z.never().optional(),\n    }),\n    z.object({\n      maxQuantity: z.never().optional(),\n      durationInMinutes: z\n        .number()\n        .int()\n        .describe(\n          'Duration in minutes for duration-based add-ons that extend offering time.'\n        )\n        .min(1)\n        .max(1440),\n    }),\n    z.object({\n      durationInMinutes: z.never().optional(),\n      maxQuantity: z\n        .number()\n        .int()\n        .describe(\n          'Maximum quantity customers can purchase for quantity-based add-ons.'\n        )\n        .min(1)\n        .max(9999),\n    }),\n  ])\n);\nexport const GetAddOnRequest = z.object({\n  addOnId: z\n    .string()\n    .describe('ID of the add-on 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 GetAddOnResponse = z.intersection(\n  z.object({\n    _id: z\n      .string()\n      .describe('Add-on ID.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional()\n      .nullable(),\n    revision: z\n      .string()\n      .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n      .describe(\n        'Revision number, which increments by 1 each time the add-on is updated.\\nTo prevent conflicting changes, the current revision must be passed when updating the add-on.\\n\\nIgnored when creating an add-on.'\n      )\n      .optional()\n      .nullable(),\n    _createdDate: z\n      .date()\n      .describe(\n        'Date and time the add-on was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n      )\n      .optional()\n      .nullable(),\n    _updatedDate: z\n      .date()\n      .describe(\n        'Date and time the add-on was last updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n      )\n      .optional()\n      .nullable(),\n    name: z\n      .string()\n      .describe('Display name of the add-on shown to customers.')\n      .min(1)\n      .max(100)\n      .optional()\n      .nullable(),\n    price: z\n      .object({\n        value: z\n          .string()\n          .describe(\n            'Add-on price amount as a decimal string with period as decimal separator. For example, `3.99` for a $3.99 add-on or `15.00` for a $15.00 add-on.'\n          )\n          .optional(),\n        currency: z\n          .string()\n          .describe(\n            'Currency code for the add-on price. Must be a valid [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code. For example, `USD` for US dollars or `EUR` for euros.'\n          )\n          .optional(),\n        formattedValue: z\n          .string()\n          .describe(\n            'Add-on price amount as a decimal string in local format for display purposes. For example, `$3.99` for US format or `3,99 €` for European format.'\n          )\n          .max(50)\n          .optional()\n          .nullable(),\n      })\n      .describe('Pricing information for the add-on.')\n      .optional(),\n    taxGroup: z\n      .string()\n      .describe(\n        \"ID of the [tax group](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/tax-groups/introduction) to categorize the add-on for tax calculation in [Wix eCommerce](https://dev.wix.com/docs/rest/business-solutions/e-commerce/introduction).\\nLearn more about [how Wix eCommerce implements tax calculation](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/introduction).\\n\\nThis field doesn't apply to custom checkout/billing implementations.\"\n      )\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional()\n      .nullable(),\n    extendedFields: z\n      .object({\n        namespaces: z\n          .record(z.string(), z.record(z.string(), z.any()))\n          .describe(\n            'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n          )\n          .optional(),\n      })\n      .describe(\n        'Data extensions enabling users to save custom data related to the add-on.'\n      )\n      .optional(),\n    tags: z\n      .object({\n        privateTags: z\n          .object({ tagIds: z.array(z.string()).max(100).optional() })\n          .describe(\n            'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n          )\n          .optional(),\n        tags: z\n          .object({ tagIds: z.array(z.string()).max(100).optional() })\n          .describe(\n            'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n          )\n          .optional(),\n      })\n      .describe(\n        '[Tags](https://dev.wix.com/docs/rest/business-management/tags/introduction) assigned to add-ons for categorization and filtering purposes.'\n      )\n      .optional(),\n  }),\n  z.xor([\n    z.object({\n      durationInMinutes: z.never().optional(),\n      maxQuantity: z.never().optional(),\n    }),\n    z.object({\n      maxQuantity: z.never().optional(),\n      durationInMinutes: z\n        .number()\n        .int()\n        .describe(\n          'Duration in minutes for duration-based add-ons that extend offering time.'\n        )\n        .min(1)\n        .max(1440),\n    }),\n    z.object({\n      durationInMinutes: z.never().optional(),\n      maxQuantity: z\n        .number()\n        .int()\n        .describe(\n          'Maximum quantity customers can purchase for quantity-based add-ons.'\n        )\n        .min(1)\n        .max(9999),\n    }),\n  ])\n);\nexport const UpdateAddOnRequest = z.object({\n  _id: z\n    .string()\n    .describe('Add-on 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  addOn: z\n    .intersection(\n      z.object({\n        _id: z\n          .string()\n          .describe('Add-on ID.')\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional()\n          .nullable(),\n        revision: z\n          .string()\n          .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n          .describe(\n            'Revision number, which increments by 1 each time the add-on is updated.\\nTo prevent conflicting changes, the current revision must be passed when updating the add-on.\\n\\nIgnored when creating an add-on.'\n          ),\n        _createdDate: z\n          .date()\n          .describe(\n            'Date and time the add-on was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n          )\n          .optional()\n          .nullable(),\n        _updatedDate: z\n          .date()\n          .describe(\n            'Date and time the add-on was last updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n          )\n          .optional()\n          .nullable(),\n        name: z\n          .string()\n          .describe('Display name of the add-on shown to customers.')\n          .min(1)\n          .max(100)\n          .optional()\n          .nullable(),\n        price: z\n          .object({\n            value: z\n              .string()\n              .describe(\n                'Add-on price amount as a decimal string with period as decimal separator. For example, `3.99` for a $3.99 add-on or `15.00` for a $15.00 add-on.'\n              )\n              .optional(),\n            currency: z\n              .string()\n              .describe(\n                'Currency code for the add-on price. Must be a valid [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code. For example, `USD` for US dollars or `EUR` for euros.'\n              )\n              .optional(),\n            formattedValue: z\n              .string()\n              .describe(\n                'Add-on price amount as a decimal string in local format for display purposes. For example, `$3.99` for US format or `3,99 €` for European format.'\n              )\n              .max(50)\n              .optional()\n              .nullable(),\n          })\n          .describe('Pricing information for the add-on.')\n          .optional(),\n        taxGroup: z\n          .string()\n          .describe(\n            \"ID of the [tax group](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/tax-groups/introduction) to categorize the add-on for tax calculation in [Wix eCommerce](https://dev.wix.com/docs/rest/business-solutions/e-commerce/introduction).\\nLearn more about [how Wix eCommerce implements tax calculation](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/introduction).\\n\\nThis field doesn't apply to custom checkout/billing implementations.\"\n          )\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional()\n          .nullable(),\n        extendedFields: z\n          .object({\n            namespaces: z\n              .record(z.string(), z.record(z.string(), z.any()))\n              .describe(\n                'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n              )\n              .optional(),\n          })\n          .describe(\n            'Data extensions enabling users to save custom data related to the add-on.'\n          )\n          .optional(),\n        tags: z\n          .object({\n            privateTags: z\n              .object({ tagIds: z.array(z.string()).max(100).optional() })\n              .describe(\n                'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n              )\n              .optional(),\n            tags: z\n              .object({ tagIds: z.array(z.string()).max(100).optional() })\n              .describe(\n                'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n              )\n              .optional(),\n          })\n          .describe(\n            '[Tags](https://dev.wix.com/docs/rest/business-management/tags/introduction) assigned to add-ons for categorization and filtering purposes.'\n          )\n          .optional(),\n      }),\n      z.xor([\n        z.object({\n          durationInMinutes: z.never().optional(),\n          maxQuantity: z.never().optional(),\n        }),\n        z.object({\n          maxQuantity: z.never().optional(),\n          durationInMinutes: z\n            .number()\n            .int()\n            .describe(\n              'Duration in minutes for duration-based add-ons that extend offering time.'\n            )\n            .min(1)\n            .max(1440),\n        }),\n        z.object({\n          durationInMinutes: z.never().optional(),\n          maxQuantity: z\n            .number()\n            .int()\n            .describe(\n              'Maximum quantity customers can purchase for quantity-based add-ons.'\n            )\n            .min(1)\n            .max(9999),\n        }),\n      ])\n    )\n    .describe('Add-on to update.'),\n});\nexport const UpdateAddOnResponse = z.intersection(\n  z.object({\n    _id: z\n      .string()\n      .describe('Add-on ID.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional()\n      .nullable(),\n    revision: z\n      .string()\n      .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n      .describe(\n        'Revision number, which increments by 1 each time the add-on is updated.\\nTo prevent conflicting changes, the current revision must be passed when updating the add-on.\\n\\nIgnored when creating an add-on.'\n      )\n      .optional()\n      .nullable(),\n    _createdDate: z\n      .date()\n      .describe(\n        'Date and time the add-on was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n      )\n      .optional()\n      .nullable(),\n    _updatedDate: z\n      .date()\n      .describe(\n        'Date and time the add-on was last updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n      )\n      .optional()\n      .nullable(),\n    name: z\n      .string()\n      .describe('Display name of the add-on shown to customers.')\n      .min(1)\n      .max(100)\n      .optional()\n      .nullable(),\n    price: z\n      .object({\n        value: z\n          .string()\n          .describe(\n            'Add-on price amount as a decimal string with period as decimal separator. For example, `3.99` for a $3.99 add-on or `15.00` for a $15.00 add-on.'\n          )\n          .optional(),\n        currency: z\n          .string()\n          .describe(\n            'Currency code for the add-on price. Must be a valid [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code. For example, `USD` for US dollars or `EUR` for euros.'\n          )\n          .optional(),\n        formattedValue: z\n          .string()\n          .describe(\n            'Add-on price amount as a decimal string in local format for display purposes. For example, `$3.99` for US format or `3,99 €` for European format.'\n          )\n          .max(50)\n          .optional()\n          .nullable(),\n      })\n      .describe('Pricing information for the add-on.')\n      .optional(),\n    taxGroup: z\n      .string()\n      .describe(\n        \"ID of the [tax group](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/tax-groups/introduction) to categorize the add-on for tax calculation in [Wix eCommerce](https://dev.wix.com/docs/rest/business-solutions/e-commerce/introduction).\\nLearn more about [how Wix eCommerce implements tax calculation](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/introduction).\\n\\nThis field doesn't apply to custom checkout/billing implementations.\"\n      )\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional()\n      .nullable(),\n    extendedFields: z\n      .object({\n        namespaces: z\n          .record(z.string(), z.record(z.string(), z.any()))\n          .describe(\n            'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n          )\n          .optional(),\n      })\n      .describe(\n        'Data extensions enabling users to save custom data related to the add-on.'\n      )\n      .optional(),\n    tags: z\n      .object({\n        privateTags: z\n          .object({ tagIds: z.array(z.string()).max(100).optional() })\n          .describe(\n            'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n          )\n          .optional(),\n        tags: z\n          .object({ tagIds: z.array(z.string()).max(100).optional() })\n          .describe(\n            'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n          )\n          .optional(),\n      })\n      .describe(\n        '[Tags](https://dev.wix.com/docs/rest/business-management/tags/introduction) assigned to add-ons for categorization and filtering purposes.'\n      )\n      .optional(),\n  }),\n  z.xor([\n    z.object({\n      durationInMinutes: z.never().optional(),\n      maxQuantity: z.never().optional(),\n    }),\n    z.object({\n      maxQuantity: z.never().optional(),\n      durationInMinutes: z\n        .number()\n        .int()\n        .describe(\n          'Duration in minutes for duration-based add-ons that extend offering time.'\n        )\n        .min(1)\n        .max(1440),\n    }),\n    z.object({\n      durationInMinutes: z.never().optional(),\n      maxQuantity: z\n        .number()\n        .int()\n        .describe(\n          'Maximum quantity customers can purchase for quantity-based add-ons.'\n        )\n        .min(1)\n        .max(9999),\n    }),\n  ])\n);\nexport const DeleteAddOnRequest = z.object({\n  addOnId: z\n    .string()\n    .describe('ID of the add-on 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 DeleteAddOnResponse = z.object({});\nexport const QueryAddOnsRequest = z.object({\n  query: z\n    .intersection(\n      z.object({\n        filter: z\n          .record(z.string(), z.any())\n          .describe(\n            'Filter object in the following format:\\n`\"filter\" : {\\n\"fieldName1\": \"value1\",\\n\"fieldName2\":{\"$operator\":\"value2\"}\\n}`\\nExample of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\\n\\nRefer to [supported filters](https://dev.wix.com/docs/rest/business-solutions/bookings/services/add-ons/supported-filters) for a complete list of supported fields.'\n          )\n          .optional()\n          .nullable(),\n        sort: z\n          .array(\n            z.object({\n              fieldName: z\n                .string()\n                .describe('Name of the field to sort by.')\n                .max(512)\n                .optional(),\n              order: z.enum(['ASC', 'DESC']).optional(),\n            })\n          )\n          .max(5)\n          .optional(),\n      }),\n      z.xor([\n        z.object({ cursorPaging: z.never().optional() }),\n        z.object({\n          cursorPaging: z\n            .object({\n              limit: z\n                .number()\n                .int()\n                .describe('Maximum number of items to return in the results.')\n                .min(0)\n                .max(100)\n                .optional()\n                .nullable(),\n              cursor: z\n                .string()\n                .describe(\n                  \"Pointer to the next or previous page in the list of results.\\n\\nPass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\\nNot relevant for the first request.\"\n                )\n                .max(16000)\n                .optional()\n                .nullable(),\n            })\n            .describe(\n              'Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`.'\n            ),\n        }),\n      ])\n    )\n    .describe('Filtering, sorting, and paging details.'),\n});\nexport const QueryAddOnsResponse = z.object({\n  addOns: z\n    .array(\n      z.intersection(\n        z.object({\n          _id: z\n            .string()\n            .describe('Add-on ID.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          revision: z\n            .string()\n            .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n            .describe(\n              'Revision number, which increments by 1 each time the add-on is updated.\\nTo prevent conflicting changes, the current revision must be passed when updating the add-on.\\n\\nIgnored when creating an add-on.'\n            )\n            .optional()\n            .nullable(),\n          _createdDate: z\n            .date()\n            .describe(\n              'Date and time the add-on was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n            )\n            .optional()\n            .nullable(),\n          _updatedDate: z\n            .date()\n            .describe(\n              'Date and time the add-on was last updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n            )\n            .optional()\n            .nullable(),\n          name: z\n            .string()\n            .describe('Display name of the add-on shown to customers.')\n            .min(1)\n            .max(100)\n            .optional()\n            .nullable(),\n          price: z\n            .object({\n              value: z\n                .string()\n                .describe(\n                  'Add-on price amount as a decimal string with period as decimal separator. For example, `3.99` for a $3.99 add-on or `15.00` for a $15.00 add-on.'\n                )\n                .optional(),\n              currency: z\n                .string()\n                .describe(\n                  'Currency code for the add-on price. Must be a valid [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code. For example, `USD` for US dollars or `EUR` for euros.'\n                )\n                .optional(),\n              formattedValue: z\n                .string()\n                .describe(\n                  'Add-on price amount as a decimal string in local format for display purposes. For example, `$3.99` for US format or `3,99 €` for European format.'\n                )\n                .max(50)\n                .optional()\n                .nullable(),\n            })\n            .describe('Pricing information for the add-on.')\n            .optional(),\n          taxGroup: z\n            .string()\n            .describe(\n              \"ID of the [tax group](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/tax-groups/introduction) to categorize the add-on for tax calculation in [Wix eCommerce](https://dev.wix.com/docs/rest/business-solutions/e-commerce/introduction).\\nLearn more about [how Wix eCommerce implements tax calculation](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/introduction).\\n\\nThis field doesn't apply to custom checkout/billing implementations.\"\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          extendedFields: z\n            .object({\n              namespaces: z\n                .record(z.string(), z.record(z.string(), z.any()))\n                .describe(\n                  'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                )\n                .optional(),\n            })\n            .describe(\n              'Data extensions enabling users to save custom data related to the add-on.'\n            )\n            .optional(),\n          tags: z\n            .object({\n              privateTags: z\n                .object({ tagIds: z.array(z.string()).max(100).optional() })\n                .describe(\n                  'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n                )\n                .optional(),\n              tags: z\n                .object({ tagIds: z.array(z.string()).max(100).optional() })\n                .describe(\n                  'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n                )\n                .optional(),\n            })\n            .describe(\n              '[Tags](https://dev.wix.com/docs/rest/business-management/tags/introduction) assigned to add-ons for categorization and filtering purposes.'\n            )\n            .optional(),\n        }),\n        z.xor([\n          z.object({\n            durationInMinutes: z.never().optional(),\n            maxQuantity: z.never().optional(),\n          }),\n          z.object({\n            maxQuantity: z.never().optional(),\n            durationInMinutes: z\n              .number()\n              .int()\n              .describe(\n                'Duration in minutes for duration-based add-ons that extend offering time.'\n              )\n              .min(1)\n              .max(1440),\n          }),\n          z.object({\n            durationInMinutes: z.never().optional(),\n            maxQuantity: z\n              .number()\n              .int()\n              .describe(\n                'Maximum quantity customers can purchase for quantity-based add-ons.'\n              )\n              .min(1)\n              .max(9999),\n          }),\n        ])\n      )\n    )\n    .optional(),\n  pagingMetadata: z\n    .object({\n      count: z\n        .number()\n        .int()\n        .describe('Number of items returned in the response.')\n        .optional()\n        .nullable(),\n      cursors: z\n        .object({\n          next: z\n            .string()\n            .describe(\n              'Cursor string pointing to the next page in the list of results.'\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n          prev: z\n            .string()\n            .describe(\n              'Cursor pointing to the previous page in the list of results.'\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n        })\n        .describe(\n          'Cursor strings that point to the next page, previous page, or both.'\n        )\n        .optional(),\n      hasNext: z\n        .boolean()\n        .describe(\n          'Whether there are more pages to retrieve following the current page.\\n\\n+ `true`: Another page of results can be retrieved.\\n+ `false`: This is the last page.'\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Paging metadata for the query results.')\n    .optional(),\n});\nexport const BulkCreateAddOnsRequest = z.object({\n  addOns: z\n    .array(\n      z.intersection(\n        z.object({\n          _id: z\n            .string()\n            .describe('Add-on ID.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          revision: z\n            .string()\n            .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n            .describe(\n              'Revision number, which increments by 1 each time the add-on is updated.\\nTo prevent conflicting changes, the current revision must be passed when updating the add-on.\\n\\nIgnored when creating an add-on.'\n            )\n            .optional()\n            .nullable(),\n          _createdDate: z\n            .date()\n            .describe(\n              'Date and time the add-on was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n            )\n            .optional()\n            .nullable(),\n          _updatedDate: z\n            .date()\n            .describe(\n              'Date and time the add-on was last updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n            )\n            .optional()\n            .nullable(),\n          name: z\n            .string()\n            .describe('Display name of the add-on shown to customers.')\n            .min(1)\n            .max(100)\n            .optional()\n            .nullable(),\n          price: z\n            .object({\n              value: z\n                .string()\n                .describe(\n                  'Add-on price amount as a decimal string with period as decimal separator. For example, `3.99` for a $3.99 add-on or `15.00` for a $15.00 add-on.'\n                )\n                .optional(),\n              currency: z\n                .string()\n                .describe(\n                  'Currency code for the add-on price. Must be a valid [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code. For example, `USD` for US dollars or `EUR` for euros.'\n                )\n                .optional(),\n              formattedValue: z\n                .string()\n                .describe(\n                  'Add-on price amount as a decimal string in local format for display purposes. For example, `$3.99` for US format or `3,99 €` for European format.'\n                )\n                .max(50)\n                .optional()\n                .nullable(),\n            })\n            .describe('Pricing information for the add-on.')\n            .optional(),\n          taxGroup: z\n            .string()\n            .describe(\n              \"ID of the [tax group](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/tax-groups/introduction) to categorize the add-on for tax calculation in [Wix eCommerce](https://dev.wix.com/docs/rest/business-solutions/e-commerce/introduction).\\nLearn more about [how Wix eCommerce implements tax calculation](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/introduction).\\n\\nThis field doesn't apply to custom checkout/billing implementations.\"\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          extendedFields: z\n            .object({\n              namespaces: z\n                .record(z.string(), z.record(z.string(), z.any()))\n                .describe(\n                  'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                )\n                .optional(),\n            })\n            .describe(\n              'Data extensions enabling users to save custom data related to the add-on.'\n            )\n            .optional(),\n          tags: z\n            .object({\n              privateTags: z\n                .object({ tagIds: z.array(z.string()).max(100).optional() })\n                .describe(\n                  'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n                )\n                .optional(),\n              tags: z\n                .object({ tagIds: z.array(z.string()).max(100).optional() })\n                .describe(\n                  'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n                )\n                .optional(),\n            })\n            .describe(\n              '[Tags](https://dev.wix.com/docs/rest/business-management/tags/introduction) assigned to add-ons for categorization and filtering purposes.'\n            )\n            .optional(),\n        }),\n        z.xor([\n          z.object({\n            durationInMinutes: z.never().optional(),\n            maxQuantity: z.never().optional(),\n          }),\n          z.object({\n            maxQuantity: z.never().optional(),\n            durationInMinutes: z\n              .number()\n              .int()\n              .describe(\n                'Duration in minutes for duration-based add-ons that extend offering time.'\n              )\n              .min(1)\n              .max(1440),\n          }),\n          z.object({\n            durationInMinutes: z.never().optional(),\n            maxQuantity: z\n              .number()\n              .int()\n              .describe(\n                'Maximum quantity customers can purchase for quantity-based add-ons.'\n              )\n              .min(1)\n              .max(9999),\n          }),\n        ])\n      )\n    )\n    .min(1)\n    .max(100),\n  options: z\n    .object({\n      returnEntity: z\n        .boolean()\n        .describe('Whether to return the created add-ons in the response.')\n        .optional(),\n    })\n    .optional(),\n});\nexport const BulkCreateAddOnsResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        itemMetadata: z\n          .object({\n            _id: z\n              .string()\n              .describe(\n                \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n              )\n              .regex(\n                /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                'Must be a valid GUID'\n              )\n              .optional()\n              .nullable(),\n            originalIndex: z\n              .number()\n              .int()\n              .describe(\n                'Index of the item within the request array. Allows for correlation between request and response items.'\n              )\n              .optional(),\n            success: z\n              .boolean()\n              .describe(\n                'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n              )\n              .optional(),\n            error: z\n              .object({\n                code: z.string().describe('Error code.').optional(),\n                description: z\n                  .string()\n                  .describe('Description of the error.')\n                  .optional(),\n                data: z\n                  .record(z.string(), z.any())\n                  .describe('Data related to the error.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Details about the error in case of failure.')\n              .optional(),\n          })\n          .describe('Metadata for the individual create operation.')\n          .optional(),\n        item: z\n          .intersection(\n            z.object({\n              _id: z\n                .string()\n                .describe('Add-on ID.')\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              revision: z\n                .string()\n                .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n                .describe(\n                  'Revision number, which increments by 1 each time the add-on is updated.\\nTo prevent conflicting changes, the current revision must be passed when updating the add-on.\\n\\nIgnored when creating an add-on.'\n                )\n                .optional()\n                .nullable(),\n              _createdDate: z\n                .date()\n                .describe(\n                  'Date and time the add-on was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n                )\n                .optional()\n                .nullable(),\n              _updatedDate: z\n                .date()\n                .describe(\n                  'Date and time the add-on was last updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n                )\n                .optional()\n                .nullable(),\n              name: z\n                .string()\n                .describe('Display name of the add-on shown to customers.')\n                .min(1)\n                .max(100)\n                .optional()\n                .nullable(),\n              price: z\n                .object({\n                  value: z\n                    .string()\n                    .describe(\n                      'Add-on price amount as a decimal string with period as decimal separator. For example, `3.99` for a $3.99 add-on or `15.00` for a $15.00 add-on.'\n                    )\n                    .optional(),\n                  currency: z\n                    .string()\n                    .describe(\n                      'Currency code for the add-on price. Must be a valid [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code. For example, `USD` for US dollars or `EUR` for euros.'\n                    )\n                    .optional(),\n                  formattedValue: z\n                    .string()\n                    .describe(\n                      'Add-on price amount as a decimal string in local format for display purposes. For example, `$3.99` for US format or `3,99 €` for European format.'\n                    )\n                    .max(50)\n                    .optional()\n                    .nullable(),\n                })\n                .describe('Pricing information for the add-on.')\n                .optional(),\n              taxGroup: z\n                .string()\n                .describe(\n                  \"ID of the [tax group](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/tax-groups/introduction) to categorize the add-on for tax calculation in [Wix eCommerce](https://dev.wix.com/docs/rest/business-solutions/e-commerce/introduction).\\nLearn more about [how Wix eCommerce implements tax calculation](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/introduction).\\n\\nThis field doesn't apply to custom checkout/billing implementations.\"\n                )\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              extendedFields: z\n                .object({\n                  namespaces: z\n                    .record(z.string(), z.record(z.string(), z.any()))\n                    .describe(\n                      'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                    )\n                    .optional(),\n                })\n                .describe(\n                  'Data extensions enabling users to save custom data related to the add-on.'\n                )\n                .optional(),\n              tags: z\n                .object({\n                  privateTags: z\n                    .object({ tagIds: z.array(z.string()).max(100).optional() })\n                    .describe(\n                      'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n                    )\n                    .optional(),\n                  tags: z\n                    .object({ tagIds: z.array(z.string()).max(100).optional() })\n                    .describe(\n                      'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n                    )\n                    .optional(),\n                })\n                .describe(\n                  '[Tags](https://dev.wix.com/docs/rest/business-management/tags/introduction) assigned to add-ons for categorization and filtering purposes.'\n                )\n                .optional(),\n            }),\n            z.xor([\n              z.object({\n                durationInMinutes: z.never().optional(),\n                maxQuantity: z.never().optional(),\n              }),\n              z.object({\n                maxQuantity: z.never().optional(),\n                durationInMinutes: z\n                  .number()\n                  .int()\n                  .describe(\n                    'Duration in minutes for duration-based add-ons that extend offering time.'\n                  )\n                  .min(1)\n                  .max(1440),\n              }),\n              z.object({\n                durationInMinutes: z.never().optional(),\n                maxQuantity: z\n                  .number()\n                  .int()\n                  .describe(\n                    'Maximum quantity customers can purchase for quantity-based add-ons.'\n                  )\n                  .min(1)\n                  .max(9999),\n              }),\n            ])\n          )\n          .describe(\n            'Created add-on. Only present if `return_entity` was set to true in the request.'\n          )\n          .optional(),\n      })\n    )\n    .min(1)\n    .max(100)\n    .optional(),\n  bulkActionMetadata: z\n    .object({\n      totalSuccesses: z\n        .number()\n        .int()\n        .describe('Number of items that were successfully processed.')\n        .optional(),\n      totalFailures: z\n        .number()\n        .int()\n        .describe(\"Number of items that couldn't be processed.\")\n        .optional(),\n      undetailedFailures: z\n        .number()\n        .int()\n        .describe(\n          'Number of failures without details because detailed failure threshold was exceeded.'\n        )\n        .optional(),\n    })\n    .describe('Metadata for the bulk create operation.')\n    .optional(),\n});\nexport const BulkUpdateAddOnsRequest = z.object({\n  addOns: z\n    .array(\n      z.object({\n        addOn: z\n          .intersection(\n            z.object({\n              _id: z\n                .string()\n                .describe('Add-on 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              revision: z\n                .string()\n                .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n                .describe(\n                  'Revision number, which increments by 1 each time the add-on is updated.\\nTo prevent conflicting changes, the current revision must be passed when updating the add-on.\\n\\nIgnored when creating an add-on.'\n                ),\n              _createdDate: z\n                .date()\n                .describe(\n                  'Date and time the add-on was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n                )\n                .optional()\n                .nullable(),\n              _updatedDate: z\n                .date()\n                .describe(\n                  'Date and time the add-on was last updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n                )\n                .optional()\n                .nullable(),\n              name: z\n                .string()\n                .describe('Display name of the add-on shown to customers.')\n                .min(1)\n                .max(100)\n                .optional()\n                .nullable(),\n              price: z\n                .object({\n                  value: z\n                    .string()\n                    .describe(\n                      'Add-on price amount as a decimal string with period as decimal separator. For example, `3.99` for a $3.99 add-on or `15.00` for a $15.00 add-on.'\n                    )\n                    .optional(),\n                  currency: z\n                    .string()\n                    .describe(\n                      'Currency code for the add-on price. Must be a valid [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code. For example, `USD` for US dollars or `EUR` for euros.'\n                    )\n                    .optional(),\n                  formattedValue: z\n                    .string()\n                    .describe(\n                      'Add-on price amount as a decimal string in local format for display purposes. For example, `$3.99` for US format or `3,99 €` for European format.'\n                    )\n                    .max(50)\n                    .optional()\n                    .nullable(),\n                })\n                .describe('Pricing information for the add-on.')\n                .optional(),\n              taxGroup: z\n                .string()\n                .describe(\n                  \"ID of the [tax group](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/tax-groups/introduction) to categorize the add-on for tax calculation in [Wix eCommerce](https://dev.wix.com/docs/rest/business-solutions/e-commerce/introduction).\\nLearn more about [how Wix eCommerce implements tax calculation](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/introduction).\\n\\nThis field doesn't apply to custom checkout/billing implementations.\"\n                )\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              extendedFields: z\n                .object({\n                  namespaces: z\n                    .record(z.string(), z.record(z.string(), z.any()))\n                    .describe(\n                      'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                    )\n                    .optional(),\n                })\n                .describe(\n                  'Data extensions enabling users to save custom data related to the add-on.'\n                )\n                .optional(),\n              tags: z\n                .object({\n                  privateTags: z\n                    .object({ tagIds: z.array(z.string()).max(100).optional() })\n                    .describe(\n                      'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n                    )\n                    .optional(),\n                  tags: z\n                    .object({ tagIds: z.array(z.string()).max(100).optional() })\n                    .describe(\n                      'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n                    )\n                    .optional(),\n                })\n                .describe(\n                  '[Tags](https://dev.wix.com/docs/rest/business-management/tags/introduction) assigned to add-ons for categorization and filtering purposes.'\n                )\n                .optional(),\n            }),\n            z.xor([\n              z.object({\n                durationInMinutes: z.never().optional(),\n                maxQuantity: z.never().optional(),\n              }),\n              z.object({\n                maxQuantity: z.never().optional(),\n                durationInMinutes: z\n                  .number()\n                  .int()\n                  .describe(\n                    'Duration in minutes for duration-based add-ons that extend offering time.'\n                  )\n                  .min(1)\n                  .max(1440),\n              }),\n              z.object({\n                durationInMinutes: z.never().optional(),\n                maxQuantity: z\n                  .number()\n                  .int()\n                  .describe(\n                    'Maximum quantity customers can purchase for quantity-based add-ons.'\n                  )\n                  .min(1)\n                  .max(9999),\n              }),\n            ])\n          )\n          .describe('Add-on to update. May be partial.')\n          .optional(),\n      })\n    )\n    .min(1)\n    .max(100),\n  options: z\n    .object({\n      returnEntity: z\n        .boolean()\n        .describe('Whether to return the updated add-ons in the response.')\n        .optional(),\n    })\n    .optional(),\n});\nexport const BulkUpdateAddOnsResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        itemMetadata: z\n          .object({\n            _id: z\n              .string()\n              .describe(\n                \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n              )\n              .regex(\n                /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                'Must be a valid GUID'\n              )\n              .optional()\n              .nullable(),\n            originalIndex: z\n              .number()\n              .int()\n              .describe(\n                'Index of the item within the request array. Allows for correlation between request and response items.'\n              )\n              .optional(),\n            success: z\n              .boolean()\n              .describe(\n                'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n              )\n              .optional(),\n            error: z\n              .object({\n                code: z.string().describe('Error code.').optional(),\n                description: z\n                  .string()\n                  .describe('Description of the error.')\n                  .optional(),\n                data: z\n                  .record(z.string(), z.any())\n                  .describe('Data related to the error.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Details about the error in case of failure.')\n              .optional(),\n          })\n          .describe('Metadata for the individual update operation.')\n          .optional(),\n        item: z\n          .intersection(\n            z.object({\n              _id: z\n                .string()\n                .describe('Add-on ID.')\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              revision: z\n                .string()\n                .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n                .describe(\n                  'Revision number, which increments by 1 each time the add-on is updated.\\nTo prevent conflicting changes, the current revision must be passed when updating the add-on.\\n\\nIgnored when creating an add-on.'\n                )\n                .optional()\n                .nullable(),\n              _createdDate: z\n                .date()\n                .describe(\n                  'Date and time the add-on was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n                )\n                .optional()\n                .nullable(),\n              _updatedDate: z\n                .date()\n                .describe(\n                  'Date and time the add-on was last updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.'\n                )\n                .optional()\n                .nullable(),\n              name: z\n                .string()\n                .describe('Display name of the add-on shown to customers.')\n                .min(1)\n                .max(100)\n                .optional()\n                .nullable(),\n              price: z\n                .object({\n                  value: z\n                    .string()\n                    .describe(\n                      'Add-on price amount as a decimal string with period as decimal separator. For example, `3.99` for a $3.99 add-on or `15.00` for a $15.00 add-on.'\n                    )\n                    .optional(),\n                  currency: z\n                    .string()\n                    .describe(\n                      'Currency code for the add-on price. Must be a valid [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code. For example, `USD` for US dollars or `EUR` for euros.'\n                    )\n                    .optional(),\n                  formattedValue: z\n                    .string()\n                    .describe(\n                      'Add-on price amount as a decimal string in local format for display purposes. For example, `$3.99` for US format or `3,99 €` for European format.'\n                    )\n                    .max(50)\n                    .optional()\n                    .nullable(),\n                })\n                .describe('Pricing information for the add-on.')\n                .optional(),\n              taxGroup: z\n                .string()\n                .describe(\n                  \"ID of the [tax group](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/tax-groups/introduction) to categorize the add-on for tax calculation in [Wix eCommerce](https://dev.wix.com/docs/rest/business-solutions/e-commerce/introduction).\\nLearn more about [how Wix eCommerce implements tax calculation](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/introduction).\\n\\nThis field doesn't apply to custom checkout/billing implementations.\"\n                )\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              extendedFields: z\n                .object({\n                  namespaces: z\n                    .record(z.string(), z.record(z.string(), z.any()))\n                    .describe(\n                      'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                    )\n                    .optional(),\n                })\n                .describe(\n                  'Data extensions enabling users to save custom data related to the add-on.'\n                )\n                .optional(),\n              tags: z\n                .object({\n                  privateTags: z\n                    .object({ tagIds: z.array(z.string()).max(100).optional() })\n                    .describe(\n                      'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n                    )\n                    .optional(),\n                  tags: z\n                    .object({ tagIds: z.array(z.string()).max(100).optional() })\n                    .describe(\n                      'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n                    )\n                    .optional(),\n                })\n                .describe(\n                  '[Tags](https://dev.wix.com/docs/rest/business-management/tags/introduction) assigned to add-ons for categorization and filtering purposes.'\n                )\n                .optional(),\n            }),\n            z.xor([\n              z.object({\n                durationInMinutes: z.never().optional(),\n                maxQuantity: z.never().optional(),\n              }),\n              z.object({\n                maxQuantity: z.never().optional(),\n                durationInMinutes: z\n                  .number()\n                  .int()\n                  .describe(\n                    'Duration in minutes for duration-based add-ons that extend offering time.'\n                  )\n                  .min(1)\n                  .max(1440),\n              }),\n              z.object({\n                durationInMinutes: z.never().optional(),\n                maxQuantity: z\n                  .number()\n                  .int()\n                  .describe(\n                    'Maximum quantity customers can purchase for quantity-based add-ons.'\n                  )\n                  .min(1)\n                  .max(9999),\n              }),\n            ])\n          )\n          .describe(\n            'Updated add-on. Only present if `return_entity` was set to true in the request.'\n          )\n          .optional(),\n      })\n    )\n    .min(1)\n    .max(100)\n    .optional(),\n  bulkActionMetadata: z\n    .object({\n      totalSuccesses: z\n        .number()\n        .int()\n        .describe('Number of items that were successfully processed.')\n        .optional(),\n      totalFailures: z\n        .number()\n        .int()\n        .describe(\"Number of items that couldn't be processed.\")\n        .optional(),\n      undetailedFailures: z\n        .number()\n        .int()\n        .describe(\n          'Number of failures without details because detailed failure threshold was exceeded.'\n        )\n        .optional(),\n    })\n    .describe('Metadata for the bulk update operation.')\n    .optional(),\n});\nexport const BulkDeleteAddOnsRequest = z.object({\n  addOnIds: z.array(z.string()).min(1).max(100),\n});\nexport const BulkDeleteAddOnsResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        itemMetadata: z\n          .object({\n            _id: z\n              .string()\n              .describe(\n                \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n              )\n              .regex(\n                /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                'Must be a valid GUID'\n              )\n              .optional()\n              .nullable(),\n            originalIndex: z\n              .number()\n              .int()\n              .describe(\n                'Index of the item within the request array. Allows for correlation between request and response items.'\n              )\n              .optional(),\n            success: z\n              .boolean()\n              .describe(\n                'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n              )\n              .optional(),\n            error: z\n              .object({\n                code: z.string().describe('Error code.').optional(),\n                description: z\n                  .string()\n                  .describe('Description of the error.')\n                  .optional(),\n                data: z\n                  .record(z.string(), z.any())\n                  .describe('Data related to the error.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Details about the error in case of failure.')\n              .optional(),\n          })\n          .describe('Metadata for the individual delete operation.')\n          .optional(),\n      })\n    )\n    .min(1)\n    .max(100)\n    .optional(),\n  bulkActionMetadata: z\n    .object({\n      totalSuccesses: z\n        .number()\n        .int()\n        .describe('Number of items that were successfully processed.')\n        .optional(),\n      totalFailures: z\n        .number()\n        .int()\n        .describe(\"Number of items that couldn't be processed.\")\n        .optional(),\n      undetailedFailures: z\n        .number()\n        .int()\n        .describe(\n          'Number of failures without details because detailed failure threshold was exceeded.'\n        )\n        .optional(),\n    })\n    .describe('Metadata for the bulk delete operation.')\n    .optional(),\n});\n"],"mappings":"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","names":[]}