@wix/auto_sdk_bookings_services 1.0.243 → 1.0.245

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/build/cjs/{bookings-services-v2-service-services.universal-BpDjq9wo.d.ts → bookings-services-v2-service-services.universal-e-XkT__j.d.ts} +86 -37
  2. package/build/cjs/index.d.ts +11 -11
  3. package/build/cjs/index.js.map +1 -1
  4. package/build/cjs/index.typings.d.ts +2 -2
  5. package/build/cjs/index.typings.js.map +1 -1
  6. package/build/cjs/meta.d.ts +66 -20
  7. package/build/cjs/meta.js +2 -0
  8. package/build/cjs/meta.js.map +1 -1
  9. package/build/cjs/schemas.d.ts +676 -0
  10. package/build/cjs/schemas.js +1227 -84
  11. package/build/cjs/schemas.js.map +1 -1
  12. package/build/es/{bookings-services-v2-service-services.universal-BpDjq9wo.d.mts → bookings-services-v2-service-services.universal-e-XkT__j.d.mts} +86 -37
  13. package/build/es/index.d.mts +11 -11
  14. package/build/es/index.mjs.map +1 -1
  15. package/build/es/index.typings.d.mts +2 -2
  16. package/build/es/index.typings.mjs.map +1 -1
  17. package/build/es/meta.d.mts +66 -20
  18. package/build/es/meta.mjs +2 -0
  19. package/build/es/meta.mjs.map +1 -1
  20. package/build/es/schemas.d.mts +676 -0
  21. package/build/es/schemas.mjs +1227 -84
  22. package/build/es/schemas.mjs.map +1 -1
  23. package/build/internal/cjs/{bookings-services-v2-service-services.universal-X8z1jH2M.d.ts → bookings-services-v2-service-services.universal-CEagbslG.d.ts} +79 -45
  24. package/build/internal/cjs/index.d.ts +11 -11
  25. package/build/internal/cjs/index.js.map +1 -1
  26. package/build/internal/cjs/index.typings.d.ts +2 -2
  27. package/build/internal/cjs/index.typings.js.map +1 -1
  28. package/build/internal/cjs/meta.d.ts +66 -20
  29. package/build/internal/cjs/meta.js +2 -0
  30. package/build/internal/cjs/meta.js.map +1 -1
  31. package/build/internal/cjs/schemas.d.ts +676 -0
  32. package/build/internal/cjs/schemas.js +1227 -84
  33. package/build/internal/cjs/schemas.js.map +1 -1
  34. package/build/internal/es/{bookings-services-v2-service-services.universal-X8z1jH2M.d.mts → bookings-services-v2-service-services.universal-CEagbslG.d.mts} +79 -45
  35. package/build/internal/es/index.d.mts +11 -11
  36. package/build/internal/es/index.mjs.map +1 -1
  37. package/build/internal/es/index.typings.d.mts +2 -2
  38. package/build/internal/es/index.typings.mjs.map +1 -1
  39. package/build/internal/es/meta.d.mts +66 -20
  40. package/build/internal/es/meta.mjs +2 -0
  41. package/build/internal/es/meta.mjs.map +1 -1
  42. package/build/internal/es/schemas.d.mts +676 -0
  43. package/build/internal/es/schemas.mjs +1227 -84
  44. package/build/internal/es/schemas.mjs.map +1 -1
  45. package/package.json +2 -2
@@ -90,14 +90,14 @@ var CreateServiceRequest = z.object({
90
90
  }).describe("Form the customer filled out when booking the service.").optional(),
91
91
  payment: z.intersection(
92
92
  z.object({
93
- rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE"]).optional(),
93
+ rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE", "SUBSCRIPTION"]).optional(),
94
94
  options: z.object({
95
95
  online: z.boolean().describe(
96
- "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.defaultPrice` must be specified respectively.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
96
+ "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED`, `VARIED`, or `SUBSCRIPTION`.\n+ `fixed.price`, `varied.defaultPrice`, or `subscription.amountPerBillingCycle` must be specified respectively.\n\nRequired when: `rateType` is `SUBSCRIPTION`.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
97
97
  ).optional().nullable(),
98
98
  inPerson: z.boolean().describe("Customers can pay for the service in person.").optional().nullable(),
99
99
  deposit: z.boolean().describe(
100
- "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified."
100
+ "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified.\n+ `online` must be `true`.\n+ `inPerson` must be `false`."
101
101
  ).optional().nullable(),
102
102
  pricingPlan: z.boolean().describe(
103
103
  "Whether customers can pay for the service using a pricing plan.\nRead more about [service payment options](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments)."
@@ -132,11 +132,13 @@ var CreateServiceRequest = z.object({
132
132
  z.object({
133
133
  fixed: z.never().optional(),
134
134
  custom: z.never().optional(),
135
- varied: z.never().optional()
135
+ varied: z.never().optional(),
136
+ subscription: z.never().optional()
136
137
  }),
137
138
  z.object({
138
139
  custom: z.never().optional(),
139
140
  varied: z.never().optional(),
141
+ subscription: z.never().optional(),
140
142
  fixed: z.object({
141
143
  price: z.object({
142
144
  value: z.string().describe(
@@ -174,6 +176,7 @@ var CreateServiceRequest = z.object({
174
176
  z.object({
175
177
  fixed: z.never().optional(),
176
178
  varied: z.never().optional(),
179
+ subscription: z.never().optional(),
177
180
  custom: z.object({
178
181
  description: z.string().describe(
179
182
  "A custom description explaining to the customer how to pay for the service."
@@ -185,6 +188,7 @@ var CreateServiceRequest = z.object({
185
188
  z.object({
186
189
  fixed: z.never().optional(),
187
190
  custom: z.never().optional(),
191
+ subscription: z.never().optional(),
188
192
  varied: z.object({
189
193
  defaultPrice: z.object({
190
194
  value: z.string().describe(
@@ -244,6 +248,59 @@ var CreateServiceRequest = z.object({
244
248
  }).describe(
245
249
  "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`"
246
250
  )
251
+ }),
252
+ z.object({
253
+ fixed: z.never().optional(),
254
+ custom: z.never().optional(),
255
+ varied: z.never().optional(),
256
+ subscription: z.object({
257
+ amountPerBillingCycle: z.object({
258
+ value: z.string().describe(
259
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
260
+ ).optional(),
261
+ currency: z.string().describe(
262
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
263
+ ).optional(),
264
+ formattedValue: z.string().describe(
265
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
266
+ ).max(50).optional().nullable()
267
+ }).describe(
268
+ "Base price charged per billing cycle before tax and discounts.\nThe actual amount charged may differ after checkout applies tax and discounts."
269
+ ).optional(),
270
+ frequency: z.enum(["MONTHLY"]).describe(
271
+ "Billing frequency for recurring subscription charges.\nReflected as `billingFrequency` in the booking's subscription info.\n\nCurrently supports `MONTHLY` only."
272
+ ).optional(),
273
+ totalPayments: z.number().int().describe(
274
+ "Total number of billing cycles in the subscription. For example, `12` for a 12-month subscription with monthly payments.\nReflected as `totalCycles` in the booking's subscription info.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
275
+ ).min(2).optional().nullable(),
276
+ firstChargeDate: z.enum(["CHECKOUT", "SCHEDULED"]).describe(
277
+ "Determines when the first billing cycle payment is charged. Used together with `recurringStartDate` to define the subscription billing schedule."
278
+ ).optional(),
279
+ recurringStartDate: z.date().describe(
280
+ "Date and time when recurring billing starts.\n\nWhen `firstChargeDate` is `CHECKOUT`, the first charge occurs at checkout and subsequent billing cycles start from this date.\n\nWhen `firstChargeDate` is `SCHEDULED`, the first charge occurs on this date.\n\nCustomers who book after recurring billing starts are billed for the remaining billing cycles only.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
281
+ ).optional().nullable(),
282
+ enrollmentFeeAmount: z.object({
283
+ value: z.string().describe(
284
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
285
+ ).optional(),
286
+ currency: z.string().describe(
287
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
288
+ ).optional(),
289
+ formattedValue: z.string().describe(
290
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
291
+ ).max(50).optional().nullable()
292
+ }).describe("Deprecated.").optional(),
293
+ fullUpfrontPayment: z.object({
294
+ supported: z.boolean().describe(
295
+ "Whether customers can choose a one-time full payment instead of recurring subscription payments."
296
+ ).optional().nullable(),
297
+ discountPercent: z.string().describe(
298
+ "Percentage discount applied when a customer chooses the full payment option.\nMin: `0.01` percent\nMax: `100` percent"
299
+ ).optional().nullable()
300
+ }).describe("Deprecated.").optional()
301
+ }).describe(
302
+ "Subscription pricing details for the service. Supported for course services only.\nThe business charges recurring monthly payments instead of a one-time fee.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
303
+ )
247
304
  })
248
305
  ])
249
306
  ).describe(
@@ -762,14 +819,14 @@ var CreateServiceResponse = z.object({
762
819
  }).describe("Form the customer filled out when booking the service.").optional(),
763
820
  payment: z.intersection(
764
821
  z.object({
765
- rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE"]).describe("The rate the customer is expected to pay for the service.").optional(),
822
+ rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE", "SUBSCRIPTION"]).describe("The rate the customer is expected to pay for the service.").optional(),
766
823
  options: z.object({
767
824
  online: z.boolean().describe(
768
- "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.defaultPrice` must be specified respectively.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
825
+ "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED`, `VARIED`, or `SUBSCRIPTION`.\n+ `fixed.price`, `varied.defaultPrice`, or `subscription.amountPerBillingCycle` must be specified respectively.\n\nRequired when: `rateType` is `SUBSCRIPTION`.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
769
826
  ).optional().nullable(),
770
827
  inPerson: z.boolean().describe("Customers can pay for the service in person.").optional().nullable(),
771
828
  deposit: z.boolean().describe(
772
- "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified."
829
+ "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified.\n+ `online` must be `true`.\n+ `inPerson` must be `false`."
773
830
  ).optional().nullable(),
774
831
  pricingPlan: z.boolean().describe(
775
832
  "Whether customers can pay for the service using a pricing plan.\nRead more about [service payment options](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments)."
@@ -806,11 +863,13 @@ var CreateServiceResponse = z.object({
806
863
  z.object({
807
864
  fixed: z.never().optional(),
808
865
  custom: z.never().optional(),
809
- varied: z.never().optional()
866
+ varied: z.never().optional(),
867
+ subscription: z.never().optional()
810
868
  }),
811
869
  z.object({
812
870
  custom: z.never().optional(),
813
871
  varied: z.never().optional(),
872
+ subscription: z.never().optional(),
814
873
  fixed: z.object({
815
874
  price: z.object({
816
875
  value: z.string().describe(
@@ -848,6 +907,7 @@ var CreateServiceResponse = z.object({
848
907
  z.object({
849
908
  fixed: z.never().optional(),
850
909
  varied: z.never().optional(),
910
+ subscription: z.never().optional(),
851
911
  custom: z.object({
852
912
  description: z.string().describe(
853
913
  "A custom description explaining to the customer how to pay for the service."
@@ -859,6 +919,7 @@ var CreateServiceResponse = z.object({
859
919
  z.object({
860
920
  fixed: z.never().optional(),
861
921
  custom: z.never().optional(),
922
+ subscription: z.never().optional(),
862
923
  varied: z.object({
863
924
  defaultPrice: z.object({
864
925
  value: z.string().describe(
@@ -918,6 +979,59 @@ var CreateServiceResponse = z.object({
918
979
  }).describe(
919
980
  "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`"
920
981
  )
982
+ }),
983
+ z.object({
984
+ fixed: z.never().optional(),
985
+ custom: z.never().optional(),
986
+ varied: z.never().optional(),
987
+ subscription: z.object({
988
+ amountPerBillingCycle: z.object({
989
+ value: z.string().describe(
990
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
991
+ ).optional(),
992
+ currency: z.string().describe(
993
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
994
+ ).optional(),
995
+ formattedValue: z.string().describe(
996
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
997
+ ).max(50).optional().nullable()
998
+ }).describe(
999
+ "Base price charged per billing cycle before tax and discounts.\nThe actual amount charged may differ after checkout applies tax and discounts."
1000
+ ).optional(),
1001
+ frequency: z.enum(["MONTHLY"]).describe(
1002
+ "Billing frequency for recurring subscription charges.\nReflected as `billingFrequency` in the booking's subscription info.\n\nCurrently supports `MONTHLY` only."
1003
+ ).optional(),
1004
+ totalPayments: z.number().int().describe(
1005
+ "Total number of billing cycles in the subscription. For example, `12` for a 12-month subscription with monthly payments.\nReflected as `totalCycles` in the booking's subscription info.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
1006
+ ).min(2).optional().nullable(),
1007
+ firstChargeDate: z.enum(["CHECKOUT", "SCHEDULED"]).describe(
1008
+ "Determines when the first billing cycle payment is charged. Used together with `recurringStartDate` to define the subscription billing schedule."
1009
+ ).optional(),
1010
+ recurringStartDate: z.date().describe(
1011
+ "Date and time when recurring billing starts.\n\nWhen `firstChargeDate` is `CHECKOUT`, the first charge occurs at checkout and subsequent billing cycles start from this date.\n\nWhen `firstChargeDate` is `SCHEDULED`, the first charge occurs on this date.\n\nCustomers who book after recurring billing starts are billed for the remaining billing cycles only.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
1012
+ ).optional().nullable(),
1013
+ enrollmentFeeAmount: z.object({
1014
+ value: z.string().describe(
1015
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
1016
+ ).optional(),
1017
+ currency: z.string().describe(
1018
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
1019
+ ).optional(),
1020
+ formattedValue: z.string().describe(
1021
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
1022
+ ).max(50).optional().nullable()
1023
+ }).describe("Deprecated.").optional(),
1024
+ fullUpfrontPayment: z.object({
1025
+ supported: z.boolean().describe(
1026
+ "Whether customers can choose a one-time full payment instead of recurring subscription payments."
1027
+ ).optional().nullable(),
1028
+ discountPercent: z.string().describe(
1029
+ "Percentage discount applied when a customer chooses the full payment option.\nMin: `0.01` percent\nMax: `100` percent"
1030
+ ).optional().nullable()
1031
+ }).describe("Deprecated.").optional()
1032
+ }).describe(
1033
+ "Subscription pricing details for the service. Supported for course services only.\nThe business charges recurring monthly payments instead of a one-time fee.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
1034
+ )
921
1035
  })
922
1036
  ])
923
1037
  ).describe(
@@ -1429,14 +1543,14 @@ var BulkCreateServicesRequest = z.object({
1429
1543
  }).describe("Form the customer filled out when booking the service.").optional(),
1430
1544
  payment: z.intersection(
1431
1545
  z.object({
1432
- rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE"]).optional(),
1546
+ rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE", "SUBSCRIPTION"]).optional(),
1433
1547
  options: z.object({
1434
1548
  online: z.boolean().describe(
1435
- "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.defaultPrice` must be specified respectively.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
1549
+ "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED`, `VARIED`, or `SUBSCRIPTION`.\n+ `fixed.price`, `varied.defaultPrice`, or `subscription.amountPerBillingCycle` must be specified respectively.\n\nRequired when: `rateType` is `SUBSCRIPTION`.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
1436
1550
  ).optional().nullable(),
1437
1551
  inPerson: z.boolean().describe("Customers can pay for the service in person.").optional().nullable(),
1438
1552
  deposit: z.boolean().describe(
1439
- "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified."
1553
+ "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified.\n+ `online` must be `true`.\n+ `inPerson` must be `false`."
1440
1554
  ).optional().nullable(),
1441
1555
  pricingPlan: z.boolean().describe(
1442
1556
  "Whether customers can pay for the service using a pricing plan.\nRead more about [service payment options](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments)."
@@ -1471,11 +1585,13 @@ var BulkCreateServicesRequest = z.object({
1471
1585
  z.object({
1472
1586
  fixed: z.never().optional(),
1473
1587
  custom: z.never().optional(),
1474
- varied: z.never().optional()
1588
+ varied: z.never().optional(),
1589
+ subscription: z.never().optional()
1475
1590
  }),
1476
1591
  z.object({
1477
1592
  custom: z.never().optional(),
1478
1593
  varied: z.never().optional(),
1594
+ subscription: z.never().optional(),
1479
1595
  fixed: z.object({
1480
1596
  price: z.object({
1481
1597
  value: z.string().describe(
@@ -1513,6 +1629,7 @@ var BulkCreateServicesRequest = z.object({
1513
1629
  z.object({
1514
1630
  fixed: z.never().optional(),
1515
1631
  varied: z.never().optional(),
1632
+ subscription: z.never().optional(),
1516
1633
  custom: z.object({
1517
1634
  description: z.string().describe(
1518
1635
  "A custom description explaining to the customer how to pay for the service."
@@ -1524,6 +1641,7 @@ var BulkCreateServicesRequest = z.object({
1524
1641
  z.object({
1525
1642
  fixed: z.never().optional(),
1526
1643
  custom: z.never().optional(),
1644
+ subscription: z.never().optional(),
1527
1645
  varied: z.object({
1528
1646
  defaultPrice: z.object({
1529
1647
  value: z.string().describe(
@@ -1583,6 +1701,59 @@ var BulkCreateServicesRequest = z.object({
1583
1701
  }).describe(
1584
1702
  "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`"
1585
1703
  )
1704
+ }),
1705
+ z.object({
1706
+ fixed: z.never().optional(),
1707
+ custom: z.never().optional(),
1708
+ varied: z.never().optional(),
1709
+ subscription: z.object({
1710
+ amountPerBillingCycle: z.object({
1711
+ value: z.string().describe(
1712
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
1713
+ ).optional(),
1714
+ currency: z.string().describe(
1715
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
1716
+ ).optional(),
1717
+ formattedValue: z.string().describe(
1718
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
1719
+ ).max(50).optional().nullable()
1720
+ }).describe(
1721
+ "Base price charged per billing cycle before tax and discounts.\nThe actual amount charged may differ after checkout applies tax and discounts."
1722
+ ).optional(),
1723
+ frequency: z.enum(["MONTHLY"]).describe(
1724
+ "Billing frequency for recurring subscription charges.\nReflected as `billingFrequency` in the booking's subscription info.\n\nCurrently supports `MONTHLY` only."
1725
+ ).optional(),
1726
+ totalPayments: z.number().int().describe(
1727
+ "Total number of billing cycles in the subscription. For example, `12` for a 12-month subscription with monthly payments.\nReflected as `totalCycles` in the booking's subscription info.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
1728
+ ).min(2).optional().nullable(),
1729
+ firstChargeDate: z.enum(["CHECKOUT", "SCHEDULED"]).describe(
1730
+ "Determines when the first billing cycle payment is charged. Used together with `recurringStartDate` to define the subscription billing schedule."
1731
+ ).optional(),
1732
+ recurringStartDate: z.date().describe(
1733
+ "Date and time when recurring billing starts.\n\nWhen `firstChargeDate` is `CHECKOUT`, the first charge occurs at checkout and subsequent billing cycles start from this date.\n\nWhen `firstChargeDate` is `SCHEDULED`, the first charge occurs on this date.\n\nCustomers who book after recurring billing starts are billed for the remaining billing cycles only.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
1734
+ ).optional().nullable(),
1735
+ enrollmentFeeAmount: z.object({
1736
+ value: z.string().describe(
1737
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
1738
+ ).optional(),
1739
+ currency: z.string().describe(
1740
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
1741
+ ).optional(),
1742
+ formattedValue: z.string().describe(
1743
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
1744
+ ).max(50).optional().nullable()
1745
+ }).describe("Deprecated.").optional(),
1746
+ fullUpfrontPayment: z.object({
1747
+ supported: z.boolean().describe(
1748
+ "Whether customers can choose a one-time full payment instead of recurring subscription payments."
1749
+ ).optional().nullable(),
1750
+ discountPercent: z.string().describe(
1751
+ "Percentage discount applied when a customer chooses the full payment option.\nMin: `0.01` percent\nMax: `100` percent"
1752
+ ).optional().nullable()
1753
+ }).describe("Deprecated.").optional()
1754
+ }).describe(
1755
+ "Subscription pricing details for the service. Supported for course services only.\nThe business charges recurring monthly payments instead of a one-time fee.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
1756
+ )
1586
1757
  })
1587
1758
  ])
1588
1759
  ).describe(
@@ -2133,18 +2304,24 @@ var BulkCreateServicesResponse = z.object({
2133
2304
  ).optional(),
2134
2305
  payment: z.intersection(
2135
2306
  z.object({
2136
- rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE"]).describe(
2307
+ rateType: z.enum([
2308
+ "FIXED",
2309
+ "CUSTOM",
2310
+ "VARIED",
2311
+ "NO_FEE",
2312
+ "SUBSCRIPTION"
2313
+ ]).describe(
2137
2314
  "The rate the customer is expected to pay for the service."
2138
2315
  ).optional(),
2139
2316
  options: z.object({
2140
2317
  online: z.boolean().describe(
2141
- "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.defaultPrice` must be specified respectively.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
2318
+ "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED`, `VARIED`, or `SUBSCRIPTION`.\n+ `fixed.price`, `varied.defaultPrice`, or `subscription.amountPerBillingCycle` must be specified respectively.\n\nRequired when: `rateType` is `SUBSCRIPTION`.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
2142
2319
  ).optional().nullable(),
2143
2320
  inPerson: z.boolean().describe(
2144
2321
  "Customers can pay for the service in person."
2145
2322
  ).optional().nullable(),
2146
2323
  deposit: z.boolean().describe(
2147
- "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified."
2324
+ "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified.\n+ `online` must be `true`.\n+ `inPerson` must be `false`."
2148
2325
  ).optional().nullable(),
2149
2326
  pricingPlan: z.boolean().describe(
2150
2327
  "Whether customers can pay for the service using a pricing plan.\nRead more about [service payment options](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments)."
@@ -2181,11 +2358,13 @@ var BulkCreateServicesResponse = z.object({
2181
2358
  z.object({
2182
2359
  fixed: z.never().optional(),
2183
2360
  custom: z.never().optional(),
2184
- varied: z.never().optional()
2361
+ varied: z.never().optional(),
2362
+ subscription: z.never().optional()
2185
2363
  }),
2186
2364
  z.object({
2187
2365
  custom: z.never().optional(),
2188
2366
  varied: z.never().optional(),
2367
+ subscription: z.never().optional(),
2189
2368
  fixed: z.object({
2190
2369
  price: z.object({
2191
2370
  value: z.string().describe(
@@ -2223,6 +2402,7 @@ var BulkCreateServicesResponse = z.object({
2223
2402
  z.object({
2224
2403
  fixed: z.never().optional(),
2225
2404
  varied: z.never().optional(),
2405
+ subscription: z.never().optional(),
2226
2406
  custom: z.object({
2227
2407
  description: z.string().describe(
2228
2408
  "A custom description explaining to the customer how to pay for the service."
@@ -2234,6 +2414,7 @@ var BulkCreateServicesResponse = z.object({
2234
2414
  z.object({
2235
2415
  fixed: z.never().optional(),
2236
2416
  custom: z.never().optional(),
2417
+ subscription: z.never().optional(),
2237
2418
  varied: z.object({
2238
2419
  defaultPrice: z.object({
2239
2420
  value: z.string().describe(
@@ -2293,6 +2474,59 @@ var BulkCreateServicesResponse = z.object({
2293
2474
  }).describe(
2294
2475
  "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`"
2295
2476
  )
2477
+ }),
2478
+ z.object({
2479
+ fixed: z.never().optional(),
2480
+ custom: z.never().optional(),
2481
+ varied: z.never().optional(),
2482
+ subscription: z.object({
2483
+ amountPerBillingCycle: z.object({
2484
+ value: z.string().describe(
2485
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
2486
+ ).optional(),
2487
+ currency: z.string().describe(
2488
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
2489
+ ).optional(),
2490
+ formattedValue: z.string().describe(
2491
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
2492
+ ).max(50).optional().nullable()
2493
+ }).describe(
2494
+ "Base price charged per billing cycle before tax and discounts.\nThe actual amount charged may differ after checkout applies tax and discounts."
2495
+ ).optional(),
2496
+ frequency: z.enum(["MONTHLY"]).describe(
2497
+ "Billing frequency for recurring subscription charges.\nReflected as `billingFrequency` in the booking's subscription info.\n\nCurrently supports `MONTHLY` only."
2498
+ ).optional(),
2499
+ totalPayments: z.number().int().describe(
2500
+ "Total number of billing cycles in the subscription. For example, `12` for a 12-month subscription with monthly payments.\nReflected as `totalCycles` in the booking's subscription info.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
2501
+ ).min(2).optional().nullable(),
2502
+ firstChargeDate: z.enum(["CHECKOUT", "SCHEDULED"]).describe(
2503
+ "Determines when the first billing cycle payment is charged. Used together with `recurringStartDate` to define the subscription billing schedule."
2504
+ ).optional(),
2505
+ recurringStartDate: z.date().describe(
2506
+ "Date and time when recurring billing starts.\n\nWhen `firstChargeDate` is `CHECKOUT`, the first charge occurs at checkout and subsequent billing cycles start from this date.\n\nWhen `firstChargeDate` is `SCHEDULED`, the first charge occurs on this date.\n\nCustomers who book after recurring billing starts are billed for the remaining billing cycles only.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
2507
+ ).optional().nullable(),
2508
+ enrollmentFeeAmount: z.object({
2509
+ value: z.string().describe(
2510
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
2511
+ ).optional(),
2512
+ currency: z.string().describe(
2513
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
2514
+ ).optional(),
2515
+ formattedValue: z.string().describe(
2516
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
2517
+ ).max(50).optional().nullable()
2518
+ }).describe("Deprecated.").optional(),
2519
+ fullUpfrontPayment: z.object({
2520
+ supported: z.boolean().describe(
2521
+ "Whether customers can choose a one-time full payment instead of recurring subscription payments."
2522
+ ).optional().nullable(),
2523
+ discountPercent: z.string().describe(
2524
+ "Percentage discount applied when a customer chooses the full payment option.\nMin: `0.01` percent\nMax: `100` percent"
2525
+ ).optional().nullable()
2526
+ }).describe("Deprecated.").optional()
2527
+ }).describe(
2528
+ "Subscription pricing details for the service. Supported for course services only.\nThe business charges recurring monthly payments instead of a one-time fee.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
2529
+ )
2296
2530
  })
2297
2531
  ])
2298
2532
  ).describe(
@@ -2841,14 +3075,14 @@ var GetServiceResponse = z.object({
2841
3075
  }).describe("Form the customer filled out when booking the service.").optional(),
2842
3076
  payment: z.intersection(
2843
3077
  z.object({
2844
- rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE"]).describe("The rate the customer is expected to pay for the service.").optional(),
3078
+ rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE", "SUBSCRIPTION"]).describe("The rate the customer is expected to pay for the service.").optional(),
2845
3079
  options: z.object({
2846
3080
  online: z.boolean().describe(
2847
- "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.defaultPrice` must be specified respectively.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
3081
+ "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED`, `VARIED`, or `SUBSCRIPTION`.\n+ `fixed.price`, `varied.defaultPrice`, or `subscription.amountPerBillingCycle` must be specified respectively.\n\nRequired when: `rateType` is `SUBSCRIPTION`.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
2848
3082
  ).optional().nullable(),
2849
3083
  inPerson: z.boolean().describe("Customers can pay for the service in person.").optional().nullable(),
2850
3084
  deposit: z.boolean().describe(
2851
- "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified."
3085
+ "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified.\n+ `online` must be `true`.\n+ `inPerson` must be `false`."
2852
3086
  ).optional().nullable(),
2853
3087
  pricingPlan: z.boolean().describe(
2854
3088
  "Whether customers can pay for the service using a pricing plan.\nRead more about [service payment options](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments)."
@@ -2885,11 +3119,13 @@ var GetServiceResponse = z.object({
2885
3119
  z.object({
2886
3120
  fixed: z.never().optional(),
2887
3121
  custom: z.never().optional(),
2888
- varied: z.never().optional()
3122
+ varied: z.never().optional(),
3123
+ subscription: z.never().optional()
2889
3124
  }),
2890
3125
  z.object({
2891
3126
  custom: z.never().optional(),
2892
3127
  varied: z.never().optional(),
3128
+ subscription: z.never().optional(),
2893
3129
  fixed: z.object({
2894
3130
  price: z.object({
2895
3131
  value: z.string().describe(
@@ -2927,6 +3163,7 @@ var GetServiceResponse = z.object({
2927
3163
  z.object({
2928
3164
  fixed: z.never().optional(),
2929
3165
  varied: z.never().optional(),
3166
+ subscription: z.never().optional(),
2930
3167
  custom: z.object({
2931
3168
  description: z.string().describe(
2932
3169
  "A custom description explaining to the customer how to pay for the service."
@@ -2938,6 +3175,7 @@ var GetServiceResponse = z.object({
2938
3175
  z.object({
2939
3176
  fixed: z.never().optional(),
2940
3177
  custom: z.never().optional(),
3178
+ subscription: z.never().optional(),
2941
3179
  varied: z.object({
2942
3180
  defaultPrice: z.object({
2943
3181
  value: z.string().describe(
@@ -2997,6 +3235,59 @@ var GetServiceResponse = z.object({
2997
3235
  }).describe(
2998
3236
  "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`"
2999
3237
  )
3238
+ }),
3239
+ z.object({
3240
+ fixed: z.never().optional(),
3241
+ custom: z.never().optional(),
3242
+ varied: z.never().optional(),
3243
+ subscription: z.object({
3244
+ amountPerBillingCycle: z.object({
3245
+ value: z.string().describe(
3246
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
3247
+ ).optional(),
3248
+ currency: z.string().describe(
3249
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
3250
+ ).optional(),
3251
+ formattedValue: z.string().describe(
3252
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
3253
+ ).max(50).optional().nullable()
3254
+ }).describe(
3255
+ "Base price charged per billing cycle before tax and discounts.\nThe actual amount charged may differ after checkout applies tax and discounts."
3256
+ ).optional(),
3257
+ frequency: z.enum(["MONTHLY"]).describe(
3258
+ "Billing frequency for recurring subscription charges.\nReflected as `billingFrequency` in the booking's subscription info.\n\nCurrently supports `MONTHLY` only."
3259
+ ).optional(),
3260
+ totalPayments: z.number().int().describe(
3261
+ "Total number of billing cycles in the subscription. For example, `12` for a 12-month subscription with monthly payments.\nReflected as `totalCycles` in the booking's subscription info.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
3262
+ ).min(2).optional().nullable(),
3263
+ firstChargeDate: z.enum(["CHECKOUT", "SCHEDULED"]).describe(
3264
+ "Determines when the first billing cycle payment is charged. Used together with `recurringStartDate` to define the subscription billing schedule."
3265
+ ).optional(),
3266
+ recurringStartDate: z.date().describe(
3267
+ "Date and time when recurring billing starts.\n\nWhen `firstChargeDate` is `CHECKOUT`, the first charge occurs at checkout and subsequent billing cycles start from this date.\n\nWhen `firstChargeDate` is `SCHEDULED`, the first charge occurs on this date.\n\nCustomers who book after recurring billing starts are billed for the remaining billing cycles only.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
3268
+ ).optional().nullable(),
3269
+ enrollmentFeeAmount: z.object({
3270
+ value: z.string().describe(
3271
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
3272
+ ).optional(),
3273
+ currency: z.string().describe(
3274
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
3275
+ ).optional(),
3276
+ formattedValue: z.string().describe(
3277
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
3278
+ ).max(50).optional().nullable()
3279
+ }).describe("Deprecated.").optional(),
3280
+ fullUpfrontPayment: z.object({
3281
+ supported: z.boolean().describe(
3282
+ "Whether customers can choose a one-time full payment instead of recurring subscription payments."
3283
+ ).optional().nullable(),
3284
+ discountPercent: z.string().describe(
3285
+ "Percentage discount applied when a customer chooses the full payment option.\nMin: `0.01` percent\nMax: `100` percent"
3286
+ ).optional().nullable()
3287
+ }).describe("Deprecated.").optional()
3288
+ }).describe(
3289
+ "Subscription pricing details for the service. Supported for course services only.\nThe business charges recurring monthly payments instead of a one-time fee.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
3290
+ )
3000
3291
  })
3001
3292
  ])
3002
3293
  ).describe(
@@ -3511,14 +3802,14 @@ var UpdateServiceRequest = z.object({
3511
3802
  }).describe("Form the customer filled out when booking the service.").optional(),
3512
3803
  payment: z.intersection(
3513
3804
  z.object({
3514
- rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE"]).optional(),
3805
+ rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE", "SUBSCRIPTION"]).optional(),
3515
3806
  options: z.object({
3516
3807
  online: z.boolean().describe(
3517
- "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.defaultPrice` must be specified respectively.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
3808
+ "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED`, `VARIED`, or `SUBSCRIPTION`.\n+ `fixed.price`, `varied.defaultPrice`, or `subscription.amountPerBillingCycle` must be specified respectively.\n\nRequired when: `rateType` is `SUBSCRIPTION`.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
3518
3809
  ).optional().nullable(),
3519
3810
  inPerson: z.boolean().describe("Customers can pay for the service in person.").optional().nullable(),
3520
3811
  deposit: z.boolean().describe(
3521
- "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified."
3812
+ "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified.\n+ `online` must be `true`.\n+ `inPerson` must be `false`."
3522
3813
  ).optional().nullable(),
3523
3814
  pricingPlan: z.boolean().describe(
3524
3815
  "Whether customers can pay for the service using a pricing plan.\nRead more about [service payment options](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments)."
@@ -3553,11 +3844,13 @@ var UpdateServiceRequest = z.object({
3553
3844
  z.object({
3554
3845
  fixed: z.never().optional(),
3555
3846
  custom: z.never().optional(),
3556
- varied: z.never().optional()
3847
+ varied: z.never().optional(),
3848
+ subscription: z.never().optional()
3557
3849
  }),
3558
3850
  z.object({
3559
3851
  custom: z.never().optional(),
3560
3852
  varied: z.never().optional(),
3853
+ subscription: z.never().optional(),
3561
3854
  fixed: z.object({
3562
3855
  price: z.object({
3563
3856
  value: z.string().describe(
@@ -3595,6 +3888,7 @@ var UpdateServiceRequest = z.object({
3595
3888
  z.object({
3596
3889
  fixed: z.never().optional(),
3597
3890
  varied: z.never().optional(),
3891
+ subscription: z.never().optional(),
3598
3892
  custom: z.object({
3599
3893
  description: z.string().describe(
3600
3894
  "A custom description explaining to the customer how to pay for the service."
@@ -3606,6 +3900,7 @@ var UpdateServiceRequest = z.object({
3606
3900
  z.object({
3607
3901
  fixed: z.never().optional(),
3608
3902
  custom: z.never().optional(),
3903
+ subscription: z.never().optional(),
3609
3904
  varied: z.object({
3610
3905
  defaultPrice: z.object({
3611
3906
  value: z.string().describe(
@@ -3665,6 +3960,59 @@ var UpdateServiceRequest = z.object({
3665
3960
  }).describe(
3666
3961
  "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`"
3667
3962
  )
3963
+ }),
3964
+ z.object({
3965
+ fixed: z.never().optional(),
3966
+ custom: z.never().optional(),
3967
+ varied: z.never().optional(),
3968
+ subscription: z.object({
3969
+ amountPerBillingCycle: z.object({
3970
+ value: z.string().describe(
3971
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
3972
+ ).optional(),
3973
+ currency: z.string().describe(
3974
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
3975
+ ).optional(),
3976
+ formattedValue: z.string().describe(
3977
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
3978
+ ).max(50).optional().nullable()
3979
+ }).describe(
3980
+ "Base price charged per billing cycle before tax and discounts.\nThe actual amount charged may differ after checkout applies tax and discounts."
3981
+ ).optional(),
3982
+ frequency: z.enum(["MONTHLY"]).describe(
3983
+ "Billing frequency for recurring subscription charges.\nReflected as `billingFrequency` in the booking's subscription info.\n\nCurrently supports `MONTHLY` only."
3984
+ ).optional(),
3985
+ totalPayments: z.number().int().describe(
3986
+ "Total number of billing cycles in the subscription. For example, `12` for a 12-month subscription with monthly payments.\nReflected as `totalCycles` in the booking's subscription info.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
3987
+ ).min(2).optional().nullable(),
3988
+ firstChargeDate: z.enum(["CHECKOUT", "SCHEDULED"]).describe(
3989
+ "Determines when the first billing cycle payment is charged. Used together with `recurringStartDate` to define the subscription billing schedule."
3990
+ ).optional(),
3991
+ recurringStartDate: z.date().describe(
3992
+ "Date and time when recurring billing starts.\n\nWhen `firstChargeDate` is `CHECKOUT`, the first charge occurs at checkout and subsequent billing cycles start from this date.\n\nWhen `firstChargeDate` is `SCHEDULED`, the first charge occurs on this date.\n\nCustomers who book after recurring billing starts are billed for the remaining billing cycles only.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
3993
+ ).optional().nullable(),
3994
+ enrollmentFeeAmount: z.object({
3995
+ value: z.string().describe(
3996
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
3997
+ ).optional(),
3998
+ currency: z.string().describe(
3999
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
4000
+ ).optional(),
4001
+ formattedValue: z.string().describe(
4002
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
4003
+ ).max(50).optional().nullable()
4004
+ }).describe("Deprecated.").optional(),
4005
+ fullUpfrontPayment: z.object({
4006
+ supported: z.boolean().describe(
4007
+ "Whether customers can choose a one-time full payment instead of recurring subscription payments."
4008
+ ).optional().nullable(),
4009
+ discountPercent: z.string().describe(
4010
+ "Percentage discount applied when a customer chooses the full payment option.\nMin: `0.01` percent\nMax: `100` percent"
4011
+ ).optional().nullable()
4012
+ }).describe("Deprecated.").optional()
4013
+ }).describe(
4014
+ "Subscription pricing details for the service. Supported for course services only.\nThe business charges recurring monthly payments instead of a one-time fee.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
4015
+ )
3668
4016
  })
3669
4017
  ])
3670
4018
  ).describe(
@@ -4183,14 +4531,14 @@ var UpdateServiceResponse = z.object({
4183
4531
  }).describe("Form the customer filled out when booking the service.").optional(),
4184
4532
  payment: z.intersection(
4185
4533
  z.object({
4186
- rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE"]).describe("The rate the customer is expected to pay for the service.").optional(),
4534
+ rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE", "SUBSCRIPTION"]).describe("The rate the customer is expected to pay for the service.").optional(),
4187
4535
  options: z.object({
4188
4536
  online: z.boolean().describe(
4189
- "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.defaultPrice` must be specified respectively.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
4537
+ "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED`, `VARIED`, or `SUBSCRIPTION`.\n+ `fixed.price`, `varied.defaultPrice`, or `subscription.amountPerBillingCycle` must be specified respectively.\n\nRequired when: `rateType` is `SUBSCRIPTION`.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
4190
4538
  ).optional().nullable(),
4191
4539
  inPerson: z.boolean().describe("Customers can pay for the service in person.").optional().nullable(),
4192
4540
  deposit: z.boolean().describe(
4193
- "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified."
4541
+ "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified.\n+ `online` must be `true`.\n+ `inPerson` must be `false`."
4194
4542
  ).optional().nullable(),
4195
4543
  pricingPlan: z.boolean().describe(
4196
4544
  "Whether customers can pay for the service using a pricing plan.\nRead more about [service payment options](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments)."
@@ -4227,11 +4575,13 @@ var UpdateServiceResponse = z.object({
4227
4575
  z.object({
4228
4576
  fixed: z.never().optional(),
4229
4577
  custom: z.never().optional(),
4230
- varied: z.never().optional()
4578
+ varied: z.never().optional(),
4579
+ subscription: z.never().optional()
4231
4580
  }),
4232
4581
  z.object({
4233
4582
  custom: z.never().optional(),
4234
4583
  varied: z.never().optional(),
4584
+ subscription: z.never().optional(),
4235
4585
  fixed: z.object({
4236
4586
  price: z.object({
4237
4587
  value: z.string().describe(
@@ -4269,6 +4619,7 @@ var UpdateServiceResponse = z.object({
4269
4619
  z.object({
4270
4620
  fixed: z.never().optional(),
4271
4621
  varied: z.never().optional(),
4622
+ subscription: z.never().optional(),
4272
4623
  custom: z.object({
4273
4624
  description: z.string().describe(
4274
4625
  "A custom description explaining to the customer how to pay for the service."
@@ -4280,6 +4631,7 @@ var UpdateServiceResponse = z.object({
4280
4631
  z.object({
4281
4632
  fixed: z.never().optional(),
4282
4633
  custom: z.never().optional(),
4634
+ subscription: z.never().optional(),
4283
4635
  varied: z.object({
4284
4636
  defaultPrice: z.object({
4285
4637
  value: z.string().describe(
@@ -4339,6 +4691,59 @@ var UpdateServiceResponse = z.object({
4339
4691
  }).describe(
4340
4692
  "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`"
4341
4693
  )
4694
+ }),
4695
+ z.object({
4696
+ fixed: z.never().optional(),
4697
+ custom: z.never().optional(),
4698
+ varied: z.never().optional(),
4699
+ subscription: z.object({
4700
+ amountPerBillingCycle: z.object({
4701
+ value: z.string().describe(
4702
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
4703
+ ).optional(),
4704
+ currency: z.string().describe(
4705
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
4706
+ ).optional(),
4707
+ formattedValue: z.string().describe(
4708
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
4709
+ ).max(50).optional().nullable()
4710
+ }).describe(
4711
+ "Base price charged per billing cycle before tax and discounts.\nThe actual amount charged may differ after checkout applies tax and discounts."
4712
+ ).optional(),
4713
+ frequency: z.enum(["MONTHLY"]).describe(
4714
+ "Billing frequency for recurring subscription charges.\nReflected as `billingFrequency` in the booking's subscription info.\n\nCurrently supports `MONTHLY` only."
4715
+ ).optional(),
4716
+ totalPayments: z.number().int().describe(
4717
+ "Total number of billing cycles in the subscription. For example, `12` for a 12-month subscription with monthly payments.\nReflected as `totalCycles` in the booking's subscription info.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
4718
+ ).min(2).optional().nullable(),
4719
+ firstChargeDate: z.enum(["CHECKOUT", "SCHEDULED"]).describe(
4720
+ "Determines when the first billing cycle payment is charged. Used together with `recurringStartDate` to define the subscription billing schedule."
4721
+ ).optional(),
4722
+ recurringStartDate: z.date().describe(
4723
+ "Date and time when recurring billing starts.\n\nWhen `firstChargeDate` is `CHECKOUT`, the first charge occurs at checkout and subsequent billing cycles start from this date.\n\nWhen `firstChargeDate` is `SCHEDULED`, the first charge occurs on this date.\n\nCustomers who book after recurring billing starts are billed for the remaining billing cycles only.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
4724
+ ).optional().nullable(),
4725
+ enrollmentFeeAmount: z.object({
4726
+ value: z.string().describe(
4727
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
4728
+ ).optional(),
4729
+ currency: z.string().describe(
4730
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
4731
+ ).optional(),
4732
+ formattedValue: z.string().describe(
4733
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
4734
+ ).max(50).optional().nullable()
4735
+ }).describe("Deprecated.").optional(),
4736
+ fullUpfrontPayment: z.object({
4737
+ supported: z.boolean().describe(
4738
+ "Whether customers can choose a one-time full payment instead of recurring subscription payments."
4739
+ ).optional().nullable(),
4740
+ discountPercent: z.string().describe(
4741
+ "Percentage discount applied when a customer chooses the full payment option.\nMin: `0.01` percent\nMax: `100` percent"
4742
+ ).optional().nullable()
4743
+ }).describe("Deprecated.").optional()
4744
+ }).describe(
4745
+ "Subscription pricing details for the service. Supported for course services only.\nThe business charges recurring monthly payments instead of a one-time fee.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
4746
+ )
4342
4747
  })
4343
4748
  ])
4344
4749
  ).describe(
@@ -4856,16 +5261,22 @@ var BulkUpdateServicesRequest = z.object({
4856
5261
  ).optional(),
4857
5262
  payment: z.intersection(
4858
5263
  z.object({
4859
- rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE"]).optional(),
5264
+ rateType: z.enum([
5265
+ "FIXED",
5266
+ "CUSTOM",
5267
+ "VARIED",
5268
+ "NO_FEE",
5269
+ "SUBSCRIPTION"
5270
+ ]).optional(),
4860
5271
  options: z.object({
4861
5272
  online: z.boolean().describe(
4862
- "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.defaultPrice` must be specified respectively.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
5273
+ "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED`, `VARIED`, or `SUBSCRIPTION`.\n+ `fixed.price`, `varied.defaultPrice`, or `subscription.amountPerBillingCycle` must be specified respectively.\n\nRequired when: `rateType` is `SUBSCRIPTION`.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
4863
5274
  ).optional().nullable(),
4864
5275
  inPerson: z.boolean().describe(
4865
5276
  "Customers can pay for the service in person."
4866
5277
  ).optional().nullable(),
4867
5278
  deposit: z.boolean().describe(
4868
- "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified."
5279
+ "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified.\n+ `online` must be `true`.\n+ `inPerson` must be `false`."
4869
5280
  ).optional().nullable(),
4870
5281
  pricingPlan: z.boolean().describe(
4871
5282
  "Whether customers can pay for the service using a pricing plan.\nRead more about [service payment options](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments)."
@@ -4900,11 +5311,13 @@ var BulkUpdateServicesRequest = z.object({
4900
5311
  z.object({
4901
5312
  fixed: z.never().optional(),
4902
5313
  custom: z.never().optional(),
4903
- varied: z.never().optional()
5314
+ varied: z.never().optional(),
5315
+ subscription: z.never().optional()
4904
5316
  }),
4905
5317
  z.object({
4906
5318
  custom: z.never().optional(),
4907
5319
  varied: z.never().optional(),
5320
+ subscription: z.never().optional(),
4908
5321
  fixed: z.object({
4909
5322
  price: z.object({
4910
5323
  value: z.string().describe(
@@ -4942,6 +5355,7 @@ var BulkUpdateServicesRequest = z.object({
4942
5355
  z.object({
4943
5356
  fixed: z.never().optional(),
4944
5357
  varied: z.never().optional(),
5358
+ subscription: z.never().optional(),
4945
5359
  custom: z.object({
4946
5360
  description: z.string().describe(
4947
5361
  "A custom description explaining to the customer how to pay for the service."
@@ -4953,6 +5367,7 @@ var BulkUpdateServicesRequest = z.object({
4953
5367
  z.object({
4954
5368
  fixed: z.never().optional(),
4955
5369
  custom: z.never().optional(),
5370
+ subscription: z.never().optional(),
4956
5371
  varied: z.object({
4957
5372
  defaultPrice: z.object({
4958
5373
  value: z.string().describe(
@@ -5012,6 +5427,59 @@ var BulkUpdateServicesRequest = z.object({
5012
5427
  }).describe(
5013
5428
  "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`"
5014
5429
  )
5430
+ }),
5431
+ z.object({
5432
+ fixed: z.never().optional(),
5433
+ custom: z.never().optional(),
5434
+ varied: z.never().optional(),
5435
+ subscription: z.object({
5436
+ amountPerBillingCycle: z.object({
5437
+ value: z.string().describe(
5438
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
5439
+ ).optional(),
5440
+ currency: z.string().describe(
5441
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
5442
+ ).optional(),
5443
+ formattedValue: z.string().describe(
5444
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
5445
+ ).max(50).optional().nullable()
5446
+ }).describe(
5447
+ "Base price charged per billing cycle before tax and discounts.\nThe actual amount charged may differ after checkout applies tax and discounts."
5448
+ ).optional(),
5449
+ frequency: z.enum(["MONTHLY"]).describe(
5450
+ "Billing frequency for recurring subscription charges.\nReflected as `billingFrequency` in the booking's subscription info.\n\nCurrently supports `MONTHLY` only."
5451
+ ).optional(),
5452
+ totalPayments: z.number().int().describe(
5453
+ "Total number of billing cycles in the subscription. For example, `12` for a 12-month subscription with monthly payments.\nReflected as `totalCycles` in the booking's subscription info.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
5454
+ ).min(2).optional().nullable(),
5455
+ firstChargeDate: z.enum(["CHECKOUT", "SCHEDULED"]).describe(
5456
+ "Determines when the first billing cycle payment is charged. Used together with `recurringStartDate` to define the subscription billing schedule."
5457
+ ).optional(),
5458
+ recurringStartDate: z.date().describe(
5459
+ "Date and time when recurring billing starts.\n\nWhen `firstChargeDate` is `CHECKOUT`, the first charge occurs at checkout and subsequent billing cycles start from this date.\n\nWhen `firstChargeDate` is `SCHEDULED`, the first charge occurs on this date.\n\nCustomers who book after recurring billing starts are billed for the remaining billing cycles only.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
5460
+ ).optional().nullable(),
5461
+ enrollmentFeeAmount: z.object({
5462
+ value: z.string().describe(
5463
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
5464
+ ).optional(),
5465
+ currency: z.string().describe(
5466
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
5467
+ ).optional(),
5468
+ formattedValue: z.string().describe(
5469
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
5470
+ ).max(50).optional().nullable()
5471
+ }).describe("Deprecated.").optional(),
5472
+ fullUpfrontPayment: z.object({
5473
+ supported: z.boolean().describe(
5474
+ "Whether customers can choose a one-time full payment instead of recurring subscription payments."
5475
+ ).optional().nullable(),
5476
+ discountPercent: z.string().describe(
5477
+ "Percentage discount applied when a customer chooses the full payment option.\nMin: `0.01` percent\nMax: `100` percent"
5478
+ ).optional().nullable()
5479
+ }).describe("Deprecated.").optional()
5480
+ }).describe(
5481
+ "Subscription pricing details for the service. Supported for course services only.\nThe business charges recurring monthly payments instead of a one-time fee.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
5482
+ )
5015
5483
  })
5016
5484
  ])
5017
5485
  ).describe(
@@ -5571,18 +6039,24 @@ var BulkUpdateServicesResponse = z.object({
5571
6039
  ).optional(),
5572
6040
  payment: z.intersection(
5573
6041
  z.object({
5574
- rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE"]).describe(
6042
+ rateType: z.enum([
6043
+ "FIXED",
6044
+ "CUSTOM",
6045
+ "VARIED",
6046
+ "NO_FEE",
6047
+ "SUBSCRIPTION"
6048
+ ]).describe(
5575
6049
  "The rate the customer is expected to pay for the service."
5576
6050
  ).optional(),
5577
6051
  options: z.object({
5578
6052
  online: z.boolean().describe(
5579
- "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.defaultPrice` must be specified respectively.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
6053
+ "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED`, `VARIED`, or `SUBSCRIPTION`.\n+ `fixed.price`, `varied.defaultPrice`, or `subscription.amountPerBillingCycle` must be specified respectively.\n\nRequired when: `rateType` is `SUBSCRIPTION`.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
5580
6054
  ).optional().nullable(),
5581
6055
  inPerson: z.boolean().describe(
5582
6056
  "Customers can pay for the service in person."
5583
6057
  ).optional().nullable(),
5584
6058
  deposit: z.boolean().describe(
5585
- "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified."
6059
+ "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified.\n+ `online` must be `true`.\n+ `inPerson` must be `false`."
5586
6060
  ).optional().nullable(),
5587
6061
  pricingPlan: z.boolean().describe(
5588
6062
  "Whether customers can pay for the service using a pricing plan.\nRead more about [service payment options](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments)."
@@ -5619,11 +6093,13 @@ var BulkUpdateServicesResponse = z.object({
5619
6093
  z.object({
5620
6094
  fixed: z.never().optional(),
5621
6095
  custom: z.never().optional(),
5622
- varied: z.never().optional()
6096
+ varied: z.never().optional(),
6097
+ subscription: z.never().optional()
5623
6098
  }),
5624
6099
  z.object({
5625
6100
  custom: z.never().optional(),
5626
6101
  varied: z.never().optional(),
6102
+ subscription: z.never().optional(),
5627
6103
  fixed: z.object({
5628
6104
  price: z.object({
5629
6105
  value: z.string().describe(
@@ -5661,6 +6137,7 @@ var BulkUpdateServicesResponse = z.object({
5661
6137
  z.object({
5662
6138
  fixed: z.never().optional(),
5663
6139
  varied: z.never().optional(),
6140
+ subscription: z.never().optional(),
5664
6141
  custom: z.object({
5665
6142
  description: z.string().describe(
5666
6143
  "A custom description explaining to the customer how to pay for the service."
@@ -5672,6 +6149,7 @@ var BulkUpdateServicesResponse = z.object({
5672
6149
  z.object({
5673
6150
  fixed: z.never().optional(),
5674
6151
  custom: z.never().optional(),
6152
+ subscription: z.never().optional(),
5675
6153
  varied: z.object({
5676
6154
  defaultPrice: z.object({
5677
6155
  value: z.string().describe(
@@ -5731,6 +6209,59 @@ var BulkUpdateServicesResponse = z.object({
5731
6209
  }).describe(
5732
6210
  "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`"
5733
6211
  )
6212
+ }),
6213
+ z.object({
6214
+ fixed: z.never().optional(),
6215
+ custom: z.never().optional(),
6216
+ varied: z.never().optional(),
6217
+ subscription: z.object({
6218
+ amountPerBillingCycle: z.object({
6219
+ value: z.string().describe(
6220
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
6221
+ ).optional(),
6222
+ currency: z.string().describe(
6223
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
6224
+ ).optional(),
6225
+ formattedValue: z.string().describe(
6226
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
6227
+ ).max(50).optional().nullable()
6228
+ }).describe(
6229
+ "Base price charged per billing cycle before tax and discounts.\nThe actual amount charged may differ after checkout applies tax and discounts."
6230
+ ).optional(),
6231
+ frequency: z.enum(["MONTHLY"]).describe(
6232
+ "Billing frequency for recurring subscription charges.\nReflected as `billingFrequency` in the booking's subscription info.\n\nCurrently supports `MONTHLY` only."
6233
+ ).optional(),
6234
+ totalPayments: z.number().int().describe(
6235
+ "Total number of billing cycles in the subscription. For example, `12` for a 12-month subscription with monthly payments.\nReflected as `totalCycles` in the booking's subscription info.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
6236
+ ).min(2).optional().nullable(),
6237
+ firstChargeDate: z.enum(["CHECKOUT", "SCHEDULED"]).describe(
6238
+ "Determines when the first billing cycle payment is charged. Used together with `recurringStartDate` to define the subscription billing schedule."
6239
+ ).optional(),
6240
+ recurringStartDate: z.date().describe(
6241
+ "Date and time when recurring billing starts.\n\nWhen `firstChargeDate` is `CHECKOUT`, the first charge occurs at checkout and subsequent billing cycles start from this date.\n\nWhen `firstChargeDate` is `SCHEDULED`, the first charge occurs on this date.\n\nCustomers who book after recurring billing starts are billed for the remaining billing cycles only.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
6242
+ ).optional().nullable(),
6243
+ enrollmentFeeAmount: z.object({
6244
+ value: z.string().describe(
6245
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
6246
+ ).optional(),
6247
+ currency: z.string().describe(
6248
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
6249
+ ).optional(),
6250
+ formattedValue: z.string().describe(
6251
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
6252
+ ).max(50).optional().nullable()
6253
+ }).describe("Deprecated.").optional(),
6254
+ fullUpfrontPayment: z.object({
6255
+ supported: z.boolean().describe(
6256
+ "Whether customers can choose a one-time full payment instead of recurring subscription payments."
6257
+ ).optional().nullable(),
6258
+ discountPercent: z.string().describe(
6259
+ "Percentage discount applied when a customer chooses the full payment option.\nMin: `0.01` percent\nMax: `100` percent"
6260
+ ).optional().nullable()
6261
+ }).describe("Deprecated.").optional()
6262
+ }).describe(
6263
+ "Subscription pricing details for the service. Supported for course services only.\nThe business charges recurring monthly payments instead of a one-time fee.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
6264
+ )
5734
6265
  })
5735
6266
  ])
5736
6267
  ).describe(
@@ -6265,14 +6796,14 @@ var BulkUpdateServicesByFilterRequest = z.object({
6265
6796
  }).describe("Form the customer filled out when booking the service.").optional(),
6266
6797
  payment: z.intersection(
6267
6798
  z.object({
6268
- rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE"]).optional(),
6799
+ rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE", "SUBSCRIPTION"]).optional(),
6269
6800
  options: z.object({
6270
6801
  online: z.boolean().describe(
6271
- "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.defaultPrice` must be specified respectively.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
6802
+ "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED`, `VARIED`, or `SUBSCRIPTION`.\n+ `fixed.price`, `varied.defaultPrice`, or `subscription.amountPerBillingCycle` must be specified respectively.\n\nRequired when: `rateType` is `SUBSCRIPTION`.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
6272
6803
  ).optional().nullable(),
6273
6804
  inPerson: z.boolean().describe("Customers can pay for the service in person.").optional().nullable(),
6274
6805
  deposit: z.boolean().describe(
6275
- "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified."
6806
+ "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified.\n+ `online` must be `true`.\n+ `inPerson` must be `false`."
6276
6807
  ).optional().nullable(),
6277
6808
  pricingPlan: z.boolean().describe(
6278
6809
  "Whether customers can pay for the service using a pricing plan.\nRead more about [service payment options](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments)."
@@ -6307,11 +6838,13 @@ var BulkUpdateServicesByFilterRequest = z.object({
6307
6838
  z.object({
6308
6839
  fixed: z.never().optional(),
6309
6840
  custom: z.never().optional(),
6310
- varied: z.never().optional()
6841
+ varied: z.never().optional(),
6842
+ subscription: z.never().optional()
6311
6843
  }),
6312
6844
  z.object({
6313
6845
  custom: z.never().optional(),
6314
6846
  varied: z.never().optional(),
6847
+ subscription: z.never().optional(),
6315
6848
  fixed: z.object({
6316
6849
  price: z.object({
6317
6850
  value: z.string().describe(
@@ -6349,6 +6882,7 @@ var BulkUpdateServicesByFilterRequest = z.object({
6349
6882
  z.object({
6350
6883
  fixed: z.never().optional(),
6351
6884
  varied: z.never().optional(),
6885
+ subscription: z.never().optional(),
6352
6886
  custom: z.object({
6353
6887
  description: z.string().describe(
6354
6888
  "A custom description explaining to the customer how to pay for the service."
@@ -6360,6 +6894,7 @@ var BulkUpdateServicesByFilterRequest = z.object({
6360
6894
  z.object({
6361
6895
  fixed: z.never().optional(),
6362
6896
  custom: z.never().optional(),
6897
+ subscription: z.never().optional(),
6363
6898
  varied: z.object({
6364
6899
  defaultPrice: z.object({
6365
6900
  value: z.string().describe(
@@ -6419,6 +6954,59 @@ var BulkUpdateServicesByFilterRequest = z.object({
6419
6954
  }).describe(
6420
6955
  "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`"
6421
6956
  )
6957
+ }),
6958
+ z.object({
6959
+ fixed: z.never().optional(),
6960
+ custom: z.never().optional(),
6961
+ varied: z.never().optional(),
6962
+ subscription: z.object({
6963
+ amountPerBillingCycle: z.object({
6964
+ value: z.string().describe(
6965
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
6966
+ ).optional(),
6967
+ currency: z.string().describe(
6968
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
6969
+ ).optional(),
6970
+ formattedValue: z.string().describe(
6971
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
6972
+ ).max(50).optional().nullable()
6973
+ }).describe(
6974
+ "Base price charged per billing cycle before tax and discounts.\nThe actual amount charged may differ after checkout applies tax and discounts."
6975
+ ).optional(),
6976
+ frequency: z.enum(["MONTHLY"]).describe(
6977
+ "Billing frequency for recurring subscription charges.\nReflected as `billingFrequency` in the booking's subscription info.\n\nCurrently supports `MONTHLY` only."
6978
+ ).optional(),
6979
+ totalPayments: z.number().int().describe(
6980
+ "Total number of billing cycles in the subscription. For example, `12` for a 12-month subscription with monthly payments.\nReflected as `totalCycles` in the booking's subscription info.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
6981
+ ).min(2).optional().nullable(),
6982
+ firstChargeDate: z.enum(["CHECKOUT", "SCHEDULED"]).describe(
6983
+ "Determines when the first billing cycle payment is charged. Used together with `recurringStartDate` to define the subscription billing schedule."
6984
+ ).optional(),
6985
+ recurringStartDate: z.date().describe(
6986
+ "Date and time when recurring billing starts.\n\nWhen `firstChargeDate` is `CHECKOUT`, the first charge occurs at checkout and subsequent billing cycles start from this date.\n\nWhen `firstChargeDate` is `SCHEDULED`, the first charge occurs on this date.\n\nCustomers who book after recurring billing starts are billed for the remaining billing cycles only.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
6987
+ ).optional().nullable(),
6988
+ enrollmentFeeAmount: z.object({
6989
+ value: z.string().describe(
6990
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
6991
+ ).optional(),
6992
+ currency: z.string().describe(
6993
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
6994
+ ).optional(),
6995
+ formattedValue: z.string().describe(
6996
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
6997
+ ).max(50).optional().nullable()
6998
+ }).describe("Deprecated.").optional(),
6999
+ fullUpfrontPayment: z.object({
7000
+ supported: z.boolean().describe(
7001
+ "Whether customers can choose a one-time full payment instead of recurring subscription payments."
7002
+ ).optional().nullable(),
7003
+ discountPercent: z.string().describe(
7004
+ "Percentage discount applied when a customer chooses the full payment option.\nMin: `0.01` percent\nMax: `100` percent"
7005
+ ).optional().nullable()
7006
+ }).describe("Deprecated.").optional()
7007
+ }).describe(
7008
+ "Subscription pricing details for the service. Supported for course services only.\nThe business charges recurring monthly payments instead of a one-time fee.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
7009
+ )
6422
7010
  })
6423
7011
  ])
6424
7012
  ).describe(
@@ -7016,18 +7604,24 @@ var BulkDeleteServicesResponse = z.object({
7016
7604
  ).optional(),
7017
7605
  payment: z.intersection(
7018
7606
  z.object({
7019
- rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE"]).describe(
7607
+ rateType: z.enum([
7608
+ "FIXED",
7609
+ "CUSTOM",
7610
+ "VARIED",
7611
+ "NO_FEE",
7612
+ "SUBSCRIPTION"
7613
+ ]).describe(
7020
7614
  "The rate the customer is expected to pay for the service."
7021
7615
  ).optional(),
7022
7616
  options: z.object({
7023
7617
  online: z.boolean().describe(
7024
- "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.defaultPrice` must be specified respectively.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
7618
+ "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED`, `VARIED`, or `SUBSCRIPTION`.\n+ `fixed.price`, `varied.defaultPrice`, or `subscription.amountPerBillingCycle` must be specified respectively.\n\nRequired when: `rateType` is `SUBSCRIPTION`.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
7025
7619
  ).optional().nullable(),
7026
7620
  inPerson: z.boolean().describe(
7027
7621
  "Customers can pay for the service in person."
7028
7622
  ).optional().nullable(),
7029
7623
  deposit: z.boolean().describe(
7030
- "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified."
7624
+ "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified.\n+ `online` must be `true`.\n+ `inPerson` must be `false`."
7031
7625
  ).optional().nullable(),
7032
7626
  pricingPlan: z.boolean().describe(
7033
7627
  "Whether customers can pay for the service using a pricing plan.\nRead more about [service payment options](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments)."
@@ -7064,11 +7658,13 @@ var BulkDeleteServicesResponse = z.object({
7064
7658
  z.object({
7065
7659
  fixed: z.never().optional(),
7066
7660
  custom: z.never().optional(),
7067
- varied: z.never().optional()
7661
+ varied: z.never().optional(),
7662
+ subscription: z.never().optional()
7068
7663
  }),
7069
7664
  z.object({
7070
7665
  custom: z.never().optional(),
7071
7666
  varied: z.never().optional(),
7667
+ subscription: z.never().optional(),
7072
7668
  fixed: z.object({
7073
7669
  price: z.object({
7074
7670
  value: z.string().describe(
@@ -7106,6 +7702,7 @@ var BulkDeleteServicesResponse = z.object({
7106
7702
  z.object({
7107
7703
  fixed: z.never().optional(),
7108
7704
  varied: z.never().optional(),
7705
+ subscription: z.never().optional(),
7109
7706
  custom: z.object({
7110
7707
  description: z.string().describe(
7111
7708
  "A custom description explaining to the customer how to pay for the service."
@@ -7117,6 +7714,7 @@ var BulkDeleteServicesResponse = z.object({
7117
7714
  z.object({
7118
7715
  fixed: z.never().optional(),
7119
7716
  custom: z.never().optional(),
7717
+ subscription: z.never().optional(),
7120
7718
  varied: z.object({
7121
7719
  defaultPrice: z.object({
7122
7720
  value: z.string().describe(
@@ -7176,6 +7774,59 @@ var BulkDeleteServicesResponse = z.object({
7176
7774
  }).describe(
7177
7775
  "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`"
7178
7776
  )
7777
+ }),
7778
+ z.object({
7779
+ fixed: z.never().optional(),
7780
+ custom: z.never().optional(),
7781
+ varied: z.never().optional(),
7782
+ subscription: z.object({
7783
+ amountPerBillingCycle: z.object({
7784
+ value: z.string().describe(
7785
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
7786
+ ).optional(),
7787
+ currency: z.string().describe(
7788
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
7789
+ ).optional(),
7790
+ formattedValue: z.string().describe(
7791
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
7792
+ ).max(50).optional().nullable()
7793
+ }).describe(
7794
+ "Base price charged per billing cycle before tax and discounts.\nThe actual amount charged may differ after checkout applies tax and discounts."
7795
+ ).optional(),
7796
+ frequency: z.enum(["MONTHLY"]).describe(
7797
+ "Billing frequency for recurring subscription charges.\nReflected as `billingFrequency` in the booking's subscription info.\n\nCurrently supports `MONTHLY` only."
7798
+ ).optional(),
7799
+ totalPayments: z.number().int().describe(
7800
+ "Total number of billing cycles in the subscription. For example, `12` for a 12-month subscription with monthly payments.\nReflected as `totalCycles` in the booking's subscription info.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
7801
+ ).min(2).optional().nullable(),
7802
+ firstChargeDate: z.enum(["CHECKOUT", "SCHEDULED"]).describe(
7803
+ "Determines when the first billing cycle payment is charged. Used together with `recurringStartDate` to define the subscription billing schedule."
7804
+ ).optional(),
7805
+ recurringStartDate: z.date().describe(
7806
+ "Date and time when recurring billing starts.\n\nWhen `firstChargeDate` is `CHECKOUT`, the first charge occurs at checkout and subsequent billing cycles start from this date.\n\nWhen `firstChargeDate` is `SCHEDULED`, the first charge occurs on this date.\n\nCustomers who book after recurring billing starts are billed for the remaining billing cycles only.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
7807
+ ).optional().nullable(),
7808
+ enrollmentFeeAmount: z.object({
7809
+ value: z.string().describe(
7810
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
7811
+ ).optional(),
7812
+ currency: z.string().describe(
7813
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
7814
+ ).optional(),
7815
+ formattedValue: z.string().describe(
7816
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
7817
+ ).max(50).optional().nullable()
7818
+ }).describe("Deprecated.").optional(),
7819
+ fullUpfrontPayment: z.object({
7820
+ supported: z.boolean().describe(
7821
+ "Whether customers can choose a one-time full payment instead of recurring subscription payments."
7822
+ ).optional().nullable(),
7823
+ discountPercent: z.string().describe(
7824
+ "Percentage discount applied when a customer chooses the full payment option.\nMin: `0.01` percent\nMax: `100` percent"
7825
+ ).optional().nullable()
7826
+ }).describe("Deprecated.").optional()
7827
+ }).describe(
7828
+ "Subscription pricing details for the service. Supported for course services only.\nThe business charges recurring monthly payments instead of a one-time fee.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
7829
+ )
7179
7830
  })
7180
7831
  ])
7181
7832
  ).describe(
@@ -7759,6 +8410,20 @@ var QueryServicesRequest = z.object({
7759
8410
  $nin: z.array(z.string()),
7760
8411
  $startsWith: z.string()
7761
8412
  }).partial().strict().optional(),
8413
+ "serviceResources.resourceIds.values": z.object({
8414
+ $eq: z.any(),
8415
+ $exists: z.boolean(),
8416
+ $gt: z.any(),
8417
+ $gte: z.any(),
8418
+ $hasAll: z.array(z.any()),
8419
+ $hasSome: z.array(z.any()),
8420
+ $in: z.array(z.any()),
8421
+ $lt: z.any(),
8422
+ $lte: z.any(),
8423
+ $ne: z.any(),
8424
+ $nin: z.array(z.any()),
8425
+ $startsWith: z.string()
8426
+ }).partial().strict().optional(),
7762
8427
  "form._id": z.object({
7763
8428
  $eq: z.string(),
7764
8429
  $exists: z.boolean(),
@@ -7942,6 +8607,7 @@ var QueryServicesRequest = z.object({
7942
8607
  "hidden",
7943
8608
  "tagLine",
7944
8609
  "staffMemberIds",
8610
+ "serviceResources.resourceIds.values",
7945
8611
  "form._id",
7946
8612
  "category._id",
7947
8613
  "category.name",
@@ -8062,16 +8728,16 @@ var QueryServicesResponse = z.object({
8062
8728
  }).describe("Form the customer filled out when booking the service.").optional(),
8063
8729
  payment: z.intersection(
8064
8730
  z.object({
8065
- rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE"]).describe(
8731
+ rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE", "SUBSCRIPTION"]).describe(
8066
8732
  "The rate the customer is expected to pay for the service."
8067
8733
  ).optional(),
8068
8734
  options: z.object({
8069
8735
  online: z.boolean().describe(
8070
- "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.defaultPrice` must be specified respectively.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
8736
+ "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED`, `VARIED`, or `SUBSCRIPTION`.\n+ `fixed.price`, `varied.defaultPrice`, or `subscription.amountPerBillingCycle` must be specified respectively.\n\nRequired when: `rateType` is `SUBSCRIPTION`.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
8071
8737
  ).optional().nullable(),
8072
8738
  inPerson: z.boolean().describe("Customers can pay for the service in person.").optional().nullable(),
8073
8739
  deposit: z.boolean().describe(
8074
- "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified."
8740
+ "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified.\n+ `online` must be `true`.\n+ `inPerson` must be `false`."
8075
8741
  ).optional().nullable(),
8076
8742
  pricingPlan: z.boolean().describe(
8077
8743
  "Whether customers can pay for the service using a pricing plan.\nRead more about [service payment options](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments)."
@@ -8108,11 +8774,13 @@ var QueryServicesResponse = z.object({
8108
8774
  z.object({
8109
8775
  fixed: z.never().optional(),
8110
8776
  custom: z.never().optional(),
8111
- varied: z.never().optional()
8777
+ varied: z.never().optional(),
8778
+ subscription: z.never().optional()
8112
8779
  }),
8113
8780
  z.object({
8114
8781
  custom: z.never().optional(),
8115
8782
  varied: z.never().optional(),
8783
+ subscription: z.never().optional(),
8116
8784
  fixed: z.object({
8117
8785
  price: z.object({
8118
8786
  value: z.string().describe(
@@ -8150,6 +8818,7 @@ var QueryServicesResponse = z.object({
8150
8818
  z.object({
8151
8819
  fixed: z.never().optional(),
8152
8820
  varied: z.never().optional(),
8821
+ subscription: z.never().optional(),
8153
8822
  custom: z.object({
8154
8823
  description: z.string().describe(
8155
8824
  "A custom description explaining to the customer how to pay for the service."
@@ -8161,6 +8830,7 @@ var QueryServicesResponse = z.object({
8161
8830
  z.object({
8162
8831
  fixed: z.never().optional(),
8163
8832
  custom: z.never().optional(),
8833
+ subscription: z.never().optional(),
8164
8834
  varied: z.object({
8165
8835
  defaultPrice: z.object({
8166
8836
  value: z.string().describe(
@@ -8201,7 +8871,57 @@ var QueryServicesResponse = z.object({
8201
8871
  }).describe(
8202
8872
  "The minimal price a customer may pay for this service, based on its variants."
8203
8873
  ).optional(),
8204
- maxPrice: z.object({
8874
+ maxPrice: z.object({
8875
+ value: z.string().describe(
8876
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
8877
+ ).optional(),
8878
+ currency: z.string().describe(
8879
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
8880
+ ).optional(),
8881
+ formattedValue: z.string().describe(
8882
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
8883
+ ).max(50).optional().nullable()
8884
+ }).describe(
8885
+ "The maximum price a customer may pay for this service, based on its variants."
8886
+ ).optional(),
8887
+ fullUpfrontPaymentAllowed: z.boolean().describe(
8888
+ "Whether customers can choose to pay the full service price upfront instead of only the deposit.\n\nUsed only when a `deposit` amount is set.\n\nDefault: `false`."
8889
+ ).optional().nullable()
8890
+ }).describe(
8891
+ "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`"
8892
+ )
8893
+ }),
8894
+ z.object({
8895
+ fixed: z.never().optional(),
8896
+ custom: z.never().optional(),
8897
+ varied: z.never().optional(),
8898
+ subscription: z.object({
8899
+ amountPerBillingCycle: z.object({
8900
+ value: z.string().describe(
8901
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
8902
+ ).optional(),
8903
+ currency: z.string().describe(
8904
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
8905
+ ).optional(),
8906
+ formattedValue: z.string().describe(
8907
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
8908
+ ).max(50).optional().nullable()
8909
+ }).describe(
8910
+ "Base price charged per billing cycle before tax and discounts.\nThe actual amount charged may differ after checkout applies tax and discounts."
8911
+ ).optional(),
8912
+ frequency: z.enum(["MONTHLY"]).describe(
8913
+ "Billing frequency for recurring subscription charges.\nReflected as `billingFrequency` in the booking's subscription info.\n\nCurrently supports `MONTHLY` only."
8914
+ ).optional(),
8915
+ totalPayments: z.number().int().describe(
8916
+ "Total number of billing cycles in the subscription. For example, `12` for a 12-month subscription with monthly payments.\nReflected as `totalCycles` in the booking's subscription info.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
8917
+ ).min(2).optional().nullable(),
8918
+ firstChargeDate: z.enum(["CHECKOUT", "SCHEDULED"]).describe(
8919
+ "Determines when the first billing cycle payment is charged. Used together with `recurringStartDate` to define the subscription billing schedule."
8920
+ ).optional(),
8921
+ recurringStartDate: z.date().describe(
8922
+ "Date and time when recurring billing starts.\n\nWhen `firstChargeDate` is `CHECKOUT`, the first charge occurs at checkout and subsequent billing cycles start from this date.\n\nWhen `firstChargeDate` is `SCHEDULED`, the first charge occurs on this date.\n\nCustomers who book after recurring billing starts are billed for the remaining billing cycles only.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
8923
+ ).optional().nullable(),
8924
+ enrollmentFeeAmount: z.object({
8205
8925
  value: z.string().describe(
8206
8926
  "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
8207
8927
  ).optional(),
@@ -8211,14 +8931,17 @@ var QueryServicesResponse = z.object({
8211
8931
  formattedValue: z.string().describe(
8212
8932
  "Monetary amount. Decimal string in local format. For example, `1 000,30`."
8213
8933
  ).max(50).optional().nullable()
8214
- }).describe(
8215
- "The maximum price a customer may pay for this service, based on its variants."
8216
- ).optional(),
8217
- fullUpfrontPaymentAllowed: z.boolean().describe(
8218
- "Whether customers can choose to pay the full service price upfront instead of only the deposit.\n\nUsed only when a `deposit` amount is set.\n\nDefault: `false`."
8219
- ).optional().nullable()
8934
+ }).describe("Deprecated.").optional(),
8935
+ fullUpfrontPayment: z.object({
8936
+ supported: z.boolean().describe(
8937
+ "Whether customers can choose a one-time full payment instead of recurring subscription payments."
8938
+ ).optional().nullable(),
8939
+ discountPercent: z.string().describe(
8940
+ "Percentage discount applied when a customer chooses the full payment option.\nMin: `0.01` percent\nMax: `100` percent"
8941
+ ).optional().nullable()
8942
+ }).describe("Deprecated.").optional()
8220
8943
  }).describe(
8221
- "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`"
8944
+ "Subscription pricing details for the service. Supported for course services only.\nThe business charges recurring monthly payments instead of a one-time fee.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
8222
8945
  )
8223
8946
  })
8224
8947
  ])
@@ -8787,6 +9510,20 @@ var SearchServicesRequest = z.object({
8787
9510
  $nin: z.array(z.string()),
8788
9511
  $startsWith: z.string()
8789
9512
  }).partial().strict().optional(),
9513
+ "serviceResources.resourceIds.values": z.object({
9514
+ $eq: z.any(),
9515
+ $exists: z.boolean(),
9516
+ $gt: z.any(),
9517
+ $gte: z.any(),
9518
+ $hasAll: z.array(z.any()),
9519
+ $hasSome: z.array(z.any()),
9520
+ $in: z.array(z.any()),
9521
+ $lt: z.any(),
9522
+ $lte: z.any(),
9523
+ $ne: z.any(),
9524
+ $nin: z.array(z.any()),
9525
+ $startsWith: z.string()
9526
+ }).partial().strict().optional(),
8790
9527
  "form._id": z.object({
8791
9528
  $eq: z.string(),
8792
9529
  $exists: z.boolean(),
@@ -9026,6 +9763,7 @@ var SearchServicesRequest = z.object({
9026
9763
  "hidden",
9027
9764
  "tagLine",
9028
9765
  "staffMemberIds",
9766
+ "serviceResources.resourceIds.values",
9029
9767
  "form._id",
9030
9768
  "category._id",
9031
9769
  "category.name",
@@ -9143,16 +9881,16 @@ var SearchServicesResponse = z.object({
9143
9881
  }).describe("Form the customer filled out when booking the service.").optional(),
9144
9882
  payment: z.intersection(
9145
9883
  z.object({
9146
- rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE"]).describe(
9884
+ rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE", "SUBSCRIPTION"]).describe(
9147
9885
  "The rate the customer is expected to pay for the service."
9148
9886
  ).optional(),
9149
9887
  options: z.object({
9150
9888
  online: z.boolean().describe(
9151
- "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.defaultPrice` must be specified respectively.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
9889
+ "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED`, `VARIED`, or `SUBSCRIPTION`.\n+ `fixed.price`, `varied.defaultPrice`, or `subscription.amountPerBillingCycle` must be specified respectively.\n\nRequired when: `rateType` is `SUBSCRIPTION`.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
9152
9890
  ).optional().nullable(),
9153
9891
  inPerson: z.boolean().describe("Customers can pay for the service in person.").optional().nullable(),
9154
9892
  deposit: z.boolean().describe(
9155
- "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified."
9893
+ "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified.\n+ `online` must be `true`.\n+ `inPerson` must be `false`."
9156
9894
  ).optional().nullable(),
9157
9895
  pricingPlan: z.boolean().describe(
9158
9896
  "Whether customers can pay for the service using a pricing plan.\nRead more about [service payment options](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments)."
@@ -9189,11 +9927,13 @@ var SearchServicesResponse = z.object({
9189
9927
  z.object({
9190
9928
  fixed: z.never().optional(),
9191
9929
  custom: z.never().optional(),
9192
- varied: z.never().optional()
9930
+ varied: z.never().optional(),
9931
+ subscription: z.never().optional()
9193
9932
  }),
9194
9933
  z.object({
9195
9934
  custom: z.never().optional(),
9196
9935
  varied: z.never().optional(),
9936
+ subscription: z.never().optional(),
9197
9937
  fixed: z.object({
9198
9938
  price: z.object({
9199
9939
  value: z.string().describe(
@@ -9231,6 +9971,7 @@ var SearchServicesResponse = z.object({
9231
9971
  z.object({
9232
9972
  fixed: z.never().optional(),
9233
9973
  varied: z.never().optional(),
9974
+ subscription: z.never().optional(),
9234
9975
  custom: z.object({
9235
9976
  description: z.string().describe(
9236
9977
  "A custom description explaining to the customer how to pay for the service."
@@ -9242,6 +9983,7 @@ var SearchServicesResponse = z.object({
9242
9983
  z.object({
9243
9984
  fixed: z.never().optional(),
9244
9985
  custom: z.never().optional(),
9986
+ subscription: z.never().optional(),
9245
9987
  varied: z.object({
9246
9988
  defaultPrice: z.object({
9247
9989
  value: z.string().describe(
@@ -9301,6 +10043,59 @@ var SearchServicesResponse = z.object({
9301
10043
  }).describe(
9302
10044
  "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`"
9303
10045
  )
10046
+ }),
10047
+ z.object({
10048
+ fixed: z.never().optional(),
10049
+ custom: z.never().optional(),
10050
+ varied: z.never().optional(),
10051
+ subscription: z.object({
10052
+ amountPerBillingCycle: z.object({
10053
+ value: z.string().describe(
10054
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
10055
+ ).optional(),
10056
+ currency: z.string().describe(
10057
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
10058
+ ).optional(),
10059
+ formattedValue: z.string().describe(
10060
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
10061
+ ).max(50).optional().nullable()
10062
+ }).describe(
10063
+ "Base price charged per billing cycle before tax and discounts.\nThe actual amount charged may differ after checkout applies tax and discounts."
10064
+ ).optional(),
10065
+ frequency: z.enum(["MONTHLY"]).describe(
10066
+ "Billing frequency for recurring subscription charges.\nReflected as `billingFrequency` in the booking's subscription info.\n\nCurrently supports `MONTHLY` only."
10067
+ ).optional(),
10068
+ totalPayments: z.number().int().describe(
10069
+ "Total number of billing cycles in the subscription. For example, `12` for a 12-month subscription with monthly payments.\nReflected as `totalCycles` in the booking's subscription info.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
10070
+ ).min(2).optional().nullable(),
10071
+ firstChargeDate: z.enum(["CHECKOUT", "SCHEDULED"]).describe(
10072
+ "Determines when the first billing cycle payment is charged. Used together with `recurringStartDate` to define the subscription billing schedule."
10073
+ ).optional(),
10074
+ recurringStartDate: z.date().describe(
10075
+ "Date and time when recurring billing starts.\n\nWhen `firstChargeDate` is `CHECKOUT`, the first charge occurs at checkout and subsequent billing cycles start from this date.\n\nWhen `firstChargeDate` is `SCHEDULED`, the first charge occurs on this date.\n\nCustomers who book after recurring billing starts are billed for the remaining billing cycles only.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
10076
+ ).optional().nullable(),
10077
+ enrollmentFeeAmount: z.object({
10078
+ value: z.string().describe(
10079
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
10080
+ ).optional(),
10081
+ currency: z.string().describe(
10082
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
10083
+ ).optional(),
10084
+ formattedValue: z.string().describe(
10085
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
10086
+ ).max(50).optional().nullable()
10087
+ }).describe("Deprecated.").optional(),
10088
+ fullUpfrontPayment: z.object({
10089
+ supported: z.boolean().describe(
10090
+ "Whether customers can choose a one-time full payment instead of recurring subscription payments."
10091
+ ).optional().nullable(),
10092
+ discountPercent: z.string().describe(
10093
+ "Percentage discount applied when a customer chooses the full payment option.\nMin: `0.01` percent\nMax: `100` percent"
10094
+ ).optional().nullable()
10095
+ }).describe("Deprecated.").optional()
10096
+ }).describe(
10097
+ "Subscription pricing details for the service. Supported for course services only.\nThe business charges recurring monthly payments instead of a one-time fee.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
10098
+ )
9304
10099
  })
9305
10100
  ])
9306
10101
  ).describe(
@@ -10312,18 +11107,24 @@ var QueryPoliciesResponse = z.object({
10312
11107
  ).optional(),
10313
11108
  payment: z.intersection(
10314
11109
  z.object({
10315
- rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE"]).describe(
11110
+ rateType: z.enum([
11111
+ "FIXED",
11112
+ "CUSTOM",
11113
+ "VARIED",
11114
+ "NO_FEE",
11115
+ "SUBSCRIPTION"
11116
+ ]).describe(
10316
11117
  "The rate the customer is expected to pay for the service."
10317
11118
  ).optional(),
10318
11119
  options: z.object({
10319
11120
  online: z.boolean().describe(
10320
- "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.defaultPrice` must be specified respectively.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
11121
+ "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED`, `VARIED`, or `SUBSCRIPTION`.\n+ `fixed.price`, `varied.defaultPrice`, or `subscription.amountPerBillingCycle` must be specified respectively.\n\nRequired when: `rateType` is `SUBSCRIPTION`.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
10321
11122
  ).optional().nullable(),
10322
11123
  inPerson: z.boolean().describe(
10323
11124
  "Customers can pay for the service in person."
10324
11125
  ).optional().nullable(),
10325
11126
  deposit: z.boolean().describe(
10326
- "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified."
11127
+ "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified.\n+ `online` must be `true`.\n+ `inPerson` must be `false`."
10327
11128
  ).optional().nullable(),
10328
11129
  pricingPlan: z.boolean().describe(
10329
11130
  "Whether customers can pay for the service using a pricing plan.\nRead more about [service payment options](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments)."
@@ -10360,11 +11161,13 @@ var QueryPoliciesResponse = z.object({
10360
11161
  z.object({
10361
11162
  fixed: z.never().optional(),
10362
11163
  custom: z.never().optional(),
10363
- varied: z.never().optional()
11164
+ varied: z.never().optional(),
11165
+ subscription: z.never().optional()
10364
11166
  }),
10365
11167
  z.object({
10366
11168
  custom: z.never().optional(),
10367
11169
  varied: z.never().optional(),
11170
+ subscription: z.never().optional(),
10368
11171
  fixed: z.object({
10369
11172
  price: z.object({
10370
11173
  value: z.string().describe(
@@ -10402,6 +11205,7 @@ var QueryPoliciesResponse = z.object({
10402
11205
  z.object({
10403
11206
  fixed: z.never().optional(),
10404
11207
  varied: z.never().optional(),
11208
+ subscription: z.never().optional(),
10405
11209
  custom: z.object({
10406
11210
  description: z.string().describe(
10407
11211
  "A custom description explaining to the customer how to pay for the service."
@@ -10413,6 +11217,7 @@ var QueryPoliciesResponse = z.object({
10413
11217
  z.object({
10414
11218
  fixed: z.never().optional(),
10415
11219
  custom: z.never().optional(),
11220
+ subscription: z.never().optional(),
10416
11221
  varied: z.object({
10417
11222
  defaultPrice: z.object({
10418
11223
  value: z.string().describe(
@@ -10472,6 +11277,59 @@ var QueryPoliciesResponse = z.object({
10472
11277
  }).describe(
10473
11278
  "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`"
10474
11279
  )
11280
+ }),
11281
+ z.object({
11282
+ fixed: z.never().optional(),
11283
+ custom: z.never().optional(),
11284
+ varied: z.never().optional(),
11285
+ subscription: z.object({
11286
+ amountPerBillingCycle: z.object({
11287
+ value: z.string().describe(
11288
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
11289
+ ).optional(),
11290
+ currency: z.string().describe(
11291
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
11292
+ ).optional(),
11293
+ formattedValue: z.string().describe(
11294
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
11295
+ ).max(50).optional().nullable()
11296
+ }).describe(
11297
+ "Base price charged per billing cycle before tax and discounts.\nThe actual amount charged may differ after checkout applies tax and discounts."
11298
+ ).optional(),
11299
+ frequency: z.enum(["MONTHLY"]).describe(
11300
+ "Billing frequency for recurring subscription charges.\nReflected as `billingFrequency` in the booking's subscription info.\n\nCurrently supports `MONTHLY` only."
11301
+ ).optional(),
11302
+ totalPayments: z.number().int().describe(
11303
+ "Total number of billing cycles in the subscription. For example, `12` for a 12-month subscription with monthly payments.\nReflected as `totalCycles` in the booking's subscription info.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
11304
+ ).min(2).optional().nullable(),
11305
+ firstChargeDate: z.enum(["CHECKOUT", "SCHEDULED"]).describe(
11306
+ "Determines when the first billing cycle payment is charged. Used together with `recurringStartDate` to define the subscription billing schedule."
11307
+ ).optional(),
11308
+ recurringStartDate: z.date().describe(
11309
+ "Date and time when recurring billing starts.\n\nWhen `firstChargeDate` is `CHECKOUT`, the first charge occurs at checkout and subsequent billing cycles start from this date.\n\nWhen `firstChargeDate` is `SCHEDULED`, the first charge occurs on this date.\n\nCustomers who book after recurring billing starts are billed for the remaining billing cycles only.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
11310
+ ).optional().nullable(),
11311
+ enrollmentFeeAmount: z.object({
11312
+ value: z.string().describe(
11313
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
11314
+ ).optional(),
11315
+ currency: z.string().describe(
11316
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
11317
+ ).optional(),
11318
+ formattedValue: z.string().describe(
11319
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
11320
+ ).max(50).optional().nullable()
11321
+ }).describe("Deprecated.").optional(),
11322
+ fullUpfrontPayment: z.object({
11323
+ supported: z.boolean().describe(
11324
+ "Whether customers can choose a one-time full payment instead of recurring subscription payments."
11325
+ ).optional().nullable(),
11326
+ discountPercent: z.string().describe(
11327
+ "Percentage discount applied when a customer chooses the full payment option.\nMin: `0.01` percent\nMax: `100` percent"
11328
+ ).optional().nullable()
11329
+ }).describe("Deprecated.").optional()
11330
+ }).describe(
11331
+ "Subscription pricing details for the service. Supported for course services only.\nThe business charges recurring monthly payments instead of a one-time fee.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
11332
+ )
10475
11333
  })
10476
11334
  ])
10477
11335
  ).describe(
@@ -11413,16 +12271,16 @@ var SetServiceLocationsResponse = z.object({
11413
12271
  }).describe("Form the customer filled out when booking the service.").optional(),
11414
12272
  payment: z.intersection(
11415
12273
  z.object({
11416
- rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE"]).describe(
12274
+ rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE", "SUBSCRIPTION"]).describe(
11417
12275
  "The rate the customer is expected to pay for the service."
11418
12276
  ).optional(),
11419
12277
  options: z.object({
11420
12278
  online: z.boolean().describe(
11421
- "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.defaultPrice` must be specified respectively.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
12279
+ "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED`, `VARIED`, or `SUBSCRIPTION`.\n+ `fixed.price`, `varied.defaultPrice`, or `subscription.amountPerBillingCycle` must be specified respectively.\n\nRequired when: `rateType` is `SUBSCRIPTION`.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
11422
12280
  ).optional().nullable(),
11423
12281
  inPerson: z.boolean().describe("Customers can pay for the service in person.").optional().nullable(),
11424
12282
  deposit: z.boolean().describe(
11425
- "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified."
12283
+ "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified.\n+ `online` must be `true`.\n+ `inPerson` must be `false`."
11426
12284
  ).optional().nullable(),
11427
12285
  pricingPlan: z.boolean().describe(
11428
12286
  "Whether customers can pay for the service using a pricing plan.\nRead more about [service payment options](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments)."
@@ -11459,11 +12317,13 @@ var SetServiceLocationsResponse = z.object({
11459
12317
  z.object({
11460
12318
  fixed: z.never().optional(),
11461
12319
  custom: z.never().optional(),
11462
- varied: z.never().optional()
12320
+ varied: z.never().optional(),
12321
+ subscription: z.never().optional()
11463
12322
  }),
11464
12323
  z.object({
11465
12324
  custom: z.never().optional(),
11466
12325
  varied: z.never().optional(),
12326
+ subscription: z.never().optional(),
11467
12327
  fixed: z.object({
11468
12328
  price: z.object({
11469
12329
  value: z.string().describe(
@@ -11501,6 +12361,7 @@ var SetServiceLocationsResponse = z.object({
11501
12361
  z.object({
11502
12362
  fixed: z.never().optional(),
11503
12363
  varied: z.never().optional(),
12364
+ subscription: z.never().optional(),
11504
12365
  custom: z.object({
11505
12366
  description: z.string().describe(
11506
12367
  "A custom description explaining to the customer how to pay for the service."
@@ -11512,6 +12373,7 @@ var SetServiceLocationsResponse = z.object({
11512
12373
  z.object({
11513
12374
  fixed: z.never().optional(),
11514
12375
  custom: z.never().optional(),
12376
+ subscription: z.never().optional(),
11515
12377
  varied: z.object({
11516
12378
  defaultPrice: z.object({
11517
12379
  value: z.string().describe(
@@ -11571,6 +12433,59 @@ var SetServiceLocationsResponse = z.object({
11571
12433
  }).describe(
11572
12434
  "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`"
11573
12435
  )
12436
+ }),
12437
+ z.object({
12438
+ fixed: z.never().optional(),
12439
+ custom: z.never().optional(),
12440
+ varied: z.never().optional(),
12441
+ subscription: z.object({
12442
+ amountPerBillingCycle: z.object({
12443
+ value: z.string().describe(
12444
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
12445
+ ).optional(),
12446
+ currency: z.string().describe(
12447
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
12448
+ ).optional(),
12449
+ formattedValue: z.string().describe(
12450
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
12451
+ ).max(50).optional().nullable()
12452
+ }).describe(
12453
+ "Base price charged per billing cycle before tax and discounts.\nThe actual amount charged may differ after checkout applies tax and discounts."
12454
+ ).optional(),
12455
+ frequency: z.enum(["MONTHLY"]).describe(
12456
+ "Billing frequency for recurring subscription charges.\nReflected as `billingFrequency` in the booking's subscription info.\n\nCurrently supports `MONTHLY` only."
12457
+ ).optional(),
12458
+ totalPayments: z.number().int().describe(
12459
+ "Total number of billing cycles in the subscription. For example, `12` for a 12-month subscription with monthly payments.\nReflected as `totalCycles` in the booking's subscription info.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
12460
+ ).min(2).optional().nullable(),
12461
+ firstChargeDate: z.enum(["CHECKOUT", "SCHEDULED"]).describe(
12462
+ "Determines when the first billing cycle payment is charged. Used together with `recurringStartDate` to define the subscription billing schedule."
12463
+ ).optional(),
12464
+ recurringStartDate: z.date().describe(
12465
+ "Date and time when recurring billing starts.\n\nWhen `firstChargeDate` is `CHECKOUT`, the first charge occurs at checkout and subsequent billing cycles start from this date.\n\nWhen `firstChargeDate` is `SCHEDULED`, the first charge occurs on this date.\n\nCustomers who book after recurring billing starts are billed for the remaining billing cycles only.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
12466
+ ).optional().nullable(),
12467
+ enrollmentFeeAmount: z.object({
12468
+ value: z.string().describe(
12469
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
12470
+ ).optional(),
12471
+ currency: z.string().describe(
12472
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
12473
+ ).optional(),
12474
+ formattedValue: z.string().describe(
12475
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
12476
+ ).max(50).optional().nullable()
12477
+ }).describe("Deprecated.").optional(),
12478
+ fullUpfrontPayment: z.object({
12479
+ supported: z.boolean().describe(
12480
+ "Whether customers can choose a one-time full payment instead of recurring subscription payments."
12481
+ ).optional().nullable(),
12482
+ discountPercent: z.string().describe(
12483
+ "Percentage discount applied when a customer chooses the full payment option.\nMin: `0.01` percent\nMax: `100` percent"
12484
+ ).optional().nullable()
12485
+ }).describe("Deprecated.").optional()
12486
+ }).describe(
12487
+ "Subscription pricing details for the service. Supported for course services only.\nThe business charges recurring monthly payments instead of a one-time fee.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
12488
+ )
11574
12489
  })
11575
12490
  ])
11576
12491
  ).describe(
@@ -12097,16 +13012,16 @@ var EnablePricingPlansForServiceResponse = z.object({
12097
13012
  }).describe("Form the customer filled out when booking the service.").optional(),
12098
13013
  payment: z.intersection(
12099
13014
  z.object({
12100
- rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE"]).describe(
13015
+ rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE", "SUBSCRIPTION"]).describe(
12101
13016
  "The rate the customer is expected to pay for the service."
12102
13017
  ).optional(),
12103
13018
  options: z.object({
12104
13019
  online: z.boolean().describe(
12105
- "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.defaultPrice` must be specified respectively.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
13020
+ "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED`, `VARIED`, or `SUBSCRIPTION`.\n+ `fixed.price`, `varied.defaultPrice`, or `subscription.amountPerBillingCycle` must be specified respectively.\n\nRequired when: `rateType` is `SUBSCRIPTION`.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
12106
13021
  ).optional().nullable(),
12107
13022
  inPerson: z.boolean().describe("Customers can pay for the service in person.").optional().nullable(),
12108
13023
  deposit: z.boolean().describe(
12109
- "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified."
13024
+ "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified.\n+ `online` must be `true`.\n+ `inPerson` must be `false`."
12110
13025
  ).optional().nullable(),
12111
13026
  pricingPlan: z.boolean().describe(
12112
13027
  "Whether customers can pay for the service using a pricing plan.\nRead more about [service payment options](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments)."
@@ -12143,11 +13058,13 @@ var EnablePricingPlansForServiceResponse = z.object({
12143
13058
  z.object({
12144
13059
  fixed: z.never().optional(),
12145
13060
  custom: z.never().optional(),
12146
- varied: z.never().optional()
13061
+ varied: z.never().optional(),
13062
+ subscription: z.never().optional()
12147
13063
  }),
12148
13064
  z.object({
12149
13065
  custom: z.never().optional(),
12150
13066
  varied: z.never().optional(),
13067
+ subscription: z.never().optional(),
12151
13068
  fixed: z.object({
12152
13069
  price: z.object({
12153
13070
  value: z.string().describe(
@@ -12185,6 +13102,7 @@ var EnablePricingPlansForServiceResponse = z.object({
12185
13102
  z.object({
12186
13103
  fixed: z.never().optional(),
12187
13104
  varied: z.never().optional(),
13105
+ subscription: z.never().optional(),
12188
13106
  custom: z.object({
12189
13107
  description: z.string().describe(
12190
13108
  "A custom description explaining to the customer how to pay for the service."
@@ -12196,6 +13114,7 @@ var EnablePricingPlansForServiceResponse = z.object({
12196
13114
  z.object({
12197
13115
  fixed: z.never().optional(),
12198
13116
  custom: z.never().optional(),
13117
+ subscription: z.never().optional(),
12199
13118
  varied: z.object({
12200
13119
  defaultPrice: z.object({
12201
13120
  value: z.string().describe(
@@ -12255,6 +13174,59 @@ var EnablePricingPlansForServiceResponse = z.object({
12255
13174
  }).describe(
12256
13175
  "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`"
12257
13176
  )
13177
+ }),
13178
+ z.object({
13179
+ fixed: z.never().optional(),
13180
+ custom: z.never().optional(),
13181
+ varied: z.never().optional(),
13182
+ subscription: z.object({
13183
+ amountPerBillingCycle: z.object({
13184
+ value: z.string().describe(
13185
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
13186
+ ).optional(),
13187
+ currency: z.string().describe(
13188
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
13189
+ ).optional(),
13190
+ formattedValue: z.string().describe(
13191
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
13192
+ ).max(50).optional().nullable()
13193
+ }).describe(
13194
+ "Base price charged per billing cycle before tax and discounts.\nThe actual amount charged may differ after checkout applies tax and discounts."
13195
+ ).optional(),
13196
+ frequency: z.enum(["MONTHLY"]).describe(
13197
+ "Billing frequency for recurring subscription charges.\nReflected as `billingFrequency` in the booking's subscription info.\n\nCurrently supports `MONTHLY` only."
13198
+ ).optional(),
13199
+ totalPayments: z.number().int().describe(
13200
+ "Total number of billing cycles in the subscription. For example, `12` for a 12-month subscription with monthly payments.\nReflected as `totalCycles` in the booking's subscription info.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
13201
+ ).min(2).optional().nullable(),
13202
+ firstChargeDate: z.enum(["CHECKOUT", "SCHEDULED"]).describe(
13203
+ "Determines when the first billing cycle payment is charged. Used together with `recurringStartDate` to define the subscription billing schedule."
13204
+ ).optional(),
13205
+ recurringStartDate: z.date().describe(
13206
+ "Date and time when recurring billing starts.\n\nWhen `firstChargeDate` is `CHECKOUT`, the first charge occurs at checkout and subsequent billing cycles start from this date.\n\nWhen `firstChargeDate` is `SCHEDULED`, the first charge occurs on this date.\n\nCustomers who book after recurring billing starts are billed for the remaining billing cycles only.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
13207
+ ).optional().nullable(),
13208
+ enrollmentFeeAmount: z.object({
13209
+ value: z.string().describe(
13210
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
13211
+ ).optional(),
13212
+ currency: z.string().describe(
13213
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
13214
+ ).optional(),
13215
+ formattedValue: z.string().describe(
13216
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
13217
+ ).max(50).optional().nullable()
13218
+ }).describe("Deprecated.").optional(),
13219
+ fullUpfrontPayment: z.object({
13220
+ supported: z.boolean().describe(
13221
+ "Whether customers can choose a one-time full payment instead of recurring subscription payments."
13222
+ ).optional().nullable(),
13223
+ discountPercent: z.string().describe(
13224
+ "Percentage discount applied when a customer chooses the full payment option.\nMin: `0.01` percent\nMax: `100` percent"
13225
+ ).optional().nullable()
13226
+ }).describe("Deprecated.").optional()
13227
+ }).describe(
13228
+ "Subscription pricing details for the service. Supported for course services only.\nThe business charges recurring monthly payments instead of a one-time fee.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
13229
+ )
12258
13230
  })
12259
13231
  ])
12260
13232
  ).describe(
@@ -12781,16 +13753,16 @@ var DisablePricingPlansForServiceResponse = z.object({
12781
13753
  }).describe("Form the customer filled out when booking the service.").optional(),
12782
13754
  payment: z.intersection(
12783
13755
  z.object({
12784
- rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE"]).describe(
13756
+ rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE", "SUBSCRIPTION"]).describe(
12785
13757
  "The rate the customer is expected to pay for the service."
12786
13758
  ).optional(),
12787
13759
  options: z.object({
12788
13760
  online: z.boolean().describe(
12789
- "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.defaultPrice` must be specified respectively.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
13761
+ "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED`, `VARIED`, or `SUBSCRIPTION`.\n+ `fixed.price`, `varied.defaultPrice`, or `subscription.amountPerBillingCycle` must be specified respectively.\n\nRequired when: `rateType` is `SUBSCRIPTION`.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
12790
13762
  ).optional().nullable(),
12791
13763
  inPerson: z.boolean().describe("Customers can pay for the service in person.").optional().nullable(),
12792
13764
  deposit: z.boolean().describe(
12793
- "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified."
13765
+ "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified.\n+ `online` must be `true`.\n+ `inPerson` must be `false`."
12794
13766
  ).optional().nullable(),
12795
13767
  pricingPlan: z.boolean().describe(
12796
13768
  "Whether customers can pay for the service using a pricing plan.\nRead more about [service payment options](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments)."
@@ -12827,11 +13799,13 @@ var DisablePricingPlansForServiceResponse = z.object({
12827
13799
  z.object({
12828
13800
  fixed: z.never().optional(),
12829
13801
  custom: z.never().optional(),
12830
- varied: z.never().optional()
13802
+ varied: z.never().optional(),
13803
+ subscription: z.never().optional()
12831
13804
  }),
12832
13805
  z.object({
12833
13806
  custom: z.never().optional(),
12834
13807
  varied: z.never().optional(),
13808
+ subscription: z.never().optional(),
12835
13809
  fixed: z.object({
12836
13810
  price: z.object({
12837
13811
  value: z.string().describe(
@@ -12869,6 +13843,7 @@ var DisablePricingPlansForServiceResponse = z.object({
12869
13843
  z.object({
12870
13844
  fixed: z.never().optional(),
12871
13845
  varied: z.never().optional(),
13846
+ subscription: z.never().optional(),
12872
13847
  custom: z.object({
12873
13848
  description: z.string().describe(
12874
13849
  "A custom description explaining to the customer how to pay for the service."
@@ -12880,6 +13855,7 @@ var DisablePricingPlansForServiceResponse = z.object({
12880
13855
  z.object({
12881
13856
  fixed: z.never().optional(),
12882
13857
  custom: z.never().optional(),
13858
+ subscription: z.never().optional(),
12883
13859
  varied: z.object({
12884
13860
  defaultPrice: z.object({
12885
13861
  value: z.string().describe(
@@ -12939,6 +13915,59 @@ var DisablePricingPlansForServiceResponse = z.object({
12939
13915
  }).describe(
12940
13916
  "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`"
12941
13917
  )
13918
+ }),
13919
+ z.object({
13920
+ fixed: z.never().optional(),
13921
+ custom: z.never().optional(),
13922
+ varied: z.never().optional(),
13923
+ subscription: z.object({
13924
+ amountPerBillingCycle: z.object({
13925
+ value: z.string().describe(
13926
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
13927
+ ).optional(),
13928
+ currency: z.string().describe(
13929
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
13930
+ ).optional(),
13931
+ formattedValue: z.string().describe(
13932
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
13933
+ ).max(50).optional().nullable()
13934
+ }).describe(
13935
+ "Base price charged per billing cycle before tax and discounts.\nThe actual amount charged may differ after checkout applies tax and discounts."
13936
+ ).optional(),
13937
+ frequency: z.enum(["MONTHLY"]).describe(
13938
+ "Billing frequency for recurring subscription charges.\nReflected as `billingFrequency` in the booking's subscription info.\n\nCurrently supports `MONTHLY` only."
13939
+ ).optional(),
13940
+ totalPayments: z.number().int().describe(
13941
+ "Total number of billing cycles in the subscription. For example, `12` for a 12-month subscription with monthly payments.\nReflected as `totalCycles` in the booking's subscription info.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
13942
+ ).min(2).optional().nullable(),
13943
+ firstChargeDate: z.enum(["CHECKOUT", "SCHEDULED"]).describe(
13944
+ "Determines when the first billing cycle payment is charged. Used together with `recurringStartDate` to define the subscription billing schedule."
13945
+ ).optional(),
13946
+ recurringStartDate: z.date().describe(
13947
+ "Date and time when recurring billing starts.\n\nWhen `firstChargeDate` is `CHECKOUT`, the first charge occurs at checkout and subsequent billing cycles start from this date.\n\nWhen `firstChargeDate` is `SCHEDULED`, the first charge occurs on this date.\n\nCustomers who book after recurring billing starts are billed for the remaining billing cycles only.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
13948
+ ).optional().nullable(),
13949
+ enrollmentFeeAmount: z.object({
13950
+ value: z.string().describe(
13951
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
13952
+ ).optional(),
13953
+ currency: z.string().describe(
13954
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
13955
+ ).optional(),
13956
+ formattedValue: z.string().describe(
13957
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
13958
+ ).max(50).optional().nullable()
13959
+ }).describe("Deprecated.").optional(),
13960
+ fullUpfrontPayment: z.object({
13961
+ supported: z.boolean().describe(
13962
+ "Whether customers can choose a one-time full payment instead of recurring subscription payments."
13963
+ ).optional().nullable(),
13964
+ discountPercent: z.string().describe(
13965
+ "Percentage discount applied when a customer chooses the full payment option.\nMin: `0.01` percent\nMax: `100` percent"
13966
+ ).optional().nullable()
13967
+ }).describe("Deprecated.").optional()
13968
+ }).describe(
13969
+ "Subscription pricing details for the service. Supported for course services only.\nThe business charges recurring monthly payments instead of a one-time fee.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
13970
+ )
12942
13971
  })
12943
13972
  ])
12944
13973
  ).describe(
@@ -13476,16 +14505,16 @@ var SetCustomSlugResponse = z.object({
13476
14505
  }).describe("Form the customer filled out when booking the service.").optional(),
13477
14506
  payment: z.intersection(
13478
14507
  z.object({
13479
- rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE"]).describe(
14508
+ rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE", "SUBSCRIPTION"]).describe(
13480
14509
  "The rate the customer is expected to pay for the service."
13481
14510
  ).optional(),
13482
14511
  options: z.object({
13483
14512
  online: z.boolean().describe(
13484
- "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.defaultPrice` must be specified respectively.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
14513
+ "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED`, `VARIED`, or `SUBSCRIPTION`.\n+ `fixed.price`, `varied.defaultPrice`, or `subscription.amountPerBillingCycle` must be specified respectively.\n\nRequired when: `rateType` is `SUBSCRIPTION`.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
13485
14514
  ).optional().nullable(),
13486
14515
  inPerson: z.boolean().describe("Customers can pay for the service in person.").optional().nullable(),
13487
14516
  deposit: z.boolean().describe(
13488
- "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified."
14517
+ "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified.\n+ `online` must be `true`.\n+ `inPerson` must be `false`."
13489
14518
  ).optional().nullable(),
13490
14519
  pricingPlan: z.boolean().describe(
13491
14520
  "Whether customers can pay for the service using a pricing plan.\nRead more about [service payment options](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments)."
@@ -13522,11 +14551,13 @@ var SetCustomSlugResponse = z.object({
13522
14551
  z.object({
13523
14552
  fixed: z.never().optional(),
13524
14553
  custom: z.never().optional(),
13525
- varied: z.never().optional()
14554
+ varied: z.never().optional(),
14555
+ subscription: z.never().optional()
13526
14556
  }),
13527
14557
  z.object({
13528
14558
  custom: z.never().optional(),
13529
14559
  varied: z.never().optional(),
14560
+ subscription: z.never().optional(),
13530
14561
  fixed: z.object({
13531
14562
  price: z.object({
13532
14563
  value: z.string().describe(
@@ -13564,6 +14595,7 @@ var SetCustomSlugResponse = z.object({
13564
14595
  z.object({
13565
14596
  fixed: z.never().optional(),
13566
14597
  varied: z.never().optional(),
14598
+ subscription: z.never().optional(),
13567
14599
  custom: z.object({
13568
14600
  description: z.string().describe(
13569
14601
  "A custom description explaining to the customer how to pay for the service."
@@ -13575,6 +14607,7 @@ var SetCustomSlugResponse = z.object({
13575
14607
  z.object({
13576
14608
  fixed: z.never().optional(),
13577
14609
  custom: z.never().optional(),
14610
+ subscription: z.never().optional(),
13578
14611
  varied: z.object({
13579
14612
  defaultPrice: z.object({
13580
14613
  value: z.string().describe(
@@ -13634,6 +14667,59 @@ var SetCustomSlugResponse = z.object({
13634
14667
  }).describe(
13635
14668
  "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`"
13636
14669
  )
14670
+ }),
14671
+ z.object({
14672
+ fixed: z.never().optional(),
14673
+ custom: z.never().optional(),
14674
+ varied: z.never().optional(),
14675
+ subscription: z.object({
14676
+ amountPerBillingCycle: z.object({
14677
+ value: z.string().describe(
14678
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
14679
+ ).optional(),
14680
+ currency: z.string().describe(
14681
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
14682
+ ).optional(),
14683
+ formattedValue: z.string().describe(
14684
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
14685
+ ).max(50).optional().nullable()
14686
+ }).describe(
14687
+ "Base price charged per billing cycle before tax and discounts.\nThe actual amount charged may differ after checkout applies tax and discounts."
14688
+ ).optional(),
14689
+ frequency: z.enum(["MONTHLY"]).describe(
14690
+ "Billing frequency for recurring subscription charges.\nReflected as `billingFrequency` in the booking's subscription info.\n\nCurrently supports `MONTHLY` only."
14691
+ ).optional(),
14692
+ totalPayments: z.number().int().describe(
14693
+ "Total number of billing cycles in the subscription. For example, `12` for a 12-month subscription with monthly payments.\nReflected as `totalCycles` in the booking's subscription info.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
14694
+ ).min(2).optional().nullable(),
14695
+ firstChargeDate: z.enum(["CHECKOUT", "SCHEDULED"]).describe(
14696
+ "Determines when the first billing cycle payment is charged. Used together with `recurringStartDate` to define the subscription billing schedule."
14697
+ ).optional(),
14698
+ recurringStartDate: z.date().describe(
14699
+ "Date and time when recurring billing starts.\n\nWhen `firstChargeDate` is `CHECKOUT`, the first charge occurs at checkout and subsequent billing cycles start from this date.\n\nWhen `firstChargeDate` is `SCHEDULED`, the first charge occurs on this date.\n\nCustomers who book after recurring billing starts are billed for the remaining billing cycles only.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
14700
+ ).optional().nullable(),
14701
+ enrollmentFeeAmount: z.object({
14702
+ value: z.string().describe(
14703
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
14704
+ ).optional(),
14705
+ currency: z.string().describe(
14706
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
14707
+ ).optional(),
14708
+ formattedValue: z.string().describe(
14709
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
14710
+ ).max(50).optional().nullable()
14711
+ }).describe("Deprecated.").optional(),
14712
+ fullUpfrontPayment: z.object({
14713
+ supported: z.boolean().describe(
14714
+ "Whether customers can choose a one-time full payment instead of recurring subscription payments."
14715
+ ).optional().nullable(),
14716
+ discountPercent: z.string().describe(
14717
+ "Percentage discount applied when a customer chooses the full payment option.\nMin: `0.01` percent\nMax: `100` percent"
14718
+ ).optional().nullable()
14719
+ }).describe("Deprecated.").optional()
14720
+ }).describe(
14721
+ "Subscription pricing details for the service. Supported for course services only.\nThe business charges recurring monthly payments instead of a one-time fee.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
14722
+ )
13637
14723
  })
13638
14724
  ])
13639
14725
  ).describe(
@@ -14173,16 +15259,16 @@ var CloneServiceResponse = z.object({
14173
15259
  }).describe("Form the customer filled out when booking the service.").optional(),
14174
15260
  payment: z.intersection(
14175
15261
  z.object({
14176
- rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE"]).describe(
15262
+ rateType: z.enum(["FIXED", "CUSTOM", "VARIED", "NO_FEE", "SUBSCRIPTION"]).describe(
14177
15263
  "The rate the customer is expected to pay for the service."
14178
15264
  ).optional(),
14179
15265
  options: z.object({
14180
15266
  online: z.boolean().describe(
14181
- "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.defaultPrice` must be specified respectively.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
15267
+ "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be `FIXED`, `VARIED`, or `SUBSCRIPTION`.\n+ `fixed.price`, `varied.defaultPrice`, or `subscription.amountPerBillingCycle` must be specified respectively.\n\nRequired when: `rateType` is `SUBSCRIPTION`.\nRead more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)."
14182
15268
  ).optional().nullable(),
14183
15269
  inPerson: z.boolean().describe("Customers can pay for the service in person.").optional().nullable(),
14184
15270
  deposit: z.boolean().describe(
14185
- "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified."
15271
+ "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified.\n+ `online` must be `true`.\n+ `inPerson` must be `false`."
14186
15272
  ).optional().nullable(),
14187
15273
  pricingPlan: z.boolean().describe(
14188
15274
  "Whether customers can pay for the service using a pricing plan.\nRead more about [service payment options](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments)."
@@ -14219,11 +15305,13 @@ var CloneServiceResponse = z.object({
14219
15305
  z.object({
14220
15306
  fixed: z.never().optional(),
14221
15307
  custom: z.never().optional(),
14222
- varied: z.never().optional()
15308
+ varied: z.never().optional(),
15309
+ subscription: z.never().optional()
14223
15310
  }),
14224
15311
  z.object({
14225
15312
  custom: z.never().optional(),
14226
15313
  varied: z.never().optional(),
15314
+ subscription: z.never().optional(),
14227
15315
  fixed: z.object({
14228
15316
  price: z.object({
14229
15317
  value: z.string().describe(
@@ -14261,6 +15349,7 @@ var CloneServiceResponse = z.object({
14261
15349
  z.object({
14262
15350
  fixed: z.never().optional(),
14263
15351
  varied: z.never().optional(),
15352
+ subscription: z.never().optional(),
14264
15353
  custom: z.object({
14265
15354
  description: z.string().describe(
14266
15355
  "A custom description explaining to the customer how to pay for the service."
@@ -14272,6 +15361,7 @@ var CloneServiceResponse = z.object({
14272
15361
  z.object({
14273
15362
  fixed: z.never().optional(),
14274
15363
  custom: z.never().optional(),
15364
+ subscription: z.never().optional(),
14275
15365
  varied: z.object({
14276
15366
  defaultPrice: z.object({
14277
15367
  value: z.string().describe(
@@ -14331,6 +15421,59 @@ var CloneServiceResponse = z.object({
14331
15421
  }).describe(
14332
15422
  "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`"
14333
15423
  )
15424
+ }),
15425
+ z.object({
15426
+ fixed: z.never().optional(),
15427
+ custom: z.never().optional(),
15428
+ varied: z.never().optional(),
15429
+ subscription: z.object({
15430
+ amountPerBillingCycle: z.object({
15431
+ value: z.string().describe(
15432
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
15433
+ ).optional(),
15434
+ currency: z.string().describe(
15435
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
15436
+ ).optional(),
15437
+ formattedValue: z.string().describe(
15438
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
15439
+ ).max(50).optional().nullable()
15440
+ }).describe(
15441
+ "Base price charged per billing cycle before tax and discounts.\nThe actual amount charged may differ after checkout applies tax and discounts."
15442
+ ).optional(),
15443
+ frequency: z.enum(["MONTHLY"]).describe(
15444
+ "Billing frequency for recurring subscription charges.\nReflected as `billingFrequency` in the booking's subscription info.\n\nCurrently supports `MONTHLY` only."
15445
+ ).optional(),
15446
+ totalPayments: z.number().int().describe(
15447
+ "Total number of billing cycles in the subscription. For example, `12` for a 12-month subscription with monthly payments.\nReflected as `totalCycles` in the booking's subscription info.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
15448
+ ).min(2).optional().nullable(),
15449
+ firstChargeDate: z.enum(["CHECKOUT", "SCHEDULED"]).describe(
15450
+ "Determines when the first billing cycle payment is charged. Used together with `recurringStartDate` to define the subscription billing schedule."
15451
+ ).optional(),
15452
+ recurringStartDate: z.date().describe(
15453
+ "Date and time when recurring billing starts.\n\nWhen `firstChargeDate` is `CHECKOUT`, the first charge occurs at checkout and subsequent billing cycles start from this date.\n\nWhen `firstChargeDate` is `SCHEDULED`, the first charge occurs on this date.\n\nCustomers who book after recurring billing starts are billed for the remaining billing cycles only.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
15454
+ ).optional().nullable(),
15455
+ enrollmentFeeAmount: z.object({
15456
+ value: z.string().describe(
15457
+ "Monetary amount. Decimal string with a period as a decimal separator. For example `25.05`."
15458
+ ).optional(),
15459
+ currency: z.string().describe(
15460
+ "Currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217). For example, `USD`."
15461
+ ).optional(),
15462
+ formattedValue: z.string().describe(
15463
+ "Monetary amount. Decimal string in local format. For example, `1 000,30`."
15464
+ ).max(50).optional().nullable()
15465
+ }).describe("Deprecated.").optional(),
15466
+ fullUpfrontPayment: z.object({
15467
+ supported: z.boolean().describe(
15468
+ "Whether customers can choose a one-time full payment instead of recurring subscription payments."
15469
+ ).optional().nullable(),
15470
+ discountPercent: z.string().describe(
15471
+ "Percentage discount applied when a customer chooses the full payment option.\nMin: `0.01` percent\nMax: `100` percent"
15472
+ ).optional().nullable()
15473
+ }).describe("Deprecated.").optional()
15474
+ }).describe(
15475
+ "Subscription pricing details for the service. Supported for course services only.\nThe business charges recurring monthly payments instead of a one-time fee.\n\nRequired when: `rateType` is `SUBSCRIPTION`."
15476
+ )
14334
15477
  })
14335
15478
  ])
14336
15479
  ).describe(