{"version":3,"sources":["../../src/restaurants-catalogs-v3-discount-discount.schemas.ts"],"sourcesContent":["import * as z from 'zod';\n\nexport const GetDiscountRequest = z.object({\n  identifiers: z.object({\n    catalogId: z\n      .string()\n      .describe('ID of the catalog the discount 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    discountId: z\n      .string()\n      .describe('ID of the discount to retrieve.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      ),\n  }),\n});\nexport const GetDiscountResponse = z.intersection(\n  z.object({\n    _id: z.string().describe('Discount ID.').optional().nullable(),\n    name: z.string().describe('Discount name.').optional().nullable(),\n    description: z\n      .string()\n      .describe('Discount description.')\n      .optional()\n      .nullable(),\n    active: z\n      .boolean()\n      .describe('Whether the discount is active. Defaults to `true`.')\n      .optional()\n      .nullable(),\n    type: z\n      .enum(['UNSPECIFIED_TYPE', 'OFF_ITEM', 'OFF_ORDER'])\n      .describe('Discount type.')\n      .optional(),\n    condition: z\n      .object({\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              'CALL_CENTER',\n            ])\n          )\n          .min(1)\n          .max(3)\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('List of times when the discount is available.')\n          .optional(),\n        minOrderPrice: 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('Minimum order price for the discount.')\n          .optional(),\n        coupon: z\n          .object({\n            applied: z\n              .boolean()\n              .describe(\n                'Whether the customer needs to enter the coupon code to receive the discount. Defaults to `true`.'\n              )\n              .optional()\n              .nullable(),\n            code: z.string().describe('Coupon code.').optional().nullable(),\n          })\n          .describe('Coupon associated with the discount.')\n          .optional(),\n      })\n      .describe(\n        'Discount condition.\\nAll conditions must be met so that a customer can apply the discount.'\n      )\n      .optional(),\n  }),\n  z.intersection(\n    z.xor([\n      z.object({\n        amount: z.never().optional(),\n        percentage: z.never().optional(),\n      }),\n      z.object({\n        percentage: z.never().optional(),\n        amount: 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('Discount amount.'),\n      }),\n      z.object({\n        amount: z.never().optional(),\n        percentage: z.string().describe('Discount percentage.'),\n      }),\n    ]),\n    z.xor([\n      z.object({\n        sectionIds: z.never().optional(),\n        itemIds: z.never().optional(),\n      }),\n      z.object({\n        itemIds: z.never().optional(),\n        sectionIds: z\n          .object({ values: z.array(z.string()).optional() })\n          .describe('IDs of the sections the discount applies to.'),\n      }),\n      z.object({\n        sectionIds: z.never().optional(),\n        itemIds: z\n          .object({ values: z.array(z.string()).optional() })\n          .describe(\n            'IDs of the items the discount applies to. **Note:** The items must be of type `dish`.'\n          ),\n      }),\n    ])\n  )\n);\nexport const UpdateDiscountRequest = z.object({\n  identifiers: z.object({\n    catalogId: z\n      .string()\n      .describe('ID of the catalog the discount 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    discountId: z.string().describe('Discount ID.'),\n  }),\n  options: z\n    .object({\n      discount: z\n        .intersection(\n          z.object({\n            _id: z.string().describe('Discount ID.').optional().nullable(),\n            name: z.string().describe('Discount name.').optional().nullable(),\n            description: z\n              .string()\n              .describe('Discount description.')\n              .optional()\n              .nullable(),\n            active: z\n              .boolean()\n              .describe('Whether the discount is active. Defaults to `true`.')\n              .optional()\n              .nullable(),\n            type: z\n              .enum(['UNSPECIFIED_TYPE', 'OFF_ITEM', 'OFF_ORDER'])\n              .optional(),\n            condition: z\n              .object({\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                      'CALL_CENTER',\n                    ])\n                  )\n                  .min(1)\n                  .max(3)\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('List of times when the discount is available.')\n                  .optional(),\n                minOrderPrice: 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('Minimum order price for the discount.')\n                  .optional(),\n                coupon: z\n                  .object({\n                    applied: z\n                      .boolean()\n                      .describe(\n                        'Whether the customer needs to enter the coupon code to receive the discount. Defaults to `true`.'\n                      )\n                      .optional()\n                      .nullable(),\n                    code: z\n                      .string()\n                      .describe('Coupon code.')\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Coupon associated with the discount.')\n                  .optional(),\n              })\n              .describe(\n                'Discount condition.\\nAll conditions must be met so that a customer can apply the discount.'\n              )\n              .optional(),\n          }),\n          z.intersection(\n            z.xor([\n              z.object({\n                amount: z.never().optional(),\n                percentage: z.never().optional(),\n              }),\n              z.object({\n                percentage: z.never().optional(),\n                amount: 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('Discount amount.'),\n              }),\n              z.object({\n                amount: z.never().optional(),\n                percentage: z.string().describe('Discount percentage.'),\n              }),\n            ]),\n            z.xor([\n              z.object({\n                sectionIds: z.never().optional(),\n                itemIds: z.never().optional(),\n              }),\n              z.object({\n                itemIds: z.never().optional(),\n                sectionIds: z\n                  .object({ values: z.array(z.string()).optional() })\n                  .describe('IDs of the sections the discount applies to.'),\n              }),\n              z.object({\n                sectionIds: z.never().optional(),\n                itemIds: z\n                  .object({ values: z.array(z.string()).optional() })\n                  .describe(\n                    'IDs of the items the discount applies to. **Note:** The items must be of type `dish`.'\n                  ),\n              }),\n            ])\n          )\n        )\n        .describe('Discount to update.')\n        .optional(),\n    })\n    .optional(),\n});\nexport const UpdateDiscountResponse = z.intersection(\n  z.object({\n    _id: z.string().describe('Discount ID.').optional().nullable(),\n    name: z.string().describe('Discount name.').optional().nullable(),\n    description: z\n      .string()\n      .describe('Discount description.')\n      .optional()\n      .nullable(),\n    active: z\n      .boolean()\n      .describe('Whether the discount is active. Defaults to `true`.')\n      .optional()\n      .nullable(),\n    type: z\n      .enum(['UNSPECIFIED_TYPE', 'OFF_ITEM', 'OFF_ORDER'])\n      .describe('Discount type.')\n      .optional(),\n    condition: z\n      .object({\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              'CALL_CENTER',\n            ])\n          )\n          .min(1)\n          .max(3)\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('List of times when the discount is available.')\n          .optional(),\n        minOrderPrice: 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('Minimum order price for the discount.')\n          .optional(),\n        coupon: z\n          .object({\n            applied: z\n              .boolean()\n              .describe(\n                'Whether the customer needs to enter the coupon code to receive the discount. Defaults to `true`.'\n              )\n              .optional()\n              .nullable(),\n            code: z.string().describe('Coupon code.').optional().nullable(),\n          })\n          .describe('Coupon associated with the discount.')\n          .optional(),\n      })\n      .describe(\n        'Discount condition.\\nAll conditions must be met so that a customer can apply the discount.'\n      )\n      .optional(),\n  }),\n  z.intersection(\n    z.xor([\n      z.object({\n        amount: z.never().optional(),\n        percentage: z.never().optional(),\n      }),\n      z.object({\n        percentage: z.never().optional(),\n        amount: 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('Discount amount.'),\n      }),\n      z.object({\n        amount: z.never().optional(),\n        percentage: z.string().describe('Discount percentage.'),\n      }),\n    ]),\n    z.xor([\n      z.object({\n        sectionIds: z.never().optional(),\n        itemIds: z.never().optional(),\n      }),\n      z.object({\n        itemIds: z.never().optional(),\n        sectionIds: z\n          .object({ values: z.array(z.string()).optional() })\n          .describe('IDs of the sections the discount applies to.'),\n      }),\n      z.object({\n        sectionIds: z.never().optional(),\n        itemIds: z\n          .object({ values: z.array(z.string()).optional() })\n          .describe(\n            'IDs of the items the discount applies to. **Note:** The items must be of type `dish`.'\n          ),\n      }),\n    ])\n  )\n);\nexport const CreateDiscountRequest = z.object({\n  catalogId: z\n    .string()\n    .describe('ID of the catalog the discount 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  options: z\n    .object({\n      discount: z\n        .intersection(\n          z.object({\n            _id: z.string().describe('Discount ID.').optional().nullable(),\n            name: z.string().describe('Discount name.'),\n            description: z\n              .string()\n              .describe('Discount description.')\n              .optional()\n              .nullable(),\n            active: z\n              .boolean()\n              .describe('Whether the discount is active. Defaults to `true`.'),\n            type: z\n              .enum(['UNSPECIFIED_TYPE', 'OFF_ITEM', 'OFF_ORDER'])\n              .optional(),\n            condition: z\n              .object({\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                platforms: z\n                  .array(\n                    z.enum([\n                      'UNSPECIFIED_PLATFORM',\n                      'SITE',\n                      'MOBILE_SITE',\n                      'CALL_CENTER',\n                    ])\n                  )\n                  .min(1)\n                  .max(3),\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('List of times when the discount is available.')\n                  .optional(),\n                minOrderPrice: 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('Minimum order price for the discount.'),\n                coupon: z\n                  .object({\n                    applied: z\n                      .boolean()\n                      .describe(\n                        'Whether the customer needs to enter the coupon code to receive the discount. Defaults to `true`.'\n                      )\n                      .optional()\n                      .nullable(),\n                    code: z\n                      .string()\n                      .describe('Coupon code.')\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Coupon associated with the discount.')\n                  .optional(),\n              })\n              .describe(\n                'Discount condition.\\nAll conditions must be met so that a customer can apply the discount.'\n              )\n              .optional(),\n          }),\n          z.intersection(\n            z.xor([\n              z.object({\n                percentage: z.never().optional(),\n                amount: 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('Discount amount.'),\n              }),\n              z.object({\n                amount: z.never().optional(),\n                percentage: z.string().describe('Discount percentage.'),\n              }),\n            ]),\n            z.xor([\n              z.object({\n                sectionIds: z.never().optional(),\n                itemIds: z.never().optional(),\n              }),\n              z.object({\n                itemIds: z.never().optional(),\n                sectionIds: z\n                  .object({ values: z.array(z.string()).optional() })\n                  .describe('IDs of the sections the discount applies to.'),\n              }),\n              z.object({\n                sectionIds: z.never().optional(),\n                itemIds: z\n                  .object({ values: z.array(z.string()).optional() })\n                  .describe(\n                    'IDs of the items the discount applies to. **Note:** The items must be of type `dish`.'\n                  ),\n              }),\n            ])\n          )\n        )\n        .describe('Discount to create.')\n        .optional(),\n    })\n    .optional(),\n});\nexport const CreateDiscountResponse = z.intersection(\n  z.object({\n    _id: z.string().describe('Discount ID.').optional().nullable(),\n    name: z.string().describe('Discount name.').optional().nullable(),\n    description: z\n      .string()\n      .describe('Discount description.')\n      .optional()\n      .nullable(),\n    active: z\n      .boolean()\n      .describe('Whether the discount is active. Defaults to `true`.')\n      .optional()\n      .nullable(),\n    type: z\n      .enum(['UNSPECIFIED_TYPE', 'OFF_ITEM', 'OFF_ORDER'])\n      .describe('Discount type.')\n      .optional(),\n    condition: z\n      .object({\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              'CALL_CENTER',\n            ])\n          )\n          .min(1)\n          .max(3)\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('List of times when the discount is available.')\n          .optional(),\n        minOrderPrice: 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('Minimum order price for the discount.')\n          .optional(),\n        coupon: z\n          .object({\n            applied: z\n              .boolean()\n              .describe(\n                'Whether the customer needs to enter the coupon code to receive the discount. Defaults to `true`.'\n              )\n              .optional()\n              .nullable(),\n            code: z.string().describe('Coupon code.').optional().nullable(),\n          })\n          .describe('Coupon associated with the discount.')\n          .optional(),\n      })\n      .describe(\n        'Discount condition.\\nAll conditions must be met so that a customer can apply the discount.'\n      )\n      .optional(),\n  }),\n  z.intersection(\n    z.xor([\n      z.object({\n        amount: z.never().optional(),\n        percentage: z.never().optional(),\n      }),\n      z.object({\n        percentage: z.never().optional(),\n        amount: 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('Discount amount.'),\n      }),\n      z.object({\n        amount: z.never().optional(),\n        percentage: z.string().describe('Discount percentage.'),\n      }),\n    ]),\n    z.xor([\n      z.object({\n        sectionIds: z.never().optional(),\n        itemIds: z.never().optional(),\n      }),\n      z.object({\n        itemIds: z.never().optional(),\n        sectionIds: z\n          .object({ values: z.array(z.string()).optional() })\n          .describe('IDs of the sections the discount applies to.'),\n      }),\n      z.object({\n        sectionIds: z.never().optional(),\n        itemIds: z\n          .object({ values: z.array(z.string()).optional() })\n          .describe(\n            'IDs of the items the discount applies to. **Note:** The items must be of type `dish`.'\n          ),\n      }),\n    ])\n  )\n);\nexport const ListDiscountsRequest = z.object({\n  catalogId: z\n    .string()\n    .describe('ID of the catalog the discounts 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('Filed mask path.')\n        .optional()\n        .nullable(),\n      active: z\n        .boolean()\n        .describe(\n          'Whether only active discounts are returned. Defaults to `true`.'\n        )\n        .optional()\n        .nullable(),\n    })\n    .optional(),\n});\nexport const ListDiscountsResponse = z.object({\n  discounts: z\n    .array(\n      z.intersection(\n        z.object({\n          _id: z.string().describe('Discount ID.').optional().nullable(),\n          name: z.string().describe('Discount name.').optional().nullable(),\n          description: z\n            .string()\n            .describe('Discount description.')\n            .optional()\n            .nullable(),\n          active: z\n            .boolean()\n            .describe('Whether the discount is active. Defaults to `true`.')\n            .optional()\n            .nullable(),\n          type: z\n            .enum(['UNSPECIFIED_TYPE', 'OFF_ITEM', 'OFF_ORDER'])\n            .describe('Discount type.')\n            .optional(),\n          condition: z\n            .object({\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                    'CALL_CENTER',\n                  ])\n                )\n                .min(1)\n                .max(3)\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('List of times when the discount is available.')\n                .optional(),\n              minOrderPrice: 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('Minimum order price for the discount.')\n                .optional(),\n              coupon: z\n                .object({\n                  applied: z\n                    .boolean()\n                    .describe(\n                      'Whether the customer needs to enter the coupon code to receive the discount. Defaults to `true`.'\n                    )\n                    .optional()\n                    .nullable(),\n                  code: z\n                    .string()\n                    .describe('Coupon code.')\n                    .optional()\n                    .nullable(),\n                })\n                .describe('Coupon associated with the discount.')\n                .optional(),\n            })\n            .describe(\n              'Discount condition.\\nAll conditions must be met so that a customer can apply the discount.'\n            )\n            .optional(),\n        }),\n        z.intersection(\n          z.xor([\n            z.object({\n              amount: z.never().optional(),\n              percentage: z.never().optional(),\n            }),\n            z.object({\n              percentage: z.never().optional(),\n              amount: 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('Discount amount.'),\n            }),\n            z.object({\n              amount: z.never().optional(),\n              percentage: z.string().describe('Discount percentage.'),\n            }),\n          ]),\n          z.xor([\n            z.object({\n              sectionIds: z.never().optional(),\n              itemIds: z.never().optional(),\n            }),\n            z.object({\n              itemIds: z.never().optional(),\n              sectionIds: z\n                .object({ values: z.array(z.string()).optional() })\n                .describe('IDs of the sections the discount applies to.'),\n            }),\n            z.object({\n              sectionIds: z.never().optional(),\n              itemIds: z\n                .object({ values: z.array(z.string()).optional() })\n                .describe(\n                  'IDs of the items the discount applies to. **Note:** The items must be of type `dish`.'\n                ),\n            }),\n          ])\n        )\n      )\n    )\n    .optional(),\n});\n"],"mappings":"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","names":[]}