@wix/auto_sdk_bookings_services 1.0.264 → 1.0.266

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 (53) hide show
  1. package/build/cjs/{bookings-services-v2-service-services.universal-DP1rt4uY.d.ts → bookings-services-v2-service-services.universal-BUP4OIa7.d.ts} +8 -25
  2. package/build/cjs/index.d.ts +10 -10
  3. package/build/cjs/index.js +5 -0
  4. package/build/cjs/index.js.map +1 -1
  5. package/build/cjs/index.typings.d.ts +2 -2
  6. package/build/cjs/index.typings.js +5 -0
  7. package/build/cjs/index.typings.js.map +1 -1
  8. package/build/cjs/meta.d.ts +1 -12
  9. package/build/cjs/meta.js +7 -0
  10. package/build/cjs/meta.js.map +1 -1
  11. package/build/cjs/schemas.d.ts +0 -399
  12. package/build/cjs/schemas.js +19 -780
  13. package/build/cjs/schemas.js.map +1 -1
  14. package/build/es/{bookings-services-v2-service-services.universal-DP1rt4uY.d.mts → bookings-services-v2-service-services.universal-BUP4OIa7.d.mts} +8 -25
  15. package/build/es/index.d.mts +10 -10
  16. package/build/es/index.mjs +5 -0
  17. package/build/es/index.mjs.map +1 -1
  18. package/build/es/index.typings.d.mts +2 -2
  19. package/build/es/index.typings.mjs +5 -0
  20. package/build/es/index.typings.mjs.map +1 -1
  21. package/build/es/meta.d.mts +1 -12
  22. package/build/es/meta.mjs +7 -0
  23. package/build/es/meta.mjs.map +1 -1
  24. package/build/es/schemas.d.mts +0 -399
  25. package/build/es/schemas.mjs +19 -780
  26. package/build/es/schemas.mjs.map +1 -1
  27. package/build/internal/cjs/{bookings-services-v2-service-services.universal-BOPh4Nt0.d.ts → bookings-services-v2-service-services.universal-BluU4Y4M.d.ts} +647 -16
  28. package/build/internal/cjs/index.d.ts +10 -10
  29. package/build/internal/cjs/index.js +5 -0
  30. package/build/internal/cjs/index.js.map +1 -1
  31. package/build/internal/cjs/index.typings.d.ts +2 -2
  32. package/build/internal/cjs/index.typings.js +5 -0
  33. package/build/internal/cjs/index.typings.js.map +1 -1
  34. package/build/internal/cjs/meta.d.ts +770 -3
  35. package/build/internal/cjs/meta.js +7 -0
  36. package/build/internal/cjs/meta.js.map +1 -1
  37. package/build/internal/cjs/schemas.d.ts +0 -399
  38. package/build/internal/cjs/schemas.js +19 -780
  39. package/build/internal/cjs/schemas.js.map +1 -1
  40. package/build/internal/es/{bookings-services-v2-service-services.universal-BOPh4Nt0.d.mts → bookings-services-v2-service-services.universal-BluU4Y4M.d.mts} +647 -16
  41. package/build/internal/es/index.d.mts +10 -10
  42. package/build/internal/es/index.mjs +5 -0
  43. package/build/internal/es/index.mjs.map +1 -1
  44. package/build/internal/es/index.typings.d.mts +2 -2
  45. package/build/internal/es/index.typings.mjs +5 -0
  46. package/build/internal/es/index.typings.mjs.map +1 -1
  47. package/build/internal/es/meta.d.mts +770 -3
  48. package/build/internal/es/meta.mjs +7 -0
  49. package/build/internal/es/meta.mjs.map +1 -1
  50. package/build/internal/es/schemas.d.mts +0 -399
  51. package/build/internal/es/schemas.mjs +19 -780
  52. package/build/internal/es/schemas.mjs.map +1 -1
  53. package/package.json +4 -4
@@ -1,4 +1,4 @@
1
- import { cR as CreateServiceRequest$1, cS as CreateServiceResponse$1, cW as BulkCreateServicesRequest$1, a as BulkCreateServicesResponse$1, c$ as GetServiceRequest$1, d0 as GetServiceResponse$1, d5 as UpdateServiceRequest$1, d6 as UpdateServiceResponse$1, d7 as BulkUpdateServicesRequest$1, d as BulkUpdateServicesResponse$1, d9 as BulkUpdateServicesByFilterRequest$1, f as BulkUpdateServicesByFilterResponse$1, da as DeleteServiceRequest$1, dc as DeleteServiceResponse$1, dd as BulkDeleteServicesRequest$1, h as BulkDeleteServicesResponse$1, de as BulkDeleteServicesByFilterRequest$1, j as BulkDeleteServicesByFilterResponse$1, df as QueryServicesRequest$1, dl as QueryServicesResponse$1, dp as SearchServicesRequest$1, l as SearchServicesResponse$1, e3 as QueryPoliciesRequest$1, Q as QueryPoliciesResponse$1, e6 as QueryBookingFormsRequest$1, o as QueryBookingFormsResponse$1, ea as CountServicesRequest$1, r as CountServicesResponse$1, eb as QueryLocationsRequest$1, t as QueryLocationsResponse$1, eg as QueryCategoriesRequest$1, v as QueryCategoriesResponse$1, ek as SetServiceLocationsRequest$1, x as SetServiceLocationsResponse$1, eo as EnablePricingPlansForServiceRequest$1, E as EnablePricingPlansForServiceResponse$1, er as DisablePricingPlansForServiceRequest$1, A as DisablePricingPlansForServiceResponse$1, es as SetCustomSlugRequest$1, I as SetCustomSlugResponse$1, et as ValidateSlugRequest$1, L as ValidateSlugResponse$1, eu as CloneServiceRequest$1, M as CloneServiceResponse$1, eV as CreateAddOnGroupRequest$1, P as CreateAddOnGroupResponse$1, eW as DeleteAddOnGroupRequest$1, eX as DeleteAddOnGroupResponse$1, eY as UpdateAddOnGroupRequest$1, Y as UpdateAddOnGroupResponse$1, eZ as ListAddOnGroupsByServiceIdRequest$1, $ as ListAddOnGroupsByServiceIdResponse$1, f1 as SetAddOnsForGroupRequest$1, a1 as SetAddOnsForGroupResponse$1 } from './bookings-services-v2-service-services.universal-BOPh4Nt0.mjs';
1
+ import { cR as CreateServiceRequest$1, cS as CreateServiceResponse$1, cW as BulkCreateServicesRequest$1, a as BulkCreateServicesResponse$1, c$ as GetServiceRequest$1, d0 as GetServiceResponse$1, d5 as UpdateServiceRequest$1, d6 as UpdateServiceResponse$1, d7 as BulkUpdateServicesRequest$1, d as BulkUpdateServicesResponse$1, d9 as BulkUpdateServicesByFilterRequest$1, f as BulkUpdateServicesByFilterResponse$1, da as DeleteServiceRequest$1, dc as DeleteServiceResponse$1, dd as BulkDeleteServicesRequest$1, h as BulkDeleteServicesResponse$1, de as BulkDeleteServicesByFilterRequest$1, j as BulkDeleteServicesByFilterResponse$1, df as QueryServicesRequest$1, dl as QueryServicesResponse$1, dp as SearchServicesRequest$1, l as SearchServicesResponse$1, e3 as QueryPoliciesRequest$1, Q as QueryPoliciesResponse$1, e6 as QueryBookingFormsRequest$1, o as QueryBookingFormsResponse$1, ea as CountServicesRequest$1, r as CountServicesResponse$1, eb as QueryLocationsRequest$1, t as QueryLocationsResponse$1, eg as QueryCategoriesRequest$1, v as QueryCategoriesResponse$1, ek as SetServiceLocationsRequest$1, x as SetServiceLocationsResponse$1, eo as EnablePricingPlansForServiceRequest$1, E as EnablePricingPlansForServiceResponse$1, er as DisablePricingPlansForServiceRequest$1, A as DisablePricingPlansForServiceResponse$1, es as SetCustomSlugRequest$1, I as SetCustomSlugResponse$1, et as ValidateSlugRequest$1, L as ValidateSlugResponse$1, eu as CloneServiceRequest$1, M as CloneServiceResponse$1, eV as CreateAddOnGroupRequest$1, P as CreateAddOnGroupResponse$1, eW as DeleteAddOnGroupRequest$1, eX as DeleteAddOnGroupResponse$1, eY as UpdateAddOnGroupRequest$1, Y as UpdateAddOnGroupResponse$1, eZ as ListAddOnGroupsByServiceIdRequest$1, $ as ListAddOnGroupsByServiceIdResponse$1, f1 as SetAddOnsForGroupRequest$1, a1 as SetAddOnsForGroupResponse$1 } from './bookings-services-v2-service-services.universal-BluU4Y4M.mjs';
2
2
  import '@wix/sdk-types';
3
3
 
4
4
  /** The `service` object represents an offering that a business provides to its customers. */
@@ -114,8 +114,27 @@ interface Service {
114
114
  * @format GUID
115
115
  */
116
116
  staffMemberIds?: string[];
117
+ /**
118
+ * Staff members providing the service. For appointments only. Returned only if `STAFF_MEMBER_DETAILS` conditional field was specified.
119
+ * @internal
120
+ * @maxSize 220
121
+ * @readonly
122
+ * @deprecated Staff members providing the service. For appointments only. Returned only if `STAFF_MEMBER_DETAILS` conditional field was specified.
123
+ * @replacedBy staff_member_details.staff_members
124
+ * @targetRemovalDate 2025-01-01
125
+ */
126
+ staffMembers?: StaffMember[];
117
127
  /** Staff members details. Returned only if `STAFF_MEMBER_DETAILS` conditional field was specified. */
118
128
  staffMemberDetails?: StaffMemberDetails;
129
+ /**
130
+ * Resource groups required to book the service. For example, to book this service, you must book a room out of the resource group named "rooms".
131
+ * @internal
132
+ * @maxSize 3
133
+ * @deprecated Resource groups required to book the service. For example, to book this service, you must book a room out of the resource group named "rooms".
134
+ * @replacedBy service_resources
135
+ * @targetRemovalDate 2024-08-19
136
+ */
137
+ resourceGroups?: ResourceGroup[];
119
138
  /**
120
139
  * Information about which resources must be available so customers can book the service.
121
140
  * For example, a meeting room or equipment.
@@ -176,6 +195,17 @@ interface Service {
176
195
  addOnDetails?: AddOnDetails[];
177
196
  /** Taxable address used to calculate tax */
178
197
  taxableAddress?: TaxableAddress;
198
+ /**
199
+ * Phone call options for the service.
200
+ * @internal
201
+ */
202
+ phoneCall?: V2PhoneCall;
203
+ /**
204
+ * Internal tags for the service. Used for signaling between platform components.
205
+ * @internal
206
+ * @maxSize 10
207
+ */
208
+ tags?: string[];
179
209
  /**
180
210
  * ID of the [resource type](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction)
181
211
  * that serves as the primary resource for this appointment service. The primary resource type
@@ -188,6 +218,18 @@ interface Service {
188
218
  * @format GUID
189
219
  */
190
220
  primaryResourceType?: string | null;
221
+ /**
222
+ * Whether to derive the service's locations from the locations of its assigned resources
223
+ * instead of using the service's own `locations` field.
224
+ *
225
+ * When `true`, the service is offered at every location where at least one of its
226
+ * assigned resources operates. This is useful for services where the bookable
227
+ * resource determines the location rather than the service itself.
228
+ *
229
+ * Default: `false`
230
+ * @internal
231
+ */
232
+ inheritResourceLocations?: boolean | null;
191
233
  }
192
234
  declare enum ServiceType {
193
235
  /** Appointment-based service. */
@@ -239,12 +281,26 @@ interface Image {
239
281
  * @maxLength 134061
240
282
  */
241
283
  altText?: string | null;
284
+ /**
285
+ * Image URL expiration date (when relevant).
286
+ * @internal
287
+ * @readonly
288
+ */
289
+ urlExpirationDate?: Date | null;
242
290
  /**
243
291
  * Image file name.
244
292
  * @readonly
245
293
  * @maxLength 2048
246
294
  */
247
295
  filename?: string | null;
296
+ /**
297
+ * Image size in bytes.
298
+ * @internal
299
+ * @readonly
300
+ * @format DECIMAL_VALUE
301
+ * @decimalValue options { maxScale:0 }
302
+ */
303
+ sizeInBytes?: string | null;
248
304
  }
249
305
  interface V2Category {
250
306
  /**
@@ -272,6 +328,11 @@ interface Form {
272
328
  * @format GUID
273
329
  */
274
330
  id?: string;
331
+ /**
332
+ * Settings that apply to the service booking form on mobile clients.
333
+ * @internal
334
+ */
335
+ mobileSettings?: FormSettings;
275
336
  }
276
337
  interface FormSettings {
277
338
  /** Whether the service booking form should be hidden from the site. */
@@ -393,6 +454,11 @@ interface FixedPayment {
393
454
  * Required when: `rateType` is `FIXED` and `paymentOptions.deposit` is `true`
394
455
  */
395
456
  deposit?: Money;
457
+ /**
458
+ * Whether the price is a base price.
459
+ * @internal
460
+ */
461
+ basePrice?: boolean | null;
396
462
  /**
397
463
  * Whether customers can choose to pay the full service price upfront instead of only the deposit.
398
464
  *
@@ -401,6 +467,13 @@ interface FixedPayment {
401
467
  * Default: `false`.
402
468
  */
403
469
  fullUpfrontPaymentAllowed?: boolean | null;
470
+ /**
471
+ * The deposit required to book the service, expressed as either a fixed amount or a percentage of the price.
472
+ *
473
+ * Used only when `paymentOptions.deposit` is `true`.
474
+ * @internal
475
+ */
476
+ depositDetails?: DepositDetails;
404
477
  }
405
478
  /**
406
479
  * Money.
@@ -492,6 +565,13 @@ interface VariedPayment {
492
565
  * Default: `false`.
493
566
  */
494
567
  fullUpfrontPaymentAllowed?: boolean | null;
568
+ /**
569
+ * The deposit required to book the service, expressed as either a fixed amount or a percentage of the price.
570
+ *
571
+ * Used only when `paymentOptions.deposit` is `true`.
572
+ * @internal
573
+ */
574
+ depositDetails?: DepositDetails;
495
575
  }
496
576
  interface SubscriptionPayment {
497
577
  /**
@@ -534,6 +614,13 @@ interface SubscriptionPayment {
534
614
  * @targetRemovalDate 2026-07-01
535
615
  */
536
616
  enrollmentFeeAmount?: Money;
617
+ /**
618
+ * Full upfront payment settings for the subscription, including the discount applied when a customer pays in full.
619
+ * The customer's choice is reflected as `subscriptionUpfrontPaymentSelected` on the booking.
620
+ * Used only when `rateType` is `SUBSCRIPTION`.
621
+ * @internal
622
+ */
623
+ fullUpfrontPayment?: FullUpfrontPayment;
537
624
  }
538
625
  declare enum FrequencyType {
539
626
  /** Billing cycle repeats once per month. */
@@ -709,6 +796,17 @@ interface CommonAddress extends CommonAddressStreetOneOf {
709
796
  * @maxLength 512
710
797
  */
711
798
  formattedAddress?: string | null;
799
+ /**
800
+ * Coordinates of the physical address.
801
+ * @internal
802
+ */
803
+ geocode?: CommonAddressLocation;
804
+ /**
805
+ * Free text to help find the address.
806
+ * @internal
807
+ * @maxLength 255
808
+ */
809
+ hint?: string | null;
712
810
  }
713
811
  /** @oneof */
714
812
  interface CommonAddressStreetOneOf {
@@ -819,6 +917,12 @@ interface BookingPolicy {
819
917
  * @format GUID
820
918
  */
821
919
  id?: string;
920
+ /**
921
+ * Revision number, which increments by 1 each time the policy is updated. To prevent conflicting changes, the existing revision must be used when updating a policy. Can be empty after the service was cloned as part of site clone.
922
+ * @internal
923
+ * @readonly
924
+ */
925
+ revision?: string | null;
822
926
  /**
823
927
  * Date and time the policy was created.
824
928
  * @readonly
@@ -829,6 +933,13 @@ interface BookingPolicy {
829
933
  * @readonly
830
934
  */
831
935
  updatedDate?: Date | null;
936
+ /**
937
+ * ID of the app that's associated with the service.
938
+ * @internal
939
+ * @format GUID
940
+ * @readonly
941
+ */
942
+ appId?: string | null;
832
943
  /**
833
944
  * Name of the policy.
834
945
  * @maxLength 400
@@ -895,6 +1006,35 @@ interface BookingPolicy {
895
1006
  * @readonly
896
1007
  */
897
1008
  saveCreditCardPolicy?: SaveCreditCardPolicy;
1009
+ /**
1010
+ * Rules for sorting staff.
1011
+ * The sorting will affect which staff is chosen during the book flow, if needed.
1012
+ * @internal
1013
+ * @readonly
1014
+ */
1015
+ staffSortingPolicy?: StaffSortingPolicy;
1016
+ /**
1017
+ * Rules for Intake form integration
1018
+ * @internal
1019
+ */
1020
+ intakeFormPolicy?: IntakeFormPolicy;
1021
+ /**
1022
+ * Whether the person making the booking can enter contact details for someone
1023
+ * other than themselves, booking on another person's behalf.
1024
+ *
1025
+ * When `true`, the booking's contact details are taken from the standard
1026
+ * booking form rather than assumed to be the booker's own. Applies to any
1027
+ * booker, including site visitors who aren't logged-in members.
1028
+ *
1029
+ * Default: `false`.
1030
+ * @internal
1031
+ */
1032
+ bookForSomeoneElseAllowed?: boolean | null;
1033
+ /**
1034
+ * Rule restricting how frequently a customer can rebook the same service.
1035
+ * @internal
1036
+ */
1037
+ limitRebookingPolicy?: LimitRebookingPolicy;
898
1038
  }
899
1039
  /** A description of the policy to display to participants. */
900
1040
  interface PolicyDescription {
@@ -1076,6 +1216,15 @@ interface WaitlistPolicy {
1076
1216
  }
1077
1217
  /** The policy for the maximum number of participants per booking. */
1078
1218
  interface ParticipantsPolicy {
1219
+ /**
1220
+ * Whether the maximum number of participants applies. When `false`, there is
1221
+ * no maximum.
1222
+ *
1223
+ * Default: `false`
1224
+ * Private because not limiting participants per booking is not supported by Bookings flows today
1225
+ * @internal
1226
+ */
1227
+ enabled?: boolean;
1079
1228
  /**
1080
1229
  * Maximum number of participants allowed.
1081
1230
  *
@@ -1084,6 +1233,19 @@ interface ParticipantsPolicy {
1084
1233
  * @min 1
1085
1234
  */
1086
1235
  maxParticipantsPerBooking?: number;
1236
+ /**
1237
+ * Whether the booking form is collected separately for each participant in the
1238
+ * booking, rather than only for the primary contact. When `true`, every
1239
+ * participant completes the form, capturing all of its fields for each of them.
1240
+ *
1241
+ * Only applies when the booking allows more than one participant
1242
+ * (`maxParticipantsPerBooking` is greater than `1`); ignored for
1243
+ * single-participant bookings.
1244
+ *
1245
+ * Default: `false`.
1246
+ * @internal
1247
+ */
1248
+ collectParticipantForm?: boolean | null;
1087
1249
  }
1088
1250
  /** The policy regarding the allocation of resources (e.g. staff members). */
1089
1251
  interface ResourcesPolicy {
@@ -1343,8 +1505,22 @@ interface AvailabilityConstraints {
1343
1505
  * Use `durationRange` for services where the customer chooses how long to book,
1344
1506
  * such as equipment or space rentals. The `unitType` determines whether the range
1345
1507
  * is measured in hours or days.
1508
+ * @internal
1346
1509
  */
1347
1510
  durationRange?: DurationRange;
1511
+ /**
1512
+ * Determines how the service's own working hours combine with the working hours of its assigned
1513
+ * staff members and required resources. Supported for appointment services only, and can't be
1514
+ * combined with `durationRange`.
1515
+ *
1516
+ * Leave unset for resource-based availability, the default and only valid state for class,
1517
+ * course, and duration-range services. The service's own working hours are the `WORKING_HOURS`
1518
+ * [events](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/introduction)
1519
+ * on this service's schedule (`schedule.id`); this field controls only how those events combine
1520
+ * with the resources working hours, it doesn't contain the hours themselves.
1521
+ * @internal
1522
+ */
1523
+ workingHours?: WorkingHours;
1348
1524
  }
1349
1525
  interface V2Duration {
1350
1526
  /**
@@ -1430,6 +1606,20 @@ interface WorkingHours {
1430
1606
  mode?: WorkingHoursModeWithLiterals;
1431
1607
  }
1432
1608
  declare enum WorkingHoursMode {
1609
+ /**
1610
+ * Bookable only where the service's own working hours and the resources working hours
1611
+ * overlap (the intersection of the two).
1612
+ * @documentationMaturity preview
1613
+ * @internal
1614
+ */
1615
+ INTERSECT_RESOURCE_HOURS = "INTERSECT_RESOURCE_HOURS",
1616
+ /**
1617
+ * The service's own working hours replace the resources working-hours window. Existing
1618
+ * bookings and blocked time on those resources still reduce availability.
1619
+ * @documentationMaturity preview
1620
+ * @internal
1621
+ */
1622
+ OVERRIDE_RESOURCE_HOURS = "OVERRIDE_RESOURCE_HOURS"
1433
1623
  }
1434
1624
  /** @enumType */
1435
1625
  type WorkingHoursModeWithLiterals = WorkingHoursMode;
@@ -1449,11 +1639,36 @@ interface StaffMember {
1449
1639
  * @readonly
1450
1640
  */
1451
1641
  name?: string | null;
1642
+ /**
1643
+ * IDs of the staff member working hours schedules, can be used to retrieve schedule information using wix-bookings-backend schedules API.
1644
+ * @internal
1645
+ * @format GUID
1646
+ * @readonly
1647
+ * @maxSize 100
1648
+ */
1649
+ workingHoursScheduleIds?: string[];
1650
+ /**
1651
+ * ID of the staff member events schedule, can be used to retrieve schedule information using wix-bookings-backend schedules API.
1652
+ * @internal
1653
+ * @format GUID
1654
+ * @readonly
1655
+ */
1656
+ eventsScheduleId?: string | null;
1452
1657
  /**
1453
1658
  * Main media associated with the service.
1454
1659
  * @readonly
1455
1660
  */
1456
1661
  mainMedia?: StaffMediaItem;
1662
+ /**
1663
+ * Working hours location coverage for this staff member.
1664
+ * Returned on each entry in `staffMemberDetails.staff_members` when both `STAFF_MEMBER_DETAILS`
1665
+ * and `STAFF_WORKING_HOURS_LOCATIONS` are in `conditional_fields`.
1666
+ * Omitted when the staff member has no working-hours schedules.
1667
+ * If Calendar v3 is unavailable, the entire request fails.
1668
+ * @internal
1669
+ * @readonly
1670
+ */
1671
+ workingHoursLocationCoverage?: WorkingHoursLocationCoverage;
1457
1672
  }
1458
1673
  interface StaffMediaItem extends StaffMediaItemItemOneOf {
1459
1674
  /** Details of the image associated with the staff, such as URL and size. */
@@ -1484,6 +1699,22 @@ interface StaffMediaItemItemOneOf {
1484
1699
  * Omitted when `STAFF_WORKING_HOURS_LOCATIONS` is not requested.
1485
1700
  */
1486
1701
  interface WorkingHoursLocationCoverage {
1702
+ /**
1703
+ * Whether this staff member has working hours that apply to all business locations.
1704
+ * Always set to `true` or `false` when enrichment is requested.
1705
+ * @internal
1706
+ * @readonly
1707
+ */
1708
+ availableAtAllLocations?: boolean | null;
1709
+ /**
1710
+ * Business location IDs where this staff member has location-specific WORKING_HOURS calendar events.
1711
+ * Ignored when `available_at_all_locations` is `true`.
1712
+ * @internal
1713
+ * @format GUID
1714
+ * @readonly
1715
+ * @maxSize 100
1716
+ */
1717
+ locationIds?: string[];
1487
1718
  }
1488
1719
  interface StaffMemberDetails {
1489
1720
  /**
@@ -1535,8 +1766,33 @@ interface ServiceResource extends ServiceResourceSelectionOneOf {
1535
1766
  * When not set, all resources of the specified resource type are eligible.
1536
1767
  */
1537
1768
  resourceIds?: ResourceIds;
1769
+ /**
1770
+ * The unique identifier for the service resource. If not specified, it defaults to the resource type ID.
1771
+ * @internal
1772
+ * @format GUID
1773
+ */
1774
+ id?: string | null;
1538
1775
  /** Details about the required [resource type](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction). */
1539
1776
  resourceType?: ResourceType;
1777
+ /**
1778
+ * The number of resources required to book the service. Defaults to 1.
1779
+ * @internal
1780
+ * @min 1
1781
+ */
1782
+ requiredResourcesNumber?: number | null;
1783
+ /**
1784
+ * If set to `true`, the customer can select specific resources while booking the service.
1785
+ * If set to `false`, the resources required to book the service will be auto-selected at the time of booking. Defaults to false.
1786
+ * @internal
1787
+ * @readonly
1788
+ */
1789
+ selectableResource?: boolean | null;
1790
+ /**
1791
+ * Details about the individual resources assigned to this service resource, including their names.
1792
+ * Only returned when `RESOURCE_DETAILS` is passed in `conditionalFields`.
1793
+ * @internal
1794
+ */
1795
+ resourceDetails?: ResourceDetails;
1540
1796
  }
1541
1797
  /** @oneof */
1542
1798
  interface ServiceResourceSelectionOneOf {
@@ -1830,6 +2086,19 @@ interface Booking extends BookingParticipantsInfoOneOf {
1830
2086
  * @targetRemovalDate 2026-03-31
1831
2087
  */
1832
2088
  additionalFields?: CustomFormField[];
2089
+ /**
2090
+ * Number of participants.
2091
+ * @internal
2092
+ * @min 1
2093
+ */
2094
+ numberOfParticipants?: number | null;
2095
+ /**
2096
+ * Internal business note.
2097
+ * @internal
2098
+ * @deprecated Internal business note.
2099
+ * @targetRemovalDate 2026-03-31
2100
+ */
2101
+ internalBusinessNote?: string | null;
1833
2102
  /**
1834
2103
  * Booking status. A booking is automatically confirmed if the service allows it
1835
2104
  * and an eCommerce order is created. It is automatically declined if there is a
@@ -1869,6 +2138,27 @@ interface Booking extends BookingParticipantsInfoOneOf {
1869
2138
  createdDate?: Date | null;
1870
2139
  /** External user ID that you can provide. */
1871
2140
  externalUserId?: string | null;
2141
+ /**
2142
+ * Platform and app that created the booking.
2143
+ * @internal
2144
+ */
2145
+ bookingSource?: BookingSource;
2146
+ /**
2147
+ * The last notification used by Cancel, Confirm, Decline, or Reschedule Booking.
2148
+ * @internal
2149
+ * @deprecated The last notification used by Cancel, Confirm, Decline, or Reschedule Booking.
2150
+ * @targetRemovalDate 2026-03-31
2151
+ */
2152
+ participantNotification?: ParticipantNotification;
2153
+ /**
2154
+ * When `true`, an SMS reminder is sent to the phone number specified in
2155
+ * `contactDetails` 24 hours before the session starts.
2156
+ * @internal
2157
+ * @deprecated When `true`, an SMS reminder is sent to the phone number specified in
2158
+ * `contactDetails` 24 hours before the session starts.
2159
+ * @targetRemovalDate 2026-03-31
2160
+ */
2161
+ sendSmsReminder?: boolean | null;
1872
2162
  /**
1873
2163
  * Revision number to be used when updating, rescheduling, or cancelling the booking.
1874
2164
  * Increments by 1 each time the booking is updated, rescheduled, or canceled. To prevent conflicting changes, the current revision must be specified when updating the booking.
@@ -1892,6 +2182,13 @@ interface Booking extends BookingParticipantsInfoOneOf {
1892
2182
  * @readonly
1893
2183
  */
1894
2184
  endDate?: Date | null;
2185
+ /**
2186
+ * Settings that modify the standard booking flow.
2187
+ * Use these settings to override default business rules and policies when needed.
2188
+ * Make sure the call's [identity](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities) has the required permissions.
2189
+ * @internal
2190
+ */
2191
+ flowControlSettings?: FlowControlSettings;
1895
2192
  /**
1896
2193
  * Date and time the booking was updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.
1897
2194
  * @readonly
@@ -1908,6 +2205,34 @@ interface Booking extends BookingParticipantsInfoOneOf {
1908
2205
  * @readonly
1909
2206
  */
1910
2207
  doubleBooked?: boolean | null;
2208
+ /**
2209
+ * Whether this booking availability should be checked with v1 or v2.
2210
+ * @internal
2211
+ */
2212
+ v2Availability?: boolean | null;
2213
+ /**
2214
+ * Multi-service booking info of which the booking is part of.
2215
+ * @internal
2216
+ * @readonly
2217
+ */
2218
+ multiServiceBookingInfo?: MultiServiceBookingInfo;
2219
+ /**
2220
+ * The date this booking was canceled in `YYYY-MM-DDThh:mm:ss.sssZ` format.
2221
+ * @internal
2222
+ * @readonly
2223
+ */
2224
+ canceledDate?: Date | null;
2225
+ /**
2226
+ * Whether this booking availability should be checked with v1 or v2.
2227
+ * @internal
2228
+ */
2229
+ v2AvailabilityProxy?: boolean | null;
2230
+ /**
2231
+ * Indicates booking language. If empty, the booking was made using the main language.
2232
+ * @internal
2233
+ * @format LANGUAGE_TAG
2234
+ */
2235
+ language?: string | null;
1911
2236
  /**
1912
2237
  * ID of the [form submission](https://dev.wix.com/docs/rest/crm/forms/form-submissions/introduction)
1913
2238
  * associated with this booking.
@@ -1969,6 +2294,71 @@ interface Booking extends BookingParticipantsInfoOneOf {
1969
2294
  * When the service supports deposit payments and `fullUpfrontPaymentAllowed` is `true`, this field can be `true` or `false`.
1970
2295
  */
1971
2296
  depositSelected?: boolean | null;
2297
+ /**
2298
+ * Whether the customer chose to pay the full subscription price upfront instead of recurring payments.
2299
+ *
2300
+ * Used only when the service's subscription payment has `fullUpfrontPayment.supported` set to `true`.
2301
+ *
2302
+ * Default: Not set (customer pays via recurring subscription).
2303
+ * @internal
2304
+ */
2305
+ subscriptionUpfrontPaymentSelected?: boolean | null;
2306
+ /**
2307
+ * Whether the booking is scheduled to be canceled at the end of the current
2308
+ * billing period.
2309
+ *
2310
+ * Applies only to bookings paid through a monthly subscription (course bookings).
2311
+ * The booking remains `CONFIRMED` until the cancellation is finalized at period
2312
+ * end. The effective date is available through Query Extended Bookings.
2313
+ * @internal
2314
+ * @readonly
2315
+ */
2316
+ cancellationScheduled?: boolean | null;
2317
+ /**
2318
+ * ID of the recurring booking group this booking belongs to.
2319
+ *
2320
+ * A recurring booking group is a set of independent bookings you link together
2321
+ * by supplying the same GUID in this field when calling `CreateBooking` or
2322
+ * `BulkCreateBooking`. All bookings in the group correspond to calendar events
2323
+ * that share the same [schedule ID](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction).
2324
+ *
2325
+ * This field is always empty for course bookings, which don't support recurring booking groups.
2326
+ *
2327
+ * To cancel all bookings in the series, pass this ID to
2328
+ * `BulkCancelBooking` via `RecurringCancellation.recurringGroupId`.
2329
+ * @internal
2330
+ * @format GUID
2331
+ */
2332
+ recurringGroupId?: string | null;
2333
+ /**
2334
+ * Whether this booking was made on behalf of another person by a logged-in member.
2335
+ *
2336
+ * When `true`, the booking's contact details refer to the person the booking is for —
2337
+ * typically sourced from the booking form's contact fields — rather than the
2338
+ * logged-in member or the eCommerce order's buyer.
2339
+ *
2340
+ * Default: `false`.
2341
+ * @internal
2342
+ */
2343
+ bookedForSomeoneElse?: boolean | null;
2344
+ /**
2345
+ * Start of the booking adjusted to the requested timezone.
2346
+ * When `timeZone` is specified in the read request, the value is converted to that timezone.
2347
+ * Otherwise, the slot or schedule timezone is used.
2348
+ * See also `startDate` and `endDate`.
2349
+ * @internal
2350
+ * @readonly
2351
+ */
2352
+ adjustedStart?: ZonedDate;
2353
+ /**
2354
+ * End of the booking adjusted to the requested timezone.
2355
+ * When `timeZone` is specified in the read request, the value is converted to that timezone.
2356
+ * Otherwise, the slot or schedule timezone is used.
2357
+ * See also `startDate` and `endDate`.
2358
+ * @internal
2359
+ * @readonly
2360
+ */
2361
+ adjustedEnd?: ZonedDate;
1972
2362
  }
1973
2363
  /** @oneof */
1974
2364
  interface BookingParticipantsInfoOneOf {
@@ -2041,6 +2431,13 @@ interface BookedEntity extends BookedEntityItemOneOf {
2041
2431
  * @maxLength 6000
2042
2432
  */
2043
2433
  title?: string | null;
2434
+ /**
2435
+ * If the user made the booking in a secondary language, this field contains the translated title.
2436
+ * @internal
2437
+ * @readonly
2438
+ * @maxLength 400
2439
+ */
2440
+ titleTranslated?: string | null;
2044
2441
  /**
2045
2442
  * List of tags for the booking.
2046
2443
  *
@@ -2118,6 +2515,18 @@ interface BookedSlot {
2118
2515
  resource?: BookedResource;
2119
2516
  /** Location where the session takes place. */
2120
2517
  location?: Location;
2518
+ /**
2519
+ * Phone call options for the service.
2520
+ * @internal
2521
+ * @readonly
2522
+ */
2523
+ phoneCall?: PhoneCall;
2524
+ /**
2525
+ * [Non-primary resources](https://dev.wix.com/docs/rest/business-solutions/bookings/resources/resources-v2/introduction) for the booking.
2526
+ * For example, a room, equipment, or an additional staff member.
2527
+ * @internal
2528
+ */
2529
+ additionalResources?: BookedResource[];
2121
2530
  /**
2122
2531
  * Information about how the customer has selected resources for the booking.
2123
2532
  * Each resource type may have a different selection method.
@@ -2166,6 +2575,13 @@ interface BookedResource {
2166
2575
  * @maxLength 40
2167
2576
  */
2168
2577
  name?: string | null;
2578
+ /**
2579
+ * Resource's name translated to the language the booking was made in.
2580
+ * @internal
2581
+ * @readonly
2582
+ * @maxLength 40
2583
+ */
2584
+ nameTranslated?: string | null;
2169
2585
  /**
2170
2586
  * Resource's email at the time of booking.
2171
2587
  * @maxLength 500
@@ -2176,6 +2592,15 @@ interface BookedResource {
2176
2592
  * @format GUID
2177
2593
  */
2178
2594
  scheduleId?: string | null;
2595
+ /**
2596
+ * Whether the customer specifically requested the resource or whether Wix Bookings randomly assigned a resource to the booking.
2597
+ *
2598
+ * - `true`: The customer specifically requested the resource.
2599
+ * - `false`: Wix Bookings randomly assigned a resource of the relevant type to the booking.
2600
+ * @internal
2601
+ * @readonly
2602
+ */
2603
+ explicitlyRequested?: boolean | null;
2179
2604
  /**
2180
2605
  * ID of the [resource type](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction) associated with this resource.
2181
2606
  * For example, `"1cd44cf8-756f-41c3-bd90-3e2ffcaf1155"` for a staff member resource type.
@@ -2183,6 +2608,17 @@ interface BookedResource {
2183
2608
  * @readonly
2184
2609
  */
2185
2610
  type?: string | null;
2611
+ /**
2612
+ * Specifies whether the resource's calendar is blocked for the duration of the booking.
2613
+ *
2614
+ * Supported values:
2615
+ * + `OPAQUE`: The schedule is blocked during the booking, preventing other bookings involving the same resource from being scheduled at the same time.
2616
+ * + `TRANSPARENT`: The schedule remains open during the booking, allowing other bookings to be scheduled concurrently.
2617
+ *
2618
+ * When not set or `UNKNOWN_TRANSPARENCY`, behaves as `OPAQUE`.
2619
+ * @internal
2620
+ */
2621
+ transparency?: ResourceTransparencyWithLiterals;
2186
2622
  }
2187
2623
  declare enum ResourceTransparency {
2188
2624
  OPAQUE = "OPAQUE",
@@ -2560,6 +2996,11 @@ interface CommonIdentificationData extends CommonIdentificationDataIdOneOf {
2560
2996
  * @format GUID
2561
2997
  */
2562
2998
  contactId?: string | null;
2999
+ /**
3000
+ * @internal
3001
+ * @readonly
3002
+ */
3003
+ identityType?: IdentityTypeWithLiterals;
2563
3004
  }
2564
3005
  /** @oneof */
2565
3006
  interface CommonIdentificationDataIdOneOf {
@@ -2607,6 +3048,19 @@ type IdentityTypeWithLiterals = IdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' |
2607
3048
  * - Overriding cancellation or rescheduling policies in exceptional cases
2608
3049
  */
2609
3050
  interface FlowControlSettings {
3051
+ /**
3052
+ * If `true`, skips the service defined booking-window in the booking policy.
3053
+ * Requires BOOKINGS.IGNORE_BOOKING_POLICY permissions.
3054
+ * Private because it is confusing to external users - collides with `skipAvailabilityValidation`.
3055
+ * When removing, use proto's `reserved` field.
3056
+ * @internal
3057
+ * @deprecated If `true`, skips the service defined booking-window in the booking policy.
3058
+ * Requires BOOKINGS.IGNORE_BOOKING_POLICY permissions.
3059
+ * Private because it is confusing to external users - collides with `skipAvailabilityValidation`.
3060
+ * When removing, use proto's `reserved` field.
3061
+ * @targetRemovalDate 2026-03-31
3062
+ */
3063
+ ignoreBookingWindow?: boolean;
2610
3064
  /** Whether availability is checked when creating or confirming the booking. */
2611
3065
  skipAvailabilityValidation?: boolean;
2612
3066
  /**
@@ -2634,6 +3088,16 @@ interface FlowControlSettings {
2634
3088
  * Default: `false`.
2635
3089
  */
2636
3090
  skipAddOnValidation?: boolean | null;
3091
+ /**
3092
+ * Whether the orders flow was skipped for this booking.
3093
+ *
3094
+ * When `true`, indicates this booking bypassed the standard eCommerce orders flow,
3095
+ * for non-chargeable services.
3096
+ *
3097
+ * Default: `false`.
3098
+ * @internal
3099
+ */
3100
+ skipOrderConfirmation?: boolean | null;
2637
3101
  }
2638
3102
  interface ParticipantChoices {
2639
3103
  /**
@@ -2664,6 +3128,16 @@ interface ServiceChoice extends ServiceChoiceChoiceOneOf {
2664
3128
  */
2665
3129
  custom?: string;
2666
3130
  duration?: Duration;
3131
+ /**
3132
+ * The matched date-time pricing rule. Available only for `DATE_TIME` options.
3133
+ * @internal
3134
+ */
3135
+ dateTime?: DateTimeRule;
3136
+ /**
3137
+ * The matched participants pricing rule. Available only for `NUMBER_OF_PARTICIPANTS` options.
3138
+ * @internal
3139
+ */
3140
+ participantRange?: ParticipantsRange;
2667
3141
  /**
2668
3142
  * ID of the corresponding option for the choice. For example, the choice `child`
2669
3143
  * could correspond to the option `ageGroup`. In this case, `optionId` is the ID
@@ -2671,6 +3145,14 @@ interface ServiceChoice extends ServiceChoiceChoiceOneOf {
2671
3145
  * @format GUID
2672
3146
  */
2673
3147
  optionId?: string;
3148
+ /**
3149
+ * ID of the service choice.
3150
+ * If this is provided, the oneof above will be enriched (readOnly essentially)
3151
+ * In pricing this is required. In Bookings, this is optional.
3152
+ * @internal
3153
+ * @format GUID
3154
+ */
3155
+ choiceId?: string | null;
2674
3156
  }
2675
3157
  /** @oneof */
2676
3158
  interface ServiceChoiceChoiceOneOf {
@@ -2682,6 +3164,16 @@ interface ServiceChoiceChoiceOneOf {
2682
3164
  */
2683
3165
  custom?: string;
2684
3166
  duration?: Duration;
3167
+ /**
3168
+ * The matched date-time pricing rule. Available only for `DATE_TIME` options.
3169
+ * @internal
3170
+ */
3171
+ dateTime?: DateTimeRule;
3172
+ /**
3173
+ * The matched participants pricing rule. Available only for `NUMBER_OF_PARTICIPANTS` options.
3174
+ * @internal
3175
+ */
3176
+ participantRange?: ParticipantsRange;
2685
3177
  }
2686
3178
  interface Duration {
2687
3179
  /**
@@ -2821,8 +3313,18 @@ interface DomainEventBodyOneOf {
2821
3313
  }
2822
3314
  interface EntityCreatedEvent {
2823
3315
  entityAsJson?: string;
3316
+ /**
3317
+ * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity
3318
+ * @internal
3319
+ */
3320
+ triggeredByUndelete?: boolean | null;
2824
3321
  /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */
2825
3322
  restoreInfo?: RestoreInfo;
3323
+ /**
3324
+ * Optional domain-specific metadata defined by the API owner, encoded as JSON.
3325
+ * @internal
3326
+ */
3327
+ additionalMetadataAsJson?: string | null;
2826
3328
  }
2827
3329
  interface RestoreInfo {
2828
3330
  deletedDate?: Date | null;
@@ -2834,10 +3336,42 @@ interface EntityUpdatedEvent {
2834
3336
  * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
2835
3337
  */
2836
3338
  currentEntityAsJson?: string;
3339
+ /**
3340
+ * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard
3341
+ * wont populate it / have any reference to it in the API.
3342
+ * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,
3343
+ * the developer should send only the new (current) entity.
3344
+ * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big
3345
+ * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.
3346
+ * @internal
3347
+ * @deprecated
3348
+ */
3349
+ previousEntityAsJson?: string | null;
3350
+ /**
3351
+ * Map of fully qualified field paths to their previous values for fields that changed.
3352
+ * For more details please see [AIP](https://dev.wix.com/docs/rnd-general/articles/p13n-guidelines-aips/guidance-aips/design-patterns/7016-events#modified-fields-format)
3353
+ * @internal
3354
+ */
3355
+ modifiedFields?: Record<string, any>;
3356
+ /**
3357
+ * Optional domain-specific metadata defined by the API owner, encoded as JSON.
3358
+ * @internal
3359
+ */
3360
+ additionalMetadataAsJson?: string | null;
2837
3361
  }
2838
3362
  interface EntityDeletedEvent {
3363
+ /**
3364
+ * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled
3365
+ * @internal
3366
+ */
3367
+ movedToTrash?: boolean | null;
2839
3368
  /** Entity that was deleted. */
2840
3369
  deletedEntityAsJson?: string | null;
3370
+ /**
3371
+ * Optional domain-specific metadata defined by the API owner, encoded as JSON.
3372
+ * @internal
3373
+ */
3374
+ additionalMetadataAsJson?: string | null;
2841
3375
  }
2842
3376
  interface ActionEvent {
2843
3377
  bodyAsJson?: string;
@@ -2976,6 +3510,12 @@ interface BulkCreateServicesRequest {
2976
3510
  services: Service[];
2977
3511
  /** Whether to return the created service objects. */
2978
3512
  returnEntity?: boolean;
3513
+ /**
3514
+ * Used to provision services from V1, Should be removed
3515
+ * when deprecating services V1
3516
+ * @internal
3517
+ */
3518
+ skipScheduleCreation?: boolean;
2979
3519
  }
2980
3520
  interface BulkCreateServicesResponse {
2981
3521
  /** The result of each service creation. */
@@ -3029,6 +3569,12 @@ interface GetServiceRequest {
3029
3569
  * @maxSize 5
3030
3570
  */
3031
3571
  conditionalFields?: V2RequestedFieldsWithLiterals[];
3572
+ /**
3573
+ * Whether to perform an eventually consistent call using
3574
+ * catalog reader (only for dbV1)
3575
+ * @internal
3576
+ */
3577
+ eventuallyConsistent?: boolean | null;
3032
3578
  }
3033
3579
  declare enum V2RequestedFields {
3034
3580
  /** When passed, `service.staffMemberDetails` is returned. */
@@ -3037,6 +3583,16 @@ declare enum V2RequestedFields {
3037
3583
  RESOURCE_TYPE_DETAILS = "RESOURCE_TYPE_DETAILS",
3038
3584
  /** When passed, `service.payment.discountInfo` is returned. */
3039
3585
  DISCOUNT_INFO_DETAILS = "DISCOUNT_INFO_DETAILS",
3586
+ /**
3587
+ * Requires `STAFF_MEMBER_DETAILS`. Returns each staff member's working-hours location coverage at
3588
+ * `staffMemberDetails.staffMembers[].workingHoursLocationCoverage` for filtering staff by business location.
3589
+ * Coverage is derived from Calendar v3 WORKING_HOURS events (`NONE` and `MASTER` recurrence types),
3590
+ * fetched with cursor pagination (100 events per page).
3591
+ * If Calendar v3 is unavailable, the request fails.
3592
+ * @documentationMaturity preview
3593
+ * @internal
3594
+ */
3595
+ STAFF_WORKING_HOURS_LOCATIONS = "STAFF_WORKING_HOURS_LOCATIONS",
3040
3596
  /**
3041
3597
  * Returns details about each individual resource assigned to a service resource, including the resource name. See `serviceResources.resourceDetails`.
3042
3598
  * @documentationMaturity preview
@@ -3123,6 +3679,11 @@ interface SplitInterval {
3123
3679
  interface UpdateServiceRequest {
3124
3680
  /** Service to update. */
3125
3681
  service: Service;
3682
+ /**
3683
+ * Explicit list of fields to update.
3684
+ * @internal
3685
+ */
3686
+ mask?: string[];
3126
3687
  }
3127
3688
  interface UpdateServiceResponse {
3128
3689
  /** Updated service. */
@@ -3136,6 +3697,11 @@ interface BulkUpdateServicesRequest {
3136
3697
  services?: MaskedService[];
3137
3698
  /** Whether to include the updated services in the response. Default: `false` */
3138
3699
  returnEntity?: boolean;
3700
+ /**
3701
+ * When true, uses the currency from the services parameter instead of preserving the existing service's currency. Default: `false`
3702
+ * @internal
3703
+ */
3704
+ overrideCurrency?: boolean;
3139
3705
  }
3140
3706
  interface MaskedService {
3141
3707
  /** Service to update. */
@@ -3154,6 +3720,11 @@ interface BulkUpdateServicesByFilterRequest {
3154
3720
  filter: Record<string, any> | null;
3155
3721
  /** Service to update. */
3156
3722
  service: Service;
3723
+ /**
3724
+ * Explicit list of fields to update.
3725
+ * @internal
3726
+ */
3727
+ mask?: string[];
3157
3728
  }
3158
3729
  interface BulkUpdateServicesByFilterResponse {
3159
3730
  /**
@@ -3181,6 +3752,13 @@ interface DeleteServiceRequest {
3181
3752
  * custom message.
3182
3753
  */
3183
3754
  participantNotification?: V2ParticipantNotification;
3755
+ /**
3756
+ * Whether to cancel active subscriptions associated with the service's bookings.
3757
+ *
3758
+ * Default: `false`.
3759
+ * @internal
3760
+ */
3761
+ cancelSubscription?: boolean | null;
3184
3762
  }
3185
3763
  interface V2ParticipantNotification {
3186
3764
  /**
@@ -3215,6 +3793,13 @@ interface BulkDeleteServicesRequest {
3215
3793
  * custom message.
3216
3794
  */
3217
3795
  participantNotification?: V2ParticipantNotification;
3796
+ /**
3797
+ * Whether to cancel active subscriptions associated with the service's bookings.
3798
+ *
3799
+ * Default: `false`.
3800
+ * @internal
3801
+ */
3802
+ cancelSubscription?: boolean | null;
3218
3803
  }
3219
3804
  interface BulkDeleteServicesResponse {
3220
3805
  /** The result of each service removal. */
@@ -3233,6 +3818,13 @@ interface BulkDeleteServicesByFilterRequest {
3233
3818
  preserveFutureSessionsWithParticipants?: boolean;
3234
3819
  /** Whether to notify participants about the change and an optional custom message. */
3235
3820
  participantNotification?: V2ParticipantNotification;
3821
+ /**
3822
+ * Whether to cancel active subscriptions associated with the service's bookings.
3823
+ *
3824
+ * Default: `false`.
3825
+ * @internal
3826
+ */
3827
+ cancelSubscription?: boolean | null;
3236
3828
  }
3237
3829
  interface BulkDeleteServicesByFilterResponse {
3238
3830
  /**
@@ -3251,10 +3843,21 @@ interface QueryServicesRequest {
3251
3843
  * @maxSize 5
3252
3844
  */
3253
3845
  conditionalFields?: V2RequestedFieldsWithLiterals[];
3846
+ /**
3847
+ * Whether to perform an eventually consistent call using
3848
+ * catalog reader (only for dbV1)
3849
+ * @internal
3850
+ */
3851
+ eventuallyConsistent?: boolean | null;
3254
3852
  }
3255
3853
  interface QueryV2 extends QueryV2PagingMethodOneOf {
3256
3854
  /** Paging options to limit and skip the number of items. */
3257
3855
  paging?: Paging;
3856
+ /**
3857
+ * Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`.
3858
+ * @internal
3859
+ */
3860
+ cursorPaging?: CursorPaging;
3258
3861
  /**
3259
3862
  * Filter object in the following format:
3260
3863
  *
@@ -3277,11 +3880,30 @@ interface QueryV2 extends QueryV2PagingMethodOneOf {
3277
3880
  * @maxSize 50
3278
3881
  */
3279
3882
  sort?: Sorting[];
3883
+ /**
3884
+ * Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned.
3885
+ * @internal
3886
+ * @maxLength 200
3887
+ * @maxSize 50
3888
+ */
3889
+ fields?: string[];
3890
+ /**
3891
+ * Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned.
3892
+ * @internal
3893
+ * @maxLength 100
3894
+ * @maxSize 50
3895
+ */
3896
+ fieldsets?: string[];
3280
3897
  }
3281
3898
  /** @oneof */
3282
3899
  interface QueryV2PagingMethodOneOf {
3283
3900
  /** Paging options to limit and skip the number of items. */
3284
3901
  paging?: Paging;
3902
+ /**
3903
+ * Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`.
3904
+ * @internal
3905
+ */
3906
+ cursorPaging?: CursorPaging;
3285
3907
  }
3286
3908
  interface Sorting {
3287
3909
  /**
@@ -3337,6 +3959,13 @@ interface PagingMetadataV2 {
3337
3959
  tooManyToCount?: boolean | null;
3338
3960
  /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */
3339
3961
  cursors?: Cursors;
3962
+ /**
3963
+ * Indicates if there are more results after the current page.
3964
+ * If `true`, another page of results can be retrieved.
3965
+ * If `false`, this is the last page.
3966
+ * @internal
3967
+ */
3968
+ hasNext?: boolean | null;
3340
3969
  }
3341
3970
  interface Cursors {
3342
3971
  /**
@@ -3489,7 +4118,17 @@ declare enum ScalarType {
3489
4118
  /** Minimum value. */
3490
4119
  MIN = "MIN",
3491
4120
  /** Maximum value. */
3492
- MAX = "MAX"
4121
+ MAX = "MAX",
4122
+ /**
4123
+ * Sum of values.
4124
+ * @internal
4125
+ */
4126
+ SUM = "SUM",
4127
+ /**
4128
+ * Average of values.
4129
+ * @internal
4130
+ */
4131
+ AVG = "AVG"
3493
4132
  }
3494
4133
  /** @enumType */
3495
4134
  type ScalarTypeWithLiterals = ScalarType | 'COUNT_DISTINCT' | 'MIN' | 'MAX';
@@ -3977,6 +4616,30 @@ interface QueryPoliciesResponse {
3977
4616
  interface BookingPolicyWithServices {
3978
4617
  /** Retrieved booking policy. */
3979
4618
  bookingPolicy?: BookingPolicy;
4619
+ /**
4620
+ * The services connected to the booking policy. Up to 5 services are returned per policy.
4621
+ * @internal
4622
+ * @maxSize 5
4623
+ * @deprecated The services connected to the booking policy. Up to 5 services are returned per policy.
4624
+ * @replacedBy connected_services
4625
+ * @targetRemovalDate 2025-03-01
4626
+ */
4627
+ services?: Service[];
4628
+ /**
4629
+ * Whether there are more services associated with the booking policy.
4630
+ * @internal
4631
+ * @deprecated Whether there are more services associated with the booking policy.
4632
+ * @targetRemovalDate 2025-03-01
4633
+ */
4634
+ hasMoreServices?: boolean | null;
4635
+ /**
4636
+ * The number of services connected to the booking policy.
4637
+ * @internal
4638
+ * @deprecated The number of services connected to the booking policy.
4639
+ * @replacedBy total_service_count
4640
+ * @targetRemovalDate 2025-03-01
4641
+ */
4642
+ countOfServices?: number;
3980
4643
  /**
3981
4644
  * Up to 5 services connected to the booking policy. If `totalServiceCount` is
3982
4645
  * greater than 5, there are additional services connected to the policy.
@@ -4149,6 +4812,12 @@ interface QueryCategoriesResponse {
4149
4812
  interface QueryServicesMultiLanguageRequest {
4150
4813
  /** WQL expression. */
4151
4814
  query?: QueryV2;
4815
+ /**
4816
+ * Conditional fields to return.
4817
+ * @internal
4818
+ * @maxSize 5
4819
+ */
4820
+ conditionalFields?: V2RequestedFieldsWithLiterals[];
4152
4821
  }
4153
4822
  interface QueryServicesMultiLanguageResponse {
4154
4823
  /** The retrieved services in the main language */
@@ -4231,6 +4900,14 @@ interface EnablePricingPlansForServiceRequest {
4231
4900
  * @maxSize 100
4232
4901
  */
4233
4902
  pricingPlanIds: string[];
4903
+ /**
4904
+ * Explicit pricing plan selections with required per-plan benefit selection.
4905
+ * Allows fine-grained control over which benefits to connect for each plan.
4906
+ * Each selection must specify at least one benefit ID.
4907
+ * @internal
4908
+ * @maxSize 10
4909
+ */
4910
+ pricingPlanSelections?: PricingPlanSelection[];
4234
4911
  }
4235
4912
  /** Pricing plan selection with required benefit IDs. */
4236
4913
  interface PricingPlanSelection {
@@ -4281,6 +4958,14 @@ interface DisablePricingPlansForServiceRequest {
4281
4958
  * @maxSize 75
4282
4959
  */
4283
4960
  pricingPlanIds?: string[];
4961
+ /**
4962
+ * Explicit pricing plan selections with required per-plan benefit selection.
4963
+ * Allows fine-grained control over which benefits to disconnect for each plan.
4964
+ * Each selection must specify at least one benefit ID.
4965
+ * @internal
4966
+ * @maxSize 10
4967
+ */
4968
+ pricingPlanSelections?: PricingPlanSelection[];
4284
4969
  }
4285
4970
  interface DisablePricingPlansForServiceResponse {
4286
4971
  /** Updated service. */
@@ -4292,6 +4977,15 @@ interface SetCustomSlugRequest {
4292
4977
  * @format GUID
4293
4978
  */
4294
4979
  serviceId: string;
4980
+ /**
4981
+ * The custom name to set as the active slug for the service.
4982
+ * @internal
4983
+ * @maxLength 500
4984
+ * @deprecated The custom name to set as the active slug for the service.
4985
+ * @replacedBy slug
4986
+ * @targetRemovalDate 2025-03-01
4987
+ */
4988
+ slugName?: string;
4295
4989
  /**
4296
4990
  * Slug to set as the active service slug.
4297
4991
  * @maxLength 500
@@ -4310,6 +5004,15 @@ interface ValidateSlugRequest {
4310
5004
  * @format GUID
4311
5005
  */
4312
5006
  serviceId: string;
5007
+ /**
5008
+ * The custom name to validate as a slug for the service.
5009
+ * @internal
5010
+ * @maxLength 500
5011
+ * @deprecated The custom name to validate as a slug for the service.
5012
+ * @replacedBy slug
5013
+ * @targetRemovalDate 2025-03-01
5014
+ */
5015
+ slugName?: string;
4313
5016
  /**
4314
5017
  * Custom slug to validate.
4315
5018
  * @maxLength 500
@@ -4319,6 +5022,19 @@ interface ValidateSlugRequest {
4319
5022
  interface ValidateSlugResponse {
4320
5023
  /** Whether the slug is valid. */
4321
5024
  valid?: boolean;
5025
+ /**
5026
+ * The requested custom slug name to validate. If valid, the slug name can
5027
+ * be set as a slug for the service and is populated with the requested
5028
+ * slug. Otherwise, `slugName` is empty.
5029
+ * @internal
5030
+ * @maxLength 500
5031
+ * @deprecated The requested custom slug name to validate. If valid, the slug name can
5032
+ * be set as a slug for the service and is populated with the requested
5033
+ * slug. Otherwise, `slugName` is empty.
5034
+ * @replacedBy slug
5035
+ * @targetRemovalDate 2025-03-01
5036
+ */
5037
+ slugName?: string | null;
4322
5038
  /**
4323
5039
  * Valid slug. Available only if `{"valid": true}`.
4324
5040
  * @maxLength 500
@@ -4344,6 +5060,35 @@ interface CloneServiceRequest {
4344
5060
  * @format GUID
4345
5061
  */
4346
5062
  sourceServiceId: string;
5063
+ /**
5064
+ * Whether to copy future recurring [events](https://dev.wix.com/docs/api-reference/business-management/calendar/events-v3/introduction)
5065
+ * belonging to the service's active schedule. Relevant only for classes and
5066
+ * courses.
5067
+ * @internal
5068
+ */
5069
+ copyRecurringSessions?: boolean;
5070
+ /**
5071
+ * Whether to copy the original service's `payment.pricingPlanIds` array.
5072
+ * A maximum of 120 pricing plans is copied.
5073
+ * @internal
5074
+ */
5075
+ copyPricingPlans?: boolean;
5076
+ /**
5077
+ * Whether to hide the cloned service from customers. Specifying an
5078
+ * empty value means that the original service's `hidden` value is used.
5079
+ * @internal
5080
+ */
5081
+ hideService?: boolean | null;
5082
+ /**
5083
+ * Name of the cloned service.
5084
+ * The `title` of cloned service's active [schedule](https://dev.wix.com/docs/api-reference/business-management/calendar/schedules-v3/introduction)
5085
+ * is also set to this name.
5086
+ * The default name and schedule title of the cloned service are exact matches
5087
+ * of the corresponding fields from the service to clone.
5088
+ * @internal
5089
+ * @maxLength 400
5090
+ */
5091
+ cloneServiceName?: string | null;
4347
5092
  }
4348
5093
  interface CloneServiceResponse {
4349
5094
  /** Cloned service. */
@@ -4356,10 +5101,21 @@ interface CloneServiceResponse {
4356
5101
  errors?: CloneErrorsWithLiterals[];
4357
5102
  }
4358
5103
  declare enum CloneErrors {
5104
+ /**
5105
+ * Failed to clone sessions belonging to the original service's active
5106
+ * schedule.
5107
+ * @internal
5108
+ */
5109
+ SESSIONS = "SESSIONS",
4359
5110
  /** Failed to clone the original service's [options and variants](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/service-options-and-variants/introduction). */
4360
5111
  OPTIONS_AND_VARIANTS = "OPTIONS_AND_VARIANTS",
4361
5112
  /** Failed to clone the original service's *booking form*. */
4362
- FORM = "FORM"
5113
+ FORM = "FORM",
5114
+ /**
5115
+ * Failed to add [pricing plans](https://dev.wix.com/docs/api-reference/business-solutions/pricing-plans/pricing-plans/introduction) as supported payment methods for the cloned service.
5116
+ * @internal
5117
+ */
5118
+ PRICING_PLANS = "PRICING_PLANS"
4363
5119
  }
4364
5120
  /** @enumType */
4365
5121
  type CloneErrorsWithLiterals = CloneErrors | 'OPTIONS_AND_VARIANTS' | 'FORM';
@@ -4381,6 +5137,12 @@ interface Category {
4381
5137
  * @maxLength 500
4382
5138
  */
4383
5139
  name?: string | null;
5140
+ /**
5141
+ * Custom properties that can be associated with the category.
5142
+ * @internal
5143
+ * @maxSize 256
5144
+ */
5145
+ customProperties?: Record<string, string>;
4384
5146
  /**
4385
5147
  * Category status.
4386
5148
  *
@@ -4790,6 +5552,11 @@ interface DeleteAddOnGroupResponse {
4790
5552
  interface UpdateAddOnGroupRequest {
4791
5553
  /** Add-on group to update. */
4792
5554
  addOnGroup: AddOnGroup;
5555
+ /**
5556
+ * Explicit list of fields to update.
5557
+ * @internal
5558
+ */
5559
+ mask?: string[];
4793
5560
  /**
4794
5561
  * ID of the service that contains the add-on group.
4795
5562
  * @format GUID