{"version":3,"sources":["../../src/restaurants-catalogs-v3-catalog-catalogs.schemas.ts"],"sourcesContent":["import * as z from 'zod';\n\nexport const ListCatalogsRequest = z.object({\n  options: z\n    .object({\n      sort: z\n        .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        .describe('Sort order. Defaults to `ASC`.')\n        .optional(),\n      paging: z\n        .object({\n          limit: z\n            .number()\n            .int()\n            .describe('Number of items to load.')\n            .min(0)\n            .optional()\n            .nullable(),\n          offset: z\n            .number()\n            .int()\n            .describe('Number of items to skip in the current sort order.')\n            .min(0)\n            .optional()\n            .nullable(),\n        })\n        .describe(\n          'Paging information. `offset` defaults to `0` and `limit` defaults to `50`. The maximum for limit is `1,000`.'\n        )\n        .optional(),\n      archived: z\n        .boolean()\n        .describe(\n          'Whether archived catalogs are returned. Defaults to `false`.'\n        )\n        .optional(),\n      locationIds: z.array(z.string()).optional(),\n    })\n    .optional(),\n});\nexport const ListCatalogsResponse = z.object({\n  catalogs: z\n    .array(\n      z.object({\n        _id: z.string().describe('Catalog ID.').optional().nullable(),\n        locationId: z\n          .string()\n          .describe(\n            'ID of the location the catalog belongs to. See the [Locations API](https://dev.wix.com/api/rest/business-info/locations/introduction) for more details.'\n          )\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional()\n          .nullable(),\n        archived: z\n          .boolean()\n          .describe(\n            \"Whether the catalog is archived.\\n__Note:__ Archived catalogs can't be updated.\"\n          )\n          .optional(),\n        draftPublishedDate: z\n          .date()\n          .describe(\n            'Date and time the last time a draft catalog has been published in `yyyy-mm-ddThh:mm:sssZ` format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n          )\n          .optional()\n          .nullable(),\n      })\n    )\n    .optional(),\n});\nexport const GetMenuRequest = z.object({\n  identifiers: z.object({\n    catalogId: z\n      .string()\n      .describe('ID of the catalog the menu belongs to.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      ),\n    menuId: z.string().describe('Menu ID.'),\n  }),\n});\nexport const GetMenuResponse = z.object({\n  menu: z\n    .object({\n      _id: z.string().describe('Menu ID.').optional().nullable(),\n      name: z.string().describe('Menu name.').optional().nullable(),\n      description: z\n        .string()\n        .describe('Menu description.')\n        .optional()\n        .nullable(),\n      imageUrl: z\n        .string()\n        .describe(\"URL of the menu's image file.\")\n        .optional()\n        .nullable(),\n      visibilityCriteria: z\n        .object({\n          visible: z\n            .boolean()\n            .describe(\n              \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n            )\n            .optional()\n            .nullable(),\n          fulfillmentTypes: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_FULFILLMENT_TYPE',\n                'DELIVERY',\n                'PICKUP_OR_DINE_IN',\n              ])\n            )\n            .min(1)\n            .max(2)\n            .optional(),\n          platforms: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_PLATFORM',\n                'SITE',\n                'MOBILE_SITE',\n                'WIX_APP',\n                'CALL_CENTER',\n                'CHAT_BOT',\n              ])\n            )\n            .min(1)\n            .max(5)\n            .optional(),\n          availability: z\n            .object({\n              periods: z\n                .array(\n                  z.object({\n                    openDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period starts on.')\n                      .optional(),\n                    openTime: z\n                      .string()\n                      .describe(\n                        'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                      )\n                      .optional(),\n                    closeDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period ends on.')\n                      .optional(),\n                    closeTime: z\n                      .string()\n                      .describe(\n                        'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                      )\n                      .optional(),\n                  })\n                )\n                .optional(),\n              specialHourPeriods: z\n                .array(\n                  z.object({\n                    startDate: z\n                      .string()\n                      .describe(\n                        'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    endDate: z\n                      .string()\n                      .describe(\n                        'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    available: z\n                      .boolean()\n                      .describe(\n                        'Whether the item is available during the exception. Defaults to `true`.'\n                      )\n                      .optional(),\n                    eventName: z\n                      .string()\n                      .describe(\n                        'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .optional(),\n            })\n            .describe('Time periods when the entity is available.')\n            .optional(),\n        })\n        .describe(\n          'Visibility criteria that must be met for the menu to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n        )\n        .optional(),\n      sectionIds: z\n        .object({ values: z.array(z.string()).optional() })\n        .describe('IDs of the sections that are included in the menu.')\n        .optional(),\n      archived: z\n        .boolean()\n        .describe(\n          \"Whether the menu is archived. Defaults to `false`. **Note:** Archived menus can't be updated.\"\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Retrieved menu.')\n    .optional(),\n});\nexport const GetSectionRequest = z.object({\n  identifiers: z.object({\n    catalogId: z\n      .string()\n      .describe('ID of the catalog the section belongs to.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      ),\n    menuId: z.string().describe('ID of the menu the catalog belongs to.'),\n    sectionId: z.string().describe('Section ID.'),\n  }),\n});\nexport const GetSectionResponse = z.object({\n  section: z\n    .object({\n      _id: z.string().describe('Section ID.').optional().nullable(),\n      menuId: z\n        .string()\n        .describe('ID of the menu the section belongs to.')\n        .optional()\n        .nullable(),\n      name: z.string().describe('Section name.').optional().nullable(),\n      description: z\n        .string()\n        .describe('Section description.')\n        .optional()\n        .nullable(),\n      imageUrl: z\n        .string()\n        .describe(\"URL of the section's image file.\")\n        .optional()\n        .nullable(),\n      itemIds: z\n        .object({ values: z.array(z.string()).optional() })\n        .describe('IDs of the items that belong to the section.')\n        .optional(),\n      visibilityCriteria: z\n        .object({\n          visible: z\n            .boolean()\n            .describe(\n              \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n            )\n            .optional()\n            .nullable(),\n          fulfillmentTypes: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_FULFILLMENT_TYPE',\n                'DELIVERY',\n                'PICKUP_OR_DINE_IN',\n              ])\n            )\n            .min(1)\n            .max(2)\n            .optional(),\n          platforms: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_PLATFORM',\n                'SITE',\n                'MOBILE_SITE',\n                'WIX_APP',\n                'CALL_CENTER',\n                'CHAT_BOT',\n              ])\n            )\n            .min(1)\n            .max(5)\n            .optional(),\n          availability: z\n            .object({\n              periods: z\n                .array(\n                  z.object({\n                    openDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period starts on.')\n                      .optional(),\n                    openTime: z\n                      .string()\n                      .describe(\n                        'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                      )\n                      .optional(),\n                    closeDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period ends on.')\n                      .optional(),\n                    closeTime: z\n                      .string()\n                      .describe(\n                        'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                      )\n                      .optional(),\n                  })\n                )\n                .optional(),\n              specialHourPeriods: z\n                .array(\n                  z.object({\n                    startDate: z\n                      .string()\n                      .describe(\n                        'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    endDate: z\n                      .string()\n                      .describe(\n                        'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    available: z\n                      .boolean()\n                      .describe(\n                        'Whether the item is available during the exception. Defaults to `true`.'\n                      )\n                      .optional(),\n                    eventName: z\n                      .string()\n                      .describe(\n                        'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .optional(),\n            })\n            .describe('Time periods when the entity is available.')\n            .optional(),\n        })\n        .describe(\n          'Visibility criteria that must be met for the section to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n        )\n        .optional(),\n      archived: z\n        .boolean()\n        .describe(\n          \"Whether the section is archived. Defaults to `false`. **Note:** Archived sections can't be updated.\"\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Retrieved section.')\n    .optional(),\n});\nexport const UpdateMenuRequest = z.object({\n  identifiers: z.object({\n    catalogId: z\n      .string()\n      .describe('ID of the catalog the menu belongs to.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      ),\n    menuId: z.string().describe('Menu ID.'),\n  }),\n  options: z\n    .object({\n      menu: z\n        .object({\n          _id: z.string().describe('Menu ID.').optional().nullable(),\n          name: z.string().describe('Menu name.').optional().nullable(),\n          description: z\n            .string()\n            .describe('Menu description.')\n            .optional()\n            .nullable(),\n          imageUrl: z\n            .string()\n            .describe(\"URL of the menu's image file.\")\n            .optional()\n            .nullable(),\n          visibilityCriteria: z\n            .object({\n              visible: z\n                .boolean()\n                .describe(\n                  \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n                )\n                .optional()\n                .nullable(),\n              fulfillmentTypes: z\n                .array(\n                  z.enum([\n                    'UNSPECIFIED_FULFILLMENT_TYPE',\n                    'DELIVERY',\n                    'PICKUP_OR_DINE_IN',\n                  ])\n                )\n                .min(1)\n                .max(2)\n                .optional(),\n              platforms: z\n                .array(\n                  z.enum([\n                    'UNSPECIFIED_PLATFORM',\n                    'SITE',\n                    'MOBILE_SITE',\n                    'WIX_APP',\n                    'CALL_CENTER',\n                    'CHAT_BOT',\n                  ])\n                )\n                .min(1)\n                .max(5)\n                .optional(),\n              availability: z\n                .object({\n                  periods: z\n                    .array(\n                      z.object({\n                        openDay: z\n                          .enum([\n                            'UNDEFINED',\n                            'SUN',\n                            'MON',\n                            'TUE',\n                            'WED',\n                            'THU',\n                            'FRI',\n                            'SAT',\n                          ])\n                          .optional(),\n                        openTime: z\n                          .string()\n                          .describe(\n                            'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                          )\n                          .optional(),\n                        closeDay: z\n                          .enum([\n                            'UNDEFINED',\n                            'SUN',\n                            'MON',\n                            'TUE',\n                            'WED',\n                            'THU',\n                            'FRI',\n                            'SAT',\n                          ])\n                          .optional(),\n                        closeTime: z\n                          .string()\n                          .describe(\n                            'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                          )\n                          .optional(),\n                      })\n                    )\n                    .optional(),\n                  specialHourPeriods: z\n                    .array(\n                      z.object({\n                        startDate: z\n                          .string()\n                          .describe(\n                            'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                          )\n                          .optional(),\n                        endDate: z\n                          .string()\n                          .describe(\n                            'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                          )\n                          .optional(),\n                        available: z\n                          .boolean()\n                          .describe(\n                            'Whether the item is available during the exception. Defaults to `true`.'\n                          )\n                          .optional(),\n                        eventName: z\n                          .string()\n                          .describe(\n                            'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                          )\n                          .optional()\n                          .nullable(),\n                      })\n                    )\n                    .optional(),\n                })\n                .describe('Time periods when the entity is available.')\n                .optional(),\n            })\n            .describe(\n              'Visibility criteria that must be met for the menu to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n            )\n            .optional(),\n          sectionIds: z\n            .object({ values: z.array(z.string()).optional() })\n            .describe('IDs of the sections that are included in the menu.')\n            .optional(),\n          archived: z\n            .boolean()\n            .describe(\n              \"Whether the menu is archived. Defaults to `false`. **Note:** Archived menus can't be updated.\"\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe('Menu to update.')\n        .optional(),\n    })\n    .optional(),\n});\nexport const UpdateMenuResponse = z.object({\n  menu: z\n    .object({\n      _id: z.string().describe('Menu ID.').optional().nullable(),\n      name: z.string().describe('Menu name.').optional().nullable(),\n      description: z\n        .string()\n        .describe('Menu description.')\n        .optional()\n        .nullable(),\n      imageUrl: z\n        .string()\n        .describe(\"URL of the menu's image file.\")\n        .optional()\n        .nullable(),\n      visibilityCriteria: z\n        .object({\n          visible: z\n            .boolean()\n            .describe(\n              \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n            )\n            .optional()\n            .nullable(),\n          fulfillmentTypes: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_FULFILLMENT_TYPE',\n                'DELIVERY',\n                'PICKUP_OR_DINE_IN',\n              ])\n            )\n            .min(1)\n            .max(2)\n            .optional(),\n          platforms: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_PLATFORM',\n                'SITE',\n                'MOBILE_SITE',\n                'WIX_APP',\n                'CALL_CENTER',\n                'CHAT_BOT',\n              ])\n            )\n            .min(1)\n            .max(5)\n            .optional(),\n          availability: z\n            .object({\n              periods: z\n                .array(\n                  z.object({\n                    openDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period starts on.')\n                      .optional(),\n                    openTime: z\n                      .string()\n                      .describe(\n                        'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                      )\n                      .optional(),\n                    closeDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period ends on.')\n                      .optional(),\n                    closeTime: z\n                      .string()\n                      .describe(\n                        'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                      )\n                      .optional(),\n                  })\n                )\n                .optional(),\n              specialHourPeriods: z\n                .array(\n                  z.object({\n                    startDate: z\n                      .string()\n                      .describe(\n                        'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    endDate: z\n                      .string()\n                      .describe(\n                        'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    available: z\n                      .boolean()\n                      .describe(\n                        'Whether the item is available during the exception. Defaults to `true`.'\n                      )\n                      .optional(),\n                    eventName: z\n                      .string()\n                      .describe(\n                        'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .optional(),\n            })\n            .describe('Time periods when the entity is available.')\n            .optional(),\n        })\n        .describe(\n          'Visibility criteria that must be met for the menu to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n        )\n        .optional(),\n      sectionIds: z\n        .object({ values: z.array(z.string()).optional() })\n        .describe('IDs of the sections that are included in the menu.')\n        .optional(),\n      archived: z\n        .boolean()\n        .describe(\n          \"Whether the menu is archived. Defaults to `false`. **Note:** Archived menus can't be updated.\"\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Updated Menu.')\n    .optional(),\n});\nexport const UpdateSectionRequest = z.object({\n  identifiers: z.object({\n    catalogId: z\n      .string()\n      .describe('ID of the catalog the section belongs to.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      ),\n    menuId: z.string().describe('Menu ID.'),\n    sectionId: z.string().describe('Section ID.'),\n  }),\n  options: z\n    .object({\n      section: z\n        .object({\n          _id: z.string().describe('Section ID.').optional().nullable(),\n          menuId: z\n            .string()\n            .describe('ID of the menu the section belongs to.')\n            .optional()\n            .nullable(),\n          name: z.string().describe('Section name.').optional().nullable(),\n          description: z\n            .string()\n            .describe('Section description.')\n            .optional()\n            .nullable(),\n          imageUrl: z\n            .string()\n            .describe(\"URL of the section's image file.\")\n            .optional()\n            .nullable(),\n          itemIds: z\n            .object({ values: z.array(z.string()).optional() })\n            .describe('IDs of the items that belong to the section.')\n            .optional(),\n          visibilityCriteria: z\n            .object({\n              visible: z\n                .boolean()\n                .describe(\n                  \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n                )\n                .optional()\n                .nullable(),\n              fulfillmentTypes: z\n                .array(\n                  z.enum([\n                    'UNSPECIFIED_FULFILLMENT_TYPE',\n                    'DELIVERY',\n                    'PICKUP_OR_DINE_IN',\n                  ])\n                )\n                .min(1)\n                .max(2)\n                .optional(),\n              platforms: z\n                .array(\n                  z.enum([\n                    'UNSPECIFIED_PLATFORM',\n                    'SITE',\n                    'MOBILE_SITE',\n                    'WIX_APP',\n                    'CALL_CENTER',\n                    'CHAT_BOT',\n                  ])\n                )\n                .min(1)\n                .max(5)\n                .optional(),\n              availability: z\n                .object({\n                  periods: z\n                    .array(\n                      z.object({\n                        openDay: z\n                          .enum([\n                            'UNDEFINED',\n                            'SUN',\n                            'MON',\n                            'TUE',\n                            'WED',\n                            'THU',\n                            'FRI',\n                            'SAT',\n                          ])\n                          .optional(),\n                        openTime: z\n                          .string()\n                          .describe(\n                            'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                          )\n                          .optional(),\n                        closeDay: z\n                          .enum([\n                            'UNDEFINED',\n                            'SUN',\n                            'MON',\n                            'TUE',\n                            'WED',\n                            'THU',\n                            'FRI',\n                            'SAT',\n                          ])\n                          .optional(),\n                        closeTime: z\n                          .string()\n                          .describe(\n                            'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                          )\n                          .optional(),\n                      })\n                    )\n                    .optional(),\n                  specialHourPeriods: z\n                    .array(\n                      z.object({\n                        startDate: z\n                          .string()\n                          .describe(\n                            'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                          )\n                          .optional(),\n                        endDate: z\n                          .string()\n                          .describe(\n                            'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                          )\n                          .optional(),\n                        available: z\n                          .boolean()\n                          .describe(\n                            'Whether the item is available during the exception. Defaults to `true`.'\n                          )\n                          .optional(),\n                        eventName: z\n                          .string()\n                          .describe(\n                            'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                          )\n                          .optional()\n                          .nullable(),\n                      })\n                    )\n                    .optional(),\n                })\n                .describe('Time periods when the entity is available.')\n                .optional(),\n            })\n            .describe(\n              'Visibility criteria that must be met for the section to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n            )\n            .optional(),\n          archived: z\n            .boolean()\n            .describe(\n              \"Whether the section is archived. Defaults to `false`. **Note:** Archived sections can't be updated.\"\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe('Section to update.')\n        .optional(),\n    })\n    .optional(),\n});\nexport const UpdateSectionResponse = z.object({\n  section: z\n    .object({\n      _id: z.string().describe('Section ID.').optional().nullable(),\n      menuId: z\n        .string()\n        .describe('ID of the menu the section belongs to.')\n        .optional()\n        .nullable(),\n      name: z.string().describe('Section name.').optional().nullable(),\n      description: z\n        .string()\n        .describe('Section description.')\n        .optional()\n        .nullable(),\n      imageUrl: z\n        .string()\n        .describe(\"URL of the section's image file.\")\n        .optional()\n        .nullable(),\n      itemIds: z\n        .object({ values: z.array(z.string()).optional() })\n        .describe('IDs of the items that belong to the section.')\n        .optional(),\n      visibilityCriteria: z\n        .object({\n          visible: z\n            .boolean()\n            .describe(\n              \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n            )\n            .optional()\n            .nullable(),\n          fulfillmentTypes: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_FULFILLMENT_TYPE',\n                'DELIVERY',\n                'PICKUP_OR_DINE_IN',\n              ])\n            )\n            .min(1)\n            .max(2)\n            .optional(),\n          platforms: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_PLATFORM',\n                'SITE',\n                'MOBILE_SITE',\n                'WIX_APP',\n                'CALL_CENTER',\n                'CHAT_BOT',\n              ])\n            )\n            .min(1)\n            .max(5)\n            .optional(),\n          availability: z\n            .object({\n              periods: z\n                .array(\n                  z.object({\n                    openDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period starts on.')\n                      .optional(),\n                    openTime: z\n                      .string()\n                      .describe(\n                        'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                      )\n                      .optional(),\n                    closeDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period ends on.')\n                      .optional(),\n                    closeTime: z\n                      .string()\n                      .describe(\n                        'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                      )\n                      .optional(),\n                  })\n                )\n                .optional(),\n              specialHourPeriods: z\n                .array(\n                  z.object({\n                    startDate: z\n                      .string()\n                      .describe(\n                        'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    endDate: z\n                      .string()\n                      .describe(\n                        'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    available: z\n                      .boolean()\n                      .describe(\n                        'Whether the item is available during the exception. Defaults to `true`.'\n                      )\n                      .optional(),\n                    eventName: z\n                      .string()\n                      .describe(\n                        'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .optional(),\n            })\n            .describe('Time periods when the entity is available.')\n            .optional(),\n        })\n        .describe(\n          'Visibility criteria that must be met for the section to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n        )\n        .optional(),\n      archived: z\n        .boolean()\n        .describe(\n          \"Whether the section is archived. Defaults to `false`. **Note:** Archived sections can't be updated.\"\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Updated section.')\n    .optional(),\n});\nexport const ListMenusRequest = z.object({\n  catalogId: z\n    .string()\n    .describe('ID of the catalog the menus belong to.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n  options: z\n    .object({\n      fieldMask: z\n        .object({ paths: z.array(z.string()) })\n        .describe('Field mask path.')\n        .optional()\n        .nullable(),\n      archived: z\n        .boolean()\n        .describe('Whether archived menus are returned. Defaults to `false`.')\n        .optional(),\n    })\n    .optional(),\n});\nexport const ListMenusResponse = z.object({\n  menus: z\n    .array(\n      z.object({\n        _id: z.string().describe('Menu ID.').optional().nullable(),\n        name: z.string().describe('Menu name.').optional().nullable(),\n        description: z\n          .string()\n          .describe('Menu description.')\n          .optional()\n          .nullable(),\n        imageUrl: z\n          .string()\n          .describe(\"URL of the menu's image file.\")\n          .optional()\n          .nullable(),\n        visibilityCriteria: z\n          .object({\n            visible: z\n              .boolean()\n              .describe(\n                \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n              )\n              .optional()\n              .nullable(),\n            fulfillmentTypes: z\n              .array(\n                z.enum([\n                  'UNSPECIFIED_FULFILLMENT_TYPE',\n                  'DELIVERY',\n                  'PICKUP_OR_DINE_IN',\n                ])\n              )\n              .min(1)\n              .max(2)\n              .optional(),\n            platforms: z\n              .array(\n                z.enum([\n                  'UNSPECIFIED_PLATFORM',\n                  'SITE',\n                  'MOBILE_SITE',\n                  'WIX_APP',\n                  'CALL_CENTER',\n                  'CHAT_BOT',\n                ])\n              )\n              .min(1)\n              .max(5)\n              .optional(),\n            availability: z\n              .object({\n                periods: z\n                  .array(\n                    z.object({\n                      openDay: z\n                        .enum([\n                          'UNDEFINED',\n                          'SUN',\n                          'MON',\n                          'TUE',\n                          'WED',\n                          'THU',\n                          'FRI',\n                          'SAT',\n                        ])\n                        .describe('Day of the week the period starts on.')\n                        .optional(),\n                      openTime: z\n                        .string()\n                        .describe(\n                          'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                        )\n                        .optional(),\n                      closeDay: z\n                        .enum([\n                          'UNDEFINED',\n                          'SUN',\n                          'MON',\n                          'TUE',\n                          'WED',\n                          'THU',\n                          'FRI',\n                          'SAT',\n                        ])\n                        .describe('Day of the week the period ends on.')\n                        .optional(),\n                      closeTime: z\n                        .string()\n                        .describe(\n                          'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                        )\n                        .optional(),\n                    })\n                  )\n                  .optional(),\n                specialHourPeriods: z\n                  .array(\n                    z.object({\n                      startDate: z\n                        .string()\n                        .describe(\n                          'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                        )\n                        .optional(),\n                      endDate: z\n                        .string()\n                        .describe(\n                          'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                        )\n                        .optional(),\n                      available: z\n                        .boolean()\n                        .describe(\n                          'Whether the item is available during the exception. Defaults to `true`.'\n                        )\n                        .optional(),\n                      eventName: z\n                        .string()\n                        .describe(\n                          'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                        )\n                        .optional()\n                        .nullable(),\n                    })\n                  )\n                  .optional(),\n              })\n              .describe('Time periods when the entity is available.')\n              .optional(),\n          })\n          .describe(\n            'Visibility criteria that must be met for the menu to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n          )\n          .optional(),\n        sectionIds: z\n          .object({ values: z.array(z.string()).optional() })\n          .describe('IDs of the sections that are included in the menu.')\n          .optional(),\n        archived: z\n          .boolean()\n          .describe(\n            \"Whether the menu is archived. Defaults to `false`. **Note:** Archived menus can't be updated.\"\n          )\n          .optional()\n          .nullable(),\n      })\n    )\n    .optional(),\n});\nexport const ListSectionsRequest = z.object({\n  catalogId: z\n    .string()\n    .describe('ID of the catalog the sections belong to.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n  options: z\n    .object({\n      fieldMask: z\n        .object({ paths: z.array(z.string()) })\n        .describe('Field mask path.')\n        .optional()\n        .nullable(),\n      archived: z\n        .boolean()\n        .describe(\n          'Whether archived sections are returned. Defaults to `false`.'\n        )\n        .optional(),\n    })\n    .optional(),\n});\nexport const ListSectionsResponse = z.object({\n  sections: z\n    .array(\n      z.object({\n        _id: z.string().describe('Section ID.').optional().nullable(),\n        menuId: z\n          .string()\n          .describe('ID of the menu the section belongs to.')\n          .optional()\n          .nullable(),\n        name: z.string().describe('Section name.').optional().nullable(),\n        description: z\n          .string()\n          .describe('Section description.')\n          .optional()\n          .nullable(),\n        imageUrl: z\n          .string()\n          .describe(\"URL of the section's image file.\")\n          .optional()\n          .nullable(),\n        itemIds: z\n          .object({ values: z.array(z.string()).optional() })\n          .describe('IDs of the items that belong to the section.')\n          .optional(),\n        visibilityCriteria: z\n          .object({\n            visible: z\n              .boolean()\n              .describe(\n                \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n              )\n              .optional()\n              .nullable(),\n            fulfillmentTypes: z\n              .array(\n                z.enum([\n                  'UNSPECIFIED_FULFILLMENT_TYPE',\n                  'DELIVERY',\n                  'PICKUP_OR_DINE_IN',\n                ])\n              )\n              .min(1)\n              .max(2)\n              .optional(),\n            platforms: z\n              .array(\n                z.enum([\n                  'UNSPECIFIED_PLATFORM',\n                  'SITE',\n                  'MOBILE_SITE',\n                  'WIX_APP',\n                  'CALL_CENTER',\n                  'CHAT_BOT',\n                ])\n              )\n              .min(1)\n              .max(5)\n              .optional(),\n            availability: z\n              .object({\n                periods: z\n                  .array(\n                    z.object({\n                      openDay: z\n                        .enum([\n                          'UNDEFINED',\n                          'SUN',\n                          'MON',\n                          'TUE',\n                          'WED',\n                          'THU',\n                          'FRI',\n                          'SAT',\n                        ])\n                        .describe('Day of the week the period starts on.')\n                        .optional(),\n                      openTime: z\n                        .string()\n                        .describe(\n                          'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                        )\n                        .optional(),\n                      closeDay: z\n                        .enum([\n                          'UNDEFINED',\n                          'SUN',\n                          'MON',\n                          'TUE',\n                          'WED',\n                          'THU',\n                          'FRI',\n                          'SAT',\n                        ])\n                        .describe('Day of the week the period ends on.')\n                        .optional(),\n                      closeTime: z\n                        .string()\n                        .describe(\n                          'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                        )\n                        .optional(),\n                    })\n                  )\n                  .optional(),\n                specialHourPeriods: z\n                  .array(\n                    z.object({\n                      startDate: z\n                        .string()\n                        .describe(\n                          'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                        )\n                        .optional(),\n                      endDate: z\n                        .string()\n                        .describe(\n                          'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                        )\n                        .optional(),\n                      available: z\n                        .boolean()\n                        .describe(\n                          'Whether the item is available during the exception. Defaults to `true`.'\n                        )\n                        .optional(),\n                      eventName: z\n                        .string()\n                        .describe(\n                          'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                        )\n                        .optional()\n                        .nullable(),\n                    })\n                  )\n                  .optional(),\n              })\n              .describe('Time periods when the entity is available.')\n              .optional(),\n          })\n          .describe(\n            'Visibility criteria that must be met for the section to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n          )\n          .optional(),\n        archived: z\n          .boolean()\n          .describe(\n            \"Whether the section is archived. Defaults to `false`. **Note:** Archived sections can't be updated.\"\n          )\n          .optional()\n          .nullable(),\n      })\n    )\n    .optional(),\n});\nexport const CreateMenuRequest = z.object({\n  catalogId: z\n    .string()\n    .describe('ID of the catalog the menu will belong to.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n  menu: z\n    .object({\n      _id: z.string().describe('Menu ID.').optional().nullable(),\n      name: z.string().describe('Menu name.').optional().nullable(),\n      description: z\n        .string()\n        .describe('Menu description.')\n        .optional()\n        .nullable(),\n      imageUrl: z\n        .string()\n        .describe(\"URL of the menu's image file.\")\n        .optional()\n        .nullable(),\n      visibilityCriteria: z\n        .object({\n          visible: z\n            .boolean()\n            .describe(\n              \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n            )\n            .optional()\n            .nullable(),\n          fulfillmentTypes: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_FULFILLMENT_TYPE',\n                'DELIVERY',\n                'PICKUP_OR_DINE_IN',\n              ])\n            )\n            .min(1)\n            .max(2)\n            .optional(),\n          platforms: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_PLATFORM',\n                'SITE',\n                'MOBILE_SITE',\n                'WIX_APP',\n                'CALL_CENTER',\n                'CHAT_BOT',\n              ])\n            )\n            .min(1)\n            .max(5)\n            .optional(),\n          availability: z\n            .object({\n              periods: z\n                .array(\n                  z.object({\n                    openDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .optional(),\n                    openTime: z\n                      .string()\n                      .describe(\n                        'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                      )\n                      .optional(),\n                    closeDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .optional(),\n                    closeTime: z\n                      .string()\n                      .describe(\n                        'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                      )\n                      .optional(),\n                  })\n                )\n                .optional(),\n              specialHourPeriods: z\n                .array(\n                  z.object({\n                    startDate: z\n                      .string()\n                      .describe(\n                        'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    endDate: z\n                      .string()\n                      .describe(\n                        'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    available: z\n                      .boolean()\n                      .describe(\n                        'Whether the item is available during the exception. Defaults to `true`.'\n                      )\n                      .optional(),\n                    eventName: z\n                      .string()\n                      .describe(\n                        'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .optional(),\n            })\n            .describe('Time periods when the entity is available.')\n            .optional(),\n        })\n        .describe(\n          'Visibility criteria that must be met for the menu to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n        )\n        .optional(),\n      sectionIds: z\n        .object({ values: z.array(z.string()).optional() })\n        .describe('IDs of the sections that are included in the menu.')\n        .optional(),\n      archived: z\n        .boolean()\n        .describe(\n          \"Whether the menu is archived. Defaults to `false`. **Note:** Archived menus can't be updated.\"\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Menu to create.'),\n});\nexport const CreateMenuResponse = z.object({\n  menu: z\n    .object({\n      _id: z.string().describe('Menu ID.').optional().nullable(),\n      name: z.string().describe('Menu name.').optional().nullable(),\n      description: z\n        .string()\n        .describe('Menu description.')\n        .optional()\n        .nullable(),\n      imageUrl: z\n        .string()\n        .describe(\"URL of the menu's image file.\")\n        .optional()\n        .nullable(),\n      visibilityCriteria: z\n        .object({\n          visible: z\n            .boolean()\n            .describe(\n              \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n            )\n            .optional()\n            .nullable(),\n          fulfillmentTypes: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_FULFILLMENT_TYPE',\n                'DELIVERY',\n                'PICKUP_OR_DINE_IN',\n              ])\n            )\n            .min(1)\n            .max(2)\n            .optional(),\n          platforms: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_PLATFORM',\n                'SITE',\n                'MOBILE_SITE',\n                'WIX_APP',\n                'CALL_CENTER',\n                'CHAT_BOT',\n              ])\n            )\n            .min(1)\n            .max(5)\n            .optional(),\n          availability: z\n            .object({\n              periods: z\n                .array(\n                  z.object({\n                    openDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period starts on.')\n                      .optional(),\n                    openTime: z\n                      .string()\n                      .describe(\n                        'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                      )\n                      .optional(),\n                    closeDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period ends on.')\n                      .optional(),\n                    closeTime: z\n                      .string()\n                      .describe(\n                        'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                      )\n                      .optional(),\n                  })\n                )\n                .optional(),\n              specialHourPeriods: z\n                .array(\n                  z.object({\n                    startDate: z\n                      .string()\n                      .describe(\n                        'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    endDate: z\n                      .string()\n                      .describe(\n                        'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    available: z\n                      .boolean()\n                      .describe(\n                        'Whether the item is available during the exception. Defaults to `true`.'\n                      )\n                      .optional(),\n                    eventName: z\n                      .string()\n                      .describe(\n                        'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .optional(),\n            })\n            .describe('Time periods when the entity is available.')\n            .optional(),\n        })\n        .describe(\n          'Visibility criteria that must be met for the menu to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n        )\n        .optional(),\n      sectionIds: z\n        .object({ values: z.array(z.string()).optional() })\n        .describe('IDs of the sections that are included in the menu.')\n        .optional(),\n      archived: z\n        .boolean()\n        .describe(\n          \"Whether the menu is archived. Defaults to `false`. **Note:** Archived menus can't be updated.\"\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Created Menu.')\n    .optional(),\n});\nexport const ArchiveMenuRequest = z.object({\n  identifiers: z.object({\n    catalogId: z\n      .string()\n      .describe('ID of the catalog the menu belongs to.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      ),\n    menuId: z.string().describe('Menu ID.'),\n  }),\n});\nexport const ArchiveMenuResponse = z.object({\n  menu: z\n    .object({\n      _id: z.string().describe('Menu ID.').optional().nullable(),\n      name: z.string().describe('Menu name.').optional().nullable(),\n      description: z\n        .string()\n        .describe('Menu description.')\n        .optional()\n        .nullable(),\n      imageUrl: z\n        .string()\n        .describe(\"URL of the menu's image file.\")\n        .optional()\n        .nullable(),\n      visibilityCriteria: z\n        .object({\n          visible: z\n            .boolean()\n            .describe(\n              \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n            )\n            .optional()\n            .nullable(),\n          fulfillmentTypes: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_FULFILLMENT_TYPE',\n                'DELIVERY',\n                'PICKUP_OR_DINE_IN',\n              ])\n            )\n            .min(1)\n            .max(2)\n            .optional(),\n          platforms: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_PLATFORM',\n                'SITE',\n                'MOBILE_SITE',\n                'WIX_APP',\n                'CALL_CENTER',\n                'CHAT_BOT',\n              ])\n            )\n            .min(1)\n            .max(5)\n            .optional(),\n          availability: z\n            .object({\n              periods: z\n                .array(\n                  z.object({\n                    openDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period starts on.')\n                      .optional(),\n                    openTime: z\n                      .string()\n                      .describe(\n                        'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                      )\n                      .optional(),\n                    closeDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period ends on.')\n                      .optional(),\n                    closeTime: z\n                      .string()\n                      .describe(\n                        'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                      )\n                      .optional(),\n                  })\n                )\n                .optional(),\n              specialHourPeriods: z\n                .array(\n                  z.object({\n                    startDate: z\n                      .string()\n                      .describe(\n                        'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    endDate: z\n                      .string()\n                      .describe(\n                        'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    available: z\n                      .boolean()\n                      .describe(\n                        'Whether the item is available during the exception. Defaults to `true`.'\n                      )\n                      .optional(),\n                    eventName: z\n                      .string()\n                      .describe(\n                        'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .optional(),\n            })\n            .describe('Time periods when the entity is available.')\n            .optional(),\n        })\n        .describe(\n          'Visibility criteria that must be met for the menu to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n        )\n        .optional(),\n      sectionIds: z\n        .object({ values: z.array(z.string()).optional() })\n        .describe('IDs of the sections that are included in the menu.')\n        .optional(),\n      archived: z\n        .boolean()\n        .describe(\n          \"Whether the menu is archived. Defaults to `false`. **Note:** Archived menus can't be updated.\"\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Archived menu.')\n    .optional(),\n});\nexport const UnarchiveMenuRequest = z.object({\n  identifiers: z.object({\n    catalogId: z\n      .string()\n      .describe('ID of the catalog the menu belongs to.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      ),\n    menuId: z.string().describe('Menu ID.'),\n  }),\n});\nexport const UnarchiveMenuResponse = z.object({\n  menu: z\n    .object({\n      _id: z.string().describe('Menu ID.').optional().nullable(),\n      name: z.string().describe('Menu name.').optional().nullable(),\n      description: z\n        .string()\n        .describe('Menu description.')\n        .optional()\n        .nullable(),\n      imageUrl: z\n        .string()\n        .describe(\"URL of the menu's image file.\")\n        .optional()\n        .nullable(),\n      visibilityCriteria: z\n        .object({\n          visible: z\n            .boolean()\n            .describe(\n              \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n            )\n            .optional()\n            .nullable(),\n          fulfillmentTypes: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_FULFILLMENT_TYPE',\n                'DELIVERY',\n                'PICKUP_OR_DINE_IN',\n              ])\n            )\n            .min(1)\n            .max(2)\n            .optional(),\n          platforms: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_PLATFORM',\n                'SITE',\n                'MOBILE_SITE',\n                'WIX_APP',\n                'CALL_CENTER',\n                'CHAT_BOT',\n              ])\n            )\n            .min(1)\n            .max(5)\n            .optional(),\n          availability: z\n            .object({\n              periods: z\n                .array(\n                  z.object({\n                    openDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period starts on.')\n                      .optional(),\n                    openTime: z\n                      .string()\n                      .describe(\n                        'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                      )\n                      .optional(),\n                    closeDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period ends on.')\n                      .optional(),\n                    closeTime: z\n                      .string()\n                      .describe(\n                        'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                      )\n                      .optional(),\n                  })\n                )\n                .optional(),\n              specialHourPeriods: z\n                .array(\n                  z.object({\n                    startDate: z\n                      .string()\n                      .describe(\n                        'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    endDate: z\n                      .string()\n                      .describe(\n                        'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    available: z\n                      .boolean()\n                      .describe(\n                        'Whether the item is available during the exception. Defaults to `true`.'\n                      )\n                      .optional(),\n                    eventName: z\n                      .string()\n                      .describe(\n                        'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .optional(),\n            })\n            .describe('Time periods when the entity is available.')\n            .optional(),\n        })\n        .describe(\n          'Visibility criteria that must be met for the menu to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n        )\n        .optional(),\n      sectionIds: z\n        .object({ values: z.array(z.string()).optional() })\n        .describe('IDs of the sections that are included in the menu.')\n        .optional(),\n      archived: z\n        .boolean()\n        .describe(\n          \"Whether the menu is archived. Defaults to `false`. **Note:** Archived menus can't be updated.\"\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Unarchived menu.')\n    .optional(),\n});\nexport const CreateSectionRequest = z.object({\n  identifiers: z.object({\n    catalogId: z\n      .string()\n      .describe('ID of the catalog the section will belong to.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      ),\n    menuId: z.string().describe('ID of the menu the section will belong to.'),\n  }),\n  section: z\n    .object({\n      _id: z.string().describe('Section ID.').optional().nullable(),\n      menuId: z\n        .string()\n        .describe('ID of the menu the section belongs to.')\n        .optional()\n        .nullable(),\n      name: z.string().describe('Section name.').optional().nullable(),\n      description: z\n        .string()\n        .describe('Section description.')\n        .optional()\n        .nullable(),\n      imageUrl: z\n        .string()\n        .describe(\"URL of the section's image file.\")\n        .optional()\n        .nullable(),\n      itemIds: z\n        .object({ values: z.array(z.string()).optional() })\n        .describe('IDs of the items that belong to the section.')\n        .optional(),\n      visibilityCriteria: z\n        .object({\n          visible: z\n            .boolean()\n            .describe(\n              \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n            )\n            .optional()\n            .nullable(),\n          fulfillmentTypes: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_FULFILLMENT_TYPE',\n                'DELIVERY',\n                'PICKUP_OR_DINE_IN',\n              ])\n            )\n            .min(1)\n            .max(2)\n            .optional(),\n          platforms: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_PLATFORM',\n                'SITE',\n                'MOBILE_SITE',\n                'WIX_APP',\n                'CALL_CENTER',\n                'CHAT_BOT',\n              ])\n            )\n            .min(1)\n            .max(5)\n            .optional(),\n          availability: z\n            .object({\n              periods: z\n                .array(\n                  z.object({\n                    openDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .optional(),\n                    openTime: z\n                      .string()\n                      .describe(\n                        'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                      )\n                      .optional(),\n                    closeDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .optional(),\n                    closeTime: z\n                      .string()\n                      .describe(\n                        'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                      )\n                      .optional(),\n                  })\n                )\n                .optional(),\n              specialHourPeriods: z\n                .array(\n                  z.object({\n                    startDate: z\n                      .string()\n                      .describe(\n                        'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    endDate: z\n                      .string()\n                      .describe(\n                        'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    available: z\n                      .boolean()\n                      .describe(\n                        'Whether the item is available during the exception. Defaults to `true`.'\n                      )\n                      .optional(),\n                    eventName: z\n                      .string()\n                      .describe(\n                        'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .optional(),\n            })\n            .describe('Time periods when the entity is available.')\n            .optional(),\n        })\n        .describe(\n          'Visibility criteria that must be met for the section to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n        )\n        .optional(),\n      archived: z\n        .boolean()\n        .describe(\n          \"Whether the section is archived. Defaults to `false`. **Note:** Archived sections can't be updated.\"\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Section to create.'),\n});\nexport const CreateSectionResponse = z.object({\n  section: z\n    .object({\n      _id: z.string().describe('Section ID.').optional().nullable(),\n      menuId: z\n        .string()\n        .describe('ID of the menu the section belongs to.')\n        .optional()\n        .nullable(),\n      name: z.string().describe('Section name.').optional().nullable(),\n      description: z\n        .string()\n        .describe('Section description.')\n        .optional()\n        .nullable(),\n      imageUrl: z\n        .string()\n        .describe(\"URL of the section's image file.\")\n        .optional()\n        .nullable(),\n      itemIds: z\n        .object({ values: z.array(z.string()).optional() })\n        .describe('IDs of the items that belong to the section.')\n        .optional(),\n      visibilityCriteria: z\n        .object({\n          visible: z\n            .boolean()\n            .describe(\n              \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n            )\n            .optional()\n            .nullable(),\n          fulfillmentTypes: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_FULFILLMENT_TYPE',\n                'DELIVERY',\n                'PICKUP_OR_DINE_IN',\n              ])\n            )\n            .min(1)\n            .max(2)\n            .optional(),\n          platforms: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_PLATFORM',\n                'SITE',\n                'MOBILE_SITE',\n                'WIX_APP',\n                'CALL_CENTER',\n                'CHAT_BOT',\n              ])\n            )\n            .min(1)\n            .max(5)\n            .optional(),\n          availability: z\n            .object({\n              periods: z\n                .array(\n                  z.object({\n                    openDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period starts on.')\n                      .optional(),\n                    openTime: z\n                      .string()\n                      .describe(\n                        'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                      )\n                      .optional(),\n                    closeDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period ends on.')\n                      .optional(),\n                    closeTime: z\n                      .string()\n                      .describe(\n                        'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                      )\n                      .optional(),\n                  })\n                )\n                .optional(),\n              specialHourPeriods: z\n                .array(\n                  z.object({\n                    startDate: z\n                      .string()\n                      .describe(\n                        'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    endDate: z\n                      .string()\n                      .describe(\n                        'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    available: z\n                      .boolean()\n                      .describe(\n                        'Whether the item is available during the exception. Defaults to `true`.'\n                      )\n                      .optional(),\n                    eventName: z\n                      .string()\n                      .describe(\n                        'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .optional(),\n            })\n            .describe('Time periods when the entity is available.')\n            .optional(),\n        })\n        .describe(\n          'Visibility criteria that must be met for the section to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n        )\n        .optional(),\n      archived: z\n        .boolean()\n        .describe(\n          \"Whether the section is archived. Defaults to `false`. **Note:** Archived sections can't be updated.\"\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Created section.')\n    .optional(),\n});\nexport const GetItemRequest = z.object({\n  identifiers: z.object({\n    catalogId: z\n      .string()\n      .describe('ID of the catalog the item belongs to.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      ),\n    itemId: z.string().describe('Item ID.'),\n  }),\n  options: z\n    .object({\n      includeVisibilityCriteria: z\n        .boolean()\n        .describe(\n          'Whether `visibilityCriteria` is returned. Defaults to `false`.'\n        )\n        .optional(),\n    })\n    .optional(),\n});\nexport const GetItemResponse = z.object({\n  item: z\n    .object({\n      _id: z.string().describe('Item ID.').optional().nullable(),\n      name: z.string().describe('Item name.').optional().nullable(),\n      description: z\n        .string()\n        .describe('Item description.')\n        .optional()\n        .nullable(),\n      price: z\n        .object({\n          value: z\n            .string()\n            .describe(\n              'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n            )\n            .optional(),\n          currency: z\n            .string()\n            .describe(\n              'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n            )\n            .optional(),\n        })\n        .describe('Item price.')\n        .optional(),\n      imageUrl: z\n        .string()\n        .describe(\"URL of the item's image file.\")\n        .optional()\n        .nullable(),\n      labels: z\n        .object({ values: z.array(z.string()).optional() })\n        .describe(\n          'Item labels. For example spicy, hot, vegan, gluten-free, or organic.'\n        )\n        .optional(),\n      inStock: z\n        .boolean()\n        .describe('Whether the item is in stock.')\n        .optional()\n        .nullable(),\n      taxRate: z\n        .string()\n        .describe('Tax rate of the item in percent.')\n        .optional()\n        .nullable(),\n      archived: z\n        .boolean()\n        .describe(\n          \"Whether the item is archived. Defaults to `false`. **Note:** Archived items can't be updated.\"\n        )\n        .optional()\n        .nullable(),\n      visibilityCriteria: z\n        .object({\n          visible: z\n            .boolean()\n            .describe(\n              \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n            )\n            .optional()\n            .nullable(),\n          fulfillmentTypes: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_FULFILLMENT_TYPE',\n                'DELIVERY',\n                'PICKUP_OR_DINE_IN',\n              ])\n            )\n            .min(1)\n            .max(2)\n            .optional(),\n          platforms: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_PLATFORM',\n                'SITE',\n                'MOBILE_SITE',\n                'WIX_APP',\n                'CALL_CENTER',\n                'CHAT_BOT',\n              ])\n            )\n            .min(1)\n            .max(5)\n            .optional(),\n          availability: z\n            .object({\n              periods: z\n                .array(\n                  z.object({\n                    openDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period starts on.')\n                      .optional(),\n                    openTime: z\n                      .string()\n                      .describe(\n                        'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                      )\n                      .optional(),\n                    closeDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period ends on.')\n                      .optional(),\n                    closeTime: z\n                      .string()\n                      .describe(\n                        'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                      )\n                      .optional(),\n                  })\n                )\n                .optional(),\n              specialHourPeriods: z\n                .array(\n                  z.object({\n                    startDate: z\n                      .string()\n                      .describe(\n                        'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    endDate: z\n                      .string()\n                      .describe(\n                        'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    available: z\n                      .boolean()\n                      .describe(\n                        'Whether the item is available during the exception. Defaults to `true`.'\n                      )\n                      .optional(),\n                    eventName: z\n                      .string()\n                      .describe(\n                        'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .optional(),\n            })\n            .describe('Time periods when the entity is available.')\n            .optional(),\n        })\n        .describe(\n          'Visibility criteria that must be met for the item to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n        )\n        .optional(),\n      dishOptions: z\n        .object({\n          values: z\n            .array(\n              z.intersection(\n                z.object({\n                  name: z.string().describe('Dish option name.').optional(),\n                  type: z\n                    .enum([\n                      'UNSPECIFIED_DISH_OPTION_TYPE',\n                      'SELECTION',\n                      'EXTRAS',\n                      'DESELECTION',\n                    ])\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    selection: z.never().optional(),\n                    extras: z.never().optional(),\n                    deselection: z.never().optional(),\n                  }),\n                  z.object({\n                    extras: z.never().optional(),\n                    deselection: z.never().optional(),\n                    selection: z\n                      .object({\n                        defaultChoice: z\n                          .string()\n                          .describe('Item ID of the default choice.')\n                          .optional()\n                          .nullable(),\n                        availableChoices: z\n                          .array(\n                            z.object({\n                              itemId: z\n                                .string()\n                                .describe('Item ID of the dish option.')\n                                .optional(),\n                              price: z\n                                .object({\n                                  value: z\n                                    .string()\n                                    .describe(\n                                      'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                    )\n                                    .optional(),\n                                  currency: z\n                                    .string()\n                                    .describe(\n                                      'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                )\n                                .optional(),\n                            })\n                          )\n                          .optional(),\n                      })\n                      .describe(\n                        'Item of type `DISH` or `VARIATION` that customers can select. For example a dish size. Customers can choose only a single selection per dish.'\n                      ),\n                  }),\n                  z.object({\n                    selection: z.never().optional(),\n                    deselection: z.never().optional(),\n                    extras: z\n                      .object({\n                        defaultChoices: z.array(z.string()).optional(),\n                        minChoices: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Minimum number of extras a customer must choose. Defaults to `0`. Must be lower than or equal to the value of `availableChoices`.'\n                          )\n                          .min(0)\n                          .max(2147483647)\n                          .optional()\n                          .nullable(),\n                        maxChoices: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Maximum number of extras a customer can choose. Defaults to the value of `availableChoices`. Must be greater than or equal to the value of `minChoices`.'\n                          )\n                          .min(0)\n                          .max(2147483647)\n                          .optional()\n                          .nullable(),\n                        availableChoices: z\n                          .array(\n                            z.object({\n                              itemId: z\n                                .string()\n                                .describe('Item ID of the dish option.')\n                                .optional(),\n                              price: z\n                                .object({\n                                  value: z\n                                    .string()\n                                    .describe(\n                                      'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                    )\n                                    .optional(),\n                                  currency: z\n                                    .string()\n                                    .describe(\n                                      'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                )\n                                .optional(),\n                            })\n                          )\n                          .optional(),\n                      })\n                      .describe(\n                        'Item of type `DISH` or `VARIATION` that customers can add to a dish. For example a topping. Customers can add multiple extras per dish.'\n                      ),\n                  }),\n                  z.object({\n                    selection: z.never().optional(),\n                    extras: z.never().optional(),\n                    deselection: z\n                      .object({\n                        availableChoices: z\n                          .array(\n                            z.object({\n                              itemId: z\n                                .string()\n                                .describe('Item ID of the dish option.')\n                                .optional(),\n                              price: z\n                                .object({\n                                  value: z\n                                    .string()\n                                    .describe(\n                                      'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                    )\n                                    .optional(),\n                                  currency: z\n                                    .string()\n                                    .describe(\n                                      'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                )\n                                .optional(),\n                            })\n                          )\n                          .optional(),\n                      })\n                      .describe(\n                        'Item of type `DISH` or `VARIATION` that customers can remove from a dish. For example a specific ingredient. Customers can remove multiple deselections per dish.'\n                      ),\n                  }),\n                ])\n              )\n            )\n            .optional(),\n        })\n        .describe(\n          'Items customers can choose to modify a dish. Can be an extra, selection, or deselection.'\n        )\n        .optional(),\n      acceptSpecialRequest: z\n        .boolean()\n        .describe(\n          'Whether a customer can add a special request when ordering this item. Defaults to `true`.'\n        )\n        .optional()\n        .nullable(),\n      type: z\n        .enum(['UNSPECIFIED_ITEM_TYPE', 'DISH', 'VARIATION'])\n        .describe('Item type.')\n        .optional(),\n    })\n    .describe('Retrieved item.')\n    .optional(),\n});\nexport const ListItemsRequest = z.object({\n  catalogId: z\n    .string()\n    .describe('ID of the catalog the items belong to.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n  options: z\n    .object({\n      fieldMask: z\n        .object({ paths: z.array(z.string()) })\n        .describe('Field mask path.')\n        .optional()\n        .nullable(),\n      archived: z\n        .boolean()\n        .describe('Whether archived items are returned. Defaults to `false`.')\n        .optional(),\n    })\n    .optional(),\n});\nexport const ListItemsResponse = z.object({\n  items: z\n    .array(\n      z.object({\n        _id: z.string().describe('Item ID.').optional().nullable(),\n        name: z.string().describe('Item name.').optional().nullable(),\n        description: z\n          .string()\n          .describe('Item description.')\n          .optional()\n          .nullable(),\n        price: z\n          .object({\n            value: z\n              .string()\n              .describe(\n                'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n              )\n              .optional(),\n            currency: z\n              .string()\n              .describe(\n                'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n              )\n              .optional(),\n          })\n          .describe('Item price.')\n          .optional(),\n        imageUrl: z\n          .string()\n          .describe(\"URL of the item's image file.\")\n          .optional()\n          .nullable(),\n        labels: z\n          .object({ values: z.array(z.string()).optional() })\n          .describe(\n            'Item labels. For example spicy, hot, vegan, gluten-free, or organic.'\n          )\n          .optional(),\n        inStock: z\n          .boolean()\n          .describe('Whether the item is in stock.')\n          .optional()\n          .nullable(),\n        taxRate: z\n          .string()\n          .describe('Tax rate of the item in percent.')\n          .optional()\n          .nullable(),\n        archived: z\n          .boolean()\n          .describe(\n            \"Whether the item is archived. Defaults to `false`. **Note:** Archived items can't be updated.\"\n          )\n          .optional()\n          .nullable(),\n        visibilityCriteria: z\n          .object({\n            visible: z\n              .boolean()\n              .describe(\n                \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n              )\n              .optional()\n              .nullable(),\n            fulfillmentTypes: z\n              .array(\n                z.enum([\n                  'UNSPECIFIED_FULFILLMENT_TYPE',\n                  'DELIVERY',\n                  'PICKUP_OR_DINE_IN',\n                ])\n              )\n              .min(1)\n              .max(2)\n              .optional(),\n            platforms: z\n              .array(\n                z.enum([\n                  'UNSPECIFIED_PLATFORM',\n                  'SITE',\n                  'MOBILE_SITE',\n                  'WIX_APP',\n                  'CALL_CENTER',\n                  'CHAT_BOT',\n                ])\n              )\n              .min(1)\n              .max(5)\n              .optional(),\n            availability: z\n              .object({\n                periods: z\n                  .array(\n                    z.object({\n                      openDay: z\n                        .enum([\n                          'UNDEFINED',\n                          'SUN',\n                          'MON',\n                          'TUE',\n                          'WED',\n                          'THU',\n                          'FRI',\n                          'SAT',\n                        ])\n                        .describe('Day of the week the period starts on.')\n                        .optional(),\n                      openTime: z\n                        .string()\n                        .describe(\n                          'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                        )\n                        .optional(),\n                      closeDay: z\n                        .enum([\n                          'UNDEFINED',\n                          'SUN',\n                          'MON',\n                          'TUE',\n                          'WED',\n                          'THU',\n                          'FRI',\n                          'SAT',\n                        ])\n                        .describe('Day of the week the period ends on.')\n                        .optional(),\n                      closeTime: z\n                        .string()\n                        .describe(\n                          'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                        )\n                        .optional(),\n                    })\n                  )\n                  .optional(),\n                specialHourPeriods: z\n                  .array(\n                    z.object({\n                      startDate: z\n                        .string()\n                        .describe(\n                          'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                        )\n                        .optional(),\n                      endDate: z\n                        .string()\n                        .describe(\n                          'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                        )\n                        .optional(),\n                      available: z\n                        .boolean()\n                        .describe(\n                          'Whether the item is available during the exception. Defaults to `true`.'\n                        )\n                        .optional(),\n                      eventName: z\n                        .string()\n                        .describe(\n                          'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                        )\n                        .optional()\n                        .nullable(),\n                    })\n                  )\n                  .optional(),\n              })\n              .describe('Time periods when the entity is available.')\n              .optional(),\n          })\n          .describe(\n            'Visibility criteria that must be met for the item to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n          )\n          .optional(),\n        dishOptions: z\n          .object({\n            values: z\n              .array(\n                z.intersection(\n                  z.object({\n                    name: z.string().describe('Dish option name.').optional(),\n                    type: z\n                      .enum([\n                        'UNSPECIFIED_DISH_OPTION_TYPE',\n                        'SELECTION',\n                        'EXTRAS',\n                        'DESELECTION',\n                      ])\n                      .optional(),\n                  }),\n                  z.xor([\n                    z.object({\n                      selection: z.never().optional(),\n                      extras: z.never().optional(),\n                      deselection: z.never().optional(),\n                    }),\n                    z.object({\n                      extras: z.never().optional(),\n                      deselection: z.never().optional(),\n                      selection: z\n                        .object({\n                          defaultChoice: z\n                            .string()\n                            .describe('Item ID of the default choice.')\n                            .optional()\n                            .nullable(),\n                          availableChoices: z\n                            .array(\n                              z.object({\n                                itemId: z\n                                  .string()\n                                  .describe('Item ID of the dish option.')\n                                  .optional(),\n                                price: z\n                                  .object({\n                                    value: z\n                                      .string()\n                                      .describe(\n                                        'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                      )\n                                      .optional(),\n                                    currency: z\n                                      .string()\n                                      .describe(\n                                        'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                      )\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                  )\n                                  .optional(),\n                              })\n                            )\n                            .optional(),\n                        })\n                        .describe(\n                          'Item of type `DISH` or `VARIATION` that customers can select. For example a dish size. Customers can choose only a single selection per dish.'\n                        ),\n                    }),\n                    z.object({\n                      selection: z.never().optional(),\n                      deselection: z.never().optional(),\n                      extras: z\n                        .object({\n                          defaultChoices: z.array(z.string()).optional(),\n                          minChoices: z\n                            .number()\n                            .int()\n                            .describe(\n                              'Minimum number of extras a customer must choose. Defaults to `0`. Must be lower than or equal to the value of `availableChoices`.'\n                            )\n                            .min(0)\n                            .max(2147483647)\n                            .optional()\n                            .nullable(),\n                          maxChoices: z\n                            .number()\n                            .int()\n                            .describe(\n                              'Maximum number of extras a customer can choose. Defaults to the value of `availableChoices`. Must be greater than or equal to the value of `minChoices`.'\n                            )\n                            .min(0)\n                            .max(2147483647)\n                            .optional()\n                            .nullable(),\n                          availableChoices: z\n                            .array(\n                              z.object({\n                                itemId: z\n                                  .string()\n                                  .describe('Item ID of the dish option.')\n                                  .optional(),\n                                price: z\n                                  .object({\n                                    value: z\n                                      .string()\n                                      .describe(\n                                        'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                      )\n                                      .optional(),\n                                    currency: z\n                                      .string()\n                                      .describe(\n                                        'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                      )\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                  )\n                                  .optional(),\n                              })\n                            )\n                            .optional(),\n                        })\n                        .describe(\n                          'Item of type `DISH` or `VARIATION` that customers can add to a dish. For example a topping. Customers can add multiple extras per dish.'\n                        ),\n                    }),\n                    z.object({\n                      selection: z.never().optional(),\n                      extras: z.never().optional(),\n                      deselection: z\n                        .object({\n                          availableChoices: z\n                            .array(\n                              z.object({\n                                itemId: z\n                                  .string()\n                                  .describe('Item ID of the dish option.')\n                                  .optional(),\n                                price: z\n                                  .object({\n                                    value: z\n                                      .string()\n                                      .describe(\n                                        'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                      )\n                                      .optional(),\n                                    currency: z\n                                      .string()\n                                      .describe(\n                                        'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                      )\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                  )\n                                  .optional(),\n                              })\n                            )\n                            .optional(),\n                        })\n                        .describe(\n                          'Item of type `DISH` or `VARIATION` that customers can remove from a dish. For example a specific ingredient. Customers can remove multiple deselections per dish.'\n                        ),\n                    }),\n                  ])\n                )\n              )\n              .optional(),\n          })\n          .describe(\n            'Items customers can choose to modify a dish. Can be an extra, selection, or deselection.'\n          )\n          .optional(),\n        acceptSpecialRequest: z\n          .boolean()\n          .describe(\n            'Whether a customer can add a special request when ordering this item. Defaults to `true`.'\n          )\n          .optional()\n          .nullable(),\n        type: z\n          .enum(['UNSPECIFIED_ITEM_TYPE', 'DISH', 'VARIATION'])\n          .describe('Item type.')\n          .optional(),\n      })\n    )\n    .optional(),\n});\nexport const UpdateItemRequest = z.object({\n  identifiers: z.object({\n    catalogId: z\n      .string()\n      .describe('ID of the catalog the item belongs to.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      ),\n    itemId: z.string().describe('Item ID.'),\n  }),\n  options: z\n    .object({\n      item: z\n        .object({\n          _id: z.string().describe('Item ID.').optional().nullable(),\n          name: z.string().describe('Item name.').optional().nullable(),\n          description: z\n            .string()\n            .describe('Item description.')\n            .optional()\n            .nullable(),\n          price: z\n            .object({\n              value: z\n                .string()\n                .describe(\n                  'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                )\n                .optional(),\n              currency: z\n                .string()\n                .describe(\n                  'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                )\n                .optional(),\n            })\n            .describe('Item price.')\n            .optional(),\n          imageUrl: z\n            .string()\n            .describe(\"URL of the item's image file.\")\n            .optional()\n            .nullable(),\n          labels: z\n            .object({ values: z.array(z.string()).optional() })\n            .describe(\n              'Item labels. For example spicy, hot, vegan, gluten-free, or organic.'\n            )\n            .optional(),\n          inStock: z\n            .boolean()\n            .describe('Whether the item is in stock.')\n            .optional()\n            .nullable(),\n          taxRate: z\n            .string()\n            .describe('Tax rate of the item in percent.')\n            .optional()\n            .nullable(),\n          archived: z\n            .boolean()\n            .describe(\n              \"Whether the item is archived. Defaults to `false`. **Note:** Archived items can't be updated.\"\n            )\n            .optional()\n            .nullable(),\n          visibilityCriteria: z\n            .object({\n              visible: z\n                .boolean()\n                .describe(\n                  \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n                )\n                .optional()\n                .nullable(),\n              fulfillmentTypes: z\n                .array(\n                  z.enum([\n                    'UNSPECIFIED_FULFILLMENT_TYPE',\n                    'DELIVERY',\n                    'PICKUP_OR_DINE_IN',\n                  ])\n                )\n                .min(1)\n                .max(2)\n                .optional(),\n              platforms: z\n                .array(\n                  z.enum([\n                    'UNSPECIFIED_PLATFORM',\n                    'SITE',\n                    'MOBILE_SITE',\n                    'WIX_APP',\n                    'CALL_CENTER',\n                    'CHAT_BOT',\n                  ])\n                )\n                .min(1)\n                .max(5)\n                .optional(),\n              availability: z\n                .object({\n                  periods: z\n                    .array(\n                      z.object({\n                        openDay: z\n                          .enum([\n                            'UNDEFINED',\n                            'SUN',\n                            'MON',\n                            'TUE',\n                            'WED',\n                            'THU',\n                            'FRI',\n                            'SAT',\n                          ])\n                          .optional(),\n                        openTime: z\n                          .string()\n                          .describe(\n                            'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                          )\n                          .optional(),\n                        closeDay: z\n                          .enum([\n                            'UNDEFINED',\n                            'SUN',\n                            'MON',\n                            'TUE',\n                            'WED',\n                            'THU',\n                            'FRI',\n                            'SAT',\n                          ])\n                          .optional(),\n                        closeTime: z\n                          .string()\n                          .describe(\n                            'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                          )\n                          .optional(),\n                      })\n                    )\n                    .optional(),\n                  specialHourPeriods: z\n                    .array(\n                      z.object({\n                        startDate: z\n                          .string()\n                          .describe(\n                            'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                          )\n                          .optional(),\n                        endDate: z\n                          .string()\n                          .describe(\n                            'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                          )\n                          .optional(),\n                        available: z\n                          .boolean()\n                          .describe(\n                            'Whether the item is available during the exception. Defaults to `true`.'\n                          )\n                          .optional(),\n                        eventName: z\n                          .string()\n                          .describe(\n                            'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                          )\n                          .optional()\n                          .nullable(),\n                      })\n                    )\n                    .optional(),\n                })\n                .describe('Time periods when the entity is available.')\n                .optional(),\n            })\n            .describe(\n              'Visibility criteria that must be met for the item to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n            )\n            .optional(),\n          dishOptions: z\n            .object({\n              values: z\n                .array(\n                  z.intersection(\n                    z.object({\n                      name: z.string().describe('Dish option name.').optional(),\n                      type: z\n                        .enum([\n                          'UNSPECIFIED_DISH_OPTION_TYPE',\n                          'SELECTION',\n                          'EXTRAS',\n                          'DESELECTION',\n                        ])\n                        .optional(),\n                    }),\n                    z.xor([\n                      z.object({\n                        selection: z.never().optional(),\n                        extras: z.never().optional(),\n                        deselection: z.never().optional(),\n                      }),\n                      z.object({\n                        extras: z.never().optional(),\n                        deselection: z.never().optional(),\n                        selection: z\n                          .object({\n                            defaultChoice: z\n                              .string()\n                              .describe('Item ID of the default choice.')\n                              .optional()\n                              .nullable(),\n                            availableChoices: z\n                              .array(\n                                z.object({\n                                  itemId: z\n                                    .string()\n                                    .describe('Item ID of the dish option.')\n                                    .optional(),\n                                  price: z\n                                    .object({\n                                      value: z\n                                        .string()\n                                        .describe(\n                                          'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                        )\n                                        .optional(),\n                                      currency: z\n                                        .string()\n                                        .describe(\n                                          'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                    )\n                                    .optional(),\n                                })\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Item of type `DISH` or `VARIATION` that customers can select. For example a dish size. Customers can choose only a single selection per dish.'\n                          ),\n                      }),\n                      z.object({\n                        selection: z.never().optional(),\n                        deselection: z.never().optional(),\n                        extras: z\n                          .object({\n                            defaultChoices: z.array(z.string()).optional(),\n                            minChoices: z\n                              .number()\n                              .int()\n                              .describe(\n                                'Minimum number of extras a customer must choose. Defaults to `0`. Must be lower than or equal to the value of `availableChoices`.'\n                              )\n                              .min(0)\n                              .max(2147483647)\n                              .optional()\n                              .nullable(),\n                            maxChoices: z\n                              .number()\n                              .int()\n                              .describe(\n                                'Maximum number of extras a customer can choose. Defaults to the value of `availableChoices`. Must be greater than or equal to the value of `minChoices`.'\n                              )\n                              .min(0)\n                              .max(2147483647)\n                              .optional()\n                              .nullable(),\n                            availableChoices: z\n                              .array(\n                                z.object({\n                                  itemId: z\n                                    .string()\n                                    .describe('Item ID of the dish option.')\n                                    .optional(),\n                                  price: z\n                                    .object({\n                                      value: z\n                                        .string()\n                                        .describe(\n                                          'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                        )\n                                        .optional(),\n                                      currency: z\n                                        .string()\n                                        .describe(\n                                          'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                    )\n                                    .optional(),\n                                })\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Item of type `DISH` or `VARIATION` that customers can add to a dish. For example a topping. Customers can add multiple extras per dish.'\n                          ),\n                      }),\n                      z.object({\n                        selection: z.never().optional(),\n                        extras: z.never().optional(),\n                        deselection: z\n                          .object({\n                            availableChoices: z\n                              .array(\n                                z.object({\n                                  itemId: z\n                                    .string()\n                                    .describe('Item ID of the dish option.')\n                                    .optional(),\n                                  price: z\n                                    .object({\n                                      value: z\n                                        .string()\n                                        .describe(\n                                          'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                        )\n                                        .optional(),\n                                      currency: z\n                                        .string()\n                                        .describe(\n                                          'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe(\n                                      \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                    )\n                                    .optional(),\n                                })\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Item of type `DISH` or `VARIATION` that customers can remove from a dish. For example a specific ingredient. Customers can remove multiple deselections per dish.'\n                          ),\n                      }),\n                    ])\n                  )\n                )\n                .optional(),\n            })\n            .describe(\n              'Items customers can choose to modify a dish. Can be an extra, selection, or deselection.'\n            )\n            .optional(),\n          acceptSpecialRequest: z\n            .boolean()\n            .describe(\n              'Whether a customer can add a special request when ordering this item. Defaults to `true`.'\n            )\n            .optional()\n            .nullable(),\n          type: z\n            .enum(['UNSPECIFIED_ITEM_TYPE', 'DISH', 'VARIATION'])\n            .optional(),\n        })\n        .describe('Item to update.')\n        .optional(),\n    })\n    .optional(),\n});\nexport const UpdateItemResponse = z.object({\n  item: z\n    .object({\n      _id: z.string().describe('Item ID.').optional().nullable(),\n      name: z.string().describe('Item name.').optional().nullable(),\n      description: z\n        .string()\n        .describe('Item description.')\n        .optional()\n        .nullable(),\n      price: z\n        .object({\n          value: z\n            .string()\n            .describe(\n              'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n            )\n            .optional(),\n          currency: z\n            .string()\n            .describe(\n              'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n            )\n            .optional(),\n        })\n        .describe('Item price.')\n        .optional(),\n      imageUrl: z\n        .string()\n        .describe(\"URL of the item's image file.\")\n        .optional()\n        .nullable(),\n      labels: z\n        .object({ values: z.array(z.string()).optional() })\n        .describe(\n          'Item labels. For example spicy, hot, vegan, gluten-free, or organic.'\n        )\n        .optional(),\n      inStock: z\n        .boolean()\n        .describe('Whether the item is in stock.')\n        .optional()\n        .nullable(),\n      taxRate: z\n        .string()\n        .describe('Tax rate of the item in percent.')\n        .optional()\n        .nullable(),\n      archived: z\n        .boolean()\n        .describe(\n          \"Whether the item is archived. Defaults to `false`. **Note:** Archived items can't be updated.\"\n        )\n        .optional()\n        .nullable(),\n      visibilityCriteria: z\n        .object({\n          visible: z\n            .boolean()\n            .describe(\n              \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n            )\n            .optional()\n            .nullable(),\n          fulfillmentTypes: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_FULFILLMENT_TYPE',\n                'DELIVERY',\n                'PICKUP_OR_DINE_IN',\n              ])\n            )\n            .min(1)\n            .max(2)\n            .optional(),\n          platforms: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_PLATFORM',\n                'SITE',\n                'MOBILE_SITE',\n                'WIX_APP',\n                'CALL_CENTER',\n                'CHAT_BOT',\n              ])\n            )\n            .min(1)\n            .max(5)\n            .optional(),\n          availability: z\n            .object({\n              periods: z\n                .array(\n                  z.object({\n                    openDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period starts on.')\n                      .optional(),\n                    openTime: z\n                      .string()\n                      .describe(\n                        'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                      )\n                      .optional(),\n                    closeDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period ends on.')\n                      .optional(),\n                    closeTime: z\n                      .string()\n                      .describe(\n                        'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                      )\n                      .optional(),\n                  })\n                )\n                .optional(),\n              specialHourPeriods: z\n                .array(\n                  z.object({\n                    startDate: z\n                      .string()\n                      .describe(\n                        'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    endDate: z\n                      .string()\n                      .describe(\n                        'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    available: z\n                      .boolean()\n                      .describe(\n                        'Whether the item is available during the exception. Defaults to `true`.'\n                      )\n                      .optional(),\n                    eventName: z\n                      .string()\n                      .describe(\n                        'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .optional(),\n            })\n            .describe('Time periods when the entity is available.')\n            .optional(),\n        })\n        .describe(\n          'Visibility criteria that must be met for the item to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n        )\n        .optional(),\n      dishOptions: z\n        .object({\n          values: z\n            .array(\n              z.intersection(\n                z.object({\n                  name: z.string().describe('Dish option name.').optional(),\n                  type: z\n                    .enum([\n                      'UNSPECIFIED_DISH_OPTION_TYPE',\n                      'SELECTION',\n                      'EXTRAS',\n                      'DESELECTION',\n                    ])\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    selection: z.never().optional(),\n                    extras: z.never().optional(),\n                    deselection: z.never().optional(),\n                  }),\n                  z.object({\n                    extras: z.never().optional(),\n                    deselection: z.never().optional(),\n                    selection: z\n                      .object({\n                        defaultChoice: z\n                          .string()\n                          .describe('Item ID of the default choice.')\n                          .optional()\n                          .nullable(),\n                        availableChoices: z\n                          .array(\n                            z.object({\n                              itemId: z\n                                .string()\n                                .describe('Item ID of the dish option.')\n                                .optional(),\n                              price: z\n                                .object({\n                                  value: z\n                                    .string()\n                                    .describe(\n                                      'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                    )\n                                    .optional(),\n                                  currency: z\n                                    .string()\n                                    .describe(\n                                      'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                )\n                                .optional(),\n                            })\n                          )\n                          .optional(),\n                      })\n                      .describe(\n                        'Item of type `DISH` or `VARIATION` that customers can select. For example a dish size. Customers can choose only a single selection per dish.'\n                      ),\n                  }),\n                  z.object({\n                    selection: z.never().optional(),\n                    deselection: z.never().optional(),\n                    extras: z\n                      .object({\n                        defaultChoices: z.array(z.string()).optional(),\n                        minChoices: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Minimum number of extras a customer must choose. Defaults to `0`. Must be lower than or equal to the value of `availableChoices`.'\n                          )\n                          .min(0)\n                          .max(2147483647)\n                          .optional()\n                          .nullable(),\n                        maxChoices: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Maximum number of extras a customer can choose. Defaults to the value of `availableChoices`. Must be greater than or equal to the value of `minChoices`.'\n                          )\n                          .min(0)\n                          .max(2147483647)\n                          .optional()\n                          .nullable(),\n                        availableChoices: z\n                          .array(\n                            z.object({\n                              itemId: z\n                                .string()\n                                .describe('Item ID of the dish option.')\n                                .optional(),\n                              price: z\n                                .object({\n                                  value: z\n                                    .string()\n                                    .describe(\n                                      'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                    )\n                                    .optional(),\n                                  currency: z\n                                    .string()\n                                    .describe(\n                                      'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                )\n                                .optional(),\n                            })\n                          )\n                          .optional(),\n                      })\n                      .describe(\n                        'Item of type `DISH` or `VARIATION` that customers can add to a dish. For example a topping. Customers can add multiple extras per dish.'\n                      ),\n                  }),\n                  z.object({\n                    selection: z.never().optional(),\n                    extras: z.never().optional(),\n                    deselection: z\n                      .object({\n                        availableChoices: z\n                          .array(\n                            z.object({\n                              itemId: z\n                                .string()\n                                .describe('Item ID of the dish option.')\n                                .optional(),\n                              price: z\n                                .object({\n                                  value: z\n                                    .string()\n                                    .describe(\n                                      'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                    )\n                                    .optional(),\n                                  currency: z\n                                    .string()\n                                    .describe(\n                                      'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                )\n                                .optional(),\n                            })\n                          )\n                          .optional(),\n                      })\n                      .describe(\n                        'Item of type `DISH` or `VARIATION` that customers can remove from a dish. For example a specific ingredient. Customers can remove multiple deselections per dish.'\n                      ),\n                  }),\n                ])\n              )\n            )\n            .optional(),\n        })\n        .describe(\n          'Items customers can choose to modify a dish. Can be an extra, selection, or deselection.'\n        )\n        .optional(),\n      acceptSpecialRequest: z\n        .boolean()\n        .describe(\n          'Whether a customer can add a special request when ordering this item. Defaults to `true`.'\n        )\n        .optional()\n        .nullable(),\n      type: z\n        .enum(['UNSPECIFIED_ITEM_TYPE', 'DISH', 'VARIATION'])\n        .describe('Item type.')\n        .optional(),\n    })\n    .describe('Updated Item.')\n    .optional(),\n});\nexport const CreateDishRequest = z.object({\n  identifiers: z.object({\n    catalogId: z\n      .string()\n      .describe('ID of the catalog the dish will belong to.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      ),\n    menuId: z.string().describe('ID of the menu the dish will belong to.'),\n    sectionId: z\n      .string()\n      .describe('ID of the section the dish will belong to.'),\n  }),\n  dish: z\n    .object({\n      _id: z.string().describe('Item ID.').optional().nullable(),\n      name: z.string().describe('Item name.').optional().nullable(),\n      description: z\n        .string()\n        .describe('Item description.')\n        .optional()\n        .nullable(),\n      price: z\n        .object({\n          value: z\n            .string()\n            .describe(\n              'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n            )\n            .optional(),\n          currency: z\n            .string()\n            .describe(\n              'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n            )\n            .optional(),\n        })\n        .describe('Item price.')\n        .optional(),\n      imageUrl: z\n        .string()\n        .describe(\"URL of the item's image file.\")\n        .optional()\n        .nullable(),\n      labels: z\n        .object({ values: z.array(z.string()).optional() })\n        .describe(\n          'Item labels. For example spicy, hot, vegan, gluten-free, or organic.'\n        )\n        .optional(),\n      inStock: z\n        .boolean()\n        .describe('Whether the item is in stock.')\n        .optional()\n        .nullable(),\n      taxRate: z\n        .string()\n        .describe('Tax rate of the item in percent.')\n        .optional()\n        .nullable(),\n      archived: z\n        .boolean()\n        .describe(\n          \"Whether the item is archived. Defaults to `false`. **Note:** Archived items can't be updated.\"\n        )\n        .optional()\n        .nullable(),\n      visibilityCriteria: z\n        .object({\n          visible: z\n            .boolean()\n            .describe(\n              \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n            )\n            .optional()\n            .nullable(),\n          fulfillmentTypes: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_FULFILLMENT_TYPE',\n                'DELIVERY',\n                'PICKUP_OR_DINE_IN',\n              ])\n            )\n            .min(1)\n            .max(2)\n            .optional(),\n          platforms: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_PLATFORM',\n                'SITE',\n                'MOBILE_SITE',\n                'WIX_APP',\n                'CALL_CENTER',\n                'CHAT_BOT',\n              ])\n            )\n            .min(1)\n            .max(5)\n            .optional(),\n          availability: z\n            .object({\n              periods: z\n                .array(\n                  z.object({\n                    openDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .optional(),\n                    openTime: z\n                      .string()\n                      .describe(\n                        'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                      )\n                      .optional(),\n                    closeDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .optional(),\n                    closeTime: z\n                      .string()\n                      .describe(\n                        'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                      )\n                      .optional(),\n                  })\n                )\n                .optional(),\n              specialHourPeriods: z\n                .array(\n                  z.object({\n                    startDate: z\n                      .string()\n                      .describe(\n                        'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    endDate: z\n                      .string()\n                      .describe(\n                        'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    available: z\n                      .boolean()\n                      .describe(\n                        'Whether the item is available during the exception. Defaults to `true`.'\n                      )\n                      .optional(),\n                    eventName: z\n                      .string()\n                      .describe(\n                        'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .optional(),\n            })\n            .describe('Time periods when the entity is available.')\n            .optional(),\n        })\n        .describe(\n          'Visibility criteria that must be met for the item to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n        )\n        .optional(),\n      dishOptions: z\n        .object({\n          values: z\n            .array(\n              z.intersection(\n                z.object({\n                  name: z.string().describe('Dish option name.').optional(),\n                  type: z\n                    .enum([\n                      'UNSPECIFIED_DISH_OPTION_TYPE',\n                      'SELECTION',\n                      'EXTRAS',\n                      'DESELECTION',\n                    ])\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    selection: z.never().optional(),\n                    extras: z.never().optional(),\n                    deselection: z.never().optional(),\n                  }),\n                  z.object({\n                    extras: z.never().optional(),\n                    deselection: z.never().optional(),\n                    selection: z\n                      .object({\n                        defaultChoice: z\n                          .string()\n                          .describe('Item ID of the default choice.')\n                          .optional()\n                          .nullable(),\n                        availableChoices: z\n                          .array(\n                            z.object({\n                              itemId: z\n                                .string()\n                                .describe('Item ID of the dish option.')\n                                .optional(),\n                              price: z\n                                .object({\n                                  value: z\n                                    .string()\n                                    .describe(\n                                      'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                    )\n                                    .optional(),\n                                  currency: z\n                                    .string()\n                                    .describe(\n                                      'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                )\n                                .optional(),\n                            })\n                          )\n                          .optional(),\n                      })\n                      .describe(\n                        'Item of type `DISH` or `VARIATION` that customers can select. For example a dish size. Customers can choose only a single selection per dish.'\n                      ),\n                  }),\n                  z.object({\n                    selection: z.never().optional(),\n                    deselection: z.never().optional(),\n                    extras: z\n                      .object({\n                        defaultChoices: z.array(z.string()).optional(),\n                        minChoices: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Minimum number of extras a customer must choose. Defaults to `0`. Must be lower than or equal to the value of `availableChoices`.'\n                          )\n                          .min(0)\n                          .max(2147483647)\n                          .optional()\n                          .nullable(),\n                        maxChoices: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Maximum number of extras a customer can choose. Defaults to the value of `availableChoices`. Must be greater than or equal to the value of `minChoices`.'\n                          )\n                          .min(0)\n                          .max(2147483647)\n                          .optional()\n                          .nullable(),\n                        availableChoices: z\n                          .array(\n                            z.object({\n                              itemId: z\n                                .string()\n                                .describe('Item ID of the dish option.')\n                                .optional(),\n                              price: z\n                                .object({\n                                  value: z\n                                    .string()\n                                    .describe(\n                                      'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                    )\n                                    .optional(),\n                                  currency: z\n                                    .string()\n                                    .describe(\n                                      'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                )\n                                .optional(),\n                            })\n                          )\n                          .optional(),\n                      })\n                      .describe(\n                        'Item of type `DISH` or `VARIATION` that customers can add to a dish. For example a topping. Customers can add multiple extras per dish.'\n                      ),\n                  }),\n                  z.object({\n                    selection: z.never().optional(),\n                    extras: z.never().optional(),\n                    deselection: z\n                      .object({\n                        availableChoices: z\n                          .array(\n                            z.object({\n                              itemId: z\n                                .string()\n                                .describe('Item ID of the dish option.')\n                                .optional(),\n                              price: z\n                                .object({\n                                  value: z\n                                    .string()\n                                    .describe(\n                                      'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                    )\n                                    .optional(),\n                                  currency: z\n                                    .string()\n                                    .describe(\n                                      'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                )\n                                .optional(),\n                            })\n                          )\n                          .optional(),\n                      })\n                      .describe(\n                        'Item of type `DISH` or `VARIATION` that customers can remove from a dish. For example a specific ingredient. Customers can remove multiple deselections per dish.'\n                      ),\n                  }),\n                ])\n              )\n            )\n            .optional(),\n        })\n        .describe(\n          'Items customers can choose to modify a dish. Can be an extra, selection, or deselection.'\n        )\n        .optional(),\n      acceptSpecialRequest: z\n        .boolean()\n        .describe(\n          'Whether a customer can add a special request when ordering this item. Defaults to `true`.'\n        )\n        .optional()\n        .nullable(),\n      type: z.enum(['UNSPECIFIED_ITEM_TYPE', 'DISH', 'VARIATION']).optional(),\n    })\n    .describe('Item of type `dish` to create.'),\n});\nexport const CreateDishResponse = z.object({\n  dish: z\n    .object({\n      _id: z.string().describe('Item ID.').optional().nullable(),\n      name: z.string().describe('Item name.').optional().nullable(),\n      description: z\n        .string()\n        .describe('Item description.')\n        .optional()\n        .nullable(),\n      price: z\n        .object({\n          value: z\n            .string()\n            .describe(\n              'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n            )\n            .optional(),\n          currency: z\n            .string()\n            .describe(\n              'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n            )\n            .optional(),\n        })\n        .describe('Item price.')\n        .optional(),\n      imageUrl: z\n        .string()\n        .describe(\"URL of the item's image file.\")\n        .optional()\n        .nullable(),\n      labels: z\n        .object({ values: z.array(z.string()).optional() })\n        .describe(\n          'Item labels. For example spicy, hot, vegan, gluten-free, or organic.'\n        )\n        .optional(),\n      inStock: z\n        .boolean()\n        .describe('Whether the item is in stock.')\n        .optional()\n        .nullable(),\n      taxRate: z\n        .string()\n        .describe('Tax rate of the item in percent.')\n        .optional()\n        .nullable(),\n      archived: z\n        .boolean()\n        .describe(\n          \"Whether the item is archived. Defaults to `false`. **Note:** Archived items can't be updated.\"\n        )\n        .optional()\n        .nullable(),\n      visibilityCriteria: z\n        .object({\n          visible: z\n            .boolean()\n            .describe(\n              \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n            )\n            .optional()\n            .nullable(),\n          fulfillmentTypes: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_FULFILLMENT_TYPE',\n                'DELIVERY',\n                'PICKUP_OR_DINE_IN',\n              ])\n            )\n            .min(1)\n            .max(2)\n            .optional(),\n          platforms: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_PLATFORM',\n                'SITE',\n                'MOBILE_SITE',\n                'WIX_APP',\n                'CALL_CENTER',\n                'CHAT_BOT',\n              ])\n            )\n            .min(1)\n            .max(5)\n            .optional(),\n          availability: z\n            .object({\n              periods: z\n                .array(\n                  z.object({\n                    openDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period starts on.')\n                      .optional(),\n                    openTime: z\n                      .string()\n                      .describe(\n                        'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                      )\n                      .optional(),\n                    closeDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period ends on.')\n                      .optional(),\n                    closeTime: z\n                      .string()\n                      .describe(\n                        'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                      )\n                      .optional(),\n                  })\n                )\n                .optional(),\n              specialHourPeriods: z\n                .array(\n                  z.object({\n                    startDate: z\n                      .string()\n                      .describe(\n                        'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    endDate: z\n                      .string()\n                      .describe(\n                        'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    available: z\n                      .boolean()\n                      .describe(\n                        'Whether the item is available during the exception. Defaults to `true`.'\n                      )\n                      .optional(),\n                    eventName: z\n                      .string()\n                      .describe(\n                        'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .optional(),\n            })\n            .describe('Time periods when the entity is available.')\n            .optional(),\n        })\n        .describe(\n          'Visibility criteria that must be met for the item to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n        )\n        .optional(),\n      dishOptions: z\n        .object({\n          values: z\n            .array(\n              z.intersection(\n                z.object({\n                  name: z.string().describe('Dish option name.').optional(),\n                  type: z\n                    .enum([\n                      'UNSPECIFIED_DISH_OPTION_TYPE',\n                      'SELECTION',\n                      'EXTRAS',\n                      'DESELECTION',\n                    ])\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    selection: z.never().optional(),\n                    extras: z.never().optional(),\n                    deselection: z.never().optional(),\n                  }),\n                  z.object({\n                    extras: z.never().optional(),\n                    deselection: z.never().optional(),\n                    selection: z\n                      .object({\n                        defaultChoice: z\n                          .string()\n                          .describe('Item ID of the default choice.')\n                          .optional()\n                          .nullable(),\n                        availableChoices: z\n                          .array(\n                            z.object({\n                              itemId: z\n                                .string()\n                                .describe('Item ID of the dish option.')\n                                .optional(),\n                              price: z\n                                .object({\n                                  value: z\n                                    .string()\n                                    .describe(\n                                      'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                    )\n                                    .optional(),\n                                  currency: z\n                                    .string()\n                                    .describe(\n                                      'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                )\n                                .optional(),\n                            })\n                          )\n                          .optional(),\n                      })\n                      .describe(\n                        'Item of type `DISH` or `VARIATION` that customers can select. For example a dish size. Customers can choose only a single selection per dish.'\n                      ),\n                  }),\n                  z.object({\n                    selection: z.never().optional(),\n                    deselection: z.never().optional(),\n                    extras: z\n                      .object({\n                        defaultChoices: z.array(z.string()).optional(),\n                        minChoices: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Minimum number of extras a customer must choose. Defaults to `0`. Must be lower than or equal to the value of `availableChoices`.'\n                          )\n                          .min(0)\n                          .max(2147483647)\n                          .optional()\n                          .nullable(),\n                        maxChoices: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Maximum number of extras a customer can choose. Defaults to the value of `availableChoices`. Must be greater than or equal to the value of `minChoices`.'\n                          )\n                          .min(0)\n                          .max(2147483647)\n                          .optional()\n                          .nullable(),\n                        availableChoices: z\n                          .array(\n                            z.object({\n                              itemId: z\n                                .string()\n                                .describe('Item ID of the dish option.')\n                                .optional(),\n                              price: z\n                                .object({\n                                  value: z\n                                    .string()\n                                    .describe(\n                                      'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                    )\n                                    .optional(),\n                                  currency: z\n                                    .string()\n                                    .describe(\n                                      'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                )\n                                .optional(),\n                            })\n                          )\n                          .optional(),\n                      })\n                      .describe(\n                        'Item of type `DISH` or `VARIATION` that customers can add to a dish. For example a topping. Customers can add multiple extras per dish.'\n                      ),\n                  }),\n                  z.object({\n                    selection: z.never().optional(),\n                    extras: z.never().optional(),\n                    deselection: z\n                      .object({\n                        availableChoices: z\n                          .array(\n                            z.object({\n                              itemId: z\n                                .string()\n                                .describe('Item ID of the dish option.')\n                                .optional(),\n                              price: z\n                                .object({\n                                  value: z\n                                    .string()\n                                    .describe(\n                                      'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                    )\n                                    .optional(),\n                                  currency: z\n                                    .string()\n                                    .describe(\n                                      'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                )\n                                .optional(),\n                            })\n                          )\n                          .optional(),\n                      })\n                      .describe(\n                        'Item of type `DISH` or `VARIATION` that customers can remove from a dish. For example a specific ingredient. Customers can remove multiple deselections per dish.'\n                      ),\n                  }),\n                ])\n              )\n            )\n            .optional(),\n        })\n        .describe(\n          'Items customers can choose to modify a dish. Can be an extra, selection, or deselection.'\n        )\n        .optional(),\n      acceptSpecialRequest: z\n        .boolean()\n        .describe(\n          'Whether a customer can add a special request when ordering this item. Defaults to `true`.'\n        )\n        .optional()\n        .nullable(),\n      type: z\n        .enum(['UNSPECIFIED_ITEM_TYPE', 'DISH', 'VARIATION'])\n        .describe('Item type.')\n        .optional(),\n    })\n    .describe('Created Dish.')\n    .optional(),\n});\nexport const CreateVariationRequest = z.object({\n  catalogId: z\n    .string()\n    .describe('ID of the catalog the variation will belong to.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n  name: z.string().describe('Variation name.'),\n});\nexport const CreateVariationResponse = z.object({\n  variation: z\n    .object({\n      _id: z.string().describe('Item ID.').optional().nullable(),\n      name: z.string().describe('Item name.').optional().nullable(),\n      description: z\n        .string()\n        .describe('Item description.')\n        .optional()\n        .nullable(),\n      price: z\n        .object({\n          value: z\n            .string()\n            .describe(\n              'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n            )\n            .optional(),\n          currency: z\n            .string()\n            .describe(\n              'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n            )\n            .optional(),\n        })\n        .describe('Item price.')\n        .optional(),\n      imageUrl: z\n        .string()\n        .describe(\"URL of the item's image file.\")\n        .optional()\n        .nullable(),\n      labels: z\n        .object({ values: z.array(z.string()).optional() })\n        .describe(\n          'Item labels. For example spicy, hot, vegan, gluten-free, or organic.'\n        )\n        .optional(),\n      inStock: z\n        .boolean()\n        .describe('Whether the item is in stock.')\n        .optional()\n        .nullable(),\n      taxRate: z\n        .string()\n        .describe('Tax rate of the item in percent.')\n        .optional()\n        .nullable(),\n      archived: z\n        .boolean()\n        .describe(\n          \"Whether the item is archived. Defaults to `false`. **Note:** Archived items can't be updated.\"\n        )\n        .optional()\n        .nullable(),\n      visibilityCriteria: z\n        .object({\n          visible: z\n            .boolean()\n            .describe(\n              \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n            )\n            .optional()\n            .nullable(),\n          fulfillmentTypes: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_FULFILLMENT_TYPE',\n                'DELIVERY',\n                'PICKUP_OR_DINE_IN',\n              ])\n            )\n            .min(1)\n            .max(2)\n            .optional(),\n          platforms: z\n            .array(\n              z.enum([\n                'UNSPECIFIED_PLATFORM',\n                'SITE',\n                'MOBILE_SITE',\n                'WIX_APP',\n                'CALL_CENTER',\n                'CHAT_BOT',\n              ])\n            )\n            .min(1)\n            .max(5)\n            .optional(),\n          availability: z\n            .object({\n              periods: z\n                .array(\n                  z.object({\n                    openDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period starts on.')\n                      .optional(),\n                    openTime: z\n                      .string()\n                      .describe(\n                        'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                      )\n                      .optional(),\n                    closeDay: z\n                      .enum([\n                        'UNDEFINED',\n                        'SUN',\n                        'MON',\n                        'TUE',\n                        'WED',\n                        'THU',\n                        'FRI',\n                        'SAT',\n                      ])\n                      .describe('Day of the week the period ends on.')\n                      .optional(),\n                    closeTime: z\n                      .string()\n                      .describe(\n                        'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                      )\n                      .optional(),\n                  })\n                )\n                .optional(),\n              specialHourPeriods: z\n                .array(\n                  z.object({\n                    startDate: z\n                      .string()\n                      .describe(\n                        'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    endDate: z\n                      .string()\n                      .describe(\n                        'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                      )\n                      .optional(),\n                    available: z\n                      .boolean()\n                      .describe(\n                        'Whether the item is available during the exception. Defaults to `true`.'\n                      )\n                      .optional(),\n                    eventName: z\n                      .string()\n                      .describe(\n                        'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .optional(),\n            })\n            .describe('Time periods when the entity is available.')\n            .optional(),\n        })\n        .describe(\n          'Visibility criteria that must be met for the item to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n        )\n        .optional(),\n      dishOptions: z\n        .object({\n          values: z\n            .array(\n              z.intersection(\n                z.object({\n                  name: z.string().describe('Dish option name.').optional(),\n                  type: z\n                    .enum([\n                      'UNSPECIFIED_DISH_OPTION_TYPE',\n                      'SELECTION',\n                      'EXTRAS',\n                      'DESELECTION',\n                    ])\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    selection: z.never().optional(),\n                    extras: z.never().optional(),\n                    deselection: z.never().optional(),\n                  }),\n                  z.object({\n                    extras: z.never().optional(),\n                    deselection: z.never().optional(),\n                    selection: z\n                      .object({\n                        defaultChoice: z\n                          .string()\n                          .describe('Item ID of the default choice.')\n                          .optional()\n                          .nullable(),\n                        availableChoices: z\n                          .array(\n                            z.object({\n                              itemId: z\n                                .string()\n                                .describe('Item ID of the dish option.')\n                                .optional(),\n                              price: z\n                                .object({\n                                  value: z\n                                    .string()\n                                    .describe(\n                                      'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                    )\n                                    .optional(),\n                                  currency: z\n                                    .string()\n                                    .describe(\n                                      'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                )\n                                .optional(),\n                            })\n                          )\n                          .optional(),\n                      })\n                      .describe(\n                        'Item of type `DISH` or `VARIATION` that customers can select. For example a dish size. Customers can choose only a single selection per dish.'\n                      ),\n                  }),\n                  z.object({\n                    selection: z.never().optional(),\n                    deselection: z.never().optional(),\n                    extras: z\n                      .object({\n                        defaultChoices: z.array(z.string()).optional(),\n                        minChoices: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Minimum number of extras a customer must choose. Defaults to `0`. Must be lower than or equal to the value of `availableChoices`.'\n                          )\n                          .min(0)\n                          .max(2147483647)\n                          .optional()\n                          .nullable(),\n                        maxChoices: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Maximum number of extras a customer can choose. Defaults to the value of `availableChoices`. Must be greater than or equal to the value of `minChoices`.'\n                          )\n                          .min(0)\n                          .max(2147483647)\n                          .optional()\n                          .nullable(),\n                        availableChoices: z\n                          .array(\n                            z.object({\n                              itemId: z\n                                .string()\n                                .describe('Item ID of the dish option.')\n                                .optional(),\n                              price: z\n                                .object({\n                                  value: z\n                                    .string()\n                                    .describe(\n                                      'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                    )\n                                    .optional(),\n                                  currency: z\n                                    .string()\n                                    .describe(\n                                      'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                )\n                                .optional(),\n                            })\n                          )\n                          .optional(),\n                      })\n                      .describe(\n                        'Item of type `DISH` or `VARIATION` that customers can add to a dish. For example a topping. Customers can add multiple extras per dish.'\n                      ),\n                  }),\n                  z.object({\n                    selection: z.never().optional(),\n                    extras: z.never().optional(),\n                    deselection: z\n                      .object({\n                        availableChoices: z\n                          .array(\n                            z.object({\n                              itemId: z\n                                .string()\n                                .describe('Item ID of the dish option.')\n                                .optional(),\n                              price: z\n                                .object({\n                                  value: z\n                                    .string()\n                                    .describe(\n                                      'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                    )\n                                    .optional(),\n                                  currency: z\n                                    .string()\n                                    .describe(\n                                      'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                )\n                                .optional(),\n                            })\n                          )\n                          .optional(),\n                      })\n                      .describe(\n                        'Item of type `DISH` or `VARIATION` that customers can remove from a dish. For example a specific ingredient. Customers can remove multiple deselections per dish.'\n                      ),\n                  }),\n                ])\n              )\n            )\n            .optional(),\n        })\n        .describe(\n          'Items customers can choose to modify a dish. Can be an extra, selection, or deselection.'\n        )\n        .optional(),\n      acceptSpecialRequest: z\n        .boolean()\n        .describe(\n          'Whether a customer can add a special request when ordering this item. Defaults to `true`.'\n        )\n        .optional()\n        .nullable(),\n      type: z\n        .enum(['UNSPECIFIED_ITEM_TYPE', 'DISH', 'VARIATION'])\n        .describe('Item type.')\n        .optional(),\n    })\n    .describe('Created Variation.')\n    .optional(),\n});\nexport const CreateDraftCatalogRequest = z.object({\n  catalogId: z\n    .string()\n    .describe('ID of the catalog to create a draft version for.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{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 CreateDraftCatalogResponse = z.object({\n  catalog: z\n    .object({\n      _id: z.string().describe('Catalog ID.').optional().nullable(),\n      locationId: z\n        .string()\n        .describe(\n          'ID of the location the catalog belongs to. See the [Locations API](https://dev.wix.com/api/rest/business-info/locations/introduction) for more details.'\n        )\n        .regex(\n          /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n          'Must be a valid GUID'\n        )\n        .optional()\n        .nullable(),\n      archived: z\n        .boolean()\n        .describe(\n          \"Whether the catalog is archived.\\n__Note:__ Archived catalogs can't be updated.\"\n        )\n        .optional(),\n      draftPublishedDate: z\n        .date()\n        .describe(\n          'Date and time the last time a draft catalog has been published in `yyyy-mm-ddThh:mm:sssZ` format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Created draft catalog.')\n    .optional(),\n});\nexport const PublishDraftCatalogRequest = z.object({\n  catalogId: z\n    .string()\n    .describe('ID of the draft catalog to publish.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{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 PublishDraftCatalogResponse = z.object({\n  catalog: z\n    .object({\n      _id: z.string().describe('Catalog ID.').optional().nullable(),\n      locationId: z\n        .string()\n        .describe(\n          'ID of the location the catalog belongs to. See the [Locations API](https://dev.wix.com/api/rest/business-info/locations/introduction) for more details.'\n        )\n        .regex(\n          /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n          'Must be a valid GUID'\n        )\n        .optional()\n        .nullable(),\n      archived: z\n        .boolean()\n        .describe(\n          \"Whether the catalog is archived.\\n__Note:__ Archived catalogs can't be updated.\"\n        )\n        .optional(),\n      draftPublishedDate: z\n        .date()\n        .describe(\n          'Date and time the last time a draft catalog has been published in `yyyy-mm-ddThh:mm:sssZ` format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Published catalog.')\n    .optional(),\n});\nexport const DiscardDraftCatalogRequest = z.object({\n  catalogId: z\n    .string()\n    .describe('ID of the draft catalog to discard.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{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 DiscardDraftCatalogResponse = z.object({});\nexport const BulkCreateVariationsRequest = z.object({\n  catalogId: z\n    .string()\n    .describe('ID of the catalog the variations will belong to.'),\n  options: z\n    .object({\n      variations: z\n        .array(\n          z.object({\n            name: z.string().describe('Variation name.').min(1).optional(),\n          })\n        )\n        .min(1)\n        .max(20)\n        .optional(),\n      returnFullEntity: z\n        .boolean()\n        .describe(\n          'Whether the full variation entity is returned. Defaults to `true`.'\n        )\n        .optional(),\n    })\n    .optional(),\n});\nexport const BulkCreateVariationsResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        entityMetadata: z\n          .object({\n            _id: z\n              .string()\n              .describe(\n                \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n              )\n              .optional()\n              .nullable(),\n            originalIndex: z\n              .number()\n              .int()\n              .describe(\n                'Index of the item within the request array. Allows for correlation between request and response items.'\n              )\n              .optional(),\n            success: z\n              .boolean()\n              .describe(\n                'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n              )\n              .optional(),\n            error: z\n              .object({\n                code: z.string().describe('Error code.').optional(),\n                description: z\n                  .string()\n                  .describe('Description of the error.')\n                  .optional(),\n                data: z\n                  .record(z.string(), z.any())\n                  .describe('Data related to the error.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Details about the error in case of failure.')\n              .optional(),\n          })\n          .describe('Metadata of the item.')\n          .optional(),\n        entity: z\n          .object({\n            _id: z.string().describe('Item ID.').optional().nullable(),\n            name: z.string().describe('Item name.').optional().nullable(),\n            description: z\n              .string()\n              .describe('Item description.')\n              .optional()\n              .nullable(),\n            price: z\n              .object({\n                value: z\n                  .string()\n                  .describe(\n                    'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                  )\n                  .optional(),\n                currency: z\n                  .string()\n                  .describe(\n                    'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                  )\n                  .optional(),\n              })\n              .describe('Item price.')\n              .optional(),\n            imageUrl: z\n              .string()\n              .describe(\"URL of the item's image file.\")\n              .optional()\n              .nullable(),\n            labels: z\n              .object({ values: z.array(z.string()).optional() })\n              .describe(\n                'Item labels. For example spicy, hot, vegan, gluten-free, or organic.'\n              )\n              .optional(),\n            inStock: z\n              .boolean()\n              .describe('Whether the item is in stock.')\n              .optional()\n              .nullable(),\n            taxRate: z\n              .string()\n              .describe('Tax rate of the item in percent.')\n              .optional()\n              .nullable(),\n            archived: z\n              .boolean()\n              .describe(\n                \"Whether the item is archived. Defaults to `false`. **Note:** Archived items can't be updated.\"\n              )\n              .optional()\n              .nullable(),\n            visibilityCriteria: z\n              .object({\n                visible: z\n                  .boolean()\n                  .describe(\n                    \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n                  )\n                  .optional()\n                  .nullable(),\n                fulfillmentTypes: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_FULFILLMENT_TYPE',\n                      'DELIVERY',\n                      'PICKUP_OR_DINE_IN',\n                    ])\n                  )\n                  .min(1)\n                  .max(2)\n                  .optional(),\n                platforms: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_PLATFORM',\n                      'SITE',\n                      'MOBILE_SITE',\n                      'WIX_APP',\n                      'CALL_CENTER',\n                      'CHAT_BOT',\n                    ])\n                  )\n                  .min(1)\n                  .max(5)\n                  .optional(),\n                availability: z\n                  .object({\n                    periods: z\n                      .array(\n                        z.object({\n                          openDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .describe('Day of the week the period starts on.')\n                            .optional(),\n                          openTime: z\n                            .string()\n                            .describe(\n                              'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                            )\n                            .optional(),\n                          closeDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .describe('Day of the week the period ends on.')\n                            .optional(),\n                          closeTime: z\n                            .string()\n                            .describe(\n                              'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                            )\n                            .optional(),\n                        })\n                      )\n                      .optional(),\n                    specialHourPeriods: z\n                      .array(\n                        z.object({\n                          startDate: z\n                            .string()\n                            .describe(\n                              'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          endDate: z\n                            .string()\n                            .describe(\n                              'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          available: z\n                            .boolean()\n                            .describe(\n                              'Whether the item is available during the exception. Defaults to `true`.'\n                            )\n                            .optional(),\n                          eventName: z\n                            .string()\n                            .describe(\n                              'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                            )\n                            .optional()\n                            .nullable(),\n                        })\n                      )\n                      .optional(),\n                  })\n                  .describe('Time periods when the entity is available.')\n                  .optional(),\n              })\n              .describe(\n                'Visibility criteria that must be met for the item to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n              )\n              .optional(),\n            dishOptions: z\n              .object({\n                values: z\n                  .array(\n                    z.intersection(\n                      z.object({\n                        name: z\n                          .string()\n                          .describe('Dish option name.')\n                          .optional(),\n                        type: z\n                          .enum([\n                            'UNSPECIFIED_DISH_OPTION_TYPE',\n                            'SELECTION',\n                            'EXTRAS',\n                            'DESELECTION',\n                          ])\n                          .optional(),\n                      }),\n                      z.xor([\n                        z.object({\n                          selection: z.never().optional(),\n                          extras: z.never().optional(),\n                          deselection: z.never().optional(),\n                        }),\n                        z.object({\n                          extras: z.never().optional(),\n                          deselection: z.never().optional(),\n                          selection: z\n                            .object({\n                              defaultChoice: z\n                                .string()\n                                .describe('Item ID of the default choice.')\n                                .optional()\n                                .nullable(),\n                              availableChoices: z\n                                .array(\n                                  z.object({\n                                    itemId: z\n                                      .string()\n                                      .describe('Item ID of the dish option.')\n                                      .optional(),\n                                    price: z\n                                      .object({\n                                        value: z\n                                          .string()\n                                          .describe(\n                                            'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                          )\n                                          .optional(),\n                                        currency: z\n                                          .string()\n                                          .describe(\n                                            'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                          )\n                                          .optional(),\n                                      })\n                                      .describe(\n                                        \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                      )\n                                      .optional(),\n                                  })\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'Item of type `DISH` or `VARIATION` that customers can select. For example a dish size. Customers can choose only a single selection per dish.'\n                            ),\n                        }),\n                        z.object({\n                          selection: z.never().optional(),\n                          deselection: z.never().optional(),\n                          extras: z\n                            .object({\n                              defaultChoices: z.array(z.string()).optional(),\n                              minChoices: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Minimum number of extras a customer must choose. Defaults to `0`. Must be lower than or equal to the value of `availableChoices`.'\n                                )\n                                .min(0)\n                                .max(2147483647)\n                                .optional()\n                                .nullable(),\n                              maxChoices: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Maximum number of extras a customer can choose. Defaults to the value of `availableChoices`. Must be greater than or equal to the value of `minChoices`.'\n                                )\n                                .min(0)\n                                .max(2147483647)\n                                .optional()\n                                .nullable(),\n                              availableChoices: z\n                                .array(\n                                  z.object({\n                                    itemId: z\n                                      .string()\n                                      .describe('Item ID of the dish option.')\n                                      .optional(),\n                                    price: z\n                                      .object({\n                                        value: z\n                                          .string()\n                                          .describe(\n                                            'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                          )\n                                          .optional(),\n                                        currency: z\n                                          .string()\n                                          .describe(\n                                            'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                          )\n                                          .optional(),\n                                      })\n                                      .describe(\n                                        \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                      )\n                                      .optional(),\n                                  })\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'Item of type `DISH` or `VARIATION` that customers can add to a dish. For example a topping. Customers can add multiple extras per dish.'\n                            ),\n                        }),\n                        z.object({\n                          selection: z.never().optional(),\n                          extras: z.never().optional(),\n                          deselection: z\n                            .object({\n                              availableChoices: z\n                                .array(\n                                  z.object({\n                                    itemId: z\n                                      .string()\n                                      .describe('Item ID of the dish option.')\n                                      .optional(),\n                                    price: z\n                                      .object({\n                                        value: z\n                                          .string()\n                                          .describe(\n                                            'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                          )\n                                          .optional(),\n                                        currency: z\n                                          .string()\n                                          .describe(\n                                            'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                          )\n                                          .optional(),\n                                      })\n                                      .describe(\n                                        \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                      )\n                                      .optional(),\n                                  })\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'Item of type `DISH` or `VARIATION` that customers can remove from a dish. For example a specific ingredient. Customers can remove multiple deselections per dish.'\n                            ),\n                        }),\n                      ])\n                    )\n                  )\n                  .optional(),\n              })\n              .describe(\n                'Items customers can choose to modify a dish. Can be an extra, selection, or deselection.'\n              )\n              .optional(),\n            acceptSpecialRequest: z\n              .boolean()\n              .describe(\n                'Whether a customer can add a special request when ordering this item. Defaults to `true`.'\n              )\n              .optional()\n              .nullable(),\n            type: z\n              .enum(['UNSPECIFIED_ITEM_TYPE', 'DISH', 'VARIATION'])\n              .describe('Item type.')\n              .optional(),\n          })\n          .describe('Item.')\n          .optional(),\n      })\n    )\n    .optional(),\n  bulkActionMetadata: z\n    .object({\n      totalSuccesses: z\n        .number()\n        .int()\n        .describe('Number of items that were successfully processed.')\n        .optional(),\n      totalFailures: z\n        .number()\n        .int()\n        .describe(\"Number of items that couldn't be processed.\")\n        .optional(),\n      undetailedFailures: z\n        .number()\n        .int()\n        .describe(\n          'Number of failures without details because detailed failure threshold was exceeded.'\n        )\n        .optional(),\n    })\n    .describe('Bulk Create Variations metadata.')\n    .optional(),\n});\nexport const BulkUpdateItemsRequest = z.object({\n  catalogId: z.string().describe('ID of the catalog the items belong to.'),\n  options: z\n    .object({\n      items: z\n        .array(\n          z.object({\n            _id: z.string().describe('Item ID.').optional().nullable(),\n            name: z.string().describe('Item name.').optional().nullable(),\n            description: z\n              .string()\n              .describe('Item description.')\n              .optional()\n              .nullable(),\n            price: z\n              .object({\n                value: z\n                  .string()\n                  .describe(\n                    'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                  )\n                  .optional(),\n                currency: z\n                  .string()\n                  .describe(\n                    'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                  )\n                  .optional(),\n              })\n              .describe('Item price.')\n              .optional(),\n            imageUrl: z\n              .string()\n              .describe(\"URL of the item's image file.\")\n              .optional()\n              .nullable(),\n            labels: z\n              .object({ values: z.array(z.string()).optional() })\n              .describe(\n                'Item labels. For example spicy, hot, vegan, gluten-free, or organic.'\n              )\n              .optional(),\n            inStock: z\n              .boolean()\n              .describe('Whether the item is in stock.')\n              .optional()\n              .nullable(),\n            taxRate: z\n              .string()\n              .describe('Tax rate of the item in percent.')\n              .optional()\n              .nullable(),\n            archived: z\n              .boolean()\n              .describe(\n                \"Whether the item is archived. Defaults to `false`. **Note:** Archived items can't be updated.\"\n              )\n              .optional()\n              .nullable(),\n            visibilityCriteria: z\n              .object({\n                visible: z\n                  .boolean()\n                  .describe(\n                    \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n                  )\n                  .optional()\n                  .nullable(),\n                fulfillmentTypes: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_FULFILLMENT_TYPE',\n                      'DELIVERY',\n                      'PICKUP_OR_DINE_IN',\n                    ])\n                  )\n                  .min(1)\n                  .max(2)\n                  .optional(),\n                platforms: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_PLATFORM',\n                      'SITE',\n                      'MOBILE_SITE',\n                      'WIX_APP',\n                      'CALL_CENTER',\n                      'CHAT_BOT',\n                    ])\n                  )\n                  .min(1)\n                  .max(5)\n                  .optional(),\n                availability: z\n                  .object({\n                    periods: z\n                      .array(\n                        z.object({\n                          openDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .optional(),\n                          openTime: z\n                            .string()\n                            .describe(\n                              'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                            )\n                            .optional(),\n                          closeDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .optional(),\n                          closeTime: z\n                            .string()\n                            .describe(\n                              'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                            )\n                            .optional(),\n                        })\n                      )\n                      .optional(),\n                    specialHourPeriods: z\n                      .array(\n                        z.object({\n                          startDate: z\n                            .string()\n                            .describe(\n                              'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          endDate: z\n                            .string()\n                            .describe(\n                              'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          available: z\n                            .boolean()\n                            .describe(\n                              'Whether the item is available during the exception. Defaults to `true`.'\n                            )\n                            .optional(),\n                          eventName: z\n                            .string()\n                            .describe(\n                              'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                            )\n                            .optional()\n                            .nullable(),\n                        })\n                      )\n                      .optional(),\n                  })\n                  .describe('Time periods when the entity is available.')\n                  .optional(),\n              })\n              .describe(\n                'Visibility criteria that must be met for the item to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n              )\n              .optional(),\n            dishOptions: z\n              .object({\n                values: z\n                  .array(\n                    z.intersection(\n                      z.object({\n                        name: z\n                          .string()\n                          .describe('Dish option name.')\n                          .optional(),\n                        type: z\n                          .enum([\n                            'UNSPECIFIED_DISH_OPTION_TYPE',\n                            'SELECTION',\n                            'EXTRAS',\n                            'DESELECTION',\n                          ])\n                          .optional(),\n                      }),\n                      z.xor([\n                        z.object({\n                          selection: z.never().optional(),\n                          extras: z.never().optional(),\n                          deselection: z.never().optional(),\n                        }),\n                        z.object({\n                          extras: z.never().optional(),\n                          deselection: z.never().optional(),\n                          selection: z\n                            .object({\n                              defaultChoice: z\n                                .string()\n                                .describe('Item ID of the default choice.')\n                                .optional()\n                                .nullable(),\n                              availableChoices: z\n                                .array(\n                                  z.object({\n                                    itemId: z\n                                      .string()\n                                      .describe('Item ID of the dish option.')\n                                      .optional(),\n                                    price: z\n                                      .object({\n                                        value: z\n                                          .string()\n                                          .describe(\n                                            'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                          )\n                                          .optional(),\n                                        currency: z\n                                          .string()\n                                          .describe(\n                                            'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                          )\n                                          .optional(),\n                                      })\n                                      .describe(\n                                        \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                      )\n                                      .optional(),\n                                  })\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'Item of type `DISH` or `VARIATION` that customers can select. For example a dish size. Customers can choose only a single selection per dish.'\n                            ),\n                        }),\n                        z.object({\n                          selection: z.never().optional(),\n                          deselection: z.never().optional(),\n                          extras: z\n                            .object({\n                              defaultChoices: z.array(z.string()).optional(),\n                              minChoices: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Minimum number of extras a customer must choose. Defaults to `0`. Must be lower than or equal to the value of `availableChoices`.'\n                                )\n                                .min(0)\n                                .max(2147483647)\n                                .optional()\n                                .nullable(),\n                              maxChoices: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Maximum number of extras a customer can choose. Defaults to the value of `availableChoices`. Must be greater than or equal to the value of `minChoices`.'\n                                )\n                                .min(0)\n                                .max(2147483647)\n                                .optional()\n                                .nullable(),\n                              availableChoices: z\n                                .array(\n                                  z.object({\n                                    itemId: z\n                                      .string()\n                                      .describe('Item ID of the dish option.')\n                                      .optional(),\n                                    price: z\n                                      .object({\n                                        value: z\n                                          .string()\n                                          .describe(\n                                            'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                          )\n                                          .optional(),\n                                        currency: z\n                                          .string()\n                                          .describe(\n                                            'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                          )\n                                          .optional(),\n                                      })\n                                      .describe(\n                                        \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                      )\n                                      .optional(),\n                                  })\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'Item of type `DISH` or `VARIATION` that customers can add to a dish. For example a topping. Customers can add multiple extras per dish.'\n                            ),\n                        }),\n                        z.object({\n                          selection: z.never().optional(),\n                          extras: z.never().optional(),\n                          deselection: z\n                            .object({\n                              availableChoices: z\n                                .array(\n                                  z.object({\n                                    itemId: z\n                                      .string()\n                                      .describe('Item ID of the dish option.')\n                                      .optional(),\n                                    price: z\n                                      .object({\n                                        value: z\n                                          .string()\n                                          .describe(\n                                            'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                          )\n                                          .optional(),\n                                        currency: z\n                                          .string()\n                                          .describe(\n                                            'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                          )\n                                          .optional(),\n                                      })\n                                      .describe(\n                                        \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                      )\n                                      .optional(),\n                                  })\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'Item of type `DISH` or `VARIATION` that customers can remove from a dish. For example a specific ingredient. Customers can remove multiple deselections per dish.'\n                            ),\n                        }),\n                      ])\n                    )\n                  )\n                  .optional(),\n              })\n              .describe(\n                'Items customers can choose to modify a dish. Can be an extra, selection, or deselection.'\n              )\n              .optional(),\n            acceptSpecialRequest: z\n              .boolean()\n              .describe(\n                'Whether a customer can add a special request when ordering this item. Defaults to `true`.'\n              )\n              .optional()\n              .nullable(),\n            type: z\n              .enum(['UNSPECIFIED_ITEM_TYPE', 'DISH', 'VARIATION'])\n              .optional(),\n          })\n        )\n        .min(1)\n        .max(20)\n        .optional(),\n      returnFullEntity: z\n        .boolean()\n        .describe(\n          'Whether the full item entity is returned. Defaults to `true`.'\n        )\n        .optional(),\n    })\n    .optional(),\n});\nexport const BulkUpdateItemsResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        entityMetadata: z\n          .object({\n            _id: z\n              .string()\n              .describe(\n                \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n              )\n              .optional()\n              .nullable(),\n            originalIndex: z\n              .number()\n              .int()\n              .describe(\n                'Index of the item within the request array. Allows for correlation between request and response items.'\n              )\n              .optional(),\n            success: z\n              .boolean()\n              .describe(\n                'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n              )\n              .optional(),\n            error: z\n              .object({\n                code: z.string().describe('Error code.').optional(),\n                description: z\n                  .string()\n                  .describe('Description of the error.')\n                  .optional(),\n                data: z\n                  .record(z.string(), z.any())\n                  .describe('Data related to the error.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Details about the error in case of failure.')\n              .optional(),\n          })\n          .describe('Metadata of the item.')\n          .optional(),\n        entity: z\n          .object({\n            _id: z.string().describe('Item ID.').optional().nullable(),\n            name: z.string().describe('Item name.').optional().nullable(),\n            description: z\n              .string()\n              .describe('Item description.')\n              .optional()\n              .nullable(),\n            price: z\n              .object({\n                value: z\n                  .string()\n                  .describe(\n                    'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                  )\n                  .optional(),\n                currency: z\n                  .string()\n                  .describe(\n                    'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                  )\n                  .optional(),\n              })\n              .describe('Item price.')\n              .optional(),\n            imageUrl: z\n              .string()\n              .describe(\"URL of the item's image file.\")\n              .optional()\n              .nullable(),\n            labels: z\n              .object({ values: z.array(z.string()).optional() })\n              .describe(\n                'Item labels. For example spicy, hot, vegan, gluten-free, or organic.'\n              )\n              .optional(),\n            inStock: z\n              .boolean()\n              .describe('Whether the item is in stock.')\n              .optional()\n              .nullable(),\n            taxRate: z\n              .string()\n              .describe('Tax rate of the item in percent.')\n              .optional()\n              .nullable(),\n            archived: z\n              .boolean()\n              .describe(\n                \"Whether the item is archived. Defaults to `false`. **Note:** Archived items can't be updated.\"\n              )\n              .optional()\n              .nullable(),\n            visibilityCriteria: z\n              .object({\n                visible: z\n                  .boolean()\n                  .describe(\n                    \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n                  )\n                  .optional()\n                  .nullable(),\n                fulfillmentTypes: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_FULFILLMENT_TYPE',\n                      'DELIVERY',\n                      'PICKUP_OR_DINE_IN',\n                    ])\n                  )\n                  .min(1)\n                  .max(2)\n                  .optional(),\n                platforms: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_PLATFORM',\n                      'SITE',\n                      'MOBILE_SITE',\n                      'WIX_APP',\n                      'CALL_CENTER',\n                      'CHAT_BOT',\n                    ])\n                  )\n                  .min(1)\n                  .max(5)\n                  .optional(),\n                availability: z\n                  .object({\n                    periods: z\n                      .array(\n                        z.object({\n                          openDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .describe('Day of the week the period starts on.')\n                            .optional(),\n                          openTime: z\n                            .string()\n                            .describe(\n                              'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                            )\n                            .optional(),\n                          closeDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .describe('Day of the week the period ends on.')\n                            .optional(),\n                          closeTime: z\n                            .string()\n                            .describe(\n                              'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                            )\n                            .optional(),\n                        })\n                      )\n                      .optional(),\n                    specialHourPeriods: z\n                      .array(\n                        z.object({\n                          startDate: z\n                            .string()\n                            .describe(\n                              'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          endDate: z\n                            .string()\n                            .describe(\n                              'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          available: z\n                            .boolean()\n                            .describe(\n                              'Whether the item is available during the exception. Defaults to `true`.'\n                            )\n                            .optional(),\n                          eventName: z\n                            .string()\n                            .describe(\n                              'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                            )\n                            .optional()\n                            .nullable(),\n                        })\n                      )\n                      .optional(),\n                  })\n                  .describe('Time periods when the entity is available.')\n                  .optional(),\n              })\n              .describe(\n                'Visibility criteria that must be met for the item to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n              )\n              .optional(),\n            dishOptions: z\n              .object({\n                values: z\n                  .array(\n                    z.intersection(\n                      z.object({\n                        name: z\n                          .string()\n                          .describe('Dish option name.')\n                          .optional(),\n                        type: z\n                          .enum([\n                            'UNSPECIFIED_DISH_OPTION_TYPE',\n                            'SELECTION',\n                            'EXTRAS',\n                            'DESELECTION',\n                          ])\n                          .optional(),\n                      }),\n                      z.xor([\n                        z.object({\n                          selection: z.never().optional(),\n                          extras: z.never().optional(),\n                          deselection: z.never().optional(),\n                        }),\n                        z.object({\n                          extras: z.never().optional(),\n                          deselection: z.never().optional(),\n                          selection: z\n                            .object({\n                              defaultChoice: z\n                                .string()\n                                .describe('Item ID of the default choice.')\n                                .optional()\n                                .nullable(),\n                              availableChoices: z\n                                .array(\n                                  z.object({\n                                    itemId: z\n                                      .string()\n                                      .describe('Item ID of the dish option.')\n                                      .optional(),\n                                    price: z\n                                      .object({\n                                        value: z\n                                          .string()\n                                          .describe(\n                                            'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                          )\n                                          .optional(),\n                                        currency: z\n                                          .string()\n                                          .describe(\n                                            'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                          )\n                                          .optional(),\n                                      })\n                                      .describe(\n                                        \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                      )\n                                      .optional(),\n                                  })\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'Item of type `DISH` or `VARIATION` that customers can select. For example a dish size. Customers can choose only a single selection per dish.'\n                            ),\n                        }),\n                        z.object({\n                          selection: z.never().optional(),\n                          deselection: z.never().optional(),\n                          extras: z\n                            .object({\n                              defaultChoices: z.array(z.string()).optional(),\n                              minChoices: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Minimum number of extras a customer must choose. Defaults to `0`. Must be lower than or equal to the value of `availableChoices`.'\n                                )\n                                .min(0)\n                                .max(2147483647)\n                                .optional()\n                                .nullable(),\n                              maxChoices: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Maximum number of extras a customer can choose. Defaults to the value of `availableChoices`. Must be greater than or equal to the value of `minChoices`.'\n                                )\n                                .min(0)\n                                .max(2147483647)\n                                .optional()\n                                .nullable(),\n                              availableChoices: z\n                                .array(\n                                  z.object({\n                                    itemId: z\n                                      .string()\n                                      .describe('Item ID of the dish option.')\n                                      .optional(),\n                                    price: z\n                                      .object({\n                                        value: z\n                                          .string()\n                                          .describe(\n                                            'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                          )\n                                          .optional(),\n                                        currency: z\n                                          .string()\n                                          .describe(\n                                            'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                          )\n                                          .optional(),\n                                      })\n                                      .describe(\n                                        \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                      )\n                                      .optional(),\n                                  })\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'Item of type `DISH` or `VARIATION` that customers can add to a dish. For example a topping. Customers can add multiple extras per dish.'\n                            ),\n                        }),\n                        z.object({\n                          selection: z.never().optional(),\n                          extras: z.never().optional(),\n                          deselection: z\n                            .object({\n                              availableChoices: z\n                                .array(\n                                  z.object({\n                                    itemId: z\n                                      .string()\n                                      .describe('Item ID of the dish option.')\n                                      .optional(),\n                                    price: z\n                                      .object({\n                                        value: z\n                                          .string()\n                                          .describe(\n                                            'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                          )\n                                          .optional(),\n                                        currency: z\n                                          .string()\n                                          .describe(\n                                            'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                          )\n                                          .optional(),\n                                      })\n                                      .describe(\n                                        \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                      )\n                                      .optional(),\n                                  })\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'Item of type `DISH` or `VARIATION` that customers can remove from a dish. For example a specific ingredient. Customers can remove multiple deselections per dish.'\n                            ),\n                        }),\n                      ])\n                    )\n                  )\n                  .optional(),\n              })\n              .describe(\n                'Items customers can choose to modify a dish. Can be an extra, selection, or deselection.'\n              )\n              .optional(),\n            acceptSpecialRequest: z\n              .boolean()\n              .describe(\n                'Whether a customer can add a special request when ordering this item. Defaults to `true`.'\n              )\n              .optional()\n              .nullable(),\n            type: z\n              .enum(['UNSPECIFIED_ITEM_TYPE', 'DISH', 'VARIATION'])\n              .describe('Item type.')\n              .optional(),\n          })\n          .describe('Item.')\n          .optional(),\n      })\n    )\n    .optional(),\n  bulkActionMetadata: z\n    .object({\n      totalSuccesses: z\n        .number()\n        .int()\n        .describe('Number of items that were successfully processed.')\n        .optional(),\n      totalFailures: z\n        .number()\n        .int()\n        .describe(\"Number of items that couldn't be processed.\")\n        .optional(),\n      undetailedFailures: z\n        .number()\n        .int()\n        .describe(\n          'Number of failures without details because detailed failure threshold was exceeded.'\n        )\n        .optional(),\n    })\n    .describe('Bulk Update Items metadata.')\n    .optional(),\n});\nexport const BulkCreateDishesRequest = z.object({\n  catalogId: z\n    .string()\n    .describe('ID of the catalog the dishes will belong to.'),\n  options: z\n    .object({\n      createDishRequests: z\n        .array(\n          z.object({\n            menuId: z\n              .string()\n              .describe('ID of the menu the dish will belong to.')\n              .optional(),\n            sectionId: z\n              .string()\n              .describe('ID of the section the dish will belong to.')\n              .optional(),\n            dish: z\n              .object({\n                _id: z.string().describe('Item ID.').optional().nullable(),\n                name: z.string().describe('Item name.').optional().nullable(),\n                description: z\n                  .string()\n                  .describe('Item description.')\n                  .optional()\n                  .nullable(),\n                price: z\n                  .object({\n                    value: z\n                      .string()\n                      .describe(\n                        'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                      )\n                      .optional(),\n                    currency: z\n                      .string()\n                      .describe(\n                        'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                      )\n                      .optional(),\n                  })\n                  .describe('Item price.')\n                  .optional(),\n                imageUrl: z\n                  .string()\n                  .describe(\"URL of the item's image file.\")\n                  .optional()\n                  .nullable(),\n                labels: z\n                  .object({ values: z.array(z.string()).optional() })\n                  .describe(\n                    'Item labels. For example spicy, hot, vegan, gluten-free, or organic.'\n                  )\n                  .optional(),\n                inStock: z\n                  .boolean()\n                  .describe('Whether the item is in stock.')\n                  .optional()\n                  .nullable(),\n                taxRate: z\n                  .string()\n                  .describe('Tax rate of the item in percent.')\n                  .optional()\n                  .nullable(),\n                archived: z\n                  .boolean()\n                  .describe(\n                    \"Whether the item is archived. Defaults to `false`. **Note:** Archived items can't be updated.\"\n                  )\n                  .optional()\n                  .nullable(),\n                visibilityCriteria: z\n                  .object({\n                    visible: z\n                      .boolean()\n                      .describe(\n                        \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n                      )\n                      .optional()\n                      .nullable(),\n                    fulfillmentTypes: z\n                      .array(\n                        z.enum([\n                          'UNSPECIFIED_FULFILLMENT_TYPE',\n                          'DELIVERY',\n                          'PICKUP_OR_DINE_IN',\n                        ])\n                      )\n                      .min(1)\n                      .max(2)\n                      .optional(),\n                    platforms: z\n                      .array(\n                        z.enum([\n                          'UNSPECIFIED_PLATFORM',\n                          'SITE',\n                          'MOBILE_SITE',\n                          'WIX_APP',\n                          'CALL_CENTER',\n                          'CHAT_BOT',\n                        ])\n                      )\n                      .min(1)\n                      .max(5)\n                      .optional(),\n                    availability: z\n                      .object({\n                        periods: z\n                          .array(\n                            z.object({\n                              openDay: z\n                                .enum([\n                                  'UNDEFINED',\n                                  'SUN',\n                                  'MON',\n                                  'TUE',\n                                  'WED',\n                                  'THU',\n                                  'FRI',\n                                  'SAT',\n                                ])\n                                .optional(),\n                              openTime: z\n                                .string()\n                                .describe(\n                                  'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                                )\n                                .optional(),\n                              closeDay: z\n                                .enum([\n                                  'UNDEFINED',\n                                  'SUN',\n                                  'MON',\n                                  'TUE',\n                                  'WED',\n                                  'THU',\n                                  'FRI',\n                                  'SAT',\n                                ])\n                                .optional(),\n                              closeTime: z\n                                .string()\n                                .describe(\n                                  'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                                )\n                                .optional(),\n                            })\n                          )\n                          .optional(),\n                        specialHourPeriods: z\n                          .array(\n                            z.object({\n                              startDate: z\n                                .string()\n                                .describe(\n                                  'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                                )\n                                .optional(),\n                              endDate: z\n                                .string()\n                                .describe(\n                                  'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                                )\n                                .optional(),\n                              available: z\n                                .boolean()\n                                .describe(\n                                  'Whether the item is available during the exception. Defaults to `true`.'\n                                )\n                                .optional(),\n                              eventName: z\n                                .string()\n                                .describe(\n                                  'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                                )\n                                .optional()\n                                .nullable(),\n                            })\n                          )\n                          .optional(),\n                      })\n                      .describe('Time periods when the entity is available.')\n                      .optional(),\n                  })\n                  .describe(\n                    'Visibility criteria that must be met for the item to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n                  )\n                  .optional(),\n                dishOptions: z\n                  .object({\n                    values: z\n                      .array(\n                        z.intersection(\n                          z.object({\n                            name: z\n                              .string()\n                              .describe('Dish option name.')\n                              .optional(),\n                            type: z\n                              .enum([\n                                'UNSPECIFIED_DISH_OPTION_TYPE',\n                                'SELECTION',\n                                'EXTRAS',\n                                'DESELECTION',\n                              ])\n                              .optional(),\n                          }),\n                          z.xor([\n                            z.object({\n                              selection: z.never().optional(),\n                              extras: z.never().optional(),\n                              deselection: z.never().optional(),\n                            }),\n                            z.object({\n                              extras: z.never().optional(),\n                              deselection: z.never().optional(),\n                              selection: z\n                                .object({\n                                  defaultChoice: z\n                                    .string()\n                                    .describe('Item ID of the default choice.')\n                                    .optional()\n                                    .nullable(),\n                                  availableChoices: z\n                                    .array(\n                                      z.object({\n                                        itemId: z\n                                          .string()\n                                          .describe(\n                                            'Item ID of the dish option.'\n                                          )\n                                          .optional(),\n                                        price: z\n                                          .object({\n                                            value: z\n                                              .string()\n                                              .describe(\n                                                'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                              )\n                                              .optional(),\n                                            currency: z\n                                              .string()\n                                              .describe(\n                                                'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                              )\n                                              .optional(),\n                                          })\n                                          .describe(\n                                            \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                          )\n                                          .optional(),\n                                      })\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  'Item of type `DISH` or `VARIATION` that customers can select. For example a dish size. Customers can choose only a single selection per dish.'\n                                ),\n                            }),\n                            z.object({\n                              selection: z.never().optional(),\n                              deselection: z.never().optional(),\n                              extras: z\n                                .object({\n                                  defaultChoices: z\n                                    .array(z.string())\n                                    .optional(),\n                                  minChoices: z\n                                    .number()\n                                    .int()\n                                    .describe(\n                                      'Minimum number of extras a customer must choose. Defaults to `0`. Must be lower than or equal to the value of `availableChoices`.'\n                                    )\n                                    .min(0)\n                                    .max(2147483647)\n                                    .optional()\n                                    .nullable(),\n                                  maxChoices: z\n                                    .number()\n                                    .int()\n                                    .describe(\n                                      'Maximum number of extras a customer can choose. Defaults to the value of `availableChoices`. Must be greater than or equal to the value of `minChoices`.'\n                                    )\n                                    .min(0)\n                                    .max(2147483647)\n                                    .optional()\n                                    .nullable(),\n                                  availableChoices: z\n                                    .array(\n                                      z.object({\n                                        itemId: z\n                                          .string()\n                                          .describe(\n                                            'Item ID of the dish option.'\n                                          )\n                                          .optional(),\n                                        price: z\n                                          .object({\n                                            value: z\n                                              .string()\n                                              .describe(\n                                                'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                              )\n                                              .optional(),\n                                            currency: z\n                                              .string()\n                                              .describe(\n                                                'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                              )\n                                              .optional(),\n                                          })\n                                          .describe(\n                                            \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                          )\n                                          .optional(),\n                                      })\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  'Item of type `DISH` or `VARIATION` that customers can add to a dish. For example a topping. Customers can add multiple extras per dish.'\n                                ),\n                            }),\n                            z.object({\n                              selection: z.never().optional(),\n                              extras: z.never().optional(),\n                              deselection: z\n                                .object({\n                                  availableChoices: z\n                                    .array(\n                                      z.object({\n                                        itemId: z\n                                          .string()\n                                          .describe(\n                                            'Item ID of the dish option.'\n                                          )\n                                          .optional(),\n                                        price: z\n                                          .object({\n                                            value: z\n                                              .string()\n                                              .describe(\n                                                'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                              )\n                                              .optional(),\n                                            currency: z\n                                              .string()\n                                              .describe(\n                                                'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                              )\n                                              .optional(),\n                                          })\n                                          .describe(\n                                            \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                          )\n                                          .optional(),\n                                      })\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  'Item of type `DISH` or `VARIATION` that customers can remove from a dish. For example a specific ingredient. Customers can remove multiple deselections per dish.'\n                                ),\n                            }),\n                          ])\n                        )\n                      )\n                      .optional(),\n                  })\n                  .describe(\n                    'Items customers can choose to modify a dish. Can be an extra, selection, or deselection.'\n                  )\n                  .optional(),\n                acceptSpecialRequest: z\n                  .boolean()\n                  .describe(\n                    'Whether a customer can add a special request when ordering this item. Defaults to `true`.'\n                  )\n                  .optional()\n                  .nullable(),\n                type: z\n                  .enum(['UNSPECIFIED_ITEM_TYPE', 'DISH', 'VARIATION'])\n                  .optional(),\n              })\n              .describe('Dish to create.')\n              .optional(),\n          })\n        )\n        .min(1)\n        .max(20)\n        .optional(),\n      returnFullEntity: z\n        .boolean()\n        .describe(\n          'Whether the full item entity is returned. Defaults to `true`.'\n        )\n        .optional(),\n    })\n    .optional(),\n});\nexport const BulkCreateDishesResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        entityMetadata: z\n          .object({\n            _id: z\n              .string()\n              .describe(\n                \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n              )\n              .optional()\n              .nullable(),\n            originalIndex: z\n              .number()\n              .int()\n              .describe(\n                'Index of the item within the request array. Allows for correlation between request and response items.'\n              )\n              .optional(),\n            success: z\n              .boolean()\n              .describe(\n                'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n              )\n              .optional(),\n            error: z\n              .object({\n                code: z.string().describe('Error code.').optional(),\n                description: z\n                  .string()\n                  .describe('Description of the error.')\n                  .optional(),\n                data: z\n                  .record(z.string(), z.any())\n                  .describe('Data related to the error.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Details about the error in case of failure.')\n              .optional(),\n          })\n          .describe('Metadata of the item.')\n          .optional(),\n        entity: z\n          .object({\n            _id: z.string().describe('Item ID.').optional().nullable(),\n            name: z.string().describe('Item name.').optional().nullable(),\n            description: z\n              .string()\n              .describe('Item description.')\n              .optional()\n              .nullable(),\n            price: z\n              .object({\n                value: z\n                  .string()\n                  .describe(\n                    'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                  )\n                  .optional(),\n                currency: z\n                  .string()\n                  .describe(\n                    'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                  )\n                  .optional(),\n              })\n              .describe('Item price.')\n              .optional(),\n            imageUrl: z\n              .string()\n              .describe(\"URL of the item's image file.\")\n              .optional()\n              .nullable(),\n            labels: z\n              .object({ values: z.array(z.string()).optional() })\n              .describe(\n                'Item labels. For example spicy, hot, vegan, gluten-free, or organic.'\n              )\n              .optional(),\n            inStock: z\n              .boolean()\n              .describe('Whether the item is in stock.')\n              .optional()\n              .nullable(),\n            taxRate: z\n              .string()\n              .describe('Tax rate of the item in percent.')\n              .optional()\n              .nullable(),\n            archived: z\n              .boolean()\n              .describe(\n                \"Whether the item is archived. Defaults to `false`. **Note:** Archived items can't be updated.\"\n              )\n              .optional()\n              .nullable(),\n            visibilityCriteria: z\n              .object({\n                visible: z\n                  .boolean()\n                  .describe(\n                    \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n                  )\n                  .optional()\n                  .nullable(),\n                fulfillmentTypes: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_FULFILLMENT_TYPE',\n                      'DELIVERY',\n                      'PICKUP_OR_DINE_IN',\n                    ])\n                  )\n                  .min(1)\n                  .max(2)\n                  .optional(),\n                platforms: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_PLATFORM',\n                      'SITE',\n                      'MOBILE_SITE',\n                      'WIX_APP',\n                      'CALL_CENTER',\n                      'CHAT_BOT',\n                    ])\n                  )\n                  .min(1)\n                  .max(5)\n                  .optional(),\n                availability: z\n                  .object({\n                    periods: z\n                      .array(\n                        z.object({\n                          openDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .describe('Day of the week the period starts on.')\n                            .optional(),\n                          openTime: z\n                            .string()\n                            .describe(\n                              'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                            )\n                            .optional(),\n                          closeDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .describe('Day of the week the period ends on.')\n                            .optional(),\n                          closeTime: z\n                            .string()\n                            .describe(\n                              'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                            )\n                            .optional(),\n                        })\n                      )\n                      .optional(),\n                    specialHourPeriods: z\n                      .array(\n                        z.object({\n                          startDate: z\n                            .string()\n                            .describe(\n                              'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          endDate: z\n                            .string()\n                            .describe(\n                              'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          available: z\n                            .boolean()\n                            .describe(\n                              'Whether the item is available during the exception. Defaults to `true`.'\n                            )\n                            .optional(),\n                          eventName: z\n                            .string()\n                            .describe(\n                              'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                            )\n                            .optional()\n                            .nullable(),\n                        })\n                      )\n                      .optional(),\n                  })\n                  .describe('Time periods when the entity is available.')\n                  .optional(),\n              })\n              .describe(\n                'Visibility criteria that must be met for the item to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n              )\n              .optional(),\n            dishOptions: z\n              .object({\n                values: z\n                  .array(\n                    z.intersection(\n                      z.object({\n                        name: z\n                          .string()\n                          .describe('Dish option name.')\n                          .optional(),\n                        type: z\n                          .enum([\n                            'UNSPECIFIED_DISH_OPTION_TYPE',\n                            'SELECTION',\n                            'EXTRAS',\n                            'DESELECTION',\n                          ])\n                          .optional(),\n                      }),\n                      z.xor([\n                        z.object({\n                          selection: z.never().optional(),\n                          extras: z.never().optional(),\n                          deselection: z.never().optional(),\n                        }),\n                        z.object({\n                          extras: z.never().optional(),\n                          deselection: z.never().optional(),\n                          selection: z\n                            .object({\n                              defaultChoice: z\n                                .string()\n                                .describe('Item ID of the default choice.')\n                                .optional()\n                                .nullable(),\n                              availableChoices: z\n                                .array(\n                                  z.object({\n                                    itemId: z\n                                      .string()\n                                      .describe('Item ID of the dish option.')\n                                      .optional(),\n                                    price: z\n                                      .object({\n                                        value: z\n                                          .string()\n                                          .describe(\n                                            'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                          )\n                                          .optional(),\n                                        currency: z\n                                          .string()\n                                          .describe(\n                                            'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                          )\n                                          .optional(),\n                                      })\n                                      .describe(\n                                        \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                      )\n                                      .optional(),\n                                  })\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'Item of type `DISH` or `VARIATION` that customers can select. For example a dish size. Customers can choose only a single selection per dish.'\n                            ),\n                        }),\n                        z.object({\n                          selection: z.never().optional(),\n                          deselection: z.never().optional(),\n                          extras: z\n                            .object({\n                              defaultChoices: z.array(z.string()).optional(),\n                              minChoices: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Minimum number of extras a customer must choose. Defaults to `0`. Must be lower than or equal to the value of `availableChoices`.'\n                                )\n                                .min(0)\n                                .max(2147483647)\n                                .optional()\n                                .nullable(),\n                              maxChoices: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Maximum number of extras a customer can choose. Defaults to the value of `availableChoices`. Must be greater than or equal to the value of `minChoices`.'\n                                )\n                                .min(0)\n                                .max(2147483647)\n                                .optional()\n                                .nullable(),\n                              availableChoices: z\n                                .array(\n                                  z.object({\n                                    itemId: z\n                                      .string()\n                                      .describe('Item ID of the dish option.')\n                                      .optional(),\n                                    price: z\n                                      .object({\n                                        value: z\n                                          .string()\n                                          .describe(\n                                            'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                          )\n                                          .optional(),\n                                        currency: z\n                                          .string()\n                                          .describe(\n                                            'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                          )\n                                          .optional(),\n                                      })\n                                      .describe(\n                                        \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                      )\n                                      .optional(),\n                                  })\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'Item of type `DISH` or `VARIATION` that customers can add to a dish. For example a topping. Customers can add multiple extras per dish.'\n                            ),\n                        }),\n                        z.object({\n                          selection: z.never().optional(),\n                          extras: z.never().optional(),\n                          deselection: z\n                            .object({\n                              availableChoices: z\n                                .array(\n                                  z.object({\n                                    itemId: z\n                                      .string()\n                                      .describe('Item ID of the dish option.')\n                                      .optional(),\n                                    price: z\n                                      .object({\n                                        value: z\n                                          .string()\n                                          .describe(\n                                            'Monetary amount in decimal string format. For example, `3.99`, `6`, and `10.5` are all accepted values.'\n                                          )\n                                          .optional(),\n                                        currency: z\n                                          .string()\n                                          .describe(\n                                            'Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.'\n                                          )\n                                          .optional(),\n                                      })\n                                      .describe(\n                                        \"Dish option price. `0` for free choices that are included in the dish's price.\"\n                                      )\n                                      .optional(),\n                                  })\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'Item of type `DISH` or `VARIATION` that customers can remove from a dish. For example a specific ingredient. Customers can remove multiple deselections per dish.'\n                            ),\n                        }),\n                      ])\n                    )\n                  )\n                  .optional(),\n              })\n              .describe(\n                'Items customers can choose to modify a dish. Can be an extra, selection, or deselection.'\n              )\n              .optional(),\n            acceptSpecialRequest: z\n              .boolean()\n              .describe(\n                'Whether a customer can add a special request when ordering this item. Defaults to `true`.'\n              )\n              .optional()\n              .nullable(),\n            type: z\n              .enum(['UNSPECIFIED_ITEM_TYPE', 'DISH', 'VARIATION'])\n              .describe('Item type.')\n              .optional(),\n          })\n          .describe('Item.')\n          .optional(),\n      })\n    )\n    .optional(),\n  bulkActionMetadata: z\n    .object({\n      totalSuccesses: z\n        .number()\n        .int()\n        .describe('Number of items that were successfully processed.')\n        .optional(),\n      totalFailures: z\n        .number()\n        .int()\n        .describe(\"Number of items that couldn't be processed.\")\n        .optional(),\n      undetailedFailures: z\n        .number()\n        .int()\n        .describe(\n          'Number of failures without details because detailed failure threshold was exceeded.'\n        )\n        .optional(),\n    })\n    .describe('Bulk Create Dishes metadata.')\n    .optional(),\n});\nexport const BulkCreateMenusRequest = z.object({\n  catalogId: z.string().describe('ID of the catalog the menus will belong to.'),\n  options: z\n    .object({\n      menus: z\n        .array(\n          z.object({\n            _id: z.string().describe('Menu ID.').optional().nullable(),\n            name: z.string().describe('Menu name.').optional().nullable(),\n            description: z\n              .string()\n              .describe('Menu description.')\n              .optional()\n              .nullable(),\n            imageUrl: z\n              .string()\n              .describe(\"URL of the menu's image file.\")\n              .optional()\n              .nullable(),\n            visibilityCriteria: z\n              .object({\n                visible: z\n                  .boolean()\n                  .describe(\n                    \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n                  )\n                  .optional()\n                  .nullable(),\n                fulfillmentTypes: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_FULFILLMENT_TYPE',\n                      'DELIVERY',\n                      'PICKUP_OR_DINE_IN',\n                    ])\n                  )\n                  .min(1)\n                  .max(2)\n                  .optional(),\n                platforms: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_PLATFORM',\n                      'SITE',\n                      'MOBILE_SITE',\n                      'WIX_APP',\n                      'CALL_CENTER',\n                      'CHAT_BOT',\n                    ])\n                  )\n                  .min(1)\n                  .max(5)\n                  .optional(),\n                availability: z\n                  .object({\n                    periods: z\n                      .array(\n                        z.object({\n                          openDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .optional(),\n                          openTime: z\n                            .string()\n                            .describe(\n                              'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                            )\n                            .optional(),\n                          closeDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .optional(),\n                          closeTime: z\n                            .string()\n                            .describe(\n                              'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                            )\n                            .optional(),\n                        })\n                      )\n                      .optional(),\n                    specialHourPeriods: z\n                      .array(\n                        z.object({\n                          startDate: z\n                            .string()\n                            .describe(\n                              'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          endDate: z\n                            .string()\n                            .describe(\n                              'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          available: z\n                            .boolean()\n                            .describe(\n                              'Whether the item is available during the exception. Defaults to `true`.'\n                            )\n                            .optional(),\n                          eventName: z\n                            .string()\n                            .describe(\n                              'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                            )\n                            .optional()\n                            .nullable(),\n                        })\n                      )\n                      .optional(),\n                  })\n                  .describe('Time periods when the entity is available.')\n                  .optional(),\n              })\n              .describe(\n                'Visibility criteria that must be met for the menu to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n              )\n              .optional(),\n            sectionIds: z\n              .object({ values: z.array(z.string()).optional() })\n              .describe('IDs of the sections that are included in the menu.')\n              .optional(),\n            archived: z\n              .boolean()\n              .describe(\n                \"Whether the menu is archived. Defaults to `false`. **Note:** Archived menus can't be updated.\"\n              )\n              .optional()\n              .nullable(),\n          })\n        )\n        .min(1)\n        .max(20)\n        .optional(),\n      returnFullEntity: z\n        .boolean()\n        .describe(\n          'Whether the full menu entity is returned. Defaults to `true`.'\n        )\n        .optional(),\n    })\n    .optional(),\n});\nexport const BulkCreateMenusResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        entityMetadata: z\n          .object({\n            _id: z\n              .string()\n              .describe(\n                \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n              )\n              .optional()\n              .nullable(),\n            originalIndex: z\n              .number()\n              .int()\n              .describe(\n                'Index of the item within the request array. Allows for correlation between request and response items.'\n              )\n              .optional(),\n            success: z\n              .boolean()\n              .describe(\n                'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n              )\n              .optional(),\n            error: z\n              .object({\n                code: z.string().describe('Error code.').optional(),\n                description: z\n                  .string()\n                  .describe('Description of the error.')\n                  .optional(),\n                data: z\n                  .record(z.string(), z.any())\n                  .describe('Data related to the error.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Details about the error in case of failure.')\n              .optional(),\n          })\n          .describe('Menu metadata.')\n          .optional(),\n        entity: z\n          .object({\n            _id: z.string().describe('Menu ID.').optional().nullable(),\n            name: z.string().describe('Menu name.').optional().nullable(),\n            description: z\n              .string()\n              .describe('Menu description.')\n              .optional()\n              .nullable(),\n            imageUrl: z\n              .string()\n              .describe(\"URL of the menu's image file.\")\n              .optional()\n              .nullable(),\n            visibilityCriteria: z\n              .object({\n                visible: z\n                  .boolean()\n                  .describe(\n                    \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n                  )\n                  .optional()\n                  .nullable(),\n                fulfillmentTypes: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_FULFILLMENT_TYPE',\n                      'DELIVERY',\n                      'PICKUP_OR_DINE_IN',\n                    ])\n                  )\n                  .min(1)\n                  .max(2)\n                  .optional(),\n                platforms: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_PLATFORM',\n                      'SITE',\n                      'MOBILE_SITE',\n                      'WIX_APP',\n                      'CALL_CENTER',\n                      'CHAT_BOT',\n                    ])\n                  )\n                  .min(1)\n                  .max(5)\n                  .optional(),\n                availability: z\n                  .object({\n                    periods: z\n                      .array(\n                        z.object({\n                          openDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .describe('Day of the week the period starts on.')\n                            .optional(),\n                          openTime: z\n                            .string()\n                            .describe(\n                              'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                            )\n                            .optional(),\n                          closeDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .describe('Day of the week the period ends on.')\n                            .optional(),\n                          closeTime: z\n                            .string()\n                            .describe(\n                              'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                            )\n                            .optional(),\n                        })\n                      )\n                      .optional(),\n                    specialHourPeriods: z\n                      .array(\n                        z.object({\n                          startDate: z\n                            .string()\n                            .describe(\n                              'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          endDate: z\n                            .string()\n                            .describe(\n                              'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          available: z\n                            .boolean()\n                            .describe(\n                              'Whether the item is available during the exception. Defaults to `true`.'\n                            )\n                            .optional(),\n                          eventName: z\n                            .string()\n                            .describe(\n                              'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                            )\n                            .optional()\n                            .nullable(),\n                        })\n                      )\n                      .optional(),\n                  })\n                  .describe('Time periods when the entity is available.')\n                  .optional(),\n              })\n              .describe(\n                'Visibility criteria that must be met for the menu to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n              )\n              .optional(),\n            sectionIds: z\n              .object({ values: z.array(z.string()).optional() })\n              .describe('IDs of the sections that are included in the menu.')\n              .optional(),\n            archived: z\n              .boolean()\n              .describe(\n                \"Whether the menu is archived. Defaults to `false`. **Note:** Archived menus can't be updated.\"\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe('Menu.')\n          .optional(),\n      })\n    )\n    .optional(),\n  bulkActionMetadata: z\n    .object({\n      totalSuccesses: z\n        .number()\n        .int()\n        .describe('Number of items that were successfully processed.')\n        .optional(),\n      totalFailures: z\n        .number()\n        .int()\n        .describe(\"Number of items that couldn't be processed.\")\n        .optional(),\n      undetailedFailures: z\n        .number()\n        .int()\n        .describe(\n          'Number of failures without details because detailed failure threshold was exceeded.'\n        )\n        .optional(),\n    })\n    .describe('Bulk Create Menus metadata.')\n    .optional(),\n});\nexport const BulkUpdateMenusRequest = z.object({\n  catalogId: z.string().describe('ID of the catalog the menus belong to.'),\n  options: z\n    .object({\n      menus: z\n        .array(\n          z.object({\n            _id: z.string().describe('Menu ID.').optional().nullable(),\n            name: z.string().describe('Menu name.').optional().nullable(),\n            description: z\n              .string()\n              .describe('Menu description.')\n              .optional()\n              .nullable(),\n            imageUrl: z\n              .string()\n              .describe(\"URL of the menu's image file.\")\n              .optional()\n              .nullable(),\n            visibilityCriteria: z\n              .object({\n                visible: z\n                  .boolean()\n                  .describe(\n                    \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n                  )\n                  .optional()\n                  .nullable(),\n                fulfillmentTypes: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_FULFILLMENT_TYPE',\n                      'DELIVERY',\n                      'PICKUP_OR_DINE_IN',\n                    ])\n                  )\n                  .min(1)\n                  .max(2)\n                  .optional(),\n                platforms: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_PLATFORM',\n                      'SITE',\n                      'MOBILE_SITE',\n                      'WIX_APP',\n                      'CALL_CENTER',\n                      'CHAT_BOT',\n                    ])\n                  )\n                  .min(1)\n                  .max(5)\n                  .optional(),\n                availability: z\n                  .object({\n                    periods: z\n                      .array(\n                        z.object({\n                          openDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .optional(),\n                          openTime: z\n                            .string()\n                            .describe(\n                              'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                            )\n                            .optional(),\n                          closeDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .optional(),\n                          closeTime: z\n                            .string()\n                            .describe(\n                              'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                            )\n                            .optional(),\n                        })\n                      )\n                      .optional(),\n                    specialHourPeriods: z\n                      .array(\n                        z.object({\n                          startDate: z\n                            .string()\n                            .describe(\n                              'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          endDate: z\n                            .string()\n                            .describe(\n                              'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          available: z\n                            .boolean()\n                            .describe(\n                              'Whether the item is available during the exception. Defaults to `true`.'\n                            )\n                            .optional(),\n                          eventName: z\n                            .string()\n                            .describe(\n                              'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                            )\n                            .optional()\n                            .nullable(),\n                        })\n                      )\n                      .optional(),\n                  })\n                  .describe('Time periods when the entity is available.')\n                  .optional(),\n              })\n              .describe(\n                'Visibility criteria that must be met for the menu to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n              )\n              .optional(),\n            sectionIds: z\n              .object({ values: z.array(z.string()).optional() })\n              .describe('IDs of the sections that are included in the menu.')\n              .optional(),\n            archived: z\n              .boolean()\n              .describe(\n                \"Whether the menu is archived. Defaults to `false`. **Note:** Archived menus can't be updated.\"\n              )\n              .optional()\n              .nullable(),\n          })\n        )\n        .min(1)\n        .max(20)\n        .optional(),\n      returnFullEntity: z\n        .boolean()\n        .describe(\n          'Whether the full menu entity is returned. Defaults to `true`.'\n        )\n        .optional(),\n    })\n    .optional(),\n});\nexport const BulkUpdateMenusResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        entityMetadata: z\n          .object({\n            _id: z\n              .string()\n              .describe(\n                \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n              )\n              .optional()\n              .nullable(),\n            originalIndex: z\n              .number()\n              .int()\n              .describe(\n                'Index of the item within the request array. Allows for correlation between request and response items.'\n              )\n              .optional(),\n            success: z\n              .boolean()\n              .describe(\n                'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n              )\n              .optional(),\n            error: z\n              .object({\n                code: z.string().describe('Error code.').optional(),\n                description: z\n                  .string()\n                  .describe('Description of the error.')\n                  .optional(),\n                data: z\n                  .record(z.string(), z.any())\n                  .describe('Data related to the error.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Details about the error in case of failure.')\n              .optional(),\n          })\n          .describe('Menu metadata.')\n          .optional(),\n        entity: z\n          .object({\n            _id: z.string().describe('Menu ID.').optional().nullable(),\n            name: z.string().describe('Menu name.').optional().nullable(),\n            description: z\n              .string()\n              .describe('Menu description.')\n              .optional()\n              .nullable(),\n            imageUrl: z\n              .string()\n              .describe(\"URL of the menu's image file.\")\n              .optional()\n              .nullable(),\n            visibilityCriteria: z\n              .object({\n                visible: z\n                  .boolean()\n                  .describe(\n                    \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n                  )\n                  .optional()\n                  .nullable(),\n                fulfillmentTypes: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_FULFILLMENT_TYPE',\n                      'DELIVERY',\n                      'PICKUP_OR_DINE_IN',\n                    ])\n                  )\n                  .min(1)\n                  .max(2)\n                  .optional(),\n                platforms: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_PLATFORM',\n                      'SITE',\n                      'MOBILE_SITE',\n                      'WIX_APP',\n                      'CALL_CENTER',\n                      'CHAT_BOT',\n                    ])\n                  )\n                  .min(1)\n                  .max(5)\n                  .optional(),\n                availability: z\n                  .object({\n                    periods: z\n                      .array(\n                        z.object({\n                          openDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .describe('Day of the week the period starts on.')\n                            .optional(),\n                          openTime: z\n                            .string()\n                            .describe(\n                              'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                            )\n                            .optional(),\n                          closeDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .describe('Day of the week the period ends on.')\n                            .optional(),\n                          closeTime: z\n                            .string()\n                            .describe(\n                              'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                            )\n                            .optional(),\n                        })\n                      )\n                      .optional(),\n                    specialHourPeriods: z\n                      .array(\n                        z.object({\n                          startDate: z\n                            .string()\n                            .describe(\n                              'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          endDate: z\n                            .string()\n                            .describe(\n                              'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          available: z\n                            .boolean()\n                            .describe(\n                              'Whether the item is available during the exception. Defaults to `true`.'\n                            )\n                            .optional(),\n                          eventName: z\n                            .string()\n                            .describe(\n                              'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                            )\n                            .optional()\n                            .nullable(),\n                        })\n                      )\n                      .optional(),\n                  })\n                  .describe('Time periods when the entity is available.')\n                  .optional(),\n              })\n              .describe(\n                'Visibility criteria that must be met for the menu to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n              )\n              .optional(),\n            sectionIds: z\n              .object({ values: z.array(z.string()).optional() })\n              .describe('IDs of the sections that are included in the menu.')\n              .optional(),\n            archived: z\n              .boolean()\n              .describe(\n                \"Whether the menu is archived. Defaults to `false`. **Note:** Archived menus can't be updated.\"\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe('Menu.')\n          .optional(),\n      })\n    )\n    .optional(),\n  bulkActionMetadata: z\n    .object({\n      totalSuccesses: z\n        .number()\n        .int()\n        .describe('Number of items that were successfully processed.')\n        .optional(),\n      totalFailures: z\n        .number()\n        .int()\n        .describe(\"Number of items that couldn't be processed.\")\n        .optional(),\n      undetailedFailures: z\n        .number()\n        .int()\n        .describe(\n          'Number of failures without details because detailed failure threshold was exceeded.'\n        )\n        .optional(),\n    })\n    .describe('Bulk Update Menus metadata.')\n    .optional(),\n});\nexport const BulkCreateSectionsRequest = z.object({\n  catalogId: z\n    .string()\n    .describe('ID of the catalog the sections will belong to.'),\n  options: z\n    .object({\n      createSectionRequests: z\n        .array(\n          z.object({\n            menuId: z\n              .string()\n              .describe('ID of the menu the section will belong to.')\n              .optional(),\n            section: z\n              .object({\n                _id: z.string().describe('Section ID.').optional().nullable(),\n                menuId: z\n                  .string()\n                  .describe('ID of the menu the section belongs to.')\n                  .optional()\n                  .nullable(),\n                name: z\n                  .string()\n                  .describe('Section name.')\n                  .optional()\n                  .nullable(),\n                description: z\n                  .string()\n                  .describe('Section description.')\n                  .optional()\n                  .nullable(),\n                imageUrl: z\n                  .string()\n                  .describe(\"URL of the section's image file.\")\n                  .optional()\n                  .nullable(),\n                itemIds: z\n                  .object({ values: z.array(z.string()).optional() })\n                  .describe('IDs of the items that belong to the section.')\n                  .optional(),\n                visibilityCriteria: z\n                  .object({\n                    visible: z\n                      .boolean()\n                      .describe(\n                        \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n                      )\n                      .optional()\n                      .nullable(),\n                    fulfillmentTypes: z\n                      .array(\n                        z.enum([\n                          'UNSPECIFIED_FULFILLMENT_TYPE',\n                          'DELIVERY',\n                          'PICKUP_OR_DINE_IN',\n                        ])\n                      )\n                      .min(1)\n                      .max(2)\n                      .optional(),\n                    platforms: z\n                      .array(\n                        z.enum([\n                          'UNSPECIFIED_PLATFORM',\n                          'SITE',\n                          'MOBILE_SITE',\n                          'WIX_APP',\n                          'CALL_CENTER',\n                          'CHAT_BOT',\n                        ])\n                      )\n                      .min(1)\n                      .max(5)\n                      .optional(),\n                    availability: z\n                      .object({\n                        periods: z\n                          .array(\n                            z.object({\n                              openDay: z\n                                .enum([\n                                  'UNDEFINED',\n                                  'SUN',\n                                  'MON',\n                                  'TUE',\n                                  'WED',\n                                  'THU',\n                                  'FRI',\n                                  'SAT',\n                                ])\n                                .optional(),\n                              openTime: z\n                                .string()\n                                .describe(\n                                  'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                                )\n                                .optional(),\n                              closeDay: z\n                                .enum([\n                                  'UNDEFINED',\n                                  'SUN',\n                                  'MON',\n                                  'TUE',\n                                  'WED',\n                                  'THU',\n                                  'FRI',\n                                  'SAT',\n                                ])\n                                .optional(),\n                              closeTime: z\n                                .string()\n                                .describe(\n                                  'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                                )\n                                .optional(),\n                            })\n                          )\n                          .optional(),\n                        specialHourPeriods: z\n                          .array(\n                            z.object({\n                              startDate: z\n                                .string()\n                                .describe(\n                                  'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                                )\n                                .optional(),\n                              endDate: z\n                                .string()\n                                .describe(\n                                  'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                                )\n                                .optional(),\n                              available: z\n                                .boolean()\n                                .describe(\n                                  'Whether the item is available during the exception. Defaults to `true`.'\n                                )\n                                .optional(),\n                              eventName: z\n                                .string()\n                                .describe(\n                                  'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                                )\n                                .optional()\n                                .nullable(),\n                            })\n                          )\n                          .optional(),\n                      })\n                      .describe('Time periods when the entity is available.')\n                      .optional(),\n                  })\n                  .describe(\n                    'Visibility criteria that must be met for the section to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n                  )\n                  .optional(),\n                archived: z\n                  .boolean()\n                  .describe(\n                    \"Whether the section is archived. Defaults to `false`. **Note:** Archived sections can't be updated.\"\n                  )\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Section to create.')\n              .optional(),\n          })\n        )\n        .min(1)\n        .max(20)\n        .optional(),\n      returnFullEntity: z\n        .boolean()\n        .describe(\n          'Whether the full section entity is returned. Defaults to `true`.'\n        )\n        .optional(),\n    })\n    .optional(),\n});\nexport const BulkCreateSectionsResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        entityMetadata: z\n          .object({\n            _id: z\n              .string()\n              .describe(\n                \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n              )\n              .optional()\n              .nullable(),\n            originalIndex: z\n              .number()\n              .int()\n              .describe(\n                'Index of the item within the request array. Allows for correlation between request and response items.'\n              )\n              .optional(),\n            success: z\n              .boolean()\n              .describe(\n                'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n              )\n              .optional(),\n            error: z\n              .object({\n                code: z.string().describe('Error code.').optional(),\n                description: z\n                  .string()\n                  .describe('Description of the error.')\n                  .optional(),\n                data: z\n                  .record(z.string(), z.any())\n                  .describe('Data related to the error.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Details about the error in case of failure.')\n              .optional(),\n          })\n          .describe('Section metadata.')\n          .optional(),\n        entity: z\n          .object({\n            _id: z.string().describe('Section ID.').optional().nullable(),\n            menuId: z\n              .string()\n              .describe('ID of the menu the section belongs to.')\n              .optional()\n              .nullable(),\n            name: z.string().describe('Section name.').optional().nullable(),\n            description: z\n              .string()\n              .describe('Section description.')\n              .optional()\n              .nullable(),\n            imageUrl: z\n              .string()\n              .describe(\"URL of the section's image file.\")\n              .optional()\n              .nullable(),\n            itemIds: z\n              .object({ values: z.array(z.string()).optional() })\n              .describe('IDs of the items that belong to the section.')\n              .optional(),\n            visibilityCriteria: z\n              .object({\n                visible: z\n                  .boolean()\n                  .describe(\n                    \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n                  )\n                  .optional()\n                  .nullable(),\n                fulfillmentTypes: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_FULFILLMENT_TYPE',\n                      'DELIVERY',\n                      'PICKUP_OR_DINE_IN',\n                    ])\n                  )\n                  .min(1)\n                  .max(2)\n                  .optional(),\n                platforms: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_PLATFORM',\n                      'SITE',\n                      'MOBILE_SITE',\n                      'WIX_APP',\n                      'CALL_CENTER',\n                      'CHAT_BOT',\n                    ])\n                  )\n                  .min(1)\n                  .max(5)\n                  .optional(),\n                availability: z\n                  .object({\n                    periods: z\n                      .array(\n                        z.object({\n                          openDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .describe('Day of the week the period starts on.')\n                            .optional(),\n                          openTime: z\n                            .string()\n                            .describe(\n                              'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                            )\n                            .optional(),\n                          closeDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .describe('Day of the week the period ends on.')\n                            .optional(),\n                          closeTime: z\n                            .string()\n                            .describe(\n                              'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                            )\n                            .optional(),\n                        })\n                      )\n                      .optional(),\n                    specialHourPeriods: z\n                      .array(\n                        z.object({\n                          startDate: z\n                            .string()\n                            .describe(\n                              'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          endDate: z\n                            .string()\n                            .describe(\n                              'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          available: z\n                            .boolean()\n                            .describe(\n                              'Whether the item is available during the exception. Defaults to `true`.'\n                            )\n                            .optional(),\n                          eventName: z\n                            .string()\n                            .describe(\n                              'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                            )\n                            .optional()\n                            .nullable(),\n                        })\n                      )\n                      .optional(),\n                  })\n                  .describe('Time periods when the entity is available.')\n                  .optional(),\n              })\n              .describe(\n                'Visibility criteria that must be met for the section to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n              )\n              .optional(),\n            archived: z\n              .boolean()\n              .describe(\n                \"Whether the section is archived. Defaults to `false`. **Note:** Archived sections can't be updated.\"\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe('Section.')\n          .optional(),\n      })\n    )\n    .optional(),\n  bulkActionMetadata: z\n    .object({\n      totalSuccesses: z\n        .number()\n        .int()\n        .describe('Number of items that were successfully processed.')\n        .optional(),\n      totalFailures: z\n        .number()\n        .int()\n        .describe(\"Number of items that couldn't be processed.\")\n        .optional(),\n      undetailedFailures: z\n        .number()\n        .int()\n        .describe(\n          'Number of failures without details because detailed failure threshold was exceeded.'\n        )\n        .optional(),\n    })\n    .describe('Bulk Create Sections metadata.')\n    .optional(),\n});\nexport const BulkUpdateSectionsRequest = z.object({\n  catalogId: z.string().describe('ID of the catalog the sections belong to.'),\n  options: z\n    .object({\n      updateSectionsRequests: z\n        .array(\n          z.object({\n            menuId: z\n              .string()\n              .describe('ID of the menu the section will belong to.')\n              .optional(),\n            section: z\n              .object({\n                _id: z.string().describe('Section ID.').optional().nullable(),\n                menuId: z\n                  .string()\n                  .describe('ID of the menu the section belongs to.')\n                  .optional()\n                  .nullable(),\n                name: z\n                  .string()\n                  .describe('Section name.')\n                  .optional()\n                  .nullable(),\n                description: z\n                  .string()\n                  .describe('Section description.')\n                  .optional()\n                  .nullable(),\n                imageUrl: z\n                  .string()\n                  .describe(\"URL of the section's image file.\")\n                  .optional()\n                  .nullable(),\n                itemIds: z\n                  .object({ values: z.array(z.string()).optional() })\n                  .describe('IDs of the items that belong to the section.')\n                  .optional(),\n                visibilityCriteria: z\n                  .object({\n                    visible: z\n                      .boolean()\n                      .describe(\n                        \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n                      )\n                      .optional()\n                      .nullable(),\n                    fulfillmentTypes: z\n                      .array(\n                        z.enum([\n                          'UNSPECIFIED_FULFILLMENT_TYPE',\n                          'DELIVERY',\n                          'PICKUP_OR_DINE_IN',\n                        ])\n                      )\n                      .min(1)\n                      .max(2)\n                      .optional(),\n                    platforms: z\n                      .array(\n                        z.enum([\n                          'UNSPECIFIED_PLATFORM',\n                          'SITE',\n                          'MOBILE_SITE',\n                          'WIX_APP',\n                          'CALL_CENTER',\n                          'CHAT_BOT',\n                        ])\n                      )\n                      .min(1)\n                      .max(5)\n                      .optional(),\n                    availability: z\n                      .object({\n                        periods: z\n                          .array(\n                            z.object({\n                              openDay: z\n                                .enum([\n                                  'UNDEFINED',\n                                  'SUN',\n                                  'MON',\n                                  'TUE',\n                                  'WED',\n                                  'THU',\n                                  'FRI',\n                                  'SAT',\n                                ])\n                                .optional(),\n                              openTime: z\n                                .string()\n                                .describe(\n                                  'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                                )\n                                .optional(),\n                              closeDay: z\n                                .enum([\n                                  'UNDEFINED',\n                                  'SUN',\n                                  'MON',\n                                  'TUE',\n                                  'WED',\n                                  'THU',\n                                  'FRI',\n                                  'SAT',\n                                ])\n                                .optional(),\n                              closeTime: z\n                                .string()\n                                .describe(\n                                  'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                                )\n                                .optional(),\n                            })\n                          )\n                          .optional(),\n                        specialHourPeriods: z\n                          .array(\n                            z.object({\n                              startDate: z\n                                .string()\n                                .describe(\n                                  'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                                )\n                                .optional(),\n                              endDate: z\n                                .string()\n                                .describe(\n                                  'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                                )\n                                .optional(),\n                              available: z\n                                .boolean()\n                                .describe(\n                                  'Whether the item is available during the exception. Defaults to `true`.'\n                                )\n                                .optional(),\n                              eventName: z\n                                .string()\n                                .describe(\n                                  'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                                )\n                                .optional()\n                                .nullable(),\n                            })\n                          )\n                          .optional(),\n                      })\n                      .describe('Time periods when the entity is available.')\n                      .optional(),\n                  })\n                  .describe(\n                    'Visibility criteria that must be met for the section to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n                  )\n                  .optional(),\n                archived: z\n                  .boolean()\n                  .describe(\n                    \"Whether the section is archived. Defaults to `false`. **Note:** Archived sections can't be updated.\"\n                  )\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Section to update.')\n              .optional(),\n          })\n        )\n        .min(1)\n        .max(20)\n        .optional(),\n      returnFullEntity: z\n        .boolean()\n        .describe(\n          'Whether the full section entity is returned. Defaults to `true`.'\n        )\n        .optional(),\n    })\n    .optional(),\n});\nexport const BulkUpdateSectionsResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        entityMetadata: z\n          .object({\n            _id: z\n              .string()\n              .describe(\n                \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n              )\n              .optional()\n              .nullable(),\n            originalIndex: z\n              .number()\n              .int()\n              .describe(\n                'Index of the item within the request array. Allows for correlation between request and response items.'\n              )\n              .optional(),\n            success: z\n              .boolean()\n              .describe(\n                'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n              )\n              .optional(),\n            error: z\n              .object({\n                code: z.string().describe('Error code.').optional(),\n                description: z\n                  .string()\n                  .describe('Description of the error.')\n                  .optional(),\n                data: z\n                  .record(z.string(), z.any())\n                  .describe('Data related to the error.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Details about the error in case of failure.')\n              .optional(),\n          })\n          .describe('Section metadata.')\n          .optional(),\n        entity: z\n          .object({\n            _id: z.string().describe('Section ID.').optional().nullable(),\n            menuId: z\n              .string()\n              .describe('ID of the menu the section belongs to.')\n              .optional()\n              .nullable(),\n            name: z.string().describe('Section name.').optional().nullable(),\n            description: z\n              .string()\n              .describe('Section description.')\n              .optional()\n              .nullable(),\n            imageUrl: z\n              .string()\n              .describe(\"URL of the section's image file.\")\n              .optional()\n              .nullable(),\n            itemIds: z\n              .object({ values: z.array(z.string()).optional() })\n              .describe('IDs of the items that belong to the section.')\n              .optional(),\n            visibilityCriteria: z\n              .object({\n                visible: z\n                  .boolean()\n                  .describe(\n                    \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n                  )\n                  .optional()\n                  .nullable(),\n                fulfillmentTypes: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_FULFILLMENT_TYPE',\n                      'DELIVERY',\n                      'PICKUP_OR_DINE_IN',\n                    ])\n                  )\n                  .min(1)\n                  .max(2)\n                  .optional(),\n                platforms: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_PLATFORM',\n                      'SITE',\n                      'MOBILE_SITE',\n                      'WIX_APP',\n                      'CALL_CENTER',\n                      'CHAT_BOT',\n                    ])\n                  )\n                  .min(1)\n                  .max(5)\n                  .optional(),\n                availability: z\n                  .object({\n                    periods: z\n                      .array(\n                        z.object({\n                          openDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .describe('Day of the week the period starts on.')\n                            .optional(),\n                          openTime: z\n                            .string()\n                            .describe(\n                              'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                            )\n                            .optional(),\n                          closeDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .describe('Day of the week the period ends on.')\n                            .optional(),\n                          closeTime: z\n                            .string()\n                            .describe(\n                              'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                            )\n                            .optional(),\n                        })\n                      )\n                      .optional(),\n                    specialHourPeriods: z\n                      .array(\n                        z.object({\n                          startDate: z\n                            .string()\n                            .describe(\n                              'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          endDate: z\n                            .string()\n                            .describe(\n                              'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          available: z\n                            .boolean()\n                            .describe(\n                              'Whether the item is available during the exception. Defaults to `true`.'\n                            )\n                            .optional(),\n                          eventName: z\n                            .string()\n                            .describe(\n                              'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                            )\n                            .optional()\n                            .nullable(),\n                        })\n                      )\n                      .optional(),\n                  })\n                  .describe('Time periods when the entity is available.')\n                  .optional(),\n              })\n              .describe(\n                'Visibility criteria that must be met for the section to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n              )\n              .optional(),\n            archived: z\n              .boolean()\n              .describe(\n                \"Whether the section is archived. Defaults to `false`. **Note:** Archived sections can't be updated.\"\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe('Section.')\n          .optional(),\n      })\n    )\n    .optional(),\n  bulkActionMetadata: z\n    .object({\n      totalSuccesses: z\n        .number()\n        .int()\n        .describe('Number of items that were successfully processed.')\n        .optional(),\n      totalFailures: z\n        .number()\n        .int()\n        .describe(\"Number of items that couldn't be processed.\")\n        .optional(),\n      undetailedFailures: z\n        .number()\n        .int()\n        .describe(\n          'Number of failures without details because detailed failure threshold was exceeded.'\n        )\n        .optional(),\n    })\n    .describe('Bulk Update Sections metadata.')\n    .optional(),\n});\nexport const BulkArchiveMenusRequest = z.object({\n  catalogId: z.string().describe('ID of the catalog the menus belong to.'),\n  options: z\n    .object({\n      ids: z.array(z.string()).min(1).max(20).optional(),\n      returnFullEntity: z\n        .boolean()\n        .describe(\n          'Whether the full menu entity is returned. Defaults to `true`.'\n        )\n        .optional(),\n    })\n    .optional(),\n});\nexport const BulkArchiveMenusResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        entityMetadata: z\n          .object({\n            _id: z\n              .string()\n              .describe(\n                \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n              )\n              .optional()\n              .nullable(),\n            originalIndex: z\n              .number()\n              .int()\n              .describe(\n                'Index of the item within the request array. Allows for correlation between request and response items.'\n              )\n              .optional(),\n            success: z\n              .boolean()\n              .describe(\n                'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n              )\n              .optional(),\n            error: z\n              .object({\n                code: z.string().describe('Error code.').optional(),\n                description: z\n                  .string()\n                  .describe('Description of the error.')\n                  .optional(),\n                data: z\n                  .record(z.string(), z.any())\n                  .describe('Data related to the error.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Details about the error in case of failure.')\n              .optional(),\n          })\n          .describe('Menu metadata.')\n          .optional(),\n        entity: z\n          .object({\n            _id: z.string().describe('Menu ID.').optional().nullable(),\n            name: z.string().describe('Menu name.').optional().nullable(),\n            description: z\n              .string()\n              .describe('Menu description.')\n              .optional()\n              .nullable(),\n            imageUrl: z\n              .string()\n              .describe(\"URL of the menu's image file.\")\n              .optional()\n              .nullable(),\n            visibilityCriteria: z\n              .object({\n                visible: z\n                  .boolean()\n                  .describe(\n                    \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n                  )\n                  .optional()\n                  .nullable(),\n                fulfillmentTypes: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_FULFILLMENT_TYPE',\n                      'DELIVERY',\n                      'PICKUP_OR_DINE_IN',\n                    ])\n                  )\n                  .min(1)\n                  .max(2)\n                  .optional(),\n                platforms: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_PLATFORM',\n                      'SITE',\n                      'MOBILE_SITE',\n                      'WIX_APP',\n                      'CALL_CENTER',\n                      'CHAT_BOT',\n                    ])\n                  )\n                  .min(1)\n                  .max(5)\n                  .optional(),\n                availability: z\n                  .object({\n                    periods: z\n                      .array(\n                        z.object({\n                          openDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .describe('Day of the week the period starts on.')\n                            .optional(),\n                          openTime: z\n                            .string()\n                            .describe(\n                              'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                            )\n                            .optional(),\n                          closeDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .describe('Day of the week the period ends on.')\n                            .optional(),\n                          closeTime: z\n                            .string()\n                            .describe(\n                              'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                            )\n                            .optional(),\n                        })\n                      )\n                      .optional(),\n                    specialHourPeriods: z\n                      .array(\n                        z.object({\n                          startDate: z\n                            .string()\n                            .describe(\n                              'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          endDate: z\n                            .string()\n                            .describe(\n                              'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          available: z\n                            .boolean()\n                            .describe(\n                              'Whether the item is available during the exception. Defaults to `true`.'\n                            )\n                            .optional(),\n                          eventName: z\n                            .string()\n                            .describe(\n                              'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                            )\n                            .optional()\n                            .nullable(),\n                        })\n                      )\n                      .optional(),\n                  })\n                  .describe('Time periods when the entity is available.')\n                  .optional(),\n              })\n              .describe(\n                'Visibility criteria that must be met for the menu to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n              )\n              .optional(),\n            sectionIds: z\n              .object({ values: z.array(z.string()).optional() })\n              .describe('IDs of the sections that are included in the menu.')\n              .optional(),\n            archived: z\n              .boolean()\n              .describe(\n                \"Whether the menu is archived. Defaults to `false`. **Note:** Archived menus can't be updated.\"\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe('Menu.')\n          .optional(),\n      })\n    )\n    .optional(),\n  bulkActionMetadata: z\n    .object({\n      totalSuccesses: z\n        .number()\n        .int()\n        .describe('Number of items that were successfully processed.')\n        .optional(),\n      totalFailures: z\n        .number()\n        .int()\n        .describe(\"Number of items that couldn't be processed.\")\n        .optional(),\n      undetailedFailures: z\n        .number()\n        .int()\n        .describe(\n          'Number of failures without details because detailed failure threshold was exceeded.'\n        )\n        .optional(),\n    })\n    .describe('Bulk Archive Menus metadata.')\n    .optional(),\n});\nexport const BulkUnarchiveMenusRequest = z.object({\n  catalogId: z.string().describe('ID of the catalog the menus belong to.'),\n  options: z\n    .object({\n      ids: z.array(z.string()).min(1).max(20).optional(),\n      returnFullEntity: z\n        .boolean()\n        .describe(\n          'Whether the full menu entity is returned. Defaults to `true`.'\n        )\n        .optional(),\n    })\n    .optional(),\n});\nexport const BulkUnarchiveMenusResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        entityMetadata: z\n          .object({\n            _id: z\n              .string()\n              .describe(\n                \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n              )\n              .optional()\n              .nullable(),\n            originalIndex: z\n              .number()\n              .int()\n              .describe(\n                'Index of the item within the request array. Allows for correlation between request and response items.'\n              )\n              .optional(),\n            success: z\n              .boolean()\n              .describe(\n                'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n              )\n              .optional(),\n            error: z\n              .object({\n                code: z.string().describe('Error code.').optional(),\n                description: z\n                  .string()\n                  .describe('Description of the error.')\n                  .optional(),\n                data: z\n                  .record(z.string(), z.any())\n                  .describe('Data related to the error.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Details about the error in case of failure.')\n              .optional(),\n          })\n          .describe('Menu metadata.')\n          .optional(),\n        entity: z\n          .object({\n            _id: z.string().describe('Menu ID.').optional().nullable(),\n            name: z.string().describe('Menu name.').optional().nullable(),\n            description: z\n              .string()\n              .describe('Menu description.')\n              .optional()\n              .nullable(),\n            imageUrl: z\n              .string()\n              .describe(\"URL of the menu's image file.\")\n              .optional()\n              .nullable(),\n            visibilityCriteria: z\n              .object({\n                visible: z\n                  .boolean()\n                  .describe(\n                    \"Whether the entity appears in the live site. Defaults to `true`.\\nIf `false`, the entity isn't rendered in the live site, even if each visibility criterion is fulfilled.\"\n                  )\n                  .optional()\n                  .nullable(),\n                fulfillmentTypes: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_FULFILLMENT_TYPE',\n                      'DELIVERY',\n                      'PICKUP_OR_DINE_IN',\n                    ])\n                  )\n                  .min(1)\n                  .max(2)\n                  .optional(),\n                platforms: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_PLATFORM',\n                      'SITE',\n                      'MOBILE_SITE',\n                      'WIX_APP',\n                      'CALL_CENTER',\n                      'CHAT_BOT',\n                    ])\n                  )\n                  .min(1)\n                  .max(5)\n                  .optional(),\n                availability: z\n                  .object({\n                    periods: z\n                      .array(\n                        z.object({\n                          openDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .describe('Day of the week the period starts on.')\n                            .optional(),\n                          openTime: z\n                            .string()\n                            .describe(\n                              'Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.'\n                            )\n                            .optional(),\n                          closeDay: z\n                            .enum([\n                              'UNDEFINED',\n                              'SUN',\n                              'MON',\n                              'TUE',\n                              'WED',\n                              'THU',\n                              'FRI',\n                              'SAT',\n                            ])\n                            .describe('Day of the week the period ends on.')\n                            .optional(),\n                          closeTime: z\n                            .string()\n                            .describe(\n                              'Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents\\nmidnight at the end of the specified day.\\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.'\n                            )\n                            .optional(),\n                        })\n                      )\n                      .optional(),\n                    specialHourPeriods: z\n                      .array(\n                        z.object({\n                          startDate: z\n                            .string()\n                            .describe(\n                              'Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          endDate: z\n                            .string()\n                            .describe(\n                              'End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).'\n                            )\n                            .optional(),\n                          available: z\n                            .boolean()\n                            .describe(\n                              'Whether the item is available during the exception. Defaults to `true`.'\n                            )\n                            .optional(),\n                          eventName: z\n                            .string()\n                            .describe(\n                              'Name of the special hour period. In the dashboard, the special hour period is called event.'\n                            )\n                            .optional()\n                            .nullable(),\n                        })\n                      )\n                      .optional(),\n                  })\n                  .describe('Time periods when the entity is available.')\n                  .optional(),\n              })\n              .describe(\n                'Visibility criteria that must be met for the menu to appear in the live site.\\nIn case of multiple visibility criteria, every criterion must be fulfilled.'\n              )\n              .optional(),\n            sectionIds: z\n              .object({ values: z.array(z.string()).optional() })\n              .describe('IDs of the sections that are included in the menu.')\n              .optional(),\n            archived: z\n              .boolean()\n              .describe(\n                \"Whether the menu is archived. Defaults to `false`. **Note:** Archived menus can't be updated.\"\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe('Menu.')\n          .optional(),\n      })\n    )\n    .optional(),\n  bulkActionMetadata: z\n    .object({\n      totalSuccesses: z\n        .number()\n        .int()\n        .describe('Number of items that were successfully processed.')\n        .optional(),\n      totalFailures: z\n        .number()\n        .int()\n        .describe(\"Number of items that couldn't be processed.\")\n        .optional(),\n      undetailedFailures: z\n        .number()\n        .int()\n        .describe(\n          'Number of failures without details because detailed failure threshold was exceeded.'\n        )\n        .optional(),\n    })\n    .describe('Bulk Unarchive Menus metadata.')\n    .optional(),\n});\n"],"mappings":"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","names":[]}