{"version":3,"sources":["../../../src/service-fees-v1-rule-service-fees.schemas.ts"],"sourcesContent":["import * as z from 'zod';\n\nexport const CalculateServiceFeesRequest = z.object({\n  order: z\n    .object({\n      _id: z.string().describe('Order ID.').optional(),\n      locationId: z\n        .string()\n        .describe(\"ID of the site's location.\")\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      currency: z.string().describe('Currency used for pricing on the site.'),\n      priceSummary: z\n        .object({\n          subtotal: z.string().describe('Subtotal of the order.').optional(),\n        })\n        .describe('Information about the price of the order.'),\n      shippingInfo: z\n        .object({\n          logistics: z\n            .object({\n              type: z\n                .enum([\n                  'UNSPECIFIED_FULFILLMENT_TYPE',\n                  'PICKUP',\n                  'DELIVERY',\n                  'DINE_IN',\n                  'CURBSIDE_PICKUP',\n                ])\n                .optional(),\n            })\n            .describe(\n              'Information about the type of delivery. For example, pick-up.'\n            )\n            .optional(),\n        })\n        .describe(\"Order's shipping information.\")\n        .optional(),\n      platform: z\n        .object({\n          value: z.enum(['SITE', 'MOBILE_SITE', 'MOBILE_APP']).optional(),\n        })\n        .describe('Platform on which the order was placed.')\n        .optional(),\n      locale: z\n        .object({\n          languageCode: z\n            .string()\n            .describe(\n              'Locale in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\\nTypically, this is a lowercase 2-letter language code,\\nfollowed by a hyphen, followed by an uppercase 2-letter country code.\\nFor example, `en-US` for U.S. English, and `de-DE` for Germany German.'\n            )\n            .optional()\n            .nullable(),\n          country: z\n            .string()\n            .describe(\n              '2-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format.'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Order's locale.\")\n        .optional(),\n    })\n    .describe(\n      'Order information needed to evaluate the rules and calculate the relevant fees.'\n    ),\n  options: z\n    .object({\n      label: z\n        .string()\n        .describe('DEPRECATED. Defines the app that the rule is connected to.')\n        .max(100)\n        .min(1)\n        .optional()\n        .nullable(),\n      appId: z\n        .string()\n        .describe('Defines the app that the rule is connected 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        .optional()\n        .nullable(),\n    })\n    .optional(),\n});\nexport const CalculateServiceFeesResponse = z.object({\n  calculatedFees: z\n    .array(\n      z.object({\n        ruleId: z\n          .string()\n          .describe('The ID of the rule that was used to calculate the fee.')\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional(),\n        name: z\n          .string()\n          .describe('The name of the rule that was used to calculate the fee.')\n          .optional(),\n        fee: z\n          .object({\n            value: z\n              .string()\n              .describe(\n                'Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n              )\n              .optional(),\n            currency: z\n              .string()\n              .describe(\n                'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n              )\n              .optional(),\n            formattedValue: z\n              .string()\n              .describe(\n                'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe('Fee amount.')\n          .optional(),\n        tax: z\n          .object({\n            value: z\n              .string()\n              .describe(\n                'Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n              )\n              .optional(),\n            currency: z\n              .string()\n              .describe(\n                'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n              )\n              .optional(),\n            formattedValue: z\n              .string()\n              .describe(\n                'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe('Tax amount.')\n          .optional(),\n        taxGroupId: z\n          .string()\n          .describe(\n            'Tax group ID. This is an alternative to calculating the tax amount manually.'\n          )\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional()\n          .nullable(),\n      })\n    )\n    .optional(),\n});\nexport const CreateRuleRequest = (() => {\n  let comWixpressServiceFeesV1ConditionTreeSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({\n        operator: z\n          .enum(['AND', 'OR'])\n          .describe(\n            'Specifies the logical operator to use when combining the evaluation of the left and right conditions.'\n          )\n          .optional(),\n      }),\n      z.intersection(\n        z.xor([\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            leftConditionsTree: z.never().optional(),\n            leftCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ]),\n        z.xor([\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            rightConditionsTree: z.never().optional(),\n            rightCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ])\n      )\n    );\n  return z.object({\n    rule: z\n      .intersection(\n        z.object({\n          _id: z.string().describe('Rule ID.').optional().nullable(),\n          locationId: z\n            .string()\n            .describe(\n              'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the rule.'\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          name: z.string().describe('Rule name.').max(50).min(1),\n          _createdDate: z\n            .date()\n            .describe('Date and time the rule was created.')\n            .optional()\n            .nullable(),\n          _updatedDate: z\n            .date()\n            .describe('Date and time the rule was updated.')\n            .optional()\n            .nullable(),\n          taxRate: z\n            .string()\n            .describe(\n              \"Percentage value to apply as a custom tax rate. For example, `5` represents a 5% fee applied to the order's total. <br />\\nMin: '0'. <br />\\nMax: `100`.\"\n            )\n            .optional()\n            .nullable(),\n          conditionsType: z\n            .enum(['NO_CONDITIONS', 'CONDITION', 'CONDITION_TREE'])\n            .optional(),\n          conditionType: z\n            .enum(['UNDEFINED_CONDITION_TYPE', 'CONDITION', 'CONDITION_TREE'])\n            .optional(),\n          enabled: z\n            .boolean()\n            .describe(\n              'Whether the rule is enabled. If `true`, the rule is evaluated when service fees are calculated. If `false`, the rule will not be evaluated when service fees are calculated.'\n            ),\n          revision: z\n            .string()\n            .regex(/^\\d+$/, 'Must be a valid UInt64 string')\n            .describe(\n              'Revision number. Increments by 1 each time the rule is updated.\\nTo prevent conflicting changes, the existing `revision` must be used when updating a rule.'\n            )\n            .optional()\n            .nullable(),\n          label: z\n            .string()\n            .describe(\n              'DEPRECATED. Defines the app that the rule is connected to.'\n            )\n            .max(100)\n            .min(1)\n            .optional()\n            .nullable(),\n          appId: z\n            .string()\n            .describe('Defines the app that the rule is connected 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            .optional()\n            .nullable(),\n          roundingStrategy: z.enum(['HALF_UP', 'HALF_EVEN']).optional(),\n          extendedFields: z\n            .object({\n              namespaces: z\n                .record(z.string(), z.record(z.string(), z.any()))\n                .describe(\n                  'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                )\n                .optional(),\n            })\n            .describe('Data Extensions')\n            .optional(),\n          tags: z\n            .object({\n              privateTags: z\n                .object({ tagIds: z.array(z.string()).max(100).optional() })\n                .describe(\n                  'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n                )\n                .optional(),\n              tags: z\n                .object({ tagIds: z.array(z.string()).max(100).optional() })\n                .describe(\n                  'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n                )\n                .optional(),\n            })\n            .describe(\n              'Tags ([SDK](https://dev.wix.com/docs/sdk/backend-modules/tags/tags/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/tags/introduction)) used to classify and sort different types of rules.'\n            )\n            .optional(),\n        }),\n        z.intersection(\n          z.intersection(\n            z.intersection(\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. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                          )\n                          .optional(),\n                        currency: z\n                          .string()\n                          .describe(\n                            'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                          )\n                          .optional(),\n                        formattedValue: z\n                          .string()\n                          .describe(\n                            'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                          )\n                          .optional()\n                          .nullable(),\n                      })\n                      .describe('Fixed fee. Must hold a positive value.'),\n                  }),\n                  z.object({\n                    amount: z.never().optional(),\n                    percentage: z\n                      .string()\n                      .describe(\n                        \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                      ),\n                  }),\n                ]),\n                z.xor([\n                  z.object({\n                    fixedFee: z.never().optional(),\n                    percentageFee: z.never().optional(),\n                  }),\n                  z.object({\n                    percentageFee: z.never().optional(),\n                    fixedFee: z\n                      .object({\n                        value: z\n                          .string()\n                          .describe(\n                            'Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                          )\n                          .optional(),\n                        currency: z\n                          .string()\n                          .describe(\n                            'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                          )\n                          .optional(),\n                        formattedValue: z\n                          .string()\n                          .describe(\n                            'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                          )\n                          .optional()\n                          .nullable(),\n                      })\n                      .describe('Fixed fee. Must hold a positive value.'),\n                  }),\n                  z.object({\n                    fixedFee: z.never().optional(),\n                    percentageFee: z\n                      .string()\n                      .describe(\n                        \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                      ),\n                  }),\n                ])\n              ),\n              z.xor([\n                z.object({\n                  condition: z.never().optional(),\n                  conditionTree: z.never().optional(),\n                }),\n                z.object({\n                  conditionTree: z.never().optional(),\n                  condition: z\n                    .intersection(\n                      z.object({\n                        path: z\n                          .string()\n                          .describe(\n                            'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                          )\n                          .max(1000)\n                          .optional(),\n                        orderFieldPath: z\n                          .string()\n                          .describe(\n                            'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                          )\n                          .max(1000)\n                          .optional(),\n                        expectedType: z\n                          .object({\n                            value: z\n                              .enum(['NUMBER', 'STRING'])\n                              .describe(\n                                'Type of the field specified in `orderFieldPath`.'\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                          )\n                          .optional(),\n                        expectedFieldType: z\n                          .enum([\n                            'UNKNOWN_EXPECTED_FIELD_TYPE',\n                            'NUMBER',\n                            'STRING',\n                          ])\n                          .describe(\n                            'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                          )\n                          .optional(),\n                      }),\n                      z.xor([\n                        z.object({\n                          number: z.never().optional(),\n                          list: z.never().optional(),\n                        }),\n                        z.object({\n                          list: z.never().optional(),\n                          number: z\n                            .object({\n                              value: z\n                                .number()\n                                .describe(\n                                  'Numeric value to compare with the value of the specified field.'\n                                )\n                                .optional(),\n                              operation: z\n                                .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                                .describe('Operation to use.')\n                                .optional(),\n                            })\n                            .describe(\n                              'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                            ),\n                        }),\n                        z.object({\n                          number: z.never().optional(),\n                          list: z\n                            .object({\n                              values: z\n                                .array(z.string())\n                                .min(1)\n                                .max(100)\n                                .optional(),\n                            })\n                            .describe(\n                              'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                            ),\n                        }),\n                      ])\n                    )\n                    .describe(\n                      'Single condition that must be met for the rule to be applied to an order.'\n                    ),\n                }),\n                z.object({\n                  condition: z.never().optional(),\n                  conditionTree:\n                    comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                      'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                    ),\n                }),\n              ])\n            ),\n            z.xor([\n              z.object({\n                conditionOptions: z.never().optional(),\n                conditionTreeOptions: z.never().optional(),\n              }),\n              z.object({\n                conditionTreeOptions: z.never().optional(),\n                conditionOptions: z\n                  .intersection(\n                    z.object({\n                      path: z\n                        .string()\n                        .describe(\n                          'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                        )\n                        .max(1000)\n                        .optional(),\n                      orderFieldPath: z\n                        .string()\n                        .describe(\n                          'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                        )\n                        .max(1000)\n                        .optional(),\n                      expectedType: z\n                        .object({\n                          value: z\n                            .enum(['NUMBER', 'STRING'])\n                            .describe(\n                              'Type of the field specified in `orderFieldPath`.'\n                            )\n                            .optional(),\n                        })\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                        )\n                        .optional(),\n                      expectedFieldType: z\n                        .enum([\n                          'UNKNOWN_EXPECTED_FIELD_TYPE',\n                          'NUMBER',\n                          'STRING',\n                        ])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                        )\n                        .optional(),\n                    }),\n                    z.xor([\n                      z.object({\n                        number: z.never().optional(),\n                        list: z.never().optional(),\n                      }),\n                      z.object({\n                        list: z.never().optional(),\n                        number: z\n                          .object({\n                            value: z\n                              .number()\n                              .describe(\n                                'Numeric value to compare with the value of the specified field.'\n                              )\n                              .optional(),\n                            operation: z\n                              .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                              .describe('Operation to use.')\n                              .optional(),\n                          })\n                          .describe(\n                            'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                          ),\n                      }),\n                      z.object({\n                        number: z.never().optional(),\n                        list: z\n                          .object({\n                            values: z\n                              .array(z.string())\n                              .min(1)\n                              .max(100)\n                              .optional(),\n                          })\n                          .describe(\n                            'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                          ),\n                      }),\n                    ])\n                  )\n                  .describe(\n                    'Single condition that must be met for the rule to be applied to an order.'\n                  ),\n              }),\n              z.object({\n                conditionOptions: z.never().optional(),\n                conditionTreeOptions:\n                  comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                    'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                  ),\n              }),\n            ])\n          ),\n          z.xor([\n            z.object({\n              customTaxRate: z.never().optional(),\n              taxGroupId: z.never().optional(),\n            }),\n            z.object({\n              taxGroupId: z.never().optional(),\n              customTaxRate: z\n                .string()\n                .describe(\n                  'Percentage value to apply as a custom tax rate. Range: [0-100].'\n                ),\n            }),\n            z.object({\n              customTaxRate: z.never().optional(),\n              taxGroupId: z\n                .string()\n                .describe('Tax group ID. Internal only.')\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                ),\n            }),\n          ])\n        )\n      )\n      .describe('Rule to create.'),\n  });\n})();\nexport const CreateRuleResponse = (() => {\n  let comWixpressServiceFeesV1ConditionTreeSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({\n        operator: z\n          .enum(['AND', 'OR'])\n          .describe(\n            'Specifies the logical operator to use when combining the evaluation of the left and right conditions.'\n          )\n          .optional(),\n      }),\n      z.intersection(\n        z.xor([\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            leftConditionsTree: z.never().optional(),\n            leftCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ]),\n        z.xor([\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            rightConditionsTree: z.never().optional(),\n            rightCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ])\n      )\n    );\n  return z.intersection(\n    z.object({\n      _id: z.string().describe('Rule ID.').optional().nullable(),\n      locationId: z\n        .string()\n        .describe(\n          'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the rule.'\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      name: z\n        .string()\n        .describe('Rule name.')\n        .max(50)\n        .min(1)\n        .optional()\n        .nullable(),\n      _createdDate: z\n        .date()\n        .describe('Date and time the rule was created.')\n        .optional()\n        .nullable(),\n      _updatedDate: z\n        .date()\n        .describe('Date and time the rule was updated.')\n        .optional()\n        .nullable(),\n      taxRate: z\n        .string()\n        .describe(\n          \"Percentage value to apply as a custom tax rate. For example, `5` represents a 5% fee applied to the order's total. <br />\\nMin: '0'. <br />\\nMax: `100`.\"\n        )\n        .optional()\n        .nullable(),\n      conditionsType: z\n        .enum(['NO_CONDITIONS', 'CONDITION', 'CONDITION_TREE'])\n        .describe('Specifies the type of condition.')\n        .optional(),\n      conditionType: z\n        .enum(['UNDEFINED_CONDITION_TYPE', 'CONDITION', 'CONDITION_TREE'])\n        .describe('Specifies the type of condition.')\n        .optional(),\n      enabled: z\n        .boolean()\n        .describe(\n          'Whether the rule is enabled. If `true`, the rule is evaluated when service fees are calculated. If `false`, the rule will not be evaluated when service fees are calculated.'\n        )\n        .optional()\n        .nullable(),\n      revision: z\n        .string()\n        .regex(/^\\d+$/, 'Must be a valid UInt64 string')\n        .describe(\n          'Revision number. Increments by 1 each time the rule is updated.\\nTo prevent conflicting changes, the existing `revision` must be used when updating a rule.'\n        )\n        .optional()\n        .nullable(),\n      label: z\n        .string()\n        .describe('DEPRECATED. Defines the app that the rule is connected to.')\n        .max(100)\n        .min(1)\n        .optional()\n        .nullable(),\n      appId: z\n        .string()\n        .describe('Defines the app that the rule is connected 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        .optional()\n        .nullable(),\n      roundingStrategy: z\n        .enum(['HALF_UP', 'HALF_EVEN'])\n        .describe('Rounding strategy to apply to fee and tax calculation.')\n        .optional(),\n      extendedFields: z\n        .object({\n          namespaces: z\n            .record(z.string(), z.record(z.string(), z.any()))\n            .describe(\n              'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n            )\n            .optional(),\n        })\n        .describe('Data Extensions')\n        .optional(),\n      tags: z\n        .object({\n          privateTags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n            )\n            .optional(),\n          tags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n            )\n            .optional(),\n        })\n        .describe(\n          'Tags ([SDK](https://dev.wix.com/docs/sdk/backend-modules/tags/tags/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/tags/introduction)) used to classify and sort different types of rules.'\n        )\n        .optional(),\n    }),\n    z.intersection(\n      z.intersection(\n        z.intersection(\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. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                      )\n                      .optional(),\n                    currency: z\n                      .string()\n                      .describe(\n                        'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                      )\n                      .optional(),\n                    formattedValue: z\n                      .string()\n                      .describe(\n                        'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Fixed fee. Must hold a positive value.'),\n              }),\n              z.object({\n                amount: z.never().optional(),\n                percentage: z\n                  .string()\n                  .describe(\n                    \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                  ),\n              }),\n            ]),\n            z.xor([\n              z.object({\n                fixedFee: z.never().optional(),\n                percentageFee: z.never().optional(),\n              }),\n              z.object({\n                percentageFee: z.never().optional(),\n                fixedFee: z\n                  .object({\n                    value: z\n                      .string()\n                      .describe(\n                        'Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                      )\n                      .optional(),\n                    currency: z\n                      .string()\n                      .describe(\n                        'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                      )\n                      .optional(),\n                    formattedValue: z\n                      .string()\n                      .describe(\n                        'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Fixed fee. Must hold a positive value.'),\n              }),\n              z.object({\n                fixedFee: z.never().optional(),\n                percentageFee: z\n                  .string()\n                  .describe(\n                    \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                  ),\n              }),\n            ])\n          ),\n          z.xor([\n            z.object({\n              condition: z.never().optional(),\n              conditionTree: z.never().optional(),\n            }),\n            z.object({\n              conditionTree: z.never().optional(),\n              condition: z\n                .intersection(\n                  z.object({\n                    path: z\n                      .string()\n                      .describe(\n                        'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                      )\n                      .max(1000)\n                      .optional(),\n                    orderFieldPath: z\n                      .string()\n                      .describe(\n                        'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                      )\n                      .max(1000)\n                      .optional(),\n                    expectedType: z\n                      .object({\n                        value: z\n                          .enum(['NUMBER', 'STRING'])\n                          .describe(\n                            'Type of the field specified in `orderFieldPath`.'\n                          )\n                          .optional(),\n                      })\n                      .describe(\n                        'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                      )\n                      .optional(),\n                    expectedFieldType: z\n                      .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                      .describe(\n                        'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                      )\n                      .optional(),\n                  }),\n                  z.xor([\n                    z.object({\n                      number: z.never().optional(),\n                      list: z.never().optional(),\n                    }),\n                    z.object({\n                      list: z.never().optional(),\n                      number: z\n                        .object({\n                          value: z\n                            .number()\n                            .describe(\n                              'Numeric value to compare with the value of the specified field.'\n                            )\n                            .optional(),\n                          operation: z\n                            .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                            .describe('Operation to use.')\n                            .optional(),\n                        })\n                        .describe(\n                          'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                        ),\n                    }),\n                    z.object({\n                      number: z.never().optional(),\n                      list: z\n                        .object({\n                          values: z\n                            .array(z.string())\n                            .min(1)\n                            .max(100)\n                            .optional(),\n                        })\n                        .describe(\n                          'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                        ),\n                    }),\n                  ])\n                )\n                .describe(\n                  'Single condition that must be met for the rule to be applied to an order.'\n                ),\n            }),\n            z.object({\n              condition: z.never().optional(),\n              conditionTree:\n                comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                  'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                ),\n            }),\n          ])\n        ),\n        z.xor([\n          z.object({\n            conditionOptions: z.never().optional(),\n            conditionTreeOptions: z.never().optional(),\n          }),\n          z.object({\n            conditionTreeOptions: z.never().optional(),\n            conditionOptions: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            conditionOptions: z.never().optional(),\n            conditionTreeOptions:\n              comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ])\n      ),\n      z.xor([\n        z.object({\n          customTaxRate: z.never().optional(),\n          taxGroupId: z.never().optional(),\n        }),\n        z.object({\n          taxGroupId: z.never().optional(),\n          customTaxRate: z\n            .string()\n            .describe(\n              'Percentage value to apply as a custom tax rate. Range: [0-100].'\n            ),\n        }),\n        z.object({\n          customTaxRate: z.never().optional(),\n          taxGroupId: z\n            .string()\n            .describe('Tax group ID. Internal only.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            ),\n        }),\n      ])\n    )\n  );\n})();\nexport const GetRuleRequest = z.object({\n  ruleId: z\n    .string()\n    .describe('ID of the rule to retrieve.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n});\nexport const GetRuleResponse = (() => {\n  let comWixpressServiceFeesV1ConditionTreeSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({\n        operator: z\n          .enum(['AND', 'OR'])\n          .describe(\n            'Specifies the logical operator to use when combining the evaluation of the left and right conditions.'\n          )\n          .optional(),\n      }),\n      z.intersection(\n        z.xor([\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            leftConditionsTree: z.never().optional(),\n            leftCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ]),\n        z.xor([\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            rightConditionsTree: z.never().optional(),\n            rightCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ])\n      )\n    );\n  return z.intersection(\n    z.object({\n      _id: z.string().describe('Rule ID.').optional().nullable(),\n      locationId: z\n        .string()\n        .describe(\n          'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the rule.'\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      name: z\n        .string()\n        .describe('Rule name.')\n        .max(50)\n        .min(1)\n        .optional()\n        .nullable(),\n      _createdDate: z\n        .date()\n        .describe('Date and time the rule was created.')\n        .optional()\n        .nullable(),\n      _updatedDate: z\n        .date()\n        .describe('Date and time the rule was updated.')\n        .optional()\n        .nullable(),\n      taxRate: z\n        .string()\n        .describe(\n          \"Percentage value to apply as a custom tax rate. For example, `5` represents a 5% fee applied to the order's total. <br />\\nMin: '0'. <br />\\nMax: `100`.\"\n        )\n        .optional()\n        .nullable(),\n      conditionsType: z\n        .enum(['NO_CONDITIONS', 'CONDITION', 'CONDITION_TREE'])\n        .describe('Specifies the type of condition.')\n        .optional(),\n      conditionType: z\n        .enum(['UNDEFINED_CONDITION_TYPE', 'CONDITION', 'CONDITION_TREE'])\n        .describe('Specifies the type of condition.')\n        .optional(),\n      enabled: z\n        .boolean()\n        .describe(\n          'Whether the rule is enabled. If `true`, the rule is evaluated when service fees are calculated. If `false`, the rule will not be evaluated when service fees are calculated.'\n        )\n        .optional()\n        .nullable(),\n      revision: z\n        .string()\n        .regex(/^\\d+$/, 'Must be a valid UInt64 string')\n        .describe(\n          'Revision number. Increments by 1 each time the rule is updated.\\nTo prevent conflicting changes, the existing `revision` must be used when updating a rule.'\n        )\n        .optional()\n        .nullable(),\n      label: z\n        .string()\n        .describe('DEPRECATED. Defines the app that the rule is connected to.')\n        .max(100)\n        .min(1)\n        .optional()\n        .nullable(),\n      appId: z\n        .string()\n        .describe('Defines the app that the rule is connected 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        .optional()\n        .nullable(),\n      roundingStrategy: z\n        .enum(['HALF_UP', 'HALF_EVEN'])\n        .describe('Rounding strategy to apply to fee and tax calculation.')\n        .optional(),\n      extendedFields: z\n        .object({\n          namespaces: z\n            .record(z.string(), z.record(z.string(), z.any()))\n            .describe(\n              'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n            )\n            .optional(),\n        })\n        .describe('Data Extensions')\n        .optional(),\n      tags: z\n        .object({\n          privateTags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n            )\n            .optional(),\n          tags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n            )\n            .optional(),\n        })\n        .describe(\n          'Tags ([SDK](https://dev.wix.com/docs/sdk/backend-modules/tags/tags/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/tags/introduction)) used to classify and sort different types of rules.'\n        )\n        .optional(),\n    }),\n    z.intersection(\n      z.intersection(\n        z.intersection(\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. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                      )\n                      .optional(),\n                    currency: z\n                      .string()\n                      .describe(\n                        'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                      )\n                      .optional(),\n                    formattedValue: z\n                      .string()\n                      .describe(\n                        'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Fixed fee. Must hold a positive value.'),\n              }),\n              z.object({\n                amount: z.never().optional(),\n                percentage: z\n                  .string()\n                  .describe(\n                    \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                  ),\n              }),\n            ]),\n            z.xor([\n              z.object({\n                fixedFee: z.never().optional(),\n                percentageFee: z.never().optional(),\n              }),\n              z.object({\n                percentageFee: z.never().optional(),\n                fixedFee: z\n                  .object({\n                    value: z\n                      .string()\n                      .describe(\n                        'Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                      )\n                      .optional(),\n                    currency: z\n                      .string()\n                      .describe(\n                        'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                      )\n                      .optional(),\n                    formattedValue: z\n                      .string()\n                      .describe(\n                        'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Fixed fee. Must hold a positive value.'),\n              }),\n              z.object({\n                fixedFee: z.never().optional(),\n                percentageFee: z\n                  .string()\n                  .describe(\n                    \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                  ),\n              }),\n            ])\n          ),\n          z.xor([\n            z.object({\n              condition: z.never().optional(),\n              conditionTree: z.never().optional(),\n            }),\n            z.object({\n              conditionTree: z.never().optional(),\n              condition: z\n                .intersection(\n                  z.object({\n                    path: z\n                      .string()\n                      .describe(\n                        'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                      )\n                      .max(1000)\n                      .optional(),\n                    orderFieldPath: z\n                      .string()\n                      .describe(\n                        'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                      )\n                      .max(1000)\n                      .optional(),\n                    expectedType: z\n                      .object({\n                        value: z\n                          .enum(['NUMBER', 'STRING'])\n                          .describe(\n                            'Type of the field specified in `orderFieldPath`.'\n                          )\n                          .optional(),\n                      })\n                      .describe(\n                        'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                      )\n                      .optional(),\n                    expectedFieldType: z\n                      .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                      .describe(\n                        'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                      )\n                      .optional(),\n                  }),\n                  z.xor([\n                    z.object({\n                      number: z.never().optional(),\n                      list: z.never().optional(),\n                    }),\n                    z.object({\n                      list: z.never().optional(),\n                      number: z\n                        .object({\n                          value: z\n                            .number()\n                            .describe(\n                              'Numeric value to compare with the value of the specified field.'\n                            )\n                            .optional(),\n                          operation: z\n                            .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                            .describe('Operation to use.')\n                            .optional(),\n                        })\n                        .describe(\n                          'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                        ),\n                    }),\n                    z.object({\n                      number: z.never().optional(),\n                      list: z\n                        .object({\n                          values: z\n                            .array(z.string())\n                            .min(1)\n                            .max(100)\n                            .optional(),\n                        })\n                        .describe(\n                          'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                        ),\n                    }),\n                  ])\n                )\n                .describe(\n                  'Single condition that must be met for the rule to be applied to an order.'\n                ),\n            }),\n            z.object({\n              condition: z.never().optional(),\n              conditionTree:\n                comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                  'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                ),\n            }),\n          ])\n        ),\n        z.xor([\n          z.object({\n            conditionOptions: z.never().optional(),\n            conditionTreeOptions: z.never().optional(),\n          }),\n          z.object({\n            conditionTreeOptions: z.never().optional(),\n            conditionOptions: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            conditionOptions: z.never().optional(),\n            conditionTreeOptions:\n              comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ])\n      ),\n      z.xor([\n        z.object({\n          customTaxRate: z.never().optional(),\n          taxGroupId: z.never().optional(),\n        }),\n        z.object({\n          taxGroupId: z.never().optional(),\n          customTaxRate: z\n            .string()\n            .describe(\n              'Percentage value to apply as a custom tax rate. Range: [0-100].'\n            ),\n        }),\n        z.object({\n          customTaxRate: z.never().optional(),\n          taxGroupId: z\n            .string()\n            .describe('Tax group ID. Internal only.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            ),\n        }),\n      ])\n    )\n  );\n})();\nexport const UpdateRuleRequest = (() => {\n  let comWixpressServiceFeesV1ConditionTreeSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({\n        operator: z\n          .enum(['AND', 'OR'])\n          .describe(\n            'Specifies the logical operator to use when combining the evaluation of the left and right conditions.'\n          )\n          .optional(),\n      }),\n      z.intersection(\n        z.xor([\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            leftConditionsTree: z.never().optional(),\n            leftCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ]),\n        z.xor([\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            rightConditionsTree: z.never().optional(),\n            rightCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ])\n      )\n    );\n  return z.object({\n    _id: z.string().describe('Rule ID.'),\n    rule: z\n      .intersection(\n        z.object({\n          _id: z.string().describe('Rule ID.').optional().nullable(),\n          locationId: z\n            .string()\n            .describe(\n              'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the rule.'\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          name: z\n            .string()\n            .describe('Rule name.')\n            .max(50)\n            .min(1)\n            .optional()\n            .nullable(),\n          _createdDate: z\n            .date()\n            .describe('Date and time the rule was created.')\n            .optional()\n            .nullable(),\n          _updatedDate: z\n            .date()\n            .describe('Date and time the rule was updated.')\n            .optional()\n            .nullable(),\n          taxRate: z\n            .string()\n            .describe(\n              \"Percentage value to apply as a custom tax rate. For example, `5` represents a 5% fee applied to the order's total. <br />\\nMin: '0'. <br />\\nMax: `100`.\"\n            )\n            .optional()\n            .nullable(),\n          conditionsType: z\n            .enum(['NO_CONDITIONS', 'CONDITION', 'CONDITION_TREE'])\n            .optional(),\n          conditionType: z\n            .enum(['UNDEFINED_CONDITION_TYPE', 'CONDITION', 'CONDITION_TREE'])\n            .optional(),\n          enabled: z\n            .boolean()\n            .describe(\n              'Whether the rule is enabled. If `true`, the rule is evaluated when service fees are calculated. If `false`, the rule will not be evaluated when service fees are calculated.'\n            )\n            .optional()\n            .nullable(),\n          revision: z\n            .string()\n            .regex(/^\\d+$/, 'Must be a valid UInt64 string')\n            .describe(\n              'Revision number. Increments by 1 each time the rule is updated.\\nTo prevent conflicting changes, the existing `revision` must be used when updating a rule.'\n            ),\n          label: z\n            .string()\n            .describe(\n              'DEPRECATED. Defines the app that the rule is connected to.'\n            )\n            .max(100)\n            .min(1)\n            .optional()\n            .nullable(),\n          appId: z\n            .string()\n            .describe('Defines the app that the rule is connected 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            .optional()\n            .nullable(),\n          roundingStrategy: z.enum(['HALF_UP', 'HALF_EVEN']).optional(),\n          extendedFields: z\n            .object({\n              namespaces: z\n                .record(z.string(), z.record(z.string(), z.any()))\n                .describe(\n                  'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                )\n                .optional(),\n            })\n            .describe('Data Extensions')\n            .optional(),\n          tags: z\n            .object({\n              privateTags: z\n                .object({ tagIds: z.array(z.string()).max(100).optional() })\n                .describe(\n                  'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n                )\n                .optional(),\n              tags: z\n                .object({ tagIds: z.array(z.string()).max(100).optional() })\n                .describe(\n                  'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n                )\n                .optional(),\n            })\n            .describe(\n              'Tags ([SDK](https://dev.wix.com/docs/sdk/backend-modules/tags/tags/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/tags/introduction)) used to classify and sort different types of rules.'\n            )\n            .optional(),\n        }),\n        z.intersection(\n          z.intersection(\n            z.intersection(\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. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                          )\n                          .optional(),\n                        currency: z\n                          .string()\n                          .describe(\n                            'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                          )\n                          .optional(),\n                        formattedValue: z\n                          .string()\n                          .describe(\n                            'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                          )\n                          .optional()\n                          .nullable(),\n                      })\n                      .describe('Fixed fee. Must hold a positive value.'),\n                  }),\n                  z.object({\n                    amount: z.never().optional(),\n                    percentage: z\n                      .string()\n                      .describe(\n                        \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                      ),\n                  }),\n                ]),\n                z.xor([\n                  z.object({\n                    fixedFee: z.never().optional(),\n                    percentageFee: z.never().optional(),\n                  }),\n                  z.object({\n                    percentageFee: z.never().optional(),\n                    fixedFee: z\n                      .object({\n                        value: z\n                          .string()\n                          .describe(\n                            'Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                          )\n                          .optional(),\n                        currency: z\n                          .string()\n                          .describe(\n                            'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                          )\n                          .optional(),\n                        formattedValue: z\n                          .string()\n                          .describe(\n                            'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                          )\n                          .optional()\n                          .nullable(),\n                      })\n                      .describe('Fixed fee. Must hold a positive value.'),\n                  }),\n                  z.object({\n                    fixedFee: z.never().optional(),\n                    percentageFee: z\n                      .string()\n                      .describe(\n                        \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                      ),\n                  }),\n                ])\n              ),\n              z.xor([\n                z.object({\n                  condition: z.never().optional(),\n                  conditionTree: z.never().optional(),\n                }),\n                z.object({\n                  conditionTree: z.never().optional(),\n                  condition: z\n                    .intersection(\n                      z.object({\n                        path: z\n                          .string()\n                          .describe(\n                            'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                          )\n                          .max(1000)\n                          .optional(),\n                        orderFieldPath: z\n                          .string()\n                          .describe(\n                            'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                          )\n                          .max(1000)\n                          .optional(),\n                        expectedType: z\n                          .object({\n                            value: z\n                              .enum(['NUMBER', 'STRING'])\n                              .describe(\n                                'Type of the field specified in `orderFieldPath`.'\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                          )\n                          .optional(),\n                        expectedFieldType: z\n                          .enum([\n                            'UNKNOWN_EXPECTED_FIELD_TYPE',\n                            'NUMBER',\n                            'STRING',\n                          ])\n                          .describe(\n                            'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                          )\n                          .optional(),\n                      }),\n                      z.xor([\n                        z.object({\n                          number: z.never().optional(),\n                          list: z.never().optional(),\n                        }),\n                        z.object({\n                          list: z.never().optional(),\n                          number: z\n                            .object({\n                              value: z\n                                .number()\n                                .describe(\n                                  'Numeric value to compare with the value of the specified field.'\n                                )\n                                .optional(),\n                              operation: z\n                                .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                                .describe('Operation to use.')\n                                .optional(),\n                            })\n                            .describe(\n                              'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                            ),\n                        }),\n                        z.object({\n                          number: z.never().optional(),\n                          list: z\n                            .object({\n                              values: z\n                                .array(z.string())\n                                .min(1)\n                                .max(100)\n                                .optional(),\n                            })\n                            .describe(\n                              'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                            ),\n                        }),\n                      ])\n                    )\n                    .describe(\n                      'Single condition that must be met for the rule to be applied to an order.'\n                    ),\n                }),\n                z.object({\n                  condition: z.never().optional(),\n                  conditionTree:\n                    comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                      'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                    ),\n                }),\n              ])\n            ),\n            z.xor([\n              z.object({\n                conditionOptions: z.never().optional(),\n                conditionTreeOptions: z.never().optional(),\n              }),\n              z.object({\n                conditionTreeOptions: z.never().optional(),\n                conditionOptions: z\n                  .intersection(\n                    z.object({\n                      path: z\n                        .string()\n                        .describe(\n                          'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                        )\n                        .max(1000)\n                        .optional(),\n                      orderFieldPath: z\n                        .string()\n                        .describe(\n                          'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                        )\n                        .max(1000)\n                        .optional(),\n                      expectedType: z\n                        .object({\n                          value: z\n                            .enum(['NUMBER', 'STRING'])\n                            .describe(\n                              'Type of the field specified in `orderFieldPath`.'\n                            )\n                            .optional(),\n                        })\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                        )\n                        .optional(),\n                      expectedFieldType: z\n                        .enum([\n                          'UNKNOWN_EXPECTED_FIELD_TYPE',\n                          'NUMBER',\n                          'STRING',\n                        ])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                        )\n                        .optional(),\n                    }),\n                    z.xor([\n                      z.object({\n                        number: z.never().optional(),\n                        list: z.never().optional(),\n                      }),\n                      z.object({\n                        list: z.never().optional(),\n                        number: z\n                          .object({\n                            value: z\n                              .number()\n                              .describe(\n                                'Numeric value to compare with the value of the specified field.'\n                              )\n                              .optional(),\n                            operation: z\n                              .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                              .describe('Operation to use.')\n                              .optional(),\n                          })\n                          .describe(\n                            'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                          ),\n                      }),\n                      z.object({\n                        number: z.never().optional(),\n                        list: z\n                          .object({\n                            values: z\n                              .array(z.string())\n                              .min(1)\n                              .max(100)\n                              .optional(),\n                          })\n                          .describe(\n                            'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                          ),\n                      }),\n                    ])\n                  )\n                  .describe(\n                    'Single condition that must be met for the rule to be applied to an order.'\n                  ),\n              }),\n              z.object({\n                conditionOptions: z.never().optional(),\n                conditionTreeOptions:\n                  comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                    'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                  ),\n              }),\n            ])\n          ),\n          z.xor([\n            z.object({\n              customTaxRate: z.never().optional(),\n              taxGroupId: z.never().optional(),\n            }),\n            z.object({\n              taxGroupId: z.never().optional(),\n              customTaxRate: z\n                .string()\n                .describe(\n                  'Percentage value to apply as a custom tax rate. Range: [0-100].'\n                ),\n            }),\n            z.object({\n              customTaxRate: z.never().optional(),\n              taxGroupId: z\n                .string()\n                .describe('Tax group ID. Internal only.')\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                ),\n            }),\n          ])\n        )\n      )\n      .describe('Rule to update.'),\n  });\n})();\nexport const UpdateRuleResponse = (() => {\n  let comWixpressServiceFeesV1ConditionTreeSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({\n        operator: z\n          .enum(['AND', 'OR'])\n          .describe(\n            'Specifies the logical operator to use when combining the evaluation of the left and right conditions.'\n          )\n          .optional(),\n      }),\n      z.intersection(\n        z.xor([\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            leftConditionsTree: z.never().optional(),\n            leftCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ]),\n        z.xor([\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            rightConditionsTree: z.never().optional(),\n            rightCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ])\n      )\n    );\n  return z.intersection(\n    z.object({\n      _id: z.string().describe('Rule ID.').optional().nullable(),\n      locationId: z\n        .string()\n        .describe(\n          'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the rule.'\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      name: z\n        .string()\n        .describe('Rule name.')\n        .max(50)\n        .min(1)\n        .optional()\n        .nullable(),\n      _createdDate: z\n        .date()\n        .describe('Date and time the rule was created.')\n        .optional()\n        .nullable(),\n      _updatedDate: z\n        .date()\n        .describe('Date and time the rule was updated.')\n        .optional()\n        .nullable(),\n      taxRate: z\n        .string()\n        .describe(\n          \"Percentage value to apply as a custom tax rate. For example, `5` represents a 5% fee applied to the order's total. <br />\\nMin: '0'. <br />\\nMax: `100`.\"\n        )\n        .optional()\n        .nullable(),\n      conditionsType: z\n        .enum(['NO_CONDITIONS', 'CONDITION', 'CONDITION_TREE'])\n        .describe('Specifies the type of condition.')\n        .optional(),\n      conditionType: z\n        .enum(['UNDEFINED_CONDITION_TYPE', 'CONDITION', 'CONDITION_TREE'])\n        .describe('Specifies the type of condition.')\n        .optional(),\n      enabled: z\n        .boolean()\n        .describe(\n          'Whether the rule is enabled. If `true`, the rule is evaluated when service fees are calculated. If `false`, the rule will not be evaluated when service fees are calculated.'\n        )\n        .optional()\n        .nullable(),\n      revision: z\n        .string()\n        .regex(/^\\d+$/, 'Must be a valid UInt64 string')\n        .describe(\n          'Revision number. Increments by 1 each time the rule is updated.\\nTo prevent conflicting changes, the existing `revision` must be used when updating a rule.'\n        )\n        .optional()\n        .nullable(),\n      label: z\n        .string()\n        .describe('DEPRECATED. Defines the app that the rule is connected to.')\n        .max(100)\n        .min(1)\n        .optional()\n        .nullable(),\n      appId: z\n        .string()\n        .describe('Defines the app that the rule is connected 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        .optional()\n        .nullable(),\n      roundingStrategy: z\n        .enum(['HALF_UP', 'HALF_EVEN'])\n        .describe('Rounding strategy to apply to fee and tax calculation.')\n        .optional(),\n      extendedFields: z\n        .object({\n          namespaces: z\n            .record(z.string(), z.record(z.string(), z.any()))\n            .describe(\n              'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n            )\n            .optional(),\n        })\n        .describe('Data Extensions')\n        .optional(),\n      tags: z\n        .object({\n          privateTags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n            )\n            .optional(),\n          tags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n            )\n            .optional(),\n        })\n        .describe(\n          'Tags ([SDK](https://dev.wix.com/docs/sdk/backend-modules/tags/tags/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/tags/introduction)) used to classify and sort different types of rules.'\n        )\n        .optional(),\n    }),\n    z.intersection(\n      z.intersection(\n        z.intersection(\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. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                      )\n                      .optional(),\n                    currency: z\n                      .string()\n                      .describe(\n                        'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                      )\n                      .optional(),\n                    formattedValue: z\n                      .string()\n                      .describe(\n                        'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Fixed fee. Must hold a positive value.'),\n              }),\n              z.object({\n                amount: z.never().optional(),\n                percentage: z\n                  .string()\n                  .describe(\n                    \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                  ),\n              }),\n            ]),\n            z.xor([\n              z.object({\n                fixedFee: z.never().optional(),\n                percentageFee: z.never().optional(),\n              }),\n              z.object({\n                percentageFee: z.never().optional(),\n                fixedFee: z\n                  .object({\n                    value: z\n                      .string()\n                      .describe(\n                        'Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                      )\n                      .optional(),\n                    currency: z\n                      .string()\n                      .describe(\n                        'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                      )\n                      .optional(),\n                    formattedValue: z\n                      .string()\n                      .describe(\n                        'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Fixed fee. Must hold a positive value.'),\n              }),\n              z.object({\n                fixedFee: z.never().optional(),\n                percentageFee: z\n                  .string()\n                  .describe(\n                    \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                  ),\n              }),\n            ])\n          ),\n          z.xor([\n            z.object({\n              condition: z.never().optional(),\n              conditionTree: z.never().optional(),\n            }),\n            z.object({\n              conditionTree: z.never().optional(),\n              condition: z\n                .intersection(\n                  z.object({\n                    path: z\n                      .string()\n                      .describe(\n                        'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                      )\n                      .max(1000)\n                      .optional(),\n                    orderFieldPath: z\n                      .string()\n                      .describe(\n                        'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                      )\n                      .max(1000)\n                      .optional(),\n                    expectedType: z\n                      .object({\n                        value: z\n                          .enum(['NUMBER', 'STRING'])\n                          .describe(\n                            'Type of the field specified in `orderFieldPath`.'\n                          )\n                          .optional(),\n                      })\n                      .describe(\n                        'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                      )\n                      .optional(),\n                    expectedFieldType: z\n                      .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                      .describe(\n                        'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                      )\n                      .optional(),\n                  }),\n                  z.xor([\n                    z.object({\n                      number: z.never().optional(),\n                      list: z.never().optional(),\n                    }),\n                    z.object({\n                      list: z.never().optional(),\n                      number: z\n                        .object({\n                          value: z\n                            .number()\n                            .describe(\n                              'Numeric value to compare with the value of the specified field.'\n                            )\n                            .optional(),\n                          operation: z\n                            .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                            .describe('Operation to use.')\n                            .optional(),\n                        })\n                        .describe(\n                          'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                        ),\n                    }),\n                    z.object({\n                      number: z.never().optional(),\n                      list: z\n                        .object({\n                          values: z\n                            .array(z.string())\n                            .min(1)\n                            .max(100)\n                            .optional(),\n                        })\n                        .describe(\n                          'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                        ),\n                    }),\n                  ])\n                )\n                .describe(\n                  'Single condition that must be met for the rule to be applied to an order.'\n                ),\n            }),\n            z.object({\n              condition: z.never().optional(),\n              conditionTree:\n                comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                  'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                ),\n            }),\n          ])\n        ),\n        z.xor([\n          z.object({\n            conditionOptions: z.never().optional(),\n            conditionTreeOptions: z.never().optional(),\n          }),\n          z.object({\n            conditionTreeOptions: z.never().optional(),\n            conditionOptions: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            conditionOptions: z.never().optional(),\n            conditionTreeOptions:\n              comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ])\n      ),\n      z.xor([\n        z.object({\n          customTaxRate: z.never().optional(),\n          taxGroupId: z.never().optional(),\n        }),\n        z.object({\n          taxGroupId: z.never().optional(),\n          customTaxRate: z\n            .string()\n            .describe(\n              'Percentage value to apply as a custom tax rate. Range: [0-100].'\n            ),\n        }),\n        z.object({\n          customTaxRate: z.never().optional(),\n          taxGroupId: z\n            .string()\n            .describe('Tax group ID. Internal only.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            ),\n        }),\n      ])\n    )\n  );\n})();\nexport const DeleteRuleRequest = z.object({\n  ruleId: z\n    .string()\n    .describe('ID of the rule to delete.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n});\nexport const DeleteRuleResponse = z.object({});\nexport const ListRulesRequest = z.object({\n  options: z\n    .object({\n      locationId: z\n        .string()\n        .describe(\n          'Retrieve only rule that apply at the [location](https://dev.wix.com/docs/rest/api-reference/business-tools/locations/location-object) with this ID. If this field is `null`, the rules will not be filtered by location.'\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      label: z\n        .string()\n        .describe('DEPRECATED. Defines the app that the rule is connected to.')\n        .max(100)\n        .min(1)\n        .optional()\n        .nullable(),\n      appId: z\n        .string()\n        .describe('Defines the app that the rule is connected 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        .optional()\n        .nullable(),\n    })\n    .optional(),\n});\nexport const ListRulesResponse = (() => {\n  let comWixpressServiceFeesV1ConditionTreeSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({\n        operator: z\n          .enum(['AND', 'OR'])\n          .describe(\n            'Specifies the logical operator to use when combining the evaluation of the left and right conditions.'\n          )\n          .optional(),\n      }),\n      z.intersection(\n        z.xor([\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            leftConditionsTree: z.never().optional(),\n            leftCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ]),\n        z.xor([\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            rightConditionsTree: z.never().optional(),\n            rightCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ])\n      )\n    );\n  return z.object({\n    rules: z\n      .array(\n        z.intersection(\n          z.object({\n            _id: z.string().describe('Rule ID.').optional().nullable(),\n            locationId: z\n              .string()\n              .describe(\n                'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the rule.'\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            name: z\n              .string()\n              .describe('Rule name.')\n              .max(50)\n              .min(1)\n              .optional()\n              .nullable(),\n            _createdDate: z\n              .date()\n              .describe('Date and time the rule was created.')\n              .optional()\n              .nullable(),\n            _updatedDate: z\n              .date()\n              .describe('Date and time the rule was updated.')\n              .optional()\n              .nullable(),\n            taxRate: z\n              .string()\n              .describe(\n                \"Percentage value to apply as a custom tax rate. For example, `5` represents a 5% fee applied to the order's total. <br />\\nMin: '0'. <br />\\nMax: `100`.\"\n              )\n              .optional()\n              .nullable(),\n            conditionsType: z\n              .enum(['NO_CONDITIONS', 'CONDITION', 'CONDITION_TREE'])\n              .describe('Specifies the type of condition.')\n              .optional(),\n            conditionType: z\n              .enum(['UNDEFINED_CONDITION_TYPE', 'CONDITION', 'CONDITION_TREE'])\n              .describe('Specifies the type of condition.')\n              .optional(),\n            enabled: z\n              .boolean()\n              .describe(\n                'Whether the rule is enabled. If `true`, the rule is evaluated when service fees are calculated. If `false`, the rule will not be evaluated when service fees are calculated.'\n              )\n              .optional()\n              .nullable(),\n            revision: z\n              .string()\n              .regex(/^\\d+$/, 'Must be a valid UInt64 string')\n              .describe(\n                'Revision number. Increments by 1 each time the rule is updated.\\nTo prevent conflicting changes, the existing `revision` must be used when updating a rule.'\n              )\n              .optional()\n              .nullable(),\n            label: z\n              .string()\n              .describe(\n                'DEPRECATED. Defines the app that the rule is connected to.'\n              )\n              .max(100)\n              .min(1)\n              .optional()\n              .nullable(),\n            appId: z\n              .string()\n              .describe('Defines the app that the rule is connected 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              .optional()\n              .nullable(),\n            roundingStrategy: z\n              .enum(['HALF_UP', 'HALF_EVEN'])\n              .describe(\n                'Rounding strategy to apply to fee and tax calculation.'\n              )\n              .optional(),\n            extendedFields: z\n              .object({\n                namespaces: z\n                  .record(z.string(), z.record(z.string(), z.any()))\n                  .describe(\n                    'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                  )\n                  .optional(),\n              })\n              .describe('Data Extensions')\n              .optional(),\n            tags: z\n              .object({\n                privateTags: z\n                  .object({ tagIds: z.array(z.string()).max(100).optional() })\n                  .describe(\n                    'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n                  )\n                  .optional(),\n                tags: z\n                  .object({ tagIds: z.array(z.string()).max(100).optional() })\n                  .describe(\n                    'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n                  )\n                  .optional(),\n              })\n              .describe(\n                'Tags ([SDK](https://dev.wix.com/docs/sdk/backend-modules/tags/tags/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/tags/introduction)) used to classify and sort different types of rules.'\n              )\n              .optional(),\n          }),\n          z.intersection(\n            z.intersection(\n              z.intersection(\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. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                            )\n                            .optional(),\n                          currency: z\n                            .string()\n                            .describe(\n                              'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                            )\n                            .optional(),\n                          formattedValue: z\n                            .string()\n                            .describe(\n                              'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                            )\n                            .optional()\n                            .nullable(),\n                        })\n                        .describe('Fixed fee. Must hold a positive value.'),\n                    }),\n                    z.object({\n                      amount: z.never().optional(),\n                      percentage: z\n                        .string()\n                        .describe(\n                          \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                        ),\n                    }),\n                  ]),\n                  z.xor([\n                    z.object({\n                      fixedFee: z.never().optional(),\n                      percentageFee: z.never().optional(),\n                    }),\n                    z.object({\n                      percentageFee: z.never().optional(),\n                      fixedFee: z\n                        .object({\n                          value: z\n                            .string()\n                            .describe(\n                              'Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                            )\n                            .optional(),\n                          currency: z\n                            .string()\n                            .describe(\n                              'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                            )\n                            .optional(),\n                          formattedValue: z\n                            .string()\n                            .describe(\n                              'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                            )\n                            .optional()\n                            .nullable(),\n                        })\n                        .describe('Fixed fee. Must hold a positive value.'),\n                    }),\n                    z.object({\n                      fixedFee: z.never().optional(),\n                      percentageFee: z\n                        .string()\n                        .describe(\n                          \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                        ),\n                    }),\n                  ])\n                ),\n                z.xor([\n                  z.object({\n                    condition: z.never().optional(),\n                    conditionTree: z.never().optional(),\n                  }),\n                  z.object({\n                    conditionTree: z.never().optional(),\n                    condition: z\n                      .intersection(\n                        z.object({\n                          path: z\n                            .string()\n                            .describe(\n                              'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                            )\n                            .max(1000)\n                            .optional(),\n                          orderFieldPath: z\n                            .string()\n                            .describe(\n                              'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                            )\n                            .max(1000)\n                            .optional(),\n                          expectedType: z\n                            .object({\n                              value: z\n                                .enum(['NUMBER', 'STRING'])\n                                .describe(\n                                  'Type of the field specified in `orderFieldPath`.'\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                            )\n                            .optional(),\n                          expectedFieldType: z\n                            .enum([\n                              'UNKNOWN_EXPECTED_FIELD_TYPE',\n                              'NUMBER',\n                              'STRING',\n                            ])\n                            .describe(\n                              'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                            )\n                            .optional(),\n                        }),\n                        z.xor([\n                          z.object({\n                            number: z.never().optional(),\n                            list: z.never().optional(),\n                          }),\n                          z.object({\n                            list: z.never().optional(),\n                            number: z\n                              .object({\n                                value: z\n                                  .number()\n                                  .describe(\n                                    'Numeric value to compare with the value of the specified field.'\n                                  )\n                                  .optional(),\n                                operation: z\n                                  .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                                  .describe('Operation to use.')\n                                  .optional(),\n                              })\n                              .describe(\n                                'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                              ),\n                          }),\n                          z.object({\n                            number: z.never().optional(),\n                            list: z\n                              .object({\n                                values: z\n                                  .array(z.string())\n                                  .min(1)\n                                  .max(100)\n                                  .optional(),\n                              })\n                              .describe(\n                                'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                              ),\n                          }),\n                        ])\n                      )\n                      .describe(\n                        'Single condition that must be met for the rule to be applied to an order.'\n                      ),\n                  }),\n                  z.object({\n                    condition: z.never().optional(),\n                    conditionTree:\n                      comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                        'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                      ),\n                  }),\n                ])\n              ),\n              z.xor([\n                z.object({\n                  conditionOptions: z.never().optional(),\n                  conditionTreeOptions: z.never().optional(),\n                }),\n                z.object({\n                  conditionTreeOptions: z.never().optional(),\n                  conditionOptions: z\n                    .intersection(\n                      z.object({\n                        path: z\n                          .string()\n                          .describe(\n                            'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                          )\n                          .max(1000)\n                          .optional(),\n                        orderFieldPath: z\n                          .string()\n                          .describe(\n                            'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                          )\n                          .max(1000)\n                          .optional(),\n                        expectedType: z\n                          .object({\n                            value: z\n                              .enum(['NUMBER', 'STRING'])\n                              .describe(\n                                'Type of the field specified in `orderFieldPath`.'\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                          )\n                          .optional(),\n                        expectedFieldType: z\n                          .enum([\n                            'UNKNOWN_EXPECTED_FIELD_TYPE',\n                            'NUMBER',\n                            'STRING',\n                          ])\n                          .describe(\n                            'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                          )\n                          .optional(),\n                      }),\n                      z.xor([\n                        z.object({\n                          number: z.never().optional(),\n                          list: z.never().optional(),\n                        }),\n                        z.object({\n                          list: z.never().optional(),\n                          number: z\n                            .object({\n                              value: z\n                                .number()\n                                .describe(\n                                  'Numeric value to compare with the value of the specified field.'\n                                )\n                                .optional(),\n                              operation: z\n                                .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                                .describe('Operation to use.')\n                                .optional(),\n                            })\n                            .describe(\n                              'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                            ),\n                        }),\n                        z.object({\n                          number: z.never().optional(),\n                          list: z\n                            .object({\n                              values: z\n                                .array(z.string())\n                                .min(1)\n                                .max(100)\n                                .optional(),\n                            })\n                            .describe(\n                              'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                            ),\n                        }),\n                      ])\n                    )\n                    .describe(\n                      'Single condition that must be met for the rule to be applied to an order.'\n                    ),\n                }),\n                z.object({\n                  conditionOptions: z.never().optional(),\n                  conditionTreeOptions:\n                    comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                      'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                    ),\n                }),\n              ])\n            ),\n            z.xor([\n              z.object({\n                customTaxRate: z.never().optional(),\n                taxGroupId: z.never().optional(),\n              }),\n              z.object({\n                taxGroupId: z.never().optional(),\n                customTaxRate: z\n                  .string()\n                  .describe(\n                    'Percentage value to apply as a custom tax rate. Range: [0-100].'\n                  ),\n              }),\n              z.object({\n                customTaxRate: z.never().optional(),\n                taxGroupId: z\n                  .string()\n                  .describe('Tax group ID. Internal only.')\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  ),\n              }),\n            ])\n          )\n        )\n      )\n      .optional(),\n  });\n})();\nexport const QueryRulesRequest = z.object({\n  query: z\n    .object({\n      filter: z\n        .object({\n          _id: z\n            .object({\n              $eq: z.string(),\n              $exists: z.boolean(),\n              $gt: z.string(),\n              $gte: z.string(),\n              $hasAll: z.array(z.string()),\n              $hasSome: z.array(z.string()),\n              $in: z.array(z.string()),\n              $lt: z.string(),\n              $lte: z.string(),\n              $ne: z.string(),\n              $nin: z.array(z.string()),\n              $startsWith: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          locationId: z\n            .object({\n              $eq: z.string(),\n              $exists: z.boolean(),\n              $gt: z.string(),\n              $gte: z.string(),\n              $hasAll: z.array(z.string()),\n              $hasSome: z.array(z.string()),\n              $in: z.array(z.string()),\n              $lt: z.string(),\n              $lte: z.string(),\n              $ne: z.string(),\n              $nin: z.array(z.string()),\n              $startsWith: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          appId: z\n            .object({\n              $eq: z.string(),\n              $exists: z.boolean(),\n              $gt: z.string(),\n              $gte: z.string(),\n              $hasAll: z.array(z.string()),\n              $hasSome: z.array(z.string()),\n              $in: z.array(z.string()),\n              $lt: z.string(),\n              $lte: z.string(),\n              $ne: z.string(),\n              $nin: z.array(z.string()),\n              $startsWith: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          $and: z.array(z.any()).optional(),\n          $or: z.array(z.any()).optional(),\n          $not: z.any().optional(),\n        })\n        .strict()\n        .optional(),\n      sort: z\n        .array(\n          z.object({\n            fieldName: z.enum(['_id', 'locationId', 'appId']).optional(),\n            order: z.enum(['ASC', 'DESC']).optional(),\n          })\n        )\n        .optional(),\n    })\n    .catchall(z.any())\n    .describe('Query options.'),\n});\nexport const QueryRulesResponse = (() => {\n  let comWixpressServiceFeesV1ConditionTreeSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({\n        operator: z\n          .enum(['AND', 'OR'])\n          .describe(\n            'Specifies the logical operator to use when combining the evaluation of the left and right conditions.'\n          )\n          .optional(),\n      }),\n      z.intersection(\n        z.xor([\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            leftConditionsTree: z.never().optional(),\n            leftCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ]),\n        z.xor([\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            rightConditionsTree: z.never().optional(),\n            rightCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ])\n      )\n    );\n  return z.object({\n    rules: z\n      .array(\n        z.intersection(\n          z.object({\n            _id: z.string().describe('Rule ID.').optional().nullable(),\n            locationId: z\n              .string()\n              .describe(\n                'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the rule.'\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            name: z\n              .string()\n              .describe('Rule name.')\n              .max(50)\n              .min(1)\n              .optional()\n              .nullable(),\n            _createdDate: z\n              .date()\n              .describe('Date and time the rule was created.')\n              .optional()\n              .nullable(),\n            _updatedDate: z\n              .date()\n              .describe('Date and time the rule was updated.')\n              .optional()\n              .nullable(),\n            taxRate: z\n              .string()\n              .describe(\n                \"Percentage value to apply as a custom tax rate. For example, `5` represents a 5% fee applied to the order's total. <br />\\nMin: '0'. <br />\\nMax: `100`.\"\n              )\n              .optional()\n              .nullable(),\n            conditionsType: z\n              .enum(['NO_CONDITIONS', 'CONDITION', 'CONDITION_TREE'])\n              .describe('Specifies the type of condition.')\n              .optional(),\n            conditionType: z\n              .enum(['UNDEFINED_CONDITION_TYPE', 'CONDITION', 'CONDITION_TREE'])\n              .describe('Specifies the type of condition.')\n              .optional(),\n            enabled: z\n              .boolean()\n              .describe(\n                'Whether the rule is enabled. If `true`, the rule is evaluated when service fees are calculated. If `false`, the rule will not be evaluated when service fees are calculated.'\n              )\n              .optional()\n              .nullable(),\n            revision: z\n              .string()\n              .regex(/^\\d+$/, 'Must be a valid UInt64 string')\n              .describe(\n                'Revision number. Increments by 1 each time the rule is updated.\\nTo prevent conflicting changes, the existing `revision` must be used when updating a rule.'\n              )\n              .optional()\n              .nullable(),\n            label: z\n              .string()\n              .describe(\n                'DEPRECATED. Defines the app that the rule is connected to.'\n              )\n              .max(100)\n              .min(1)\n              .optional()\n              .nullable(),\n            appId: z\n              .string()\n              .describe('Defines the app that the rule is connected 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              .optional()\n              .nullable(),\n            roundingStrategy: z\n              .enum(['HALF_UP', 'HALF_EVEN'])\n              .describe(\n                'Rounding strategy to apply to fee and tax calculation.'\n              )\n              .optional(),\n            extendedFields: z\n              .object({\n                namespaces: z\n                  .record(z.string(), z.record(z.string(), z.any()))\n                  .describe(\n                    'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                  )\n                  .optional(),\n              })\n              .describe('Data Extensions')\n              .optional(),\n            tags: z\n              .object({\n                privateTags: z\n                  .object({ tagIds: z.array(z.string()).max(100).optional() })\n                  .describe(\n                    'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n                  )\n                  .optional(),\n                tags: z\n                  .object({ tagIds: z.array(z.string()).max(100).optional() })\n                  .describe(\n                    'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n                  )\n                  .optional(),\n              })\n              .describe(\n                'Tags ([SDK](https://dev.wix.com/docs/sdk/backend-modules/tags/tags/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/tags/introduction)) used to classify and sort different types of rules.'\n              )\n              .optional(),\n          }),\n          z.intersection(\n            z.intersection(\n              z.intersection(\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. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                            )\n                            .optional(),\n                          currency: z\n                            .string()\n                            .describe(\n                              'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                            )\n                            .optional(),\n                          formattedValue: z\n                            .string()\n                            .describe(\n                              'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                            )\n                            .optional()\n                            .nullable(),\n                        })\n                        .describe('Fixed fee. Must hold a positive value.'),\n                    }),\n                    z.object({\n                      amount: z.never().optional(),\n                      percentage: z\n                        .string()\n                        .describe(\n                          \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                        ),\n                    }),\n                  ]),\n                  z.xor([\n                    z.object({\n                      fixedFee: z.never().optional(),\n                      percentageFee: z.never().optional(),\n                    }),\n                    z.object({\n                      percentageFee: z.never().optional(),\n                      fixedFee: z\n                        .object({\n                          value: z\n                            .string()\n                            .describe(\n                              'Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                            )\n                            .optional(),\n                          currency: z\n                            .string()\n                            .describe(\n                              'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                            )\n                            .optional(),\n                          formattedValue: z\n                            .string()\n                            .describe(\n                              'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                            )\n                            .optional()\n                            .nullable(),\n                        })\n                        .describe('Fixed fee. Must hold a positive value.'),\n                    }),\n                    z.object({\n                      fixedFee: z.never().optional(),\n                      percentageFee: z\n                        .string()\n                        .describe(\n                          \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                        ),\n                    }),\n                  ])\n                ),\n                z.xor([\n                  z.object({\n                    condition: z.never().optional(),\n                    conditionTree: z.never().optional(),\n                  }),\n                  z.object({\n                    conditionTree: z.never().optional(),\n                    condition: z\n                      .intersection(\n                        z.object({\n                          path: z\n                            .string()\n                            .describe(\n                              'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                            )\n                            .max(1000)\n                            .optional(),\n                          orderFieldPath: z\n                            .string()\n                            .describe(\n                              'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                            )\n                            .max(1000)\n                            .optional(),\n                          expectedType: z\n                            .object({\n                              value: z\n                                .enum(['NUMBER', 'STRING'])\n                                .describe(\n                                  'Type of the field specified in `orderFieldPath`.'\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                            )\n                            .optional(),\n                          expectedFieldType: z\n                            .enum([\n                              'UNKNOWN_EXPECTED_FIELD_TYPE',\n                              'NUMBER',\n                              'STRING',\n                            ])\n                            .describe(\n                              'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                            )\n                            .optional(),\n                        }),\n                        z.xor([\n                          z.object({\n                            number: z.never().optional(),\n                            list: z.never().optional(),\n                          }),\n                          z.object({\n                            list: z.never().optional(),\n                            number: z\n                              .object({\n                                value: z\n                                  .number()\n                                  .describe(\n                                    'Numeric value to compare with the value of the specified field.'\n                                  )\n                                  .optional(),\n                                operation: z\n                                  .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                                  .describe('Operation to use.')\n                                  .optional(),\n                              })\n                              .describe(\n                                'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                              ),\n                          }),\n                          z.object({\n                            number: z.never().optional(),\n                            list: z\n                              .object({\n                                values: z\n                                  .array(z.string())\n                                  .min(1)\n                                  .max(100)\n                                  .optional(),\n                              })\n                              .describe(\n                                'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                              ),\n                          }),\n                        ])\n                      )\n                      .describe(\n                        'Single condition that must be met for the rule to be applied to an order.'\n                      ),\n                  }),\n                  z.object({\n                    condition: z.never().optional(),\n                    conditionTree:\n                      comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                        'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                      ),\n                  }),\n                ])\n              ),\n              z.xor([\n                z.object({\n                  conditionOptions: z.never().optional(),\n                  conditionTreeOptions: z.never().optional(),\n                }),\n                z.object({\n                  conditionTreeOptions: z.never().optional(),\n                  conditionOptions: z\n                    .intersection(\n                      z.object({\n                        path: z\n                          .string()\n                          .describe(\n                            'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                          )\n                          .max(1000)\n                          .optional(),\n                        orderFieldPath: z\n                          .string()\n                          .describe(\n                            'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                          )\n                          .max(1000)\n                          .optional(),\n                        expectedType: z\n                          .object({\n                            value: z\n                              .enum(['NUMBER', 'STRING'])\n                              .describe(\n                                'Type of the field specified in `orderFieldPath`.'\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                          )\n                          .optional(),\n                        expectedFieldType: z\n                          .enum([\n                            'UNKNOWN_EXPECTED_FIELD_TYPE',\n                            'NUMBER',\n                            'STRING',\n                          ])\n                          .describe(\n                            'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                          )\n                          .optional(),\n                      }),\n                      z.xor([\n                        z.object({\n                          number: z.never().optional(),\n                          list: z.never().optional(),\n                        }),\n                        z.object({\n                          list: z.never().optional(),\n                          number: z\n                            .object({\n                              value: z\n                                .number()\n                                .describe(\n                                  'Numeric value to compare with the value of the specified field.'\n                                )\n                                .optional(),\n                              operation: z\n                                .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                                .describe('Operation to use.')\n                                .optional(),\n                            })\n                            .describe(\n                              'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                            ),\n                        }),\n                        z.object({\n                          number: z.never().optional(),\n                          list: z\n                            .object({\n                              values: z\n                                .array(z.string())\n                                .min(1)\n                                .max(100)\n                                .optional(),\n                            })\n                            .describe(\n                              'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                            ),\n                        }),\n                      ])\n                    )\n                    .describe(\n                      'Single condition that must be met for the rule to be applied to an order.'\n                    ),\n                }),\n                z.object({\n                  conditionOptions: z.never().optional(),\n                  conditionTreeOptions:\n                    comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                      'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                    ),\n                }),\n              ])\n            ),\n            z.xor([\n              z.object({\n                customTaxRate: z.never().optional(),\n                taxGroupId: z.never().optional(),\n              }),\n              z.object({\n                taxGroupId: z.never().optional(),\n                customTaxRate: z\n                  .string()\n                  .describe(\n                    'Percentage value to apply as a custom tax rate. Range: [0-100].'\n                  ),\n              }),\n              z.object({\n                customTaxRate: z.never().optional(),\n                taxGroupId: z\n                  .string()\n                  .describe('Tax group ID. Internal only.')\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  ),\n              }),\n            ])\n          )\n        )\n      )\n      .optional(),\n    pagingMetadata: z\n      .object({\n        count: z\n          .number()\n          .int()\n          .describe('Number of items returned in the response.')\n          .optional()\n          .nullable(),\n        cursors: z\n          .object({\n            next: z\n              .string()\n              .describe('Cursor pointing to next page in the list of results.')\n              .optional()\n              .nullable(),\n            prev: z\n              .string()\n              .describe(\n                'Cursor pointing to previous page in the list of results.'\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe('Offset that was requested.')\n          .optional(),\n        hasNext: z\n          .boolean()\n          .describe(\n            'Indicates if there are more results after the current page.\\nIf `true`, another page of results can be retrieved.\\nIf `false`, this is the last page.'\n          )\n          .optional()\n          .nullable(),\n      })\n      .describe('Paging metadata.')\n      .optional(),\n  });\n})();\nexport const BulkCreateRulesRequest = (() => {\n  let comWixpressServiceFeesV1ConditionTreeSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({\n        operator: z\n          .enum(['AND', 'OR'])\n          .describe(\n            'Specifies the logical operator to use when combining the evaluation of the left and right conditions.'\n          )\n          .optional(),\n      }),\n      z.intersection(\n        z.xor([\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            leftConditionsTree: z.never().optional(),\n            leftCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ]),\n        z.xor([\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            rightConditionsTree: z.never().optional(),\n            rightCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ])\n      )\n    );\n  return z.object({\n    rules: z.array(\n      z.intersection(\n        z.object({\n          _id: z.string().describe('Rule ID.').optional().nullable(),\n          locationId: z\n            .string()\n            .describe(\n              'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the rule.'\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          name: z\n            .string()\n            .describe('Rule name.')\n            .max(50)\n            .min(1)\n            .optional()\n            .nullable(),\n          _createdDate: z\n            .date()\n            .describe('Date and time the rule was created.')\n            .optional()\n            .nullable(),\n          _updatedDate: z\n            .date()\n            .describe('Date and time the rule was updated.')\n            .optional()\n            .nullable(),\n          taxRate: z\n            .string()\n            .describe(\n              \"Percentage value to apply as a custom tax rate. For example, `5` represents a 5% fee applied to the order's total. <br />\\nMin: '0'. <br />\\nMax: `100`.\"\n            )\n            .optional()\n            .nullable(),\n          conditionsType: z\n            .enum(['NO_CONDITIONS', 'CONDITION', 'CONDITION_TREE'])\n            .optional(),\n          conditionType: z\n            .enum(['UNDEFINED_CONDITION_TYPE', 'CONDITION', 'CONDITION_TREE'])\n            .optional(),\n          enabled: z\n            .boolean()\n            .describe(\n              'Whether the rule is enabled. If `true`, the rule is evaluated when service fees are calculated. If `false`, the rule will not be evaluated when service fees are calculated.'\n            )\n            .optional()\n            .nullable(),\n          revision: z\n            .string()\n            .regex(/^\\d+$/, 'Must be a valid UInt64 string')\n            .describe(\n              'Revision number. Increments by 1 each time the rule is updated.\\nTo prevent conflicting changes, the existing `revision` must be used when updating a rule.'\n            )\n            .optional()\n            .nullable(),\n          label: z\n            .string()\n            .describe(\n              'DEPRECATED. Defines the app that the rule is connected to.'\n            )\n            .max(100)\n            .min(1)\n            .optional()\n            .nullable(),\n          appId: z\n            .string()\n            .describe('Defines the app that the rule is connected 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            .optional()\n            .nullable(),\n          roundingStrategy: z.enum(['HALF_UP', 'HALF_EVEN']).optional(),\n          extendedFields: z\n            .object({\n              namespaces: z\n                .record(z.string(), z.record(z.string(), z.any()))\n                .describe(\n                  'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                )\n                .optional(),\n            })\n            .describe('Data Extensions')\n            .optional(),\n          tags: z\n            .object({\n              privateTags: z\n                .object({ tagIds: z.array(z.string()).max(100).optional() })\n                .describe(\n                  'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n                )\n                .optional(),\n              tags: z\n                .object({ tagIds: z.array(z.string()).max(100).optional() })\n                .describe(\n                  'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n                )\n                .optional(),\n            })\n            .describe(\n              'Tags ([SDK](https://dev.wix.com/docs/sdk/backend-modules/tags/tags/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/tags/introduction)) used to classify and sort different types of rules.'\n            )\n            .optional(),\n        }),\n        z.intersection(\n          z.intersection(\n            z.intersection(\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. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                          )\n                          .optional(),\n                        currency: z\n                          .string()\n                          .describe(\n                            'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                          )\n                          .optional(),\n                        formattedValue: z\n                          .string()\n                          .describe(\n                            'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                          )\n                          .optional()\n                          .nullable(),\n                      })\n                      .describe('Fixed fee. Must hold a positive value.'),\n                  }),\n                  z.object({\n                    amount: z.never().optional(),\n                    percentage: z\n                      .string()\n                      .describe(\n                        \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                      ),\n                  }),\n                ]),\n                z.xor([\n                  z.object({\n                    fixedFee: z.never().optional(),\n                    percentageFee: z.never().optional(),\n                  }),\n                  z.object({\n                    percentageFee: z.never().optional(),\n                    fixedFee: z\n                      .object({\n                        value: z\n                          .string()\n                          .describe(\n                            'Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                          )\n                          .optional(),\n                        currency: z\n                          .string()\n                          .describe(\n                            'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                          )\n                          .optional(),\n                        formattedValue: z\n                          .string()\n                          .describe(\n                            'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                          )\n                          .optional()\n                          .nullable(),\n                      })\n                      .describe('Fixed fee. Must hold a positive value.'),\n                  }),\n                  z.object({\n                    fixedFee: z.never().optional(),\n                    percentageFee: z\n                      .string()\n                      .describe(\n                        \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                      ),\n                  }),\n                ])\n              ),\n              z.xor([\n                z.object({\n                  condition: z.never().optional(),\n                  conditionTree: z.never().optional(),\n                }),\n                z.object({\n                  conditionTree: z.never().optional(),\n                  condition: z\n                    .intersection(\n                      z.object({\n                        path: z\n                          .string()\n                          .describe(\n                            'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                          )\n                          .max(1000)\n                          .optional(),\n                        orderFieldPath: z\n                          .string()\n                          .describe(\n                            'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                          )\n                          .max(1000)\n                          .optional(),\n                        expectedType: z\n                          .object({\n                            value: z\n                              .enum(['NUMBER', 'STRING'])\n                              .describe(\n                                'Type of the field specified in `orderFieldPath`.'\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                          )\n                          .optional(),\n                        expectedFieldType: z\n                          .enum([\n                            'UNKNOWN_EXPECTED_FIELD_TYPE',\n                            'NUMBER',\n                            'STRING',\n                          ])\n                          .describe(\n                            'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                          )\n                          .optional(),\n                      }),\n                      z.xor([\n                        z.object({\n                          number: z.never().optional(),\n                          list: z.never().optional(),\n                        }),\n                        z.object({\n                          list: z.never().optional(),\n                          number: z\n                            .object({\n                              value: z\n                                .number()\n                                .describe(\n                                  'Numeric value to compare with the value of the specified field.'\n                                )\n                                .optional(),\n                              operation: z\n                                .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                                .describe('Operation to use.')\n                                .optional(),\n                            })\n                            .describe(\n                              'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                            ),\n                        }),\n                        z.object({\n                          number: z.never().optional(),\n                          list: z\n                            .object({\n                              values: z\n                                .array(z.string())\n                                .min(1)\n                                .max(100)\n                                .optional(),\n                            })\n                            .describe(\n                              'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                            ),\n                        }),\n                      ])\n                    )\n                    .describe(\n                      'Single condition that must be met for the rule to be applied to an order.'\n                    ),\n                }),\n                z.object({\n                  condition: z.never().optional(),\n                  conditionTree:\n                    comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                      'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                    ),\n                }),\n              ])\n            ),\n            z.xor([\n              z.object({\n                conditionOptions: z.never().optional(),\n                conditionTreeOptions: z.never().optional(),\n              }),\n              z.object({\n                conditionTreeOptions: z.never().optional(),\n                conditionOptions: z\n                  .intersection(\n                    z.object({\n                      path: z\n                        .string()\n                        .describe(\n                          'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                        )\n                        .max(1000)\n                        .optional(),\n                      orderFieldPath: z\n                        .string()\n                        .describe(\n                          'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                        )\n                        .max(1000)\n                        .optional(),\n                      expectedType: z\n                        .object({\n                          value: z\n                            .enum(['NUMBER', 'STRING'])\n                            .describe(\n                              'Type of the field specified in `orderFieldPath`.'\n                            )\n                            .optional(),\n                        })\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                        )\n                        .optional(),\n                      expectedFieldType: z\n                        .enum([\n                          'UNKNOWN_EXPECTED_FIELD_TYPE',\n                          'NUMBER',\n                          'STRING',\n                        ])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                        )\n                        .optional(),\n                    }),\n                    z.xor([\n                      z.object({\n                        number: z.never().optional(),\n                        list: z.never().optional(),\n                      }),\n                      z.object({\n                        list: z.never().optional(),\n                        number: z\n                          .object({\n                            value: z\n                              .number()\n                              .describe(\n                                'Numeric value to compare with the value of the specified field.'\n                              )\n                              .optional(),\n                            operation: z\n                              .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                              .describe('Operation to use.')\n                              .optional(),\n                          })\n                          .describe(\n                            'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                          ),\n                      }),\n                      z.object({\n                        number: z.never().optional(),\n                        list: z\n                          .object({\n                            values: z\n                              .array(z.string())\n                              .min(1)\n                              .max(100)\n                              .optional(),\n                          })\n                          .describe(\n                            'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                          ),\n                      }),\n                    ])\n                  )\n                  .describe(\n                    'Single condition that must be met for the rule to be applied to an order.'\n                  ),\n              }),\n              z.object({\n                conditionOptions: z.never().optional(),\n                conditionTreeOptions:\n                  comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                    'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                  ),\n              }),\n            ])\n          ),\n          z.xor([\n            z.object({\n              customTaxRate: z.never().optional(),\n              taxGroupId: z.never().optional(),\n            }),\n            z.object({\n              taxGroupId: z.never().optional(),\n              customTaxRate: z\n                .string()\n                .describe(\n                  'Percentage value to apply as a custom tax rate. Range: [0-100].'\n                ),\n            }),\n            z.object({\n              customTaxRate: z.never().optional(),\n              taxGroupId: z\n                .string()\n                .describe('Tax group ID. Internal only.')\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                ),\n            }),\n          ])\n        )\n      )\n    ),\n    options: z\n      .object({\n        returnFullEntity: z\n          .boolean()\n          .describe(\n            'Whether the full rule entity is returned. <br />\\nDefault: `false`.'\n          )\n          .optional(),\n      })\n      .optional(),\n  });\n})();\nexport const BulkCreateRulesResponse = (() => {\n  let comWixpressServiceFeesV1ConditionTreeSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({\n        operator: z\n          .enum(['AND', 'OR'])\n          .describe(\n            'Specifies the logical operator to use when combining the evaluation of the left and right conditions.'\n          )\n          .optional(),\n      }),\n      z.intersection(\n        z.xor([\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            leftConditionsTree: z.never().optional(),\n            leftCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ]),\n        z.xor([\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            rightConditionsTree: z.never().optional(),\n            rightCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ])\n      )\n    );\n  return z.object({\n    results: z\n      .array(\n        z.object({\n          itemMetadata: z\n            .object({\n              _id: z\n                .string()\n                .describe(\n                  \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n                )\n                .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 rule.')\n            .optional(),\n          rule: z\n            .intersection(\n              z.object({\n                _id: z.string().describe('Rule ID.').optional().nullable(),\n                locationId: z\n                  .string()\n                  .describe(\n                    'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the rule.'\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                name: z\n                  .string()\n                  .describe('Rule name.')\n                  .max(50)\n                  .min(1)\n                  .optional()\n                  .nullable(),\n                _createdDate: z\n                  .date()\n                  .describe('Date and time the rule was created.')\n                  .optional()\n                  .nullable(),\n                _updatedDate: z\n                  .date()\n                  .describe('Date and time the rule was updated.')\n                  .optional()\n                  .nullable(),\n                taxRate: z\n                  .string()\n                  .describe(\n                    \"Percentage value to apply as a custom tax rate. For example, `5` represents a 5% fee applied to the order's total. <br />\\nMin: '0'. <br />\\nMax: `100`.\"\n                  )\n                  .optional()\n                  .nullable(),\n                conditionsType: z\n                  .enum(['NO_CONDITIONS', 'CONDITION', 'CONDITION_TREE'])\n                  .describe('Specifies the type of condition.')\n                  .optional(),\n                conditionType: z\n                  .enum([\n                    'UNDEFINED_CONDITION_TYPE',\n                    'CONDITION',\n                    'CONDITION_TREE',\n                  ])\n                  .describe('Specifies the type of condition.')\n                  .optional(),\n                enabled: z\n                  .boolean()\n                  .describe(\n                    'Whether the rule is enabled. If `true`, the rule is evaluated when service fees are calculated. If `false`, the rule will not be evaluated when service fees are calculated.'\n                  )\n                  .optional()\n                  .nullable(),\n                revision: z\n                  .string()\n                  .regex(/^\\d+$/, 'Must be a valid UInt64 string')\n                  .describe(\n                    'Revision number. Increments by 1 each time the rule is updated.\\nTo prevent conflicting changes, the existing `revision` must be used when updating a rule.'\n                  )\n                  .optional()\n                  .nullable(),\n                label: z\n                  .string()\n                  .describe(\n                    'DEPRECATED. Defines the app that the rule is connected to.'\n                  )\n                  .max(100)\n                  .min(1)\n                  .optional()\n                  .nullable(),\n                appId: z\n                  .string()\n                  .describe('Defines the app that the rule is connected 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                  .optional()\n                  .nullable(),\n                roundingStrategy: z\n                  .enum(['HALF_UP', 'HALF_EVEN'])\n                  .describe(\n                    'Rounding strategy to apply to fee and tax calculation.'\n                  )\n                  .optional(),\n                extendedFields: z\n                  .object({\n                    namespaces: z\n                      .record(z.string(), z.record(z.string(), z.any()))\n                      .describe(\n                        'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                      )\n                      .optional(),\n                  })\n                  .describe('Data Extensions')\n                  .optional(),\n                tags: z\n                  .object({\n                    privateTags: z\n                      .object({\n                        tagIds: z.array(z.string()).max(100).optional(),\n                      })\n                      .describe(\n                        'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n                      )\n                      .optional(),\n                    tags: z\n                      .object({\n                        tagIds: z.array(z.string()).max(100).optional(),\n                      })\n                      .describe(\n                        'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n                      )\n                      .optional(),\n                  })\n                  .describe(\n                    'Tags ([SDK](https://dev.wix.com/docs/sdk/backend-modules/tags/tags/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/tags/introduction)) used to classify and sort different types of rules.'\n                  )\n                  .optional(),\n              }),\n              z.intersection(\n                z.intersection(\n                  z.intersection(\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. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                                )\n                                .optional(),\n                              currency: z\n                                .string()\n                                .describe(\n                                  'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                                )\n                                .optional(),\n                              formattedValue: z\n                                .string()\n                                .describe(\n                                  'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                                )\n                                .optional()\n                                .nullable(),\n                            })\n                            .describe('Fixed fee. Must hold a positive value.'),\n                        }),\n                        z.object({\n                          amount: z.never().optional(),\n                          percentage: z\n                            .string()\n                            .describe(\n                              \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                            ),\n                        }),\n                      ]),\n                      z.xor([\n                        z.object({\n                          fixedFee: z.never().optional(),\n                          percentageFee: z.never().optional(),\n                        }),\n                        z.object({\n                          percentageFee: z.never().optional(),\n                          fixedFee: z\n                            .object({\n                              value: z\n                                .string()\n                                .describe(\n                                  'Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                                )\n                                .optional(),\n                              currency: z\n                                .string()\n                                .describe(\n                                  'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                                )\n                                .optional(),\n                              formattedValue: z\n                                .string()\n                                .describe(\n                                  'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                                )\n                                .optional()\n                                .nullable(),\n                            })\n                            .describe('Fixed fee. Must hold a positive value.'),\n                        }),\n                        z.object({\n                          fixedFee: z.never().optional(),\n                          percentageFee: z\n                            .string()\n                            .describe(\n                              \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                            ),\n                        }),\n                      ])\n                    ),\n                    z.xor([\n                      z.object({\n                        condition: z.never().optional(),\n                        conditionTree: z.never().optional(),\n                      }),\n                      z.object({\n                        conditionTree: z.never().optional(),\n                        condition: z\n                          .intersection(\n                            z.object({\n                              path: z\n                                .string()\n                                .describe(\n                                  'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                                )\n                                .max(1000)\n                                .optional(),\n                              orderFieldPath: z\n                                .string()\n                                .describe(\n                                  'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                                )\n                                .max(1000)\n                                .optional(),\n                              expectedType: z\n                                .object({\n                                  value: z\n                                    .enum(['NUMBER', 'STRING'])\n                                    .describe(\n                                      'Type of the field specified in `orderFieldPath`.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                                )\n                                .optional(),\n                              expectedFieldType: z\n                                .enum([\n                                  'UNKNOWN_EXPECTED_FIELD_TYPE',\n                                  'NUMBER',\n                                  'STRING',\n                                ])\n                                .describe(\n                                  'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                                )\n                                .optional(),\n                            }),\n                            z.xor([\n                              z.object({\n                                number: z.never().optional(),\n                                list: z.never().optional(),\n                              }),\n                              z.object({\n                                list: z.never().optional(),\n                                number: z\n                                  .object({\n                                    value: z\n                                      .number()\n                                      .describe(\n                                        'Numeric value to compare with the value of the specified field.'\n                                      )\n                                      .optional(),\n                                    operation: z\n                                      .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                                      .describe('Operation to use.')\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                                  ),\n                              }),\n                              z.object({\n                                number: z.never().optional(),\n                                list: z\n                                  .object({\n                                    values: z\n                                      .array(z.string())\n                                      .min(1)\n                                      .max(100)\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                                  ),\n                              }),\n                            ])\n                          )\n                          .describe(\n                            'Single condition that must be met for the rule to be applied to an order.'\n                          ),\n                      }),\n                      z.object({\n                        condition: z.never().optional(),\n                        conditionTree:\n                          comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                            'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                          ),\n                      }),\n                    ])\n                  ),\n                  z.xor([\n                    z.object({\n                      conditionOptions: z.never().optional(),\n                      conditionTreeOptions: z.never().optional(),\n                    }),\n                    z.object({\n                      conditionTreeOptions: z.never().optional(),\n                      conditionOptions: z\n                        .intersection(\n                          z.object({\n                            path: z\n                              .string()\n                              .describe(\n                                'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                              )\n                              .max(1000)\n                              .optional(),\n                            orderFieldPath: z\n                              .string()\n                              .describe(\n                                'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                              )\n                              .max(1000)\n                              .optional(),\n                            expectedType: z\n                              .object({\n                                value: z\n                                  .enum(['NUMBER', 'STRING'])\n                                  .describe(\n                                    'Type of the field specified in `orderFieldPath`.'\n                                  )\n                                  .optional(),\n                              })\n                              .describe(\n                                'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                              )\n                              .optional(),\n                            expectedFieldType: z\n                              .enum([\n                                'UNKNOWN_EXPECTED_FIELD_TYPE',\n                                'NUMBER',\n                                'STRING',\n                              ])\n                              .describe(\n                                'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                              )\n                              .optional(),\n                          }),\n                          z.xor([\n                            z.object({\n                              number: z.never().optional(),\n                              list: z.never().optional(),\n                            }),\n                            z.object({\n                              list: z.never().optional(),\n                              number: z\n                                .object({\n                                  value: z\n                                    .number()\n                                    .describe(\n                                      'Numeric value to compare with the value of the specified field.'\n                                    )\n                                    .optional(),\n                                  operation: z\n                                    .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                                    .describe('Operation to use.')\n                                    .optional(),\n                                })\n                                .describe(\n                                  'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                                ),\n                            }),\n                            z.object({\n                              number: z.never().optional(),\n                              list: z\n                                .object({\n                                  values: z\n                                    .array(z.string())\n                                    .min(1)\n                                    .max(100)\n                                    .optional(),\n                                })\n                                .describe(\n                                  'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                                ),\n                            }),\n                          ])\n                        )\n                        .describe(\n                          'Single condition that must be met for the rule to be applied to an order.'\n                        ),\n                    }),\n                    z.object({\n                      conditionOptions: z.never().optional(),\n                      conditionTreeOptions:\n                        comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                          'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                        ),\n                    }),\n                  ])\n                ),\n                z.xor([\n                  z.object({\n                    customTaxRate: z.never().optional(),\n                    taxGroupId: z.never().optional(),\n                  }),\n                  z.object({\n                    taxGroupId: z.never().optional(),\n                    customTaxRate: z\n                      .string()\n                      .describe(\n                        'Percentage value to apply as a custom tax rate. Range: [0-100].'\n                      ),\n                  }),\n                  z.object({\n                    customTaxRate: z.never().optional(),\n                    taxGroupId: z\n                      .string()\n                      .describe('Tax group ID. Internal only.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      ),\n                  }),\n                ])\n              )\n            )\n            .describe('The created rule.')\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 Rule metadata.')\n      .optional(),\n  });\n})();\nexport const BulkUpdateRulesRequest = (() => {\n  let comWixpressServiceFeesV1ConditionTreeSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({\n        operator: z\n          .enum(['AND', 'OR'])\n          .describe(\n            'Specifies the logical operator to use when combining the evaluation of the left and right conditions.'\n          )\n          .optional(),\n      }),\n      z.intersection(\n        z.xor([\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            leftConditionsTree: z.never().optional(),\n            leftCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ]),\n        z.xor([\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            rightConditionsTree: z.never().optional(),\n            rightCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ])\n      )\n    );\n  return z.object({\n    rules: z.array(\n      z.object({\n        rule: z\n          .intersection(\n            z.object({\n              _id: z.string().describe('Rule ID.').optional().nullable(),\n              locationId: z\n                .string()\n                .describe(\n                  'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the rule.'\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              name: z\n                .string()\n                .describe('Rule name.')\n                .max(50)\n                .min(1)\n                .optional()\n                .nullable(),\n              _createdDate: z\n                .date()\n                .describe('Date and time the rule was created.')\n                .optional()\n                .nullable(),\n              _updatedDate: z\n                .date()\n                .describe('Date and time the rule was updated.')\n                .optional()\n                .nullable(),\n              taxRate: z\n                .string()\n                .describe(\n                  \"Percentage value to apply as a custom tax rate. For example, `5` represents a 5% fee applied to the order's total. <br />\\nMin: '0'. <br />\\nMax: `100`.\"\n                )\n                .optional()\n                .nullable(),\n              conditionsType: z\n                .enum(['NO_CONDITIONS', 'CONDITION', 'CONDITION_TREE'])\n                .optional(),\n              conditionType: z\n                .enum([\n                  'UNDEFINED_CONDITION_TYPE',\n                  'CONDITION',\n                  'CONDITION_TREE',\n                ])\n                .optional(),\n              enabled: z\n                .boolean()\n                .describe(\n                  'Whether the rule is enabled. If `true`, the rule is evaluated when service fees are calculated. If `false`, the rule will not be evaluated when service fees are calculated.'\n                )\n                .optional()\n                .nullable(),\n              revision: z\n                .string()\n                .regex(/^\\d+$/, 'Must be a valid UInt64 string')\n                .describe(\n                  'Revision number. Increments by 1 each time the rule is updated.\\nTo prevent conflicting changes, the existing `revision` must be used when updating a rule.'\n                )\n                .optional()\n                .nullable(),\n              label: z\n                .string()\n                .describe(\n                  'DEPRECATED. Defines the app that the rule is connected to.'\n                )\n                .max(100)\n                .min(1)\n                .optional()\n                .nullable(),\n              appId: z\n                .string()\n                .describe('Defines the app that the rule is connected 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                .optional()\n                .nullable(),\n              roundingStrategy: z.enum(['HALF_UP', 'HALF_EVEN']).optional(),\n              extendedFields: z\n                .object({\n                  namespaces: z\n                    .record(z.string(), z.record(z.string(), z.any()))\n                    .describe(\n                      'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                    )\n                    .optional(),\n                })\n                .describe('Data Extensions')\n                .optional(),\n              tags: z\n                .object({\n                  privateTags: z\n                    .object({ tagIds: z.array(z.string()).max(100).optional() })\n                    .describe(\n                      'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n                    )\n                    .optional(),\n                  tags: z\n                    .object({ tagIds: z.array(z.string()).max(100).optional() })\n                    .describe(\n                      'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n                    )\n                    .optional(),\n                })\n                .describe(\n                  'Tags ([SDK](https://dev.wix.com/docs/sdk/backend-modules/tags/tags/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/tags/introduction)) used to classify and sort different types of rules.'\n                )\n                .optional(),\n            }),\n            z.intersection(\n              z.intersection(\n                z.intersection(\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. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                              )\n                              .optional(),\n                            currency: z\n                              .string()\n                              .describe(\n                                'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                              )\n                              .optional(),\n                            formattedValue: z\n                              .string()\n                              .describe(\n                                'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                              )\n                              .optional()\n                              .nullable(),\n                          })\n                          .describe('Fixed fee. Must hold a positive value.'),\n                      }),\n                      z.object({\n                        amount: z.never().optional(),\n                        percentage: z\n                          .string()\n                          .describe(\n                            \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                          ),\n                      }),\n                    ]),\n                    z.xor([\n                      z.object({\n                        fixedFee: z.never().optional(),\n                        percentageFee: z.never().optional(),\n                      }),\n                      z.object({\n                        percentageFee: z.never().optional(),\n                        fixedFee: z\n                          .object({\n                            value: z\n                              .string()\n                              .describe(\n                                'Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                              )\n                              .optional(),\n                            currency: z\n                              .string()\n                              .describe(\n                                'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                              )\n                              .optional(),\n                            formattedValue: z\n                              .string()\n                              .describe(\n                                'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                              )\n                              .optional()\n                              .nullable(),\n                          })\n                          .describe('Fixed fee. Must hold a positive value.'),\n                      }),\n                      z.object({\n                        fixedFee: z.never().optional(),\n                        percentageFee: z\n                          .string()\n                          .describe(\n                            \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                          ),\n                      }),\n                    ])\n                  ),\n                  z.xor([\n                    z.object({\n                      condition: z.never().optional(),\n                      conditionTree: z.never().optional(),\n                    }),\n                    z.object({\n                      conditionTree: z.never().optional(),\n                      condition: z\n                        .intersection(\n                          z.object({\n                            path: z\n                              .string()\n                              .describe(\n                                'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                              )\n                              .max(1000)\n                              .optional(),\n                            orderFieldPath: z\n                              .string()\n                              .describe(\n                                'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                              )\n                              .max(1000)\n                              .optional(),\n                            expectedType: z\n                              .object({\n                                value: z\n                                  .enum(['NUMBER', 'STRING'])\n                                  .describe(\n                                    'Type of the field specified in `orderFieldPath`.'\n                                  )\n                                  .optional(),\n                              })\n                              .describe(\n                                'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                              )\n                              .optional(),\n                            expectedFieldType: z\n                              .enum([\n                                'UNKNOWN_EXPECTED_FIELD_TYPE',\n                                'NUMBER',\n                                'STRING',\n                              ])\n                              .describe(\n                                'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                              )\n                              .optional(),\n                          }),\n                          z.xor([\n                            z.object({\n                              number: z.never().optional(),\n                              list: z.never().optional(),\n                            }),\n                            z.object({\n                              list: z.never().optional(),\n                              number: z\n                                .object({\n                                  value: z\n                                    .number()\n                                    .describe(\n                                      'Numeric value to compare with the value of the specified field.'\n                                    )\n                                    .optional(),\n                                  operation: z\n                                    .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                                    .describe('Operation to use.')\n                                    .optional(),\n                                })\n                                .describe(\n                                  'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                                ),\n                            }),\n                            z.object({\n                              number: z.never().optional(),\n                              list: z\n                                .object({\n                                  values: z\n                                    .array(z.string())\n                                    .min(1)\n                                    .max(100)\n                                    .optional(),\n                                })\n                                .describe(\n                                  'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                                ),\n                            }),\n                          ])\n                        )\n                        .describe(\n                          'Single condition that must be met for the rule to be applied to an order.'\n                        ),\n                    }),\n                    z.object({\n                      condition: z.never().optional(),\n                      conditionTree:\n                        comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                          'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                        ),\n                    }),\n                  ])\n                ),\n                z.xor([\n                  z.object({\n                    conditionOptions: z.never().optional(),\n                    conditionTreeOptions: z.never().optional(),\n                  }),\n                  z.object({\n                    conditionTreeOptions: z.never().optional(),\n                    conditionOptions: z\n                      .intersection(\n                        z.object({\n                          path: z\n                            .string()\n                            .describe(\n                              'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                            )\n                            .max(1000)\n                            .optional(),\n                          orderFieldPath: z\n                            .string()\n                            .describe(\n                              'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                            )\n                            .max(1000)\n                            .optional(),\n                          expectedType: z\n                            .object({\n                              value: z\n                                .enum(['NUMBER', 'STRING'])\n                                .describe(\n                                  'Type of the field specified in `orderFieldPath`.'\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                            )\n                            .optional(),\n                          expectedFieldType: z\n                            .enum([\n                              'UNKNOWN_EXPECTED_FIELD_TYPE',\n                              'NUMBER',\n                              'STRING',\n                            ])\n                            .describe(\n                              'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                            )\n                            .optional(),\n                        }),\n                        z.xor([\n                          z.object({\n                            number: z.never().optional(),\n                            list: z.never().optional(),\n                          }),\n                          z.object({\n                            list: z.never().optional(),\n                            number: z\n                              .object({\n                                value: z\n                                  .number()\n                                  .describe(\n                                    'Numeric value to compare with the value of the specified field.'\n                                  )\n                                  .optional(),\n                                operation: z\n                                  .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                                  .describe('Operation to use.')\n                                  .optional(),\n                              })\n                              .describe(\n                                'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                              ),\n                          }),\n                          z.object({\n                            number: z.never().optional(),\n                            list: z\n                              .object({\n                                values: z\n                                  .array(z.string())\n                                  .min(1)\n                                  .max(100)\n                                  .optional(),\n                              })\n                              .describe(\n                                'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                              ),\n                          }),\n                        ])\n                      )\n                      .describe(\n                        'Single condition that must be met for the rule to be applied to an order.'\n                      ),\n                  }),\n                  z.object({\n                    conditionOptions: z.never().optional(),\n                    conditionTreeOptions:\n                      comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                        'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                      ),\n                  }),\n                ])\n              ),\n              z.xor([\n                z.object({\n                  customTaxRate: z.never().optional(),\n                  taxGroupId: z.never().optional(),\n                }),\n                z.object({\n                  taxGroupId: z.never().optional(),\n                  customTaxRate: z\n                    .string()\n                    .describe(\n                      'Percentage value to apply as a custom tax rate. Range: [0-100].'\n                    ),\n                }),\n                z.object({\n                  customTaxRate: z.never().optional(),\n                  taxGroupId: z\n                    .string()\n                    .describe('Tax group ID. Internal only.')\n                    .regex(\n                      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                      'Must be a valid GUID'\n                    ),\n                }),\n              ])\n            )\n          )\n          .describe('Rule to update.')\n          .optional(),\n        mask: z.array(z.string()).optional(),\n      })\n    ),\n    options: z\n      .object({\n        returnFullEntity: z\n          .boolean()\n          .describe(\n            'Whether the full rule entity is returned. <br />\\nDefault: `false`.'\n          )\n          .optional(),\n      })\n      .optional(),\n  });\n})();\nexport const BulkUpdateRulesResponse = (() => {\n  let comWixpressServiceFeesV1ConditionTreeSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({\n        operator: z\n          .enum(['AND', 'OR'])\n          .describe(\n            'Specifies the logical operator to use when combining the evaluation of the left and right conditions.'\n          )\n          .optional(),\n      }),\n      z.intersection(\n        z.xor([\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            leftConditionsTree: z.never().optional(),\n            leftCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ]),\n        z.xor([\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            rightConditionsTree: z.never().optional(),\n            rightCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ])\n      )\n    );\n  return z.object({\n    results: z\n      .array(\n        z.object({\n          itemMetadata: z\n            .object({\n              _id: z\n                .string()\n                .describe(\n                  \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n                )\n                .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 rule.')\n            .optional(),\n          rule: z\n            .intersection(\n              z.object({\n                _id: z.string().describe('Rule ID.').optional().nullable(),\n                locationId: z\n                  .string()\n                  .describe(\n                    'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the rule.'\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                name: z\n                  .string()\n                  .describe('Rule name.')\n                  .max(50)\n                  .min(1)\n                  .optional()\n                  .nullable(),\n                _createdDate: z\n                  .date()\n                  .describe('Date and time the rule was created.')\n                  .optional()\n                  .nullable(),\n                _updatedDate: z\n                  .date()\n                  .describe('Date and time the rule was updated.')\n                  .optional()\n                  .nullable(),\n                taxRate: z\n                  .string()\n                  .describe(\n                    \"Percentage value to apply as a custom tax rate. For example, `5` represents a 5% fee applied to the order's total. <br />\\nMin: '0'. <br />\\nMax: `100`.\"\n                  )\n                  .optional()\n                  .nullable(),\n                conditionsType: z\n                  .enum(['NO_CONDITIONS', 'CONDITION', 'CONDITION_TREE'])\n                  .describe('Specifies the type of condition.')\n                  .optional(),\n                conditionType: z\n                  .enum([\n                    'UNDEFINED_CONDITION_TYPE',\n                    'CONDITION',\n                    'CONDITION_TREE',\n                  ])\n                  .describe('Specifies the type of condition.')\n                  .optional(),\n                enabled: z\n                  .boolean()\n                  .describe(\n                    'Whether the rule is enabled. If `true`, the rule is evaluated when service fees are calculated. If `false`, the rule will not be evaluated when service fees are calculated.'\n                  )\n                  .optional()\n                  .nullable(),\n                revision: z\n                  .string()\n                  .regex(/^\\d+$/, 'Must be a valid UInt64 string')\n                  .describe(\n                    'Revision number. Increments by 1 each time the rule is updated.\\nTo prevent conflicting changes, the existing `revision` must be used when updating a rule.'\n                  )\n                  .optional()\n                  .nullable(),\n                label: z\n                  .string()\n                  .describe(\n                    'DEPRECATED. Defines the app that the rule is connected to.'\n                  )\n                  .max(100)\n                  .min(1)\n                  .optional()\n                  .nullable(),\n                appId: z\n                  .string()\n                  .describe('Defines the app that the rule is connected 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                  .optional()\n                  .nullable(),\n                roundingStrategy: z\n                  .enum(['HALF_UP', 'HALF_EVEN'])\n                  .describe(\n                    'Rounding strategy to apply to fee and tax calculation.'\n                  )\n                  .optional(),\n                extendedFields: z\n                  .object({\n                    namespaces: z\n                      .record(z.string(), z.record(z.string(), z.any()))\n                      .describe(\n                        'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                      )\n                      .optional(),\n                  })\n                  .describe('Data Extensions')\n                  .optional(),\n                tags: z\n                  .object({\n                    privateTags: z\n                      .object({\n                        tagIds: z.array(z.string()).max(100).optional(),\n                      })\n                      .describe(\n                        'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n                      )\n                      .optional(),\n                    tags: z\n                      .object({\n                        tagIds: z.array(z.string()).max(100).optional(),\n                      })\n                      .describe(\n                        'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n                      )\n                      .optional(),\n                  })\n                  .describe(\n                    'Tags ([SDK](https://dev.wix.com/docs/sdk/backend-modules/tags/tags/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/tags/introduction)) used to classify and sort different types of rules.'\n                  )\n                  .optional(),\n              }),\n              z.intersection(\n                z.intersection(\n                  z.intersection(\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. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                                )\n                                .optional(),\n                              currency: z\n                                .string()\n                                .describe(\n                                  'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                                )\n                                .optional(),\n                              formattedValue: z\n                                .string()\n                                .describe(\n                                  'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                                )\n                                .optional()\n                                .nullable(),\n                            })\n                            .describe('Fixed fee. Must hold a positive value.'),\n                        }),\n                        z.object({\n                          amount: z.never().optional(),\n                          percentage: z\n                            .string()\n                            .describe(\n                              \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                            ),\n                        }),\n                      ]),\n                      z.xor([\n                        z.object({\n                          fixedFee: z.never().optional(),\n                          percentageFee: z.never().optional(),\n                        }),\n                        z.object({\n                          percentageFee: z.never().optional(),\n                          fixedFee: z\n                            .object({\n                              value: z\n                                .string()\n                                .describe(\n                                  'Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                                )\n                                .optional(),\n                              currency: z\n                                .string()\n                                .describe(\n                                  'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                                )\n                                .optional(),\n                              formattedValue: z\n                                .string()\n                                .describe(\n                                  'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                                )\n                                .optional()\n                                .nullable(),\n                            })\n                            .describe('Fixed fee. Must hold a positive value.'),\n                        }),\n                        z.object({\n                          fixedFee: z.never().optional(),\n                          percentageFee: z\n                            .string()\n                            .describe(\n                              \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                            ),\n                        }),\n                      ])\n                    ),\n                    z.xor([\n                      z.object({\n                        condition: z.never().optional(),\n                        conditionTree: z.never().optional(),\n                      }),\n                      z.object({\n                        conditionTree: z.never().optional(),\n                        condition: z\n                          .intersection(\n                            z.object({\n                              path: z\n                                .string()\n                                .describe(\n                                  'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                                )\n                                .max(1000)\n                                .optional(),\n                              orderFieldPath: z\n                                .string()\n                                .describe(\n                                  'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                                )\n                                .max(1000)\n                                .optional(),\n                              expectedType: z\n                                .object({\n                                  value: z\n                                    .enum(['NUMBER', 'STRING'])\n                                    .describe(\n                                      'Type of the field specified in `orderFieldPath`.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                                )\n                                .optional(),\n                              expectedFieldType: z\n                                .enum([\n                                  'UNKNOWN_EXPECTED_FIELD_TYPE',\n                                  'NUMBER',\n                                  'STRING',\n                                ])\n                                .describe(\n                                  'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                                )\n                                .optional(),\n                            }),\n                            z.xor([\n                              z.object({\n                                number: z.never().optional(),\n                                list: z.never().optional(),\n                              }),\n                              z.object({\n                                list: z.never().optional(),\n                                number: z\n                                  .object({\n                                    value: z\n                                      .number()\n                                      .describe(\n                                        'Numeric value to compare with the value of the specified field.'\n                                      )\n                                      .optional(),\n                                    operation: z\n                                      .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                                      .describe('Operation to use.')\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                                  ),\n                              }),\n                              z.object({\n                                number: z.never().optional(),\n                                list: z\n                                  .object({\n                                    values: z\n                                      .array(z.string())\n                                      .min(1)\n                                      .max(100)\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                                  ),\n                              }),\n                            ])\n                          )\n                          .describe(\n                            'Single condition that must be met for the rule to be applied to an order.'\n                          ),\n                      }),\n                      z.object({\n                        condition: z.never().optional(),\n                        conditionTree:\n                          comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                            'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                          ),\n                      }),\n                    ])\n                  ),\n                  z.xor([\n                    z.object({\n                      conditionOptions: z.never().optional(),\n                      conditionTreeOptions: z.never().optional(),\n                    }),\n                    z.object({\n                      conditionTreeOptions: z.never().optional(),\n                      conditionOptions: z\n                        .intersection(\n                          z.object({\n                            path: z\n                              .string()\n                              .describe(\n                                'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                              )\n                              .max(1000)\n                              .optional(),\n                            orderFieldPath: z\n                              .string()\n                              .describe(\n                                'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                              )\n                              .max(1000)\n                              .optional(),\n                            expectedType: z\n                              .object({\n                                value: z\n                                  .enum(['NUMBER', 'STRING'])\n                                  .describe(\n                                    'Type of the field specified in `orderFieldPath`.'\n                                  )\n                                  .optional(),\n                              })\n                              .describe(\n                                'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                              )\n                              .optional(),\n                            expectedFieldType: z\n                              .enum([\n                                'UNKNOWN_EXPECTED_FIELD_TYPE',\n                                'NUMBER',\n                                'STRING',\n                              ])\n                              .describe(\n                                'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                              )\n                              .optional(),\n                          }),\n                          z.xor([\n                            z.object({\n                              number: z.never().optional(),\n                              list: z.never().optional(),\n                            }),\n                            z.object({\n                              list: z.never().optional(),\n                              number: z\n                                .object({\n                                  value: z\n                                    .number()\n                                    .describe(\n                                      'Numeric value to compare with the value of the specified field.'\n                                    )\n                                    .optional(),\n                                  operation: z\n                                    .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                                    .describe('Operation to use.')\n                                    .optional(),\n                                })\n                                .describe(\n                                  'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                                ),\n                            }),\n                            z.object({\n                              number: z.never().optional(),\n                              list: z\n                                .object({\n                                  values: z\n                                    .array(z.string())\n                                    .min(1)\n                                    .max(100)\n                                    .optional(),\n                                })\n                                .describe(\n                                  'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                                ),\n                            }),\n                          ])\n                        )\n                        .describe(\n                          'Single condition that must be met for the rule to be applied to an order.'\n                        ),\n                    }),\n                    z.object({\n                      conditionOptions: z.never().optional(),\n                      conditionTreeOptions:\n                        comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                          'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                        ),\n                    }),\n                  ])\n                ),\n                z.xor([\n                  z.object({\n                    customTaxRate: z.never().optional(),\n                    taxGroupId: z.never().optional(),\n                  }),\n                  z.object({\n                    taxGroupId: z.never().optional(),\n                    customTaxRate: z\n                      .string()\n                      .describe(\n                        'Percentage value to apply as a custom tax rate. Range: [0-100].'\n                      ),\n                  }),\n                  z.object({\n                    customTaxRate: z.never().optional(),\n                    taxGroupId: z\n                      .string()\n                      .describe('Tax group ID. Internal only.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      ),\n                  }),\n                ])\n              )\n            )\n            .describe('The created rule.')\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 Rule metadata.')\n      .optional(),\n  });\n})();\nexport const BulkDeleteRulesRequest = z.object({\n  ruleIds: z.array(z.string()),\n});\nexport const BulkDeleteRulesResponse = (() => {\n  let comWixpressServiceFeesV1ConditionTreeSchema: z.ZodType<any> =\n    z.intersection(\n      z.object({\n        operator: z\n          .enum(['AND', 'OR'])\n          .describe(\n            'Specifies the logical operator to use when combining the evaluation of the left and right conditions.'\n          )\n          .optional(),\n      }),\n      z.intersection(\n        z.xor([\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            leftConditionsTree: z.never().optional(),\n            leftCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            leftCondition: z.never().optional(),\n            leftConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ]),\n        z.xor([\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z.never().optional(),\n          }),\n          z.object({\n            rightConditionsTree: z.never().optional(),\n            rightCondition: z\n              .intersection(\n                z.object({\n                  path: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  orderFieldPath: z\n                    .string()\n                    .describe(\n                      'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                    )\n                    .max(1000)\n                    .optional(),\n                  expectedType: z\n                    .object({\n                      value: z\n                        .enum(['NUMBER', 'STRING'])\n                        .describe(\n                          'Type of the field specified in `orderFieldPath`.'\n                        )\n                        .optional(),\n                    })\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                  expectedFieldType: z\n                    .enum(['UNKNOWN_EXPECTED_FIELD_TYPE', 'NUMBER', 'STRING'])\n                    .describe(\n                      'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    number: z.never().optional(),\n                    list: z.never().optional(),\n                  }),\n                  z.object({\n                    list: z.never().optional(),\n                    number: z\n                      .object({\n                        value: z\n                          .number()\n                          .describe(\n                            'Numeric value to compare with the value of the specified field.'\n                          )\n                          .optional(),\n                        operation: z\n                          .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                          .describe('Operation to use.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                      ),\n                  }),\n                  z.object({\n                    number: z.never().optional(),\n                    list: z\n                      .object({\n                        values: z.array(z.string()).min(1).max(100).optional(),\n                      })\n                      .describe(\n                        'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                      ),\n                  }),\n                ])\n              )\n              .describe(\n                'Single condition that must be met for the rule to be applied to an order.'\n              ),\n          }),\n          z.object({\n            rightCondition: z.never().optional(),\n            rightConditionsTree: z\n              .lazy(() => comWixpressServiceFeesV1ConditionTreeSchema)\n              .describe(\n                'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n              ),\n          }),\n        ])\n      )\n    );\n  return z.object({\n    results: z\n      .array(\n        z.object({\n          itemMetadata: z\n            .object({\n              _id: z\n                .string()\n                .describe(\n                  \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n                )\n                .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 rule.')\n            .optional(),\n          rule: z\n            .intersection(\n              z.object({\n                _id: z.string().describe('Rule ID.').optional().nullable(),\n                locationId: z\n                  .string()\n                  .describe(\n                    'Business location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) of the rule.'\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                name: z\n                  .string()\n                  .describe('Rule name.')\n                  .max(50)\n                  .min(1)\n                  .optional()\n                  .nullable(),\n                _createdDate: z\n                  .date()\n                  .describe('Date and time the rule was created.')\n                  .optional()\n                  .nullable(),\n                _updatedDate: z\n                  .date()\n                  .describe('Date and time the rule was updated.')\n                  .optional()\n                  .nullable(),\n                taxRate: z\n                  .string()\n                  .describe(\n                    \"Percentage value to apply as a custom tax rate. For example, `5` represents a 5% fee applied to the order's total. <br />\\nMin: '0'. <br />\\nMax: `100`.\"\n                  )\n                  .optional()\n                  .nullable(),\n                conditionsType: z\n                  .enum(['NO_CONDITIONS', 'CONDITION', 'CONDITION_TREE'])\n                  .describe('Specifies the type of condition.')\n                  .optional(),\n                conditionType: z\n                  .enum([\n                    'UNDEFINED_CONDITION_TYPE',\n                    'CONDITION',\n                    'CONDITION_TREE',\n                  ])\n                  .describe('Specifies the type of condition.')\n                  .optional(),\n                enabled: z\n                  .boolean()\n                  .describe(\n                    'Whether the rule is enabled. If `true`, the rule is evaluated when service fees are calculated. If `false`, the rule will not be evaluated when service fees are calculated.'\n                  )\n                  .optional()\n                  .nullable(),\n                revision: z\n                  .string()\n                  .regex(/^\\d+$/, 'Must be a valid UInt64 string')\n                  .describe(\n                    'Revision number. Increments by 1 each time the rule is updated.\\nTo prevent conflicting changes, the existing `revision` must be used when updating a rule.'\n                  )\n                  .optional()\n                  .nullable(),\n                label: z\n                  .string()\n                  .describe(\n                    'DEPRECATED. Defines the app that the rule is connected to.'\n                  )\n                  .max(100)\n                  .min(1)\n                  .optional()\n                  .nullable(),\n                appId: z\n                  .string()\n                  .describe('Defines the app that the rule is connected 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                  .optional()\n                  .nullable(),\n                roundingStrategy: z\n                  .enum(['HALF_UP', 'HALF_EVEN'])\n                  .describe(\n                    'Rounding strategy to apply to fee and tax calculation.'\n                  )\n                  .optional(),\n                extendedFields: z\n                  .object({\n                    namespaces: z\n                      .record(z.string(), z.record(z.string(), z.any()))\n                      .describe(\n                        'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                      )\n                      .optional(),\n                  })\n                  .describe('Data Extensions')\n                  .optional(),\n                tags: z\n                  .object({\n                    privateTags: z\n                      .object({\n                        tagIds: z.array(z.string()).max(100).optional(),\n                      })\n                      .describe(\n                        'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n                      )\n                      .optional(),\n                    tags: z\n                      .object({\n                        tagIds: z.array(z.string()).max(100).optional(),\n                      })\n                      .describe(\n                        'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n                      )\n                      .optional(),\n                  })\n                  .describe(\n                    'Tags ([SDK](https://dev.wix.com/docs/sdk/backend-modules/tags/tags/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/tags/introduction)) used to classify and sort different types of rules.'\n                  )\n                  .optional(),\n              }),\n              z.intersection(\n                z.intersection(\n                  z.intersection(\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. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                                )\n                                .optional(),\n                              currency: z\n                                .string()\n                                .describe(\n                                  'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                                )\n                                .optional(),\n                              formattedValue: z\n                                .string()\n                                .describe(\n                                  'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                                )\n                                .optional()\n                                .nullable(),\n                            })\n                            .describe('Fixed fee. Must hold a positive value.'),\n                        }),\n                        z.object({\n                          amount: z.never().optional(),\n                          percentage: z\n                            .string()\n                            .describe(\n                              \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                            ),\n                        }),\n                      ]),\n                      z.xor([\n                        z.object({\n                          fixedFee: z.never().optional(),\n                          percentageFee: z.never().optional(),\n                        }),\n                        z.object({\n                          percentageFee: z.never().optional(),\n                          fixedFee: z\n                            .object({\n                              value: z\n                                .string()\n                                .describe(\n                                  'Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative.'\n                                )\n                                .optional(),\n                              currency: z\n                                .string()\n                                .describe(\n                                  'Currency code. Must be valid ISO 4217 currency code (e.g., USD).'\n                                )\n                                .optional(),\n                              formattedValue: z\n                                .string()\n                                .describe(\n                                  'Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative.'\n                                )\n                                .optional()\n                                .nullable(),\n                            })\n                            .describe('Fixed fee. Must hold a positive value.'),\n                        }),\n                        z.object({\n                          fixedFee: z.never().optional(),\n                          percentageFee: z\n                            .string()\n                            .describe(\n                              \"Percentage fee. For example, `5` represents a 5% fee applied to the order's total.\"\n                            ),\n                        }),\n                      ])\n                    ),\n                    z.xor([\n                      z.object({\n                        condition: z.never().optional(),\n                        conditionTree: z.never().optional(),\n                      }),\n                      z.object({\n                        conditionTree: z.never().optional(),\n                        condition: z\n                          .intersection(\n                            z.object({\n                              path: z\n                                .string()\n                                .describe(\n                                  'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                                )\n                                .max(1000)\n                                .optional(),\n                              orderFieldPath: z\n                                .string()\n                                .describe(\n                                  'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                                )\n                                .max(1000)\n                                .optional(),\n                              expectedType: z\n                                .object({\n                                  value: z\n                                    .enum(['NUMBER', 'STRING'])\n                                    .describe(\n                                      'Type of the field specified in `orderFieldPath`.'\n                                    )\n                                    .optional(),\n                                })\n                                .describe(\n                                  'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                                )\n                                .optional(),\n                              expectedFieldType: z\n                                .enum([\n                                  'UNKNOWN_EXPECTED_FIELD_TYPE',\n                                  'NUMBER',\n                                  'STRING',\n                                ])\n                                .describe(\n                                  'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                                )\n                                .optional(),\n                            }),\n                            z.xor([\n                              z.object({\n                                number: z.never().optional(),\n                                list: z.never().optional(),\n                              }),\n                              z.object({\n                                list: z.never().optional(),\n                                number: z\n                                  .object({\n                                    value: z\n                                      .number()\n                                      .describe(\n                                        'Numeric value to compare with the value of the specified field.'\n                                      )\n                                      .optional(),\n                                    operation: z\n                                      .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                                      .describe('Operation to use.')\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                                  ),\n                              }),\n                              z.object({\n                                number: z.never().optional(),\n                                list: z\n                                  .object({\n                                    values: z\n                                      .array(z.string())\n                                      .min(1)\n                                      .max(100)\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                                  ),\n                              }),\n                            ])\n                          )\n                          .describe(\n                            'Single condition that must be met for the rule to be applied to an order.'\n                          ),\n                      }),\n                      z.object({\n                        condition: z.never().optional(),\n                        conditionTree:\n                          comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                            'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                          ),\n                      }),\n                    ])\n                  ),\n                  z.xor([\n                    z.object({\n                      conditionOptions: z.never().optional(),\n                      conditionTreeOptions: z.never().optional(),\n                    }),\n                    z.object({\n                      conditionTreeOptions: z.never().optional(),\n                      conditionOptions: z\n                        .intersection(\n                          z.object({\n                            path: z\n                              .string()\n                              .describe(\n                                'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                              )\n                              .max(1000)\n                              .optional(),\n                            orderFieldPath: z\n                              .string()\n                              .describe(\n                                'Path of the field in the order entity that this condition will evaluate. For example, `priceSummary.subtotal`.'\n                              )\n                              .max(1000)\n                              .optional(),\n                            expectedType: z\n                              .object({\n                                value: z\n                                  .enum(['NUMBER', 'STRING'])\n                                  .describe(\n                                    'Type of the field specified in `orderFieldPath`.'\n                                  )\n                                  .optional(),\n                              })\n                              .describe(\n                                'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                              )\n                              .optional(),\n                            expectedFieldType: z\n                              .enum([\n                                'UNKNOWN_EXPECTED_FIELD_TYPE',\n                                'NUMBER',\n                                'STRING',\n                              ])\n                              .describe(\n                                'Type of the field specified in `orderFieldPath`. For example, the type of `priceSummary.subtotal` is `\"NUMBER\"`).'\n                              )\n                              .optional(),\n                          }),\n                          z.xor([\n                            z.object({\n                              number: z.never().optional(),\n                              list: z.never().optional(),\n                            }),\n                            z.object({\n                              list: z.never().optional(),\n                              number: z\n                                .object({\n                                  value: z\n                                    .number()\n                                    .describe(\n                                      'Numeric value to compare with the value of the specified field.'\n                                    )\n                                    .optional(),\n                                  operation: z\n                                    .enum(['EQ', 'LT', 'LE', 'GT', 'GE'])\n                                    .describe('Operation to use.')\n                                    .optional(),\n                                })\n                                .describe(\n                                  'Contains a numeric value and an operation.\\n\\nRequired if `expectedFieldType` is `NUMBER`.'\n                                ),\n                            }),\n                            z.object({\n                              number: z.never().optional(),\n                              list: z\n                                .object({\n                                  values: z\n                                    .array(z.string())\n                                    .min(1)\n                                    .max(100)\n                                    .optional(),\n                                })\n                                .describe(\n                                  'Contains an array of strings to compare with the value of the specified field. If the value of the field matches a string in the array, the condition is considered met.\\n\\nRequired if `expectedFieldType` is `LIST`.'\n                                ),\n                            }),\n                          ])\n                        )\n                        .describe(\n                          'Single condition that must be met for the rule to be applied to an order.'\n                        ),\n                    }),\n                    z.object({\n                      conditionOptions: z.never().optional(),\n                      conditionTreeOptions:\n                        comWixpressServiceFeesV1ConditionTreeSchema.describe(\n                          'Binary tree of conditions. Use the operator to indicate whether only one or both conditions must be met in order for a service fee rule to be applied to an order.'\n                        ),\n                    }),\n                  ])\n                ),\n                z.xor([\n                  z.object({\n                    customTaxRate: z.never().optional(),\n                    taxGroupId: z.never().optional(),\n                  }),\n                  z.object({\n                    taxGroupId: z.never().optional(),\n                    customTaxRate: z\n                      .string()\n                      .describe(\n                        'Percentage value to apply as a custom tax rate. Range: [0-100].'\n                      ),\n                  }),\n                  z.object({\n                    customTaxRate: z.never().optional(),\n                    taxGroupId: z\n                      .string()\n                      .describe('Tax group ID. Internal only.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      ),\n                  }),\n                ])\n              )\n            )\n            .describe('The created rule.')\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 Delete Rule metadata.')\n      .optional(),\n  });\n})();\nexport const BulkUpdateRuleTagsRequest = z.object({\n  ruleIds: z.array(z.string()).min(1).max(100),\n  options: z\n    .object({\n      assignTags: z\n        .object({\n          privateTags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n            )\n            .optional(),\n          tags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n            )\n            .optional(),\n        })\n        .describe('Tags to assign to the rules.')\n        .optional(),\n      unassignTags: z\n        .object({\n          privateTags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n            )\n            .optional(),\n          tags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n            )\n            .optional(),\n        })\n        .describe('Tags to unassign from the rules.')\n        .optional(),\n    })\n    .optional(),\n});\nexport const BulkUpdateRuleTagsResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        itemMetadata: z\n          .object({\n            _id: z\n              .string()\n              .describe(\n                \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n              )\n              .regex(\n                /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                'Must be a valid GUID'\n              )\n              .optional()\n              .nullable(),\n            originalIndex: z\n              .number()\n              .int()\n              .describe(\n                'Index of the item within the request array. Allows for correlation between request and response items.'\n              )\n              .optional(),\n            success: z\n              .boolean()\n              .describe(\n                'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n              )\n              .optional(),\n            error: z\n              .object({\n                code: z.string().describe('Error code.').optional(),\n                description: z\n                  .string()\n                  .describe('Description of the error.')\n                  .optional(),\n                data: z\n                  .record(z.string(), z.any())\n                  .describe('Data related to the error.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Details about the error in case of failure.')\n              .optional(),\n          })\n          .describe('Metadata for the updated rule.')\n          .optional(),\n      })\n    )\n    .min(1)\n    .max(100)\n    .optional(),\n  bulkActionMetadata: z\n    .object({\n      totalSuccesses: z\n        .number()\n        .int()\n        .describe('Number of items that were successfully processed.')\n        .optional(),\n      totalFailures: z\n        .number()\n        .int()\n        .describe(\"Number of items that couldn't be processed.\")\n        .optional(),\n      undetailedFailures: z\n        .number()\n        .int()\n        .describe(\n          'Number of failures without details because detailed failure threshold was exceeded.'\n        )\n        .optional(),\n    })\n    .describe('Metadata for the bulk update.')\n    .optional(),\n});\nexport const BulkUpdateRuleTagsByFilterRequest = z.object({\n  filter: z\n    .record(z.string(), z.any())\n    .describe('Filter that determines which rules to update tags for.'),\n  options: z\n    .object({\n      assignTags: z\n        .object({\n          privateTags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n            )\n            .optional(),\n          tags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n            )\n            .optional(),\n        })\n        .describe('Tags to assign to the rules.')\n        .optional(),\n      unassignTags: z\n        .object({\n          privateTags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that require an additional permission in order to access them, normally not given to site members or visitors.'\n            )\n            .optional(),\n          tags: z\n            .object({ tagIds: z.array(z.string()).max(100).optional() })\n            .describe(\n              'Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.'\n            )\n            .optional(),\n        })\n        .describe('Tags to unassign from the rules.')\n        .optional(),\n    })\n    .optional(),\n});\nexport const BulkUpdateRuleTagsByFilterResponse = z.object({\n  jobId: z\n    .string()\n    .describe(\n      \"Job ID. Pass this ID to Get Async Job ([SDK](https://dev.wix.com/docs/sdk/backend-modules/async-jobs/get-async-job) | [REST](https://dev.wix.com/docs/rest/business-management/async-job/get-async-job)) to track the job's status.\"\n    )\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    )\n    .optional(),\n});\n"],"mappings":"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","names":[]}