{"version":3,"sources":["../../src/loyalty-referral-v1-program-programs.schemas.ts"],"sourcesContent":["import * as z from 'zod';\n\nexport const GetReferralProgramRequest = z.object({});\nexport const GetReferralProgramResponse = z.object({\n  referralProgram: z\n    .object({\n      name: z\n        .string()\n        .describe('Referral program name.')\n        .min(2)\n        .max(50)\n        .optional()\n        .nullable(),\n      status: z.enum(['UNKNOWN', 'DRAFT', 'ACTIVE', 'PAUSED']).optional(),\n      revision: z\n        .string()\n        .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n        .describe(\n          'Revision number, which increments by 1 each time the program is updated.\\nTo prevent conflicting changes, the current `revision` must be passed when updating the program.'\n        )\n        .optional()\n        .nullable(),\n      _createdDate: z\n        .date()\n        .describe('Date and time the program was created.')\n        .optional()\n        .nullable(),\n      _updatedDate: z\n        .date()\n        .describe('Date and time the program was last updated.')\n        .optional()\n        .nullable(),\n      referredFriendReward: z\n        .intersection(\n          z.object({\n            type: z\n              .enum(['UNKNOWN', 'COUPON', 'LOYALTY_POINTS', 'NOTHING'])\n              .describe('Type of the reward.')\n              .optional(),\n          }),\n          z.xor([\n            z.object({\n              couponOptions: z.never().optional(),\n              loyaltyPointsOptions: z.never().optional(),\n            }),\n            z.object({\n              loyaltyPointsOptions: z.never().optional(),\n              couponOptions: z\n                .intersection(\n                  z.object({\n                    name: z\n                      .string()\n                      .describe('Coupon name.')\n                      .min(1)\n                      .max(50)\n                      .optional(),\n                    discountType: z\n                      .enum([\n                        'UNKNOWN',\n                        'FIXED_AMOUNT',\n                        'PERCENTAGE',\n                        'FREE_SHIPPING',\n                      ])\n                      .describe('Coupon discount type.')\n                      .optional(),\n                    limitedToOneItem: z\n                      .boolean()\n                      .describe(\n                        'Whether the coupon is limited to one item.\\nIf `true` and a customer pays for multiple items, the discount applies to only the lowest priced item.\\nCoupons with a bookings `scope.namespace` are always limited to one item.'\n                      )\n                      .optional()\n                      .nullable(),\n                    appliesToSubscriptions: z\n                      .boolean()\n                      .describe(\n                        'Whether the coupon applies to subscription products.'\n                      )\n                      .optional()\n                      .nullable(),\n                    discountedCycleCount: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Specifies the amount of discounted cycles for a subscription item.\\n\\n- Can only be set when `scope.namespace = pricingPlans`.\\n- If `discountedCycleCount` is empty, the coupon applies to all available cycles.\\n- `discountedCycleCount` is ignored if `appliesToSubscriptions = true`.\\n\\nMax: `999`'\n                      )\n                      .optional()\n                      .nullable(),\n                  }),\n                  z.intersection(\n                    z.xor([\n                      z.object({\n                        fixedAmountOptions: z.never().optional(),\n                        percentageOptions: z.never().optional(),\n                      }),\n                      z.object({\n                        percentageOptions: z.never().optional(),\n                        fixedAmountOptions: z\n                          .object({\n                            amount: z\n                              .number()\n                              .describe(\n                                'Amount of the discount as a fixed value.'\n                              )\n                              .min(0.01)\n                              .optional(),\n                          })\n                          .describe('Options for fixed amount discount.'),\n                      }),\n                      z.object({\n                        fixedAmountOptions: z.never().optional(),\n                        percentageOptions: z\n                          .object({\n                            percentage: z\n                              .number()\n                              .describe('Percentage of discount.')\n                              .min(0)\n                              .max(100)\n                              .optional(),\n                          })\n                          .describe('Options for percentage discounts.'),\n                      }),\n                    ]),\n                    z.xor([\n                      z.object({\n                        minimumSubtotal: z.never().optional(),\n                        scope: z.never().optional(),\n                      }),\n                      z.object({\n                        scope: z.never().optional(),\n                        minimumSubtotal: z\n                          .number()\n                          .describe(\n                            'Limit the coupon to carts with a subtotal above this number.'\n                          ),\n                      }),\n                      z.object({\n                        minimumSubtotal: z.never().optional(),\n                        scope: z\n                          .object({\n                            namespace: z\n                              .string()\n                              .describe(\n                                'Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans)'\n                              )\n                              .optional(),\n                            group: z\n                              .object({\n                                name: z\n                                  .string()\n                                  .describe('Name of the group.')\n                                  .optional(),\n                                entityId: z\n                                  .string()\n                                  .describe('Entity ID of the group.')\n                                  .optional()\n                                  .nullable(),\n                              })\n                              .describe(\n                                \"Coupon scope's applied group, for example, Event or ticket in Wix Events.\"\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Specifies the type of line items this coupon will apply to. See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values).'\n                          ),\n                      }),\n                    ])\n                  )\n                )\n                .describe('Options for coupon reward type.'),\n            }),\n            z.object({\n              couponOptions: z.never().optional(),\n              loyaltyPointsOptions: z\n                .object({\n                  amount: z\n                    .number()\n                    .int()\n                    .describe('Number of loyalty points to give.')\n                    .min(1)\n                    .max(9999999)\n                    .optional(),\n                })\n                .describe('Options for the Loyalty points reward type.'),\n            }),\n          ])\n        )\n        .describe(\n          'Reward configuration for the referred friend.\\nSpecifies the reward given to a new customer who was referred to the business.'\n        )\n        .optional(),\n      referringCustomerReward: z\n        .intersection(\n          z.object({\n            type: z\n              .enum(['UNKNOWN', 'COUPON', 'LOYALTY_POINTS', 'NOTHING'])\n              .describe('Type of the reward.')\n              .optional(),\n          }),\n          z.xor([\n            z.object({\n              couponOptions: z.never().optional(),\n              loyaltyPointsOptions: z.never().optional(),\n            }),\n            z.object({\n              loyaltyPointsOptions: z.never().optional(),\n              couponOptions: z\n                .intersection(\n                  z.object({\n                    name: z\n                      .string()\n                      .describe('Coupon name.')\n                      .min(1)\n                      .max(50)\n                      .optional(),\n                    discountType: z\n                      .enum([\n                        'UNKNOWN',\n                        'FIXED_AMOUNT',\n                        'PERCENTAGE',\n                        'FREE_SHIPPING',\n                      ])\n                      .describe('Coupon discount type.')\n                      .optional(),\n                    limitedToOneItem: z\n                      .boolean()\n                      .describe(\n                        'Whether the coupon is limited to one item.\\nIf `true` and a customer pays for multiple items, the discount applies to only the lowest priced item.\\nCoupons with a bookings `scope.namespace` are always limited to one item.'\n                      )\n                      .optional()\n                      .nullable(),\n                    appliesToSubscriptions: z\n                      .boolean()\n                      .describe(\n                        'Whether the coupon applies to subscription products.'\n                      )\n                      .optional()\n                      .nullable(),\n                    discountedCycleCount: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Specifies the amount of discounted cycles for a subscription item.\\n\\n- Can only be set when `scope.namespace = pricingPlans`.\\n- If `discountedCycleCount` is empty, the coupon applies to all available cycles.\\n- `discountedCycleCount` is ignored if `appliesToSubscriptions = true`.\\n\\nMax: `999`'\n                      )\n                      .optional()\n                      .nullable(),\n                  }),\n                  z.intersection(\n                    z.xor([\n                      z.object({\n                        fixedAmountOptions: z.never().optional(),\n                        percentageOptions: z.never().optional(),\n                      }),\n                      z.object({\n                        percentageOptions: z.never().optional(),\n                        fixedAmountOptions: z\n                          .object({\n                            amount: z\n                              .number()\n                              .describe(\n                                'Amount of the discount as a fixed value.'\n                              )\n                              .min(0.01)\n                              .optional(),\n                          })\n                          .describe('Options for fixed amount discount.'),\n                      }),\n                      z.object({\n                        fixedAmountOptions: z.never().optional(),\n                        percentageOptions: z\n                          .object({\n                            percentage: z\n                              .number()\n                              .describe('Percentage of discount.')\n                              .min(0)\n                              .max(100)\n                              .optional(),\n                          })\n                          .describe('Options for percentage discounts.'),\n                      }),\n                    ]),\n                    z.xor([\n                      z.object({\n                        minimumSubtotal: z.never().optional(),\n                        scope: z.never().optional(),\n                      }),\n                      z.object({\n                        scope: z.never().optional(),\n                        minimumSubtotal: z\n                          .number()\n                          .describe(\n                            'Limit the coupon to carts with a subtotal above this number.'\n                          ),\n                      }),\n                      z.object({\n                        minimumSubtotal: z.never().optional(),\n                        scope: z\n                          .object({\n                            namespace: z\n                              .string()\n                              .describe(\n                                'Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans)'\n                              )\n                              .optional(),\n                            group: z\n                              .object({\n                                name: z\n                                  .string()\n                                  .describe('Name of the group.')\n                                  .optional(),\n                                entityId: z\n                                  .string()\n                                  .describe('Entity ID of the group.')\n                                  .optional()\n                                  .nullable(),\n                              })\n                              .describe(\n                                \"Coupon scope's applied group, for example, Event or ticket in Wix Events.\"\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Specifies the type of line items this coupon will apply to. See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values).'\n                          ),\n                      }),\n                    ])\n                  )\n                )\n                .describe('Options for coupon reward type.'),\n            }),\n            z.object({\n              couponOptions: z.never().optional(),\n              loyaltyPointsOptions: z\n                .object({\n                  amount: z\n                    .number()\n                    .int()\n                    .describe('Number of loyalty points to give.')\n                    .min(1)\n                    .max(9999999)\n                    .optional(),\n                })\n                .describe('Options for the Loyalty points reward type.'),\n            }),\n          ])\n        )\n        .describe(\n          'Reward configuration for the referring customer.\\nSpecifies the reward given to an existing customer who referred a new customer to the business.'\n        )\n        .optional(),\n      successfulReferralActions: z\n        .array(\n          z.enum([\n            'UNKNOWN',\n            'STORE_ORDER_PLACED',\n            'PLAN_ORDERED',\n            'TICKET_ORDERED',\n            'SESSION_BOOKED',\n            'RESTAURANT_ORDER_PLACED',\n            'ONLINE_PROGRAM_JOINED',\n          ])\n        )\n        .max(100)\n        .optional(),\n      emails: z\n        .object({\n          encourageToReferFriends: z\n            .array(\n              z.enum([\n                'UNKNOWN',\n                'STORES',\n                'PRICING_PLANS',\n                'EVENTS',\n                'BOOKINGS',\n                'RESTAURANTS',\n                'ONLINE_PROGRAMS',\n              ])\n            )\n            .optional(),\n          notifyCustomersAboutReward: z\n            .boolean()\n            .describe(\n              'Whether to send email notifications to referring customers when they receive a referral reward.\\nIf true, referring customers will be notified by email when their referred friend completes a qualifying action (for example, placing an order).'\n            )\n            .optional(),\n        })\n        .describe('Configures email notifications for the referral program.')\n        .optional(),\n      premiumFeatures: z\n        .object({\n          referralProgram: z\n            .boolean()\n            .describe(\n              'Whether the site owner has access to the referral program feature.'\n            )\n            .optional(),\n        })\n        .describe(\n          'Indicates which premium features are available for the current account.'\n        )\n        .optional(),\n    })\n    .describe('Retrieved referral program.')\n    .optional(),\n});\nexport const UpdateReferralProgramRequest = z.object({\n  referralProgram: z\n    .object({\n      name: z\n        .string()\n        .describe('Referral program name.')\n        .min(2)\n        .max(50)\n        .optional()\n        .nullable(),\n      status: z.enum(['UNKNOWN', 'DRAFT', 'ACTIVE', 'PAUSED']).optional(),\n      revision: z\n        .string()\n        .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n        .describe(\n          'Revision number, which increments by 1 each time the program is updated.\\nTo prevent conflicting changes, the current `revision` must be passed when updating the program.'\n        ),\n      _createdDate: z\n        .date()\n        .describe('Date and time the program was created.')\n        .optional()\n        .nullable(),\n      _updatedDate: z\n        .date()\n        .describe('Date and time the program was last updated.')\n        .optional()\n        .nullable(),\n      referredFriendReward: z\n        .intersection(\n          z.object({\n            type: z\n              .enum(['UNKNOWN', 'COUPON', 'LOYALTY_POINTS', 'NOTHING'])\n              .optional(),\n          }),\n          z.xor([\n            z.object({\n              couponOptions: z.never().optional(),\n              loyaltyPointsOptions: z.never().optional(),\n            }),\n            z.object({\n              loyaltyPointsOptions: z.never().optional(),\n              couponOptions: z\n                .intersection(\n                  z.object({\n                    name: z\n                      .string()\n                      .describe('Coupon name.')\n                      .min(1)\n                      .max(50)\n                      .optional(),\n                    discountType: z\n                      .enum([\n                        'UNKNOWN',\n                        'FIXED_AMOUNT',\n                        'PERCENTAGE',\n                        'FREE_SHIPPING',\n                      ])\n                      .describe('Coupon discount type.')\n                      .optional(),\n                    limitedToOneItem: z\n                      .boolean()\n                      .describe(\n                        'Whether the coupon is limited to one item.\\nIf `true` and a customer pays for multiple items, the discount applies to only the lowest priced item.\\nCoupons with a bookings `scope.namespace` are always limited to one item.'\n                      )\n                      .optional()\n                      .nullable(),\n                    appliesToSubscriptions: z\n                      .boolean()\n                      .describe(\n                        'Whether the coupon applies to subscription products.'\n                      )\n                      .optional()\n                      .nullable(),\n                    discountedCycleCount: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Specifies the amount of discounted cycles for a subscription item.\\n\\n- Can only be set when `scope.namespace = pricingPlans`.\\n- If `discountedCycleCount` is empty, the coupon applies to all available cycles.\\n- `discountedCycleCount` is ignored if `appliesToSubscriptions = true`.\\n\\nMax: `999`'\n                      )\n                      .optional()\n                      .nullable(),\n                  }),\n                  z.intersection(\n                    z.xor([\n                      z.object({\n                        fixedAmountOptions: z.never().optional(),\n                        percentageOptions: z.never().optional(),\n                      }),\n                      z.object({\n                        percentageOptions: z.never().optional(),\n                        fixedAmountOptions: z\n                          .object({\n                            amount: z\n                              .number()\n                              .describe(\n                                'Amount of the discount as a fixed value.'\n                              )\n                              .min(0.01)\n                              .optional(),\n                          })\n                          .describe('Options for fixed amount discount.'),\n                      }),\n                      z.object({\n                        fixedAmountOptions: z.never().optional(),\n                        percentageOptions: z\n                          .object({\n                            percentage: z\n                              .number()\n                              .describe('Percentage of discount.')\n                              .min(0)\n                              .max(100)\n                              .optional(),\n                          })\n                          .describe('Options for percentage discounts.'),\n                      }),\n                    ]),\n                    z.xor([\n                      z.object({\n                        minimumSubtotal: z.never().optional(),\n                        scope: z.never().optional(),\n                      }),\n                      z.object({\n                        scope: z.never().optional(),\n                        minimumSubtotal: z\n                          .number()\n                          .describe(\n                            'Limit the coupon to carts with a subtotal above this number.'\n                          ),\n                      }),\n                      z.object({\n                        minimumSubtotal: z.never().optional(),\n                        scope: z\n                          .object({\n                            namespace: z\n                              .string()\n                              .describe(\n                                'Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans)'\n                              )\n                              .optional(),\n                            group: z\n                              .object({\n                                name: z\n                                  .string()\n                                  .describe('Name of the group.')\n                                  .optional(),\n                                entityId: z\n                                  .string()\n                                  .describe('Entity ID of the group.')\n                                  .optional()\n                                  .nullable(),\n                              })\n                              .describe(\n                                \"Coupon scope's applied group, for example, Event or ticket in Wix Events.\"\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Specifies the type of line items this coupon will apply to. See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values).'\n                          ),\n                      }),\n                    ])\n                  )\n                )\n                .describe('Options for coupon reward type.'),\n            }),\n            z.object({\n              couponOptions: z.never().optional(),\n              loyaltyPointsOptions: z\n                .object({\n                  amount: z\n                    .number()\n                    .int()\n                    .describe('Number of loyalty points to give.')\n                    .min(1)\n                    .max(9999999)\n                    .optional(),\n                })\n                .describe('Options for the Loyalty points reward type.'),\n            }),\n          ])\n        )\n        .describe(\n          'Reward configuration for the referred friend.\\nSpecifies the reward given to a new customer who was referred to the business.'\n        )\n        .optional(),\n      referringCustomerReward: z\n        .intersection(\n          z.object({\n            type: z\n              .enum(['UNKNOWN', 'COUPON', 'LOYALTY_POINTS', 'NOTHING'])\n              .optional(),\n          }),\n          z.xor([\n            z.object({\n              couponOptions: z.never().optional(),\n              loyaltyPointsOptions: z.never().optional(),\n            }),\n            z.object({\n              loyaltyPointsOptions: z.never().optional(),\n              couponOptions: z\n                .intersection(\n                  z.object({\n                    name: z\n                      .string()\n                      .describe('Coupon name.')\n                      .min(1)\n                      .max(50)\n                      .optional(),\n                    discountType: z\n                      .enum([\n                        'UNKNOWN',\n                        'FIXED_AMOUNT',\n                        'PERCENTAGE',\n                        'FREE_SHIPPING',\n                      ])\n                      .describe('Coupon discount type.')\n                      .optional(),\n                    limitedToOneItem: z\n                      .boolean()\n                      .describe(\n                        'Whether the coupon is limited to one item.\\nIf `true` and a customer pays for multiple items, the discount applies to only the lowest priced item.\\nCoupons with a bookings `scope.namespace` are always limited to one item.'\n                      )\n                      .optional()\n                      .nullable(),\n                    appliesToSubscriptions: z\n                      .boolean()\n                      .describe(\n                        'Whether the coupon applies to subscription products.'\n                      )\n                      .optional()\n                      .nullable(),\n                    discountedCycleCount: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Specifies the amount of discounted cycles for a subscription item.\\n\\n- Can only be set when `scope.namespace = pricingPlans`.\\n- If `discountedCycleCount` is empty, the coupon applies to all available cycles.\\n- `discountedCycleCount` is ignored if `appliesToSubscriptions = true`.\\n\\nMax: `999`'\n                      )\n                      .optional()\n                      .nullable(),\n                  }),\n                  z.intersection(\n                    z.xor([\n                      z.object({\n                        fixedAmountOptions: z.never().optional(),\n                        percentageOptions: z.never().optional(),\n                      }),\n                      z.object({\n                        percentageOptions: z.never().optional(),\n                        fixedAmountOptions: z\n                          .object({\n                            amount: z\n                              .number()\n                              .describe(\n                                'Amount of the discount as a fixed value.'\n                              )\n                              .min(0.01)\n                              .optional(),\n                          })\n                          .describe('Options for fixed amount discount.'),\n                      }),\n                      z.object({\n                        fixedAmountOptions: z.never().optional(),\n                        percentageOptions: z\n                          .object({\n                            percentage: z\n                              .number()\n                              .describe('Percentage of discount.')\n                              .min(0)\n                              .max(100)\n                              .optional(),\n                          })\n                          .describe('Options for percentage discounts.'),\n                      }),\n                    ]),\n                    z.xor([\n                      z.object({\n                        minimumSubtotal: z.never().optional(),\n                        scope: z.never().optional(),\n                      }),\n                      z.object({\n                        scope: z.never().optional(),\n                        minimumSubtotal: z\n                          .number()\n                          .describe(\n                            'Limit the coupon to carts with a subtotal above this number.'\n                          ),\n                      }),\n                      z.object({\n                        minimumSubtotal: z.never().optional(),\n                        scope: z\n                          .object({\n                            namespace: z\n                              .string()\n                              .describe(\n                                'Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans)'\n                              )\n                              .optional(),\n                            group: z\n                              .object({\n                                name: z\n                                  .string()\n                                  .describe('Name of the group.')\n                                  .optional(),\n                                entityId: z\n                                  .string()\n                                  .describe('Entity ID of the group.')\n                                  .optional()\n                                  .nullable(),\n                              })\n                              .describe(\n                                \"Coupon scope's applied group, for example, Event or ticket in Wix Events.\"\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Specifies the type of line items this coupon will apply to. See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values).'\n                          ),\n                      }),\n                    ])\n                  )\n                )\n                .describe('Options for coupon reward type.'),\n            }),\n            z.object({\n              couponOptions: z.never().optional(),\n              loyaltyPointsOptions: z\n                .object({\n                  amount: z\n                    .number()\n                    .int()\n                    .describe('Number of loyalty points to give.')\n                    .min(1)\n                    .max(9999999)\n                    .optional(),\n                })\n                .describe('Options for the Loyalty points reward type.'),\n            }),\n          ])\n        )\n        .describe(\n          'Reward configuration for the referring customer.\\nSpecifies the reward given to an existing customer who referred a new customer to the business.'\n        )\n        .optional(),\n      successfulReferralActions: z\n        .array(\n          z.enum([\n            'UNKNOWN',\n            'STORE_ORDER_PLACED',\n            'PLAN_ORDERED',\n            'TICKET_ORDERED',\n            'SESSION_BOOKED',\n            'RESTAURANT_ORDER_PLACED',\n            'ONLINE_PROGRAM_JOINED',\n          ])\n        )\n        .max(100)\n        .optional(),\n      emails: z\n        .object({\n          encourageToReferFriends: z\n            .array(\n              z.enum([\n                'UNKNOWN',\n                'STORES',\n                'PRICING_PLANS',\n                'EVENTS',\n                'BOOKINGS',\n                'RESTAURANTS',\n                'ONLINE_PROGRAMS',\n              ])\n            )\n            .optional(),\n          notifyCustomersAboutReward: z\n            .boolean()\n            .describe(\n              'Whether to send email notifications to referring customers when they receive a referral reward.\\nIf true, referring customers will be notified by email when their referred friend completes a qualifying action (for example, placing an order).'\n            )\n            .optional(),\n        })\n        .describe('Configures email notifications for the referral program.')\n        .optional(),\n      premiumFeatures: z\n        .object({\n          referralProgram: z\n            .boolean()\n            .describe(\n              'Whether the site owner has access to the referral program feature.'\n            )\n            .optional(),\n        })\n        .describe(\n          'Indicates which premium features are available for the current account.'\n        )\n        .optional(),\n    })\n    .describe(\n      'Referral program to update. Include the latest `revision` for a successful update.'\n    ),\n});\nexport const UpdateReferralProgramResponse = z.object({\n  referralProgram: z\n    .object({\n      name: z\n        .string()\n        .describe('Referral program name.')\n        .min(2)\n        .max(50)\n        .optional()\n        .nullable(),\n      status: z.enum(['UNKNOWN', 'DRAFT', 'ACTIVE', 'PAUSED']).optional(),\n      revision: z\n        .string()\n        .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n        .describe(\n          'Revision number, which increments by 1 each time the program is updated.\\nTo prevent conflicting changes, the current `revision` must be passed when updating the program.'\n        )\n        .optional()\n        .nullable(),\n      _createdDate: z\n        .date()\n        .describe('Date and time the program was created.')\n        .optional()\n        .nullable(),\n      _updatedDate: z\n        .date()\n        .describe('Date and time the program was last updated.')\n        .optional()\n        .nullable(),\n      referredFriendReward: z\n        .intersection(\n          z.object({\n            type: z\n              .enum(['UNKNOWN', 'COUPON', 'LOYALTY_POINTS', 'NOTHING'])\n              .describe('Type of the reward.')\n              .optional(),\n          }),\n          z.xor([\n            z.object({\n              couponOptions: z.never().optional(),\n              loyaltyPointsOptions: z.never().optional(),\n            }),\n            z.object({\n              loyaltyPointsOptions: z.never().optional(),\n              couponOptions: z\n                .intersection(\n                  z.object({\n                    name: z\n                      .string()\n                      .describe('Coupon name.')\n                      .min(1)\n                      .max(50)\n                      .optional(),\n                    discountType: z\n                      .enum([\n                        'UNKNOWN',\n                        'FIXED_AMOUNT',\n                        'PERCENTAGE',\n                        'FREE_SHIPPING',\n                      ])\n                      .describe('Coupon discount type.')\n                      .optional(),\n                    limitedToOneItem: z\n                      .boolean()\n                      .describe(\n                        'Whether the coupon is limited to one item.\\nIf `true` and a customer pays for multiple items, the discount applies to only the lowest priced item.\\nCoupons with a bookings `scope.namespace` are always limited to one item.'\n                      )\n                      .optional()\n                      .nullable(),\n                    appliesToSubscriptions: z\n                      .boolean()\n                      .describe(\n                        'Whether the coupon applies to subscription products.'\n                      )\n                      .optional()\n                      .nullable(),\n                    discountedCycleCount: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Specifies the amount of discounted cycles for a subscription item.\\n\\n- Can only be set when `scope.namespace = pricingPlans`.\\n- If `discountedCycleCount` is empty, the coupon applies to all available cycles.\\n- `discountedCycleCount` is ignored if `appliesToSubscriptions = true`.\\n\\nMax: `999`'\n                      )\n                      .optional()\n                      .nullable(),\n                  }),\n                  z.intersection(\n                    z.xor([\n                      z.object({\n                        fixedAmountOptions: z.never().optional(),\n                        percentageOptions: z.never().optional(),\n                      }),\n                      z.object({\n                        percentageOptions: z.never().optional(),\n                        fixedAmountOptions: z\n                          .object({\n                            amount: z\n                              .number()\n                              .describe(\n                                'Amount of the discount as a fixed value.'\n                              )\n                              .min(0.01)\n                              .optional(),\n                          })\n                          .describe('Options for fixed amount discount.'),\n                      }),\n                      z.object({\n                        fixedAmountOptions: z.never().optional(),\n                        percentageOptions: z\n                          .object({\n                            percentage: z\n                              .number()\n                              .describe('Percentage of discount.')\n                              .min(0)\n                              .max(100)\n                              .optional(),\n                          })\n                          .describe('Options for percentage discounts.'),\n                      }),\n                    ]),\n                    z.xor([\n                      z.object({\n                        minimumSubtotal: z.never().optional(),\n                        scope: z.never().optional(),\n                      }),\n                      z.object({\n                        scope: z.never().optional(),\n                        minimumSubtotal: z\n                          .number()\n                          .describe(\n                            'Limit the coupon to carts with a subtotal above this number.'\n                          ),\n                      }),\n                      z.object({\n                        minimumSubtotal: z.never().optional(),\n                        scope: z\n                          .object({\n                            namespace: z\n                              .string()\n                              .describe(\n                                'Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans)'\n                              )\n                              .optional(),\n                            group: z\n                              .object({\n                                name: z\n                                  .string()\n                                  .describe('Name of the group.')\n                                  .optional(),\n                                entityId: z\n                                  .string()\n                                  .describe('Entity ID of the group.')\n                                  .optional()\n                                  .nullable(),\n                              })\n                              .describe(\n                                \"Coupon scope's applied group, for example, Event or ticket in Wix Events.\"\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Specifies the type of line items this coupon will apply to. See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values).'\n                          ),\n                      }),\n                    ])\n                  )\n                )\n                .describe('Options for coupon reward type.'),\n            }),\n            z.object({\n              couponOptions: z.never().optional(),\n              loyaltyPointsOptions: z\n                .object({\n                  amount: z\n                    .number()\n                    .int()\n                    .describe('Number of loyalty points to give.')\n                    .min(1)\n                    .max(9999999)\n                    .optional(),\n                })\n                .describe('Options for the Loyalty points reward type.'),\n            }),\n          ])\n        )\n        .describe(\n          'Reward configuration for the referred friend.\\nSpecifies the reward given to a new customer who was referred to the business.'\n        )\n        .optional(),\n      referringCustomerReward: z\n        .intersection(\n          z.object({\n            type: z\n              .enum(['UNKNOWN', 'COUPON', 'LOYALTY_POINTS', 'NOTHING'])\n              .describe('Type of the reward.')\n              .optional(),\n          }),\n          z.xor([\n            z.object({\n              couponOptions: z.never().optional(),\n              loyaltyPointsOptions: z.never().optional(),\n            }),\n            z.object({\n              loyaltyPointsOptions: z.never().optional(),\n              couponOptions: z\n                .intersection(\n                  z.object({\n                    name: z\n                      .string()\n                      .describe('Coupon name.')\n                      .min(1)\n                      .max(50)\n                      .optional(),\n                    discountType: z\n                      .enum([\n                        'UNKNOWN',\n                        'FIXED_AMOUNT',\n                        'PERCENTAGE',\n                        'FREE_SHIPPING',\n                      ])\n                      .describe('Coupon discount type.')\n                      .optional(),\n                    limitedToOneItem: z\n                      .boolean()\n                      .describe(\n                        'Whether the coupon is limited to one item.\\nIf `true` and a customer pays for multiple items, the discount applies to only the lowest priced item.\\nCoupons with a bookings `scope.namespace` are always limited to one item.'\n                      )\n                      .optional()\n                      .nullable(),\n                    appliesToSubscriptions: z\n                      .boolean()\n                      .describe(\n                        'Whether the coupon applies to subscription products.'\n                      )\n                      .optional()\n                      .nullable(),\n                    discountedCycleCount: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Specifies the amount of discounted cycles for a subscription item.\\n\\n- Can only be set when `scope.namespace = pricingPlans`.\\n- If `discountedCycleCount` is empty, the coupon applies to all available cycles.\\n- `discountedCycleCount` is ignored if `appliesToSubscriptions = true`.\\n\\nMax: `999`'\n                      )\n                      .optional()\n                      .nullable(),\n                  }),\n                  z.intersection(\n                    z.xor([\n                      z.object({\n                        fixedAmountOptions: z.never().optional(),\n                        percentageOptions: z.never().optional(),\n                      }),\n                      z.object({\n                        percentageOptions: z.never().optional(),\n                        fixedAmountOptions: z\n                          .object({\n                            amount: z\n                              .number()\n                              .describe(\n                                'Amount of the discount as a fixed value.'\n                              )\n                              .min(0.01)\n                              .optional(),\n                          })\n                          .describe('Options for fixed amount discount.'),\n                      }),\n                      z.object({\n                        fixedAmountOptions: z.never().optional(),\n                        percentageOptions: z\n                          .object({\n                            percentage: z\n                              .number()\n                              .describe('Percentage of discount.')\n                              .min(0)\n                              .max(100)\n                              .optional(),\n                          })\n                          .describe('Options for percentage discounts.'),\n                      }),\n                    ]),\n                    z.xor([\n                      z.object({\n                        minimumSubtotal: z.never().optional(),\n                        scope: z.never().optional(),\n                      }),\n                      z.object({\n                        scope: z.never().optional(),\n                        minimumSubtotal: z\n                          .number()\n                          .describe(\n                            'Limit the coupon to carts with a subtotal above this number.'\n                          ),\n                      }),\n                      z.object({\n                        minimumSubtotal: z.never().optional(),\n                        scope: z\n                          .object({\n                            namespace: z\n                              .string()\n                              .describe(\n                                'Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans)'\n                              )\n                              .optional(),\n                            group: z\n                              .object({\n                                name: z\n                                  .string()\n                                  .describe('Name of the group.')\n                                  .optional(),\n                                entityId: z\n                                  .string()\n                                  .describe('Entity ID of the group.')\n                                  .optional()\n                                  .nullable(),\n                              })\n                              .describe(\n                                \"Coupon scope's applied group, for example, Event or ticket in Wix Events.\"\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Specifies the type of line items this coupon will apply to. See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values).'\n                          ),\n                      }),\n                    ])\n                  )\n                )\n                .describe('Options for coupon reward type.'),\n            }),\n            z.object({\n              couponOptions: z.never().optional(),\n              loyaltyPointsOptions: z\n                .object({\n                  amount: z\n                    .number()\n                    .int()\n                    .describe('Number of loyalty points to give.')\n                    .min(1)\n                    .max(9999999)\n                    .optional(),\n                })\n                .describe('Options for the Loyalty points reward type.'),\n            }),\n          ])\n        )\n        .describe(\n          'Reward configuration for the referring customer.\\nSpecifies the reward given to an existing customer who referred a new customer to the business.'\n        )\n        .optional(),\n      successfulReferralActions: z\n        .array(\n          z.enum([\n            'UNKNOWN',\n            'STORE_ORDER_PLACED',\n            'PLAN_ORDERED',\n            'TICKET_ORDERED',\n            'SESSION_BOOKED',\n            'RESTAURANT_ORDER_PLACED',\n            'ONLINE_PROGRAM_JOINED',\n          ])\n        )\n        .max(100)\n        .optional(),\n      emails: z\n        .object({\n          encourageToReferFriends: z\n            .array(\n              z.enum([\n                'UNKNOWN',\n                'STORES',\n                'PRICING_PLANS',\n                'EVENTS',\n                'BOOKINGS',\n                'RESTAURANTS',\n                'ONLINE_PROGRAMS',\n              ])\n            )\n            .optional(),\n          notifyCustomersAboutReward: z\n            .boolean()\n            .describe(\n              'Whether to send email notifications to referring customers when they receive a referral reward.\\nIf true, referring customers will be notified by email when their referred friend completes a qualifying action (for example, placing an order).'\n            )\n            .optional(),\n        })\n        .describe('Configures email notifications for the referral program.')\n        .optional(),\n      premiumFeatures: z\n        .object({\n          referralProgram: z\n            .boolean()\n            .describe(\n              'Whether the site owner has access to the referral program feature.'\n            )\n            .optional(),\n        })\n        .describe(\n          'Indicates which premium features are available for the current account.'\n        )\n        .optional(),\n    })\n    .describe('Updated referral program.')\n    .optional(),\n});\nexport const ActivateReferralProgramRequest = z.object({});\nexport const ActivateReferralProgramResponse = z.object({\n  referralProgram: z\n    .object({\n      name: z\n        .string()\n        .describe('Referral program name.')\n        .min(2)\n        .max(50)\n        .optional()\n        .nullable(),\n      status: z.enum(['UNKNOWN', 'DRAFT', 'ACTIVE', 'PAUSED']).optional(),\n      revision: z\n        .string()\n        .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n        .describe(\n          'Revision number, which increments by 1 each time the program is updated.\\nTo prevent conflicting changes, the current `revision` must be passed when updating the program.'\n        )\n        .optional()\n        .nullable(),\n      _createdDate: z\n        .date()\n        .describe('Date and time the program was created.')\n        .optional()\n        .nullable(),\n      _updatedDate: z\n        .date()\n        .describe('Date and time the program was last updated.')\n        .optional()\n        .nullable(),\n      referredFriendReward: z\n        .intersection(\n          z.object({\n            type: z\n              .enum(['UNKNOWN', 'COUPON', 'LOYALTY_POINTS', 'NOTHING'])\n              .describe('Type of the reward.')\n              .optional(),\n          }),\n          z.xor([\n            z.object({\n              couponOptions: z.never().optional(),\n              loyaltyPointsOptions: z.never().optional(),\n            }),\n            z.object({\n              loyaltyPointsOptions: z.never().optional(),\n              couponOptions: z\n                .intersection(\n                  z.object({\n                    name: z\n                      .string()\n                      .describe('Coupon name.')\n                      .min(1)\n                      .max(50)\n                      .optional(),\n                    discountType: z\n                      .enum([\n                        'UNKNOWN',\n                        'FIXED_AMOUNT',\n                        'PERCENTAGE',\n                        'FREE_SHIPPING',\n                      ])\n                      .describe('Coupon discount type.')\n                      .optional(),\n                    limitedToOneItem: z\n                      .boolean()\n                      .describe(\n                        'Whether the coupon is limited to one item.\\nIf `true` and a customer pays for multiple items, the discount applies to only the lowest priced item.\\nCoupons with a bookings `scope.namespace` are always limited to one item.'\n                      )\n                      .optional()\n                      .nullable(),\n                    appliesToSubscriptions: z\n                      .boolean()\n                      .describe(\n                        'Whether the coupon applies to subscription products.'\n                      )\n                      .optional()\n                      .nullable(),\n                    discountedCycleCount: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Specifies the amount of discounted cycles for a subscription item.\\n\\n- Can only be set when `scope.namespace = pricingPlans`.\\n- If `discountedCycleCount` is empty, the coupon applies to all available cycles.\\n- `discountedCycleCount` is ignored if `appliesToSubscriptions = true`.\\n\\nMax: `999`'\n                      )\n                      .optional()\n                      .nullable(),\n                  }),\n                  z.intersection(\n                    z.xor([\n                      z.object({\n                        fixedAmountOptions: z.never().optional(),\n                        percentageOptions: z.never().optional(),\n                      }),\n                      z.object({\n                        percentageOptions: z.never().optional(),\n                        fixedAmountOptions: z\n                          .object({\n                            amount: z\n                              .number()\n                              .describe(\n                                'Amount of the discount as a fixed value.'\n                              )\n                              .min(0.01)\n                              .optional(),\n                          })\n                          .describe('Options for fixed amount discount.'),\n                      }),\n                      z.object({\n                        fixedAmountOptions: z.never().optional(),\n                        percentageOptions: z\n                          .object({\n                            percentage: z\n                              .number()\n                              .describe('Percentage of discount.')\n                              .min(0)\n                              .max(100)\n                              .optional(),\n                          })\n                          .describe('Options for percentage discounts.'),\n                      }),\n                    ]),\n                    z.xor([\n                      z.object({\n                        minimumSubtotal: z.never().optional(),\n                        scope: z.never().optional(),\n                      }),\n                      z.object({\n                        scope: z.never().optional(),\n                        minimumSubtotal: z\n                          .number()\n                          .describe(\n                            'Limit the coupon to carts with a subtotal above this number.'\n                          ),\n                      }),\n                      z.object({\n                        minimumSubtotal: z.never().optional(),\n                        scope: z\n                          .object({\n                            namespace: z\n                              .string()\n                              .describe(\n                                'Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans)'\n                              )\n                              .optional(),\n                            group: z\n                              .object({\n                                name: z\n                                  .string()\n                                  .describe('Name of the group.')\n                                  .optional(),\n                                entityId: z\n                                  .string()\n                                  .describe('Entity ID of the group.')\n                                  .optional()\n                                  .nullable(),\n                              })\n                              .describe(\n                                \"Coupon scope's applied group, for example, Event or ticket in Wix Events.\"\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Specifies the type of line items this coupon will apply to. See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values).'\n                          ),\n                      }),\n                    ])\n                  )\n                )\n                .describe('Options for coupon reward type.'),\n            }),\n            z.object({\n              couponOptions: z.never().optional(),\n              loyaltyPointsOptions: z\n                .object({\n                  amount: z\n                    .number()\n                    .int()\n                    .describe('Number of loyalty points to give.')\n                    .min(1)\n                    .max(9999999)\n                    .optional(),\n                })\n                .describe('Options for the Loyalty points reward type.'),\n            }),\n          ])\n        )\n        .describe(\n          'Reward configuration for the referred friend.\\nSpecifies the reward given to a new customer who was referred to the business.'\n        )\n        .optional(),\n      referringCustomerReward: z\n        .intersection(\n          z.object({\n            type: z\n              .enum(['UNKNOWN', 'COUPON', 'LOYALTY_POINTS', 'NOTHING'])\n              .describe('Type of the reward.')\n              .optional(),\n          }),\n          z.xor([\n            z.object({\n              couponOptions: z.never().optional(),\n              loyaltyPointsOptions: z.never().optional(),\n            }),\n            z.object({\n              loyaltyPointsOptions: z.never().optional(),\n              couponOptions: z\n                .intersection(\n                  z.object({\n                    name: z\n                      .string()\n                      .describe('Coupon name.')\n                      .min(1)\n                      .max(50)\n                      .optional(),\n                    discountType: z\n                      .enum([\n                        'UNKNOWN',\n                        'FIXED_AMOUNT',\n                        'PERCENTAGE',\n                        'FREE_SHIPPING',\n                      ])\n                      .describe('Coupon discount type.')\n                      .optional(),\n                    limitedToOneItem: z\n                      .boolean()\n                      .describe(\n                        'Whether the coupon is limited to one item.\\nIf `true` and a customer pays for multiple items, the discount applies to only the lowest priced item.\\nCoupons with a bookings `scope.namespace` are always limited to one item.'\n                      )\n                      .optional()\n                      .nullable(),\n                    appliesToSubscriptions: z\n                      .boolean()\n                      .describe(\n                        'Whether the coupon applies to subscription products.'\n                      )\n                      .optional()\n                      .nullable(),\n                    discountedCycleCount: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Specifies the amount of discounted cycles for a subscription item.\\n\\n- Can only be set when `scope.namespace = pricingPlans`.\\n- If `discountedCycleCount` is empty, the coupon applies to all available cycles.\\n- `discountedCycleCount` is ignored if `appliesToSubscriptions = true`.\\n\\nMax: `999`'\n                      )\n                      .optional()\n                      .nullable(),\n                  }),\n                  z.intersection(\n                    z.xor([\n                      z.object({\n                        fixedAmountOptions: z.never().optional(),\n                        percentageOptions: z.never().optional(),\n                      }),\n                      z.object({\n                        percentageOptions: z.never().optional(),\n                        fixedAmountOptions: z\n                          .object({\n                            amount: z\n                              .number()\n                              .describe(\n                                'Amount of the discount as a fixed value.'\n                              )\n                              .min(0.01)\n                              .optional(),\n                          })\n                          .describe('Options for fixed amount discount.'),\n                      }),\n                      z.object({\n                        fixedAmountOptions: z.never().optional(),\n                        percentageOptions: z\n                          .object({\n                            percentage: z\n                              .number()\n                              .describe('Percentage of discount.')\n                              .min(0)\n                              .max(100)\n                              .optional(),\n                          })\n                          .describe('Options for percentage discounts.'),\n                      }),\n                    ]),\n                    z.xor([\n                      z.object({\n                        minimumSubtotal: z.never().optional(),\n                        scope: z.never().optional(),\n                      }),\n                      z.object({\n                        scope: z.never().optional(),\n                        minimumSubtotal: z\n                          .number()\n                          .describe(\n                            'Limit the coupon to carts with a subtotal above this number.'\n                          ),\n                      }),\n                      z.object({\n                        minimumSubtotal: z.never().optional(),\n                        scope: z\n                          .object({\n                            namespace: z\n                              .string()\n                              .describe(\n                                'Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans)'\n                              )\n                              .optional(),\n                            group: z\n                              .object({\n                                name: z\n                                  .string()\n                                  .describe('Name of the group.')\n                                  .optional(),\n                                entityId: z\n                                  .string()\n                                  .describe('Entity ID of the group.')\n                                  .optional()\n                                  .nullable(),\n                              })\n                              .describe(\n                                \"Coupon scope's applied group, for example, Event or ticket in Wix Events.\"\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Specifies the type of line items this coupon will apply to. See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values).'\n                          ),\n                      }),\n                    ])\n                  )\n                )\n                .describe('Options for coupon reward type.'),\n            }),\n            z.object({\n              couponOptions: z.never().optional(),\n              loyaltyPointsOptions: z\n                .object({\n                  amount: z\n                    .number()\n                    .int()\n                    .describe('Number of loyalty points to give.')\n                    .min(1)\n                    .max(9999999)\n                    .optional(),\n                })\n                .describe('Options for the Loyalty points reward type.'),\n            }),\n          ])\n        )\n        .describe(\n          'Reward configuration for the referring customer.\\nSpecifies the reward given to an existing customer who referred a new customer to the business.'\n        )\n        .optional(),\n      successfulReferralActions: z\n        .array(\n          z.enum([\n            'UNKNOWN',\n            'STORE_ORDER_PLACED',\n            'PLAN_ORDERED',\n            'TICKET_ORDERED',\n            'SESSION_BOOKED',\n            'RESTAURANT_ORDER_PLACED',\n            'ONLINE_PROGRAM_JOINED',\n          ])\n        )\n        .max(100)\n        .optional(),\n      emails: z\n        .object({\n          encourageToReferFriends: z\n            .array(\n              z.enum([\n                'UNKNOWN',\n                'STORES',\n                'PRICING_PLANS',\n                'EVENTS',\n                'BOOKINGS',\n                'RESTAURANTS',\n                'ONLINE_PROGRAMS',\n              ])\n            )\n            .optional(),\n          notifyCustomersAboutReward: z\n            .boolean()\n            .describe(\n              'Whether to send email notifications to referring customers when they receive a referral reward.\\nIf true, referring customers will be notified by email when their referred friend completes a qualifying action (for example, placing an order).'\n            )\n            .optional(),\n        })\n        .describe('Configures email notifications for the referral program.')\n        .optional(),\n      premiumFeatures: z\n        .object({\n          referralProgram: z\n            .boolean()\n            .describe(\n              'Whether the site owner has access to the referral program feature.'\n            )\n            .optional(),\n        })\n        .describe(\n          'Indicates which premium features are available for the current account.'\n        )\n        .optional(),\n    })\n    .describe('Activated referral program.')\n    .optional(),\n});\nexport const PauseReferralProgramRequest = z.object({});\nexport const PauseReferralProgramResponse = z.object({\n  referralProgram: z\n    .object({\n      name: z\n        .string()\n        .describe('Referral program name.')\n        .min(2)\n        .max(50)\n        .optional()\n        .nullable(),\n      status: z.enum(['UNKNOWN', 'DRAFT', 'ACTIVE', 'PAUSED']).optional(),\n      revision: z\n        .string()\n        .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n        .describe(\n          'Revision number, which increments by 1 each time the program is updated.\\nTo prevent conflicting changes, the current `revision` must be passed when updating the program.'\n        )\n        .optional()\n        .nullable(),\n      _createdDate: z\n        .date()\n        .describe('Date and time the program was created.')\n        .optional()\n        .nullable(),\n      _updatedDate: z\n        .date()\n        .describe('Date and time the program was last updated.')\n        .optional()\n        .nullable(),\n      referredFriendReward: z\n        .intersection(\n          z.object({\n            type: z\n              .enum(['UNKNOWN', 'COUPON', 'LOYALTY_POINTS', 'NOTHING'])\n              .describe('Type of the reward.')\n              .optional(),\n          }),\n          z.xor([\n            z.object({\n              couponOptions: z.never().optional(),\n              loyaltyPointsOptions: z.never().optional(),\n            }),\n            z.object({\n              loyaltyPointsOptions: z.never().optional(),\n              couponOptions: z\n                .intersection(\n                  z.object({\n                    name: z\n                      .string()\n                      .describe('Coupon name.')\n                      .min(1)\n                      .max(50)\n                      .optional(),\n                    discountType: z\n                      .enum([\n                        'UNKNOWN',\n                        'FIXED_AMOUNT',\n                        'PERCENTAGE',\n                        'FREE_SHIPPING',\n                      ])\n                      .describe('Coupon discount type.')\n                      .optional(),\n                    limitedToOneItem: z\n                      .boolean()\n                      .describe(\n                        'Whether the coupon is limited to one item.\\nIf `true` and a customer pays for multiple items, the discount applies to only the lowest priced item.\\nCoupons with a bookings `scope.namespace` are always limited to one item.'\n                      )\n                      .optional()\n                      .nullable(),\n                    appliesToSubscriptions: z\n                      .boolean()\n                      .describe(\n                        'Whether the coupon applies to subscription products.'\n                      )\n                      .optional()\n                      .nullable(),\n                    discountedCycleCount: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Specifies the amount of discounted cycles for a subscription item.\\n\\n- Can only be set when `scope.namespace = pricingPlans`.\\n- If `discountedCycleCount` is empty, the coupon applies to all available cycles.\\n- `discountedCycleCount` is ignored if `appliesToSubscriptions = true`.\\n\\nMax: `999`'\n                      )\n                      .optional()\n                      .nullable(),\n                  }),\n                  z.intersection(\n                    z.xor([\n                      z.object({\n                        fixedAmountOptions: z.never().optional(),\n                        percentageOptions: z.never().optional(),\n                      }),\n                      z.object({\n                        percentageOptions: z.never().optional(),\n                        fixedAmountOptions: z\n                          .object({\n                            amount: z\n                              .number()\n                              .describe(\n                                'Amount of the discount as a fixed value.'\n                              )\n                              .min(0.01)\n                              .optional(),\n                          })\n                          .describe('Options for fixed amount discount.'),\n                      }),\n                      z.object({\n                        fixedAmountOptions: z.never().optional(),\n                        percentageOptions: z\n                          .object({\n                            percentage: z\n                              .number()\n                              .describe('Percentage of discount.')\n                              .min(0)\n                              .max(100)\n                              .optional(),\n                          })\n                          .describe('Options for percentage discounts.'),\n                      }),\n                    ]),\n                    z.xor([\n                      z.object({\n                        minimumSubtotal: z.never().optional(),\n                        scope: z.never().optional(),\n                      }),\n                      z.object({\n                        scope: z.never().optional(),\n                        minimumSubtotal: z\n                          .number()\n                          .describe(\n                            'Limit the coupon to carts with a subtotal above this number.'\n                          ),\n                      }),\n                      z.object({\n                        minimumSubtotal: z.never().optional(),\n                        scope: z\n                          .object({\n                            namespace: z\n                              .string()\n                              .describe(\n                                'Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans)'\n                              )\n                              .optional(),\n                            group: z\n                              .object({\n                                name: z\n                                  .string()\n                                  .describe('Name of the group.')\n                                  .optional(),\n                                entityId: z\n                                  .string()\n                                  .describe('Entity ID of the group.')\n                                  .optional()\n                                  .nullable(),\n                              })\n                              .describe(\n                                \"Coupon scope's applied group, for example, Event or ticket in Wix Events.\"\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Specifies the type of line items this coupon will apply to. See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values).'\n                          ),\n                      }),\n                    ])\n                  )\n                )\n                .describe('Options for coupon reward type.'),\n            }),\n            z.object({\n              couponOptions: z.never().optional(),\n              loyaltyPointsOptions: z\n                .object({\n                  amount: z\n                    .number()\n                    .int()\n                    .describe('Number of loyalty points to give.')\n                    .min(1)\n                    .max(9999999)\n                    .optional(),\n                })\n                .describe('Options for the Loyalty points reward type.'),\n            }),\n          ])\n        )\n        .describe(\n          'Reward configuration for the referred friend.\\nSpecifies the reward given to a new customer who was referred to the business.'\n        )\n        .optional(),\n      referringCustomerReward: z\n        .intersection(\n          z.object({\n            type: z\n              .enum(['UNKNOWN', 'COUPON', 'LOYALTY_POINTS', 'NOTHING'])\n              .describe('Type of the reward.')\n              .optional(),\n          }),\n          z.xor([\n            z.object({\n              couponOptions: z.never().optional(),\n              loyaltyPointsOptions: z.never().optional(),\n            }),\n            z.object({\n              loyaltyPointsOptions: z.never().optional(),\n              couponOptions: z\n                .intersection(\n                  z.object({\n                    name: z\n                      .string()\n                      .describe('Coupon name.')\n                      .min(1)\n                      .max(50)\n                      .optional(),\n                    discountType: z\n                      .enum([\n                        'UNKNOWN',\n                        'FIXED_AMOUNT',\n                        'PERCENTAGE',\n                        'FREE_SHIPPING',\n                      ])\n                      .describe('Coupon discount type.')\n                      .optional(),\n                    limitedToOneItem: z\n                      .boolean()\n                      .describe(\n                        'Whether the coupon is limited to one item.\\nIf `true` and a customer pays for multiple items, the discount applies to only the lowest priced item.\\nCoupons with a bookings `scope.namespace` are always limited to one item.'\n                      )\n                      .optional()\n                      .nullable(),\n                    appliesToSubscriptions: z\n                      .boolean()\n                      .describe(\n                        'Whether the coupon applies to subscription products.'\n                      )\n                      .optional()\n                      .nullable(),\n                    discountedCycleCount: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Specifies the amount of discounted cycles for a subscription item.\\n\\n- Can only be set when `scope.namespace = pricingPlans`.\\n- If `discountedCycleCount` is empty, the coupon applies to all available cycles.\\n- `discountedCycleCount` is ignored if `appliesToSubscriptions = true`.\\n\\nMax: `999`'\n                      )\n                      .optional()\n                      .nullable(),\n                  }),\n                  z.intersection(\n                    z.xor([\n                      z.object({\n                        fixedAmountOptions: z.never().optional(),\n                        percentageOptions: z.never().optional(),\n                      }),\n                      z.object({\n                        percentageOptions: z.never().optional(),\n                        fixedAmountOptions: z\n                          .object({\n                            amount: z\n                              .number()\n                              .describe(\n                                'Amount of the discount as a fixed value.'\n                              )\n                              .min(0.01)\n                              .optional(),\n                          })\n                          .describe('Options for fixed amount discount.'),\n                      }),\n                      z.object({\n                        fixedAmountOptions: z.never().optional(),\n                        percentageOptions: z\n                          .object({\n                            percentage: z\n                              .number()\n                              .describe('Percentage of discount.')\n                              .min(0)\n                              .max(100)\n                              .optional(),\n                          })\n                          .describe('Options for percentage discounts.'),\n                      }),\n                    ]),\n                    z.xor([\n                      z.object({\n                        minimumSubtotal: z.never().optional(),\n                        scope: z.never().optional(),\n                      }),\n                      z.object({\n                        scope: z.never().optional(),\n                        minimumSubtotal: z\n                          .number()\n                          .describe(\n                            'Limit the coupon to carts with a subtotal above this number.'\n                          ),\n                      }),\n                      z.object({\n                        minimumSubtotal: z.never().optional(),\n                        scope: z\n                          .object({\n                            namespace: z\n                              .string()\n                              .describe(\n                                'Scope namespace (Wix Stores, Wix Bookings, Wix Events, Wix Pricing Plans)'\n                              )\n                              .optional(),\n                            group: z\n                              .object({\n                                name: z\n                                  .string()\n                                  .describe('Name of the group.')\n                                  .optional(),\n                                entityId: z\n                                  .string()\n                                  .describe('Entity ID of the group.')\n                                  .optional()\n                                  .nullable(),\n                              })\n                              .describe(\n                                \"Coupon scope's applied group, for example, Event or ticket in Wix Events.\"\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Specifies the type of line items this coupon will apply to. See [valid scope values](https://dev.wix.com/api/rest/coupons/coupons/valid-scope-values).'\n                          ),\n                      }),\n                    ])\n                  )\n                )\n                .describe('Options for coupon reward type.'),\n            }),\n            z.object({\n              couponOptions: z.never().optional(),\n              loyaltyPointsOptions: z\n                .object({\n                  amount: z\n                    .number()\n                    .int()\n                    .describe('Number of loyalty points to give.')\n                    .min(1)\n                    .max(9999999)\n                    .optional(),\n                })\n                .describe('Options for the Loyalty points reward type.'),\n            }),\n          ])\n        )\n        .describe(\n          'Reward configuration for the referring customer.\\nSpecifies the reward given to an existing customer who referred a new customer to the business.'\n        )\n        .optional(),\n      successfulReferralActions: z\n        .array(\n          z.enum([\n            'UNKNOWN',\n            'STORE_ORDER_PLACED',\n            'PLAN_ORDERED',\n            'TICKET_ORDERED',\n            'SESSION_BOOKED',\n            'RESTAURANT_ORDER_PLACED',\n            'ONLINE_PROGRAM_JOINED',\n          ])\n        )\n        .max(100)\n        .optional(),\n      emails: z\n        .object({\n          encourageToReferFriends: z\n            .array(\n              z.enum([\n                'UNKNOWN',\n                'STORES',\n                'PRICING_PLANS',\n                'EVENTS',\n                'BOOKINGS',\n                'RESTAURANTS',\n                'ONLINE_PROGRAMS',\n              ])\n            )\n            .optional(),\n          notifyCustomersAboutReward: z\n            .boolean()\n            .describe(\n              'Whether to send email notifications to referring customers when they receive a referral reward.\\nIf true, referring customers will be notified by email when their referred friend completes a qualifying action (for example, placing an order).'\n            )\n            .optional(),\n        })\n        .describe('Configures email notifications for the referral program.')\n        .optional(),\n      premiumFeatures: z\n        .object({\n          referralProgram: z\n            .boolean()\n            .describe(\n              'Whether the site owner has access to the referral program feature.'\n            )\n            .optional(),\n        })\n        .describe(\n          'Indicates which premium features are available for the current account.'\n        )\n        .optional(),\n    })\n    .describe('Paused referral program.')\n    .optional(),\n});\nexport const GetAiSocialMediaPostsSuggestionsRequest = z.object({\n  options: z\n    .object({\n      topic: z\n        .string()\n        .describe(\n          'Topic to generate social media post suggestions for. For example, fitness, education, or technology.'\n        )\n        .max(512)\n        .optional(),\n    })\n    .optional(),\n});\nexport const GetAiSocialMediaPostsSuggestionsResponse = z.object({\n  suggestions: z\n    .array(\n      z.object({\n        postContent: z\n          .string()\n          .describe('Suggested post content.')\n          .max(4096)\n          .optional(),\n        hashtags: z.array(z.string()).max(256).optional(),\n      })\n    )\n    .max(3)\n    .optional(),\n  referFriendsPageUrl: z\n    .string()\n    .describe('Referral URL to refer friends.')\n    .max(2083)\n    .optional()\n    .nullable(),\n});\nexport const GenerateAiSocialMediaPostsSuggestionsRequest = z.object({\n  options: z\n    .object({\n      topic: z\n        .string()\n        .describe(\n          'Topic to generate social media post suggestions for. For example, fitness, education, or technology.'\n        )\n        .max(512)\n        .optional(),\n    })\n    .optional(),\n});\nexport const GenerateAiSocialMediaPostsSuggestionsResponse = z.object({\n  suggestions: z\n    .array(\n      z.object({\n        postContent: z\n          .string()\n          .describe('Suggested post content.')\n          .max(4096)\n          .optional(),\n        hashtags: z.array(z.string()).max(256).optional(),\n      })\n    )\n    .max(3)\n    .optional(),\n  referFriendsPageUrl: z\n    .string()\n    .describe('Referral URL to refer friends.')\n    .max(2083)\n    .optional()\n    .nullable(),\n});\nexport const GetReferralProgramPremiumFeaturesRequest = z.object({});\nexport const GetReferralProgramPremiumFeaturesResponse = z.object({\n  referralProgram: z\n    .boolean()\n    .describe('Whether the site has the referral program feature enabled.')\n    .optional(),\n});\n"],"mappings":"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","names":[]}