@wix/auto_sdk_bookings_bookings 1.0.3 → 1.0.5

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 (73) hide show
  1. package/build/cjs/src/bookings-v2-booking-bookings.context.d.ts +17 -17
  2. package/build/cjs/src/bookings-v2-booking-bookings.context.js +17 -17
  3. package/build/cjs/src/bookings-v2-booking-bookings.context.js.map +1 -1
  4. package/build/cjs/src/bookings-v2-booking-bookings.http.d.ts +137 -134
  5. package/build/cjs/src/bookings-v2-booking-bookings.http.js +861 -858
  6. package/build/cjs/src/bookings-v2-booking-bookings.http.js.map +1 -1
  7. package/build/cjs/src/bookings-v2-booking-bookings.meta.d.ts +24 -24
  8. package/build/cjs/src/bookings-v2-booking-bookings.meta.js +125 -125
  9. package/build/cjs/src/bookings-v2-booking-bookings.meta.js.map +1 -1
  10. package/build/cjs/src/bookings-v2-booking-bookings.public.d.ts +192 -189
  11. package/build/cjs/src/bookings-v2-booking-bookings.public.js +84 -84
  12. package/build/cjs/src/bookings-v2-booking-bookings.public.js.map +1 -1
  13. package/build/cjs/src/bookings-v2-booking-bookings.types.d.ts +1310 -991
  14. package/build/cjs/src/bookings-v2-booking-bookings.types.js +3 -3
  15. package/build/cjs/src/bookings-v2-booking-bookings.types.js.map +1 -1
  16. package/build/cjs/src/bookings-v2-booking-bookings.universal.d.ts +2219 -1839
  17. package/build/cjs/src/bookings-v2-booking-bookings.universal.js +901 -898
  18. package/build/cjs/src/bookings-v2-booking-bookings.universal.js.map +1 -1
  19. package/build/es/src/bookings-v2-booking-bookings.context.d.ts +17 -17
  20. package/build/es/src/bookings-v2-booking-bookings.context.js +16 -16
  21. package/build/es/src/bookings-v2-booking-bookings.context.js.map +1 -1
  22. package/build/es/src/bookings-v2-booking-bookings.http.d.ts +137 -134
  23. package/build/es/src/bookings-v2-booking-bookings.http.js +837 -834
  24. package/build/es/src/bookings-v2-booking-bookings.http.js.map +1 -1
  25. package/build/es/src/bookings-v2-booking-bookings.meta.d.ts +24 -24
  26. package/build/es/src/bookings-v2-booking-bookings.meta.js +103 -103
  27. package/build/es/src/bookings-v2-booking-bookings.meta.js.map +1 -1
  28. package/build/es/src/bookings-v2-booking-bookings.public.d.ts +192 -189
  29. package/build/es/src/bookings-v2-booking-bookings.public.js +65 -65
  30. package/build/es/src/bookings-v2-booking-bookings.public.js.map +1 -1
  31. package/build/es/src/bookings-v2-booking-bookings.types.d.ts +1310 -991
  32. package/build/es/src/bookings-v2-booking-bookings.types.js +3 -3
  33. package/build/es/src/bookings-v2-booking-bookings.types.js.map +1 -1
  34. package/build/es/src/bookings-v2-booking-bookings.universal.d.ts +2219 -1839
  35. package/build/es/src/bookings-v2-booking-bookings.universal.js +855 -852
  36. package/build/es/src/bookings-v2-booking-bookings.universal.js.map +1 -1
  37. package/build/internal/cjs/src/bookings-v2-booking-bookings.context.d.ts +17 -17
  38. package/build/internal/cjs/src/bookings-v2-booking-bookings.context.js +17 -17
  39. package/build/internal/cjs/src/bookings-v2-booking-bookings.context.js.map +1 -1
  40. package/build/internal/cjs/src/bookings-v2-booking-bookings.http.d.ts +137 -134
  41. package/build/internal/cjs/src/bookings-v2-booking-bookings.http.js +861 -858
  42. package/build/internal/cjs/src/bookings-v2-booking-bookings.http.js.map +1 -1
  43. package/build/internal/cjs/src/bookings-v2-booking-bookings.meta.d.ts +24 -24
  44. package/build/internal/cjs/src/bookings-v2-booking-bookings.meta.js +125 -125
  45. package/build/internal/cjs/src/bookings-v2-booking-bookings.meta.js.map +1 -1
  46. package/build/internal/cjs/src/bookings-v2-booking-bookings.public.d.ts +192 -189
  47. package/build/internal/cjs/src/bookings-v2-booking-bookings.public.js +84 -84
  48. package/build/internal/cjs/src/bookings-v2-booking-bookings.public.js.map +1 -1
  49. package/build/internal/cjs/src/bookings-v2-booking-bookings.types.d.ts +1310 -991
  50. package/build/internal/cjs/src/bookings-v2-booking-bookings.types.js +3 -3
  51. package/build/internal/cjs/src/bookings-v2-booking-bookings.types.js.map +1 -1
  52. package/build/internal/cjs/src/bookings-v2-booking-bookings.universal.d.ts +2219 -1839
  53. package/build/internal/cjs/src/bookings-v2-booking-bookings.universal.js +901 -898
  54. package/build/internal/cjs/src/bookings-v2-booking-bookings.universal.js.map +1 -1
  55. package/build/internal/es/src/bookings-v2-booking-bookings.context.d.ts +17 -17
  56. package/build/internal/es/src/bookings-v2-booking-bookings.context.js +16 -16
  57. package/build/internal/es/src/bookings-v2-booking-bookings.context.js.map +1 -1
  58. package/build/internal/es/src/bookings-v2-booking-bookings.http.d.ts +137 -134
  59. package/build/internal/es/src/bookings-v2-booking-bookings.http.js +837 -834
  60. package/build/internal/es/src/bookings-v2-booking-bookings.http.js.map +1 -1
  61. package/build/internal/es/src/bookings-v2-booking-bookings.meta.d.ts +24 -24
  62. package/build/internal/es/src/bookings-v2-booking-bookings.meta.js +103 -103
  63. package/build/internal/es/src/bookings-v2-booking-bookings.meta.js.map +1 -1
  64. package/build/internal/es/src/bookings-v2-booking-bookings.public.d.ts +192 -189
  65. package/build/internal/es/src/bookings-v2-booking-bookings.public.js +65 -65
  66. package/build/internal/es/src/bookings-v2-booking-bookings.public.js.map +1 -1
  67. package/build/internal/es/src/bookings-v2-booking-bookings.types.d.ts +1310 -991
  68. package/build/internal/es/src/bookings-v2-booking-bookings.types.js +3 -3
  69. package/build/internal/es/src/bookings-v2-booking-bookings.types.js.map +1 -1
  70. package/build/internal/es/src/bookings-v2-booking-bookings.universal.d.ts +2219 -1839
  71. package/build/internal/es/src/bookings-v2-booking-bookings.universal.js +855 -852
  72. package/build/internal/es/src/bookings-v2-booking-bookings.universal.js.map +1 -1
  73. package/package.json +2 -2
@@ -2,32 +2,34 @@
2
2
  export interface Booking extends BookingParticipantsInfoOneOf {
3
3
  /**
4
4
  * Total number of participants. Available only when the relevant service
5
- * doesn't have variants and options
5
+ * doesn't have _variants and options_
6
6
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/service-options-and-variants/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction)).
7
+ * @min 1
7
8
  */
8
9
  totalParticipants?: number;
9
10
  /**
10
11
  * Information about the booked service choices and participants.
11
- * Available only when the booking includes multiple service variants
12
+ * Available only when the booking includes multiple _service variants_
12
13
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/service-options-and-variants/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction)).
13
14
  */
14
15
  participantsChoices?: ParticipantChoices;
15
16
  /**
16
17
  * Booking ID.
18
+ * @format GUID
17
19
  * @readonly
18
20
  */
19
21
  id?: string | null;
20
22
  /**
21
- * An object describing the slot
23
+ * An object describing the *slot*
22
24
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/availability-calendar/query-availability) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings-and-time-slots/time-slots/availability-calendar/query-availability))
23
- * or schedule
25
+ * or *schedule*
24
26
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction))
25
27
  * that was booked.
26
28
  */
27
29
  bookedEntity?: BookedEntity;
28
30
  /**
29
- * Contact details of the site visitor or
30
- * member ([SDK](https://dev.wix.com/docs/sdk/backend-modules/members/members/introduction) | [REST](https://dev.wix.com/docs/rest/crm/members-contacts/members/members/introduction))
31
+ * Contact details of the site visitor or *member*
32
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/members/members/introduction) | [REST](https://dev.wix.com/docs/rest/crm/members-contacts/members/members/introduction))
31
33
  * making the booking.
32
34
  */
33
35
  contactDetails?: ContactDetails;
@@ -42,7 +44,8 @@ export interface Booking extends BookingParticipantsInfoOneOf {
42
44
  status?: BookingStatus;
43
45
  /**
44
46
  * The payment status of the booking corresponds to the `paymentStatus` of the
45
- * related eCommerce order ([SDK](https://dev.wix.com/docs/sdk/backend-modules/ecom/orders/setup)| [REST](https://dev.wix.com/docs/rest/business-solutions/e-commerce/orders/introduction)),
47
+ * related *eCommerce order*
48
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/ecom/orders/setup)| [REST](https://dev.wix.com/docs/rest/business-solutions/e-commerce/orders/introduction)),
46
49
  * if one exists. All payment statuses are supported for every booking `status`.
47
50
  */
48
51
  paymentStatus?: PaymentStatus;
@@ -51,8 +54,8 @@ export interface Booking extends BookingParticipantsInfoOneOf {
51
54
  * checkout, they may still change the payment method. Must be one of the payment
52
55
  * options offered by the service ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/setup) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/introduction)),
53
56
  * unless `skipSelectedPaymentOptionValidation` is `true`.
54
- * When undefined during an
55
- * eCommerce checkout ([SDK](https://dev.wix.com/docs/sdk/backend-modules/ecom/checkout/setup) | [REST](https://dev.wix.com/docs/rest/business-solutions/e-commerce/checkout/introduction)),
57
+ * When undefined during an *eCommerce checkout*
58
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/ecom/checkout/setup) | [REST](https://dev.wix.com/docs/rest/business-solutions/e-commerce/checkout/introduction)),
56
59
  * Wix Bookings uses the service's default payment option
57
60
  */
58
61
  selectedPaymentOption?: SelectedPaymentOption;
@@ -109,13 +112,14 @@ export interface Booking extends BookingParticipantsInfoOneOf {
109
112
  export interface BookingParticipantsInfoOneOf {
110
113
  /**
111
114
  * Total number of participants. Available only when the relevant service
112
- * doesn't have variants and options
115
+ * doesn't have _variants and options_
113
116
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/service-options-and-variants/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction)).
117
+ * @min 1
114
118
  */
115
119
  totalParticipants?: number;
116
120
  /**
117
121
  * Information about the booked service choices and participants.
118
- * Available only when the booking includes multiple service variants
122
+ * Available only when the booking includes multiple _service variants_
119
123
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/service-options-and-variants/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction)).
120
124
  */
121
125
  participantsChoices?: ParticipantChoices;
@@ -133,7 +137,7 @@ export declare enum MultiServiceBookingType {
133
137
  }
134
138
  export interface BookedEntity extends BookedEntityItemOneOf {
135
139
  /**
136
- * Booked slot
140
+ * Booked *slot*
137
141
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/availability-calendar/query-availability) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings-and-time-slots/time-slots/availability-calendar/query-availability)).
138
142
  * Available only for appointment-based services and classes.
139
143
  * For appointment-based services, a new session is created, while for classes,
@@ -141,7 +145,7 @@ export interface BookedEntity extends BookedEntityItemOneOf {
141
145
  */
142
146
  slot?: BookedSlot;
143
147
  /**
144
- * Booked schedule
148
+ * Booked *schedule*
145
149
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction)).
146
150
  * Available only for course bookings.
147
151
  */
@@ -150,6 +154,7 @@ export interface BookedEntity extends BookedEntityItemOneOf {
150
154
  * Session title at the time of booking. If there is no pre-existing session,
151
155
  * for example for appointment-based services, `title` is set to the service name.
152
156
  * @readonly
157
+ * @maxLength 6000
153
158
  */
154
159
  title?: string | null;
155
160
  /**
@@ -164,7 +169,7 @@ export interface BookedEntity extends BookedEntityItemOneOf {
164
169
  /** @oneof */
165
170
  export interface BookedEntityItemOneOf {
166
171
  /**
167
- * Booked slot
172
+ * Booked *slot*
168
173
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/availability-calendar/query-availability) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings-and-time-slots/time-slots/availability-calendar/query-availability)).
169
174
  * Available only for appointment-based services and classes.
170
175
  * For appointment-based services, a new session is created, while for classes,
@@ -172,7 +177,7 @@ export interface BookedEntityItemOneOf {
172
177
  */
173
178
  slot?: BookedSlot;
174
179
  /**
175
- * Booked schedule
180
+ * Booked *schedule*
176
181
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction)).
177
182
  * Available only for course bookings.
178
183
  */
@@ -186,12 +191,14 @@ export interface BookedSlot {
186
191
  /** Schedule ID. */
187
192
  scheduleId?: string;
188
193
  /**
189
- * ID of the corresponding event
194
+ * ID of the corresponding *event*
190
195
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/introduction)).
191
196
  * Available for both appointment and class bookings, not available for course bookings.
192
197
  * For appointment-based services, Wix Bookings automatically populates `eventId`
193
198
  * when the booking `status` changes to `CONFIRMED`. For class bookings, it's
194
199
  * automatically populated upon booking creation.
200
+ * @minLength 36
201
+ * @maxLength 250
195
202
  */
196
203
  eventId?: string | null;
197
204
  /**
@@ -207,9 +214,9 @@ export interface BookedSlot {
207
214
  /** The timezone according to which the slot was shown to the user when booking, and should be shown in the future. */
208
215
  timezone?: string | null;
209
216
  /**
210
- * Primary resource
217
+ * Primary *resource*
211
218
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/resources/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/resources/resources-v2/introduction))
212
- * for the booking. For example, the staff member
219
+ * for the booking. For example, the *staff member*
213
220
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/staff-members/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/staff-members/introduction))
214
221
  * providing the
215
222
  * service.
@@ -219,26 +226,42 @@ export interface BookedSlot {
219
226
  location?: Location;
220
227
  }
221
228
  export interface BookedResource {
222
- /** ID of the booking's primary resource. */
229
+ /**
230
+ * ID of the booking's primary resource.
231
+ * @format GUID
232
+ */
223
233
  id?: string;
224
- /** Resource's name at the time of booking. */
234
+ /**
235
+ * Resource's name at the time of booking.
236
+ * @maxLength 40
237
+ */
225
238
  name?: string | null;
226
- /** Resource's email at the time of booking. */
239
+ /**
240
+ * Resource's email at the time of booking.
241
+ * @maxLength 500
242
+ */
227
243
  email?: string | null;
228
- /** ID of the schedule belonging to the booking's primary resource. */
244
+ /**
245
+ * ID of the schedule belonging to the booking's primary resource.
246
+ * @format GUID
247
+ */
229
248
  scheduleId?: string | null;
230
249
  }
231
250
  export interface Location {
232
251
  /**
233
252
  * Business location ID. Available only for locations that are business locations,
234
253
  * meaning the `location_type` is `"OWNER_BUSINESS"`.
254
+ * @format GUID
235
255
  */
236
256
  id?: string | null;
237
257
  /** Location name. */
238
258
  name?: string | null;
239
259
  /** The full address of this location. */
240
260
  formattedAddress?: string | null;
241
- /** The full translated address of this location. */
261
+ /**
262
+ * The full translated address of this location.
263
+ * @maxLength 512
264
+ */
242
265
  formattedAddressTranslated?: string | null;
243
266
  /**
244
267
  * Location type.
@@ -257,14 +280,17 @@ export declare enum LocationType {
257
280
  }
258
281
  export interface BookedSchedule {
259
282
  /**
260
- * Schedule ID
283
+ * _Schedule ID_
261
284
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction)).
262
285
  */
263
286
  scheduleId?: string;
264
- /** Booked service ID. */
287
+ /**
288
+ * Booked service ID.
289
+ * @format GUID
290
+ */
265
291
  serviceId?: string | null;
266
292
  /**
267
- * Location
293
+ * _Location_
268
294
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/business-tools/locations/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/locations/introduction))
269
295
  * where the schedule's sessions take place.
270
296
  * @readonly
@@ -289,7 +315,10 @@ export interface BookedSchedule {
289
315
  lastSessionEnd?: string | null;
290
316
  }
291
317
  export interface ContactDetails {
292
- /** Contact ID. */
318
+ /**
319
+ * Contact ID.
320
+ * @format GUID
321
+ */
293
322
  contactId?: string | null;
294
323
  /**
295
324
  * Contact's first name. When populated from a standard booking form, this
@@ -304,6 +333,7 @@ export interface ContactDetails {
304
333
  * Used to validate coupon usage limitations per contact. If not specified,
305
334
  * the coupon usage limitation will not be enforced. (Coupon usage limitation
306
335
  * validation is not supported yet).
336
+ * @format EMAIL
307
337
  */
308
338
  email?: string | null;
309
339
  /** Contact's phone number. */
@@ -318,6 +348,7 @@ export interface ContactDetails {
318
348
  /**
319
349
  * Contact's country in [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
320
350
  * format.
351
+ * @format COUNTRY
321
352
  */
322
353
  countryCode?: string | null;
323
354
  }
@@ -327,7 +358,10 @@ export interface Address extends AddressStreetOneOf {
327
358
  streetAddress?: StreetAddress;
328
359
  /** Main address line, usually street and number, as free text. */
329
360
  addressLine?: string | null;
330
- /** Country code. */
361
+ /**
362
+ * Country code.
363
+ * @format COUNTRY
364
+ */
331
365
  country?: string | null;
332
366
  /** Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */
333
367
  subdivision?: string | null;
@@ -376,7 +410,10 @@ export interface Subdivision {
376
410
  name?: string;
377
411
  }
378
412
  export interface CustomFormField {
379
- /** ID of the form field as defined in the form. */
413
+ /**
414
+ * ID of the form field as defined in the form.
415
+ * @format GUID
416
+ */
380
417
  id?: string;
381
418
  /** Value that was submitted for this field. */
382
419
  value?: string | null;
@@ -404,16 +441,16 @@ export declare enum BookingStatus {
404
441
  CREATED = "CREATED",
405
442
  /**
406
443
  * The merchant has confirmed the booking and it appears in the
407
- * business calendar. Merchants can set up their services
444
+ * business calendar. Merchants can set up their *services*
408
445
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/setup) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/introduction))
409
446
  * to automatically confirm all `PENDING` bookings.
410
447
  */
411
448
  CONFIRMED = "CONFIRMED",
412
449
  /**
413
450
  * The customer has canceled the booking. Depending on the relevant service's
414
- * policy snapshot
451
+ * _policy snapshot_
415
452
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/booking-policy-snapshots/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/policies/booking-policy-snapshots/introduction))
416
- * they may have to pay a cancellation fee
453
+ * they may have to pay a _cancellation fee_
417
454
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/booking-fees/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/pricing/booking-fees/introduction)).
418
455
  */
419
456
  CANCELED = "CANCELED",
@@ -480,6 +517,7 @@ export interface BookingSource {
480
517
  actor?: Actor;
481
518
  /**
482
519
  * Wix site ID of the application that created the booking.
520
+ * @format GUID
483
521
  * @readonly
484
522
  */
485
523
  appDefId?: string | null;
@@ -510,26 +548,53 @@ export interface ParticipantNotification {
510
548
  message?: string | null;
511
549
  }
512
550
  export interface CommonIdentificationData extends CommonIdentificationDataIdOneOf {
513
- /** ID of a site visitor that has not logged in to the site. */
551
+ /**
552
+ * ID of a site visitor that has not logged in to the site.
553
+ * @format GUID
554
+ */
514
555
  anonymousVisitorId?: string;
515
- /** ID of a site visitor that has logged in to the site. */
556
+ /**
557
+ * ID of a site visitor that has logged in to the site.
558
+ * @format GUID
559
+ */
516
560
  memberId?: string;
517
- /** ID of a Wix user (site owner, contributor, etc.). */
561
+ /**
562
+ * ID of a Wix user (site owner, contributor, etc.).
563
+ * @format GUID
564
+ */
518
565
  wixUserId?: string;
519
- /** ID of an app. */
566
+ /**
567
+ * ID of an app.
568
+ * @format GUID
569
+ */
520
570
  appId?: string;
521
- /** ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system. */
571
+ /**
572
+ * ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system.
573
+ * @format GUID
574
+ */
522
575
  contactId?: string | null;
523
576
  }
524
577
  /** @oneof */
525
578
  export interface CommonIdentificationDataIdOneOf {
526
- /** ID of a site visitor that has not logged in to the site. */
579
+ /**
580
+ * ID of a site visitor that has not logged in to the site.
581
+ * @format GUID
582
+ */
527
583
  anonymousVisitorId?: string;
528
- /** ID of a site visitor that has logged in to the site. */
584
+ /**
585
+ * ID of a site visitor that has logged in to the site.
586
+ * @format GUID
587
+ */
529
588
  memberId?: string;
530
- /** ID of a Wix user (site owner, contributor, etc.). */
589
+ /**
590
+ * ID of a Wix user (site owner, contributor, etc.).
591
+ * @format GUID
592
+ */
531
593
  wixUserId?: string;
532
- /** ID of an app. */
594
+ /**
595
+ * ID of an app.
596
+ * @format GUID
597
+ */
533
598
  appId?: string;
534
599
  }
535
600
  export declare enum IdentificationDataIdentityType {
@@ -544,7 +609,7 @@ export interface FlowControlSettings {
544
609
  skipAvailabilityValidation?: boolean;
545
610
  /**
546
611
  * Whether the booking's `status` is automatically updated to `CONFIRMED` when
547
- * the customer completes the eCommerce checkout
612
+ * the customer completes the *eCommerce checkout*
548
613
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/ecom/checkout/setup) | [REST](https://dev.wix.com/docs/rest/business-solutions/e-commerce/checkout/introduction)),
549
614
  * regardless of whether the relevant service requires manual business confirmation.
550
615
  */
@@ -573,16 +638,24 @@ export interface ExtendedFields {
573
638
  namespaces?: Record<string, Record<string, any>>;
574
639
  }
575
640
  export interface ParticipantChoices {
576
- /** Information about the booked service choices. Includes the number of participants. */
641
+ /**
642
+ * Information about the booked service choices. Includes the number of participants.
643
+ * @minSize 1
644
+ * @maxSize 10
645
+ */
577
646
  serviceChoices?: ServiceChoices[];
578
647
  }
579
648
  export interface ServiceChoices {
580
649
  /**
581
- * Number of participants for this variant
650
+ * Number of participants for this _variant_
582
651
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/service-options-and-variants/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction)).
652
+ * @min 1
583
653
  */
584
654
  numberOfParticipants?: number | null;
585
- /** Service choices for these participants. */
655
+ /**
656
+ * Service choices for these participants.
657
+ * @maxSize 5
658
+ */
586
659
  choices?: ServiceChoice[];
587
660
  }
588
661
  export interface ServiceChoice extends ServiceChoiceChoiceOneOf {
@@ -598,6 +671,7 @@ export interface ServiceChoice extends ServiceChoiceChoiceOneOf {
598
671
  * ID of the corresponding option for the choice. For example, the choice `child`
599
672
  * could correspond to the option `ageGroup`. In this case, `optionId` is the ID
600
673
  * for the `ageGroup` option.
674
+ * @format GUID
601
675
  */
602
676
  optionId?: string;
603
677
  }
@@ -616,17 +690,21 @@ export interface Duration {
616
690
  /**
617
691
  * Duration of the service in minutes.
618
692
  * Min: 1 minute, Max: 30 days, 23 hours, and 59 minutes
693
+ * @min 1
694
+ * @max 44639
619
695
  */
620
696
  minutes?: number;
621
697
  /**
622
698
  * Name of the duration option.
623
699
  * Defaults to the formatted duration e.g. "1 hour, 30 minutes".
700
+ * @maxLength 255
624
701
  */
625
702
  name?: string | null;
626
703
  }
627
704
  export interface MultiServiceBookingInfo {
628
705
  /**
629
706
  * Multi-service booking ID.
707
+ * @format GUID
630
708
  * @readonly
631
709
  */
632
710
  id?: string | null;
@@ -645,15 +723,25 @@ export interface BookingFormFilled {
645
723
  /**
646
724
  * ID of the [form](https://dev.wix.com/docs/rest/crm/forms/form-schemas/form-object)
647
725
  * that was filled.
726
+ * @format GUID
648
727
  */
649
728
  formId?: string | null;
650
729
  }
651
730
  export interface SetBookingFormAndSubmissionIdRequest {
652
- /** ID of the booking to set `formId` and `submissionId` for. */
731
+ /**
732
+ * ID of the booking to set `formId` and `submissionId` for.
733
+ * @format GUID
734
+ */
653
735
  bookingId?: string | null;
654
- /** ID of the form to set on the booking. */
736
+ /**
737
+ * ID of the form to set on the booking.
738
+ * @format GUID
739
+ */
655
740
  formId?: string | null;
656
- /** ID of the form submission to set on the booking. */
741
+ /**
742
+ * ID of the form submission to set on the booking.
743
+ * @format GUID
744
+ */
657
745
  submissionId?: string | null;
658
746
  }
659
747
  export interface SetBookingFormAndSubmissionIdResponse {
@@ -733,9 +821,15 @@ export interface ActionEvent {
733
821
  bodyAsJson?: string;
734
822
  }
735
823
  export interface MessageEnvelope {
736
- /** App instance ID. */
824
+ /**
825
+ * App instance ID.
826
+ * @format GUID
827
+ */
737
828
  instanceId?: string | null;
738
- /** Event type. */
829
+ /**
830
+ * Event type.
831
+ * @maxLength 150
832
+ */
739
833
  eventType?: string;
740
834
  /** The identification type and identity data. */
741
835
  identity?: WebhooksIdentificationData;
@@ -743,26 +837,50 @@ export interface MessageEnvelope {
743
837
  data?: string;
744
838
  }
745
839
  export interface WebhooksIdentificationData extends WebhooksIdentificationDataIdOneOf {
746
- /** ID of a site visitor that has not logged in to the site. */
840
+ /**
841
+ * ID of a site visitor that has not logged in to the site.
842
+ * @format GUID
843
+ */
747
844
  anonymousVisitorId?: string;
748
- /** ID of a site visitor that has logged in to the site. */
845
+ /**
846
+ * ID of a site visitor that has logged in to the site.
847
+ * @format GUID
848
+ */
749
849
  memberId?: string;
750
- /** ID of a Wix user (site owner, contributor, etc.). */
850
+ /**
851
+ * ID of a Wix user (site owner, contributor, etc.).
852
+ * @format GUID
853
+ */
751
854
  wixUserId?: string;
752
- /** ID of an app. */
855
+ /**
856
+ * ID of an app.
857
+ * @format GUID
858
+ */
753
859
  appId?: string;
754
860
  /** @readonly */
755
861
  identityType?: WebhookIdentityType;
756
862
  }
757
863
  /** @oneof */
758
864
  export interface WebhooksIdentificationDataIdOneOf {
759
- /** ID of a site visitor that has not logged in to the site. */
865
+ /**
866
+ * ID of a site visitor that has not logged in to the site.
867
+ * @format GUID
868
+ */
760
869
  anonymousVisitorId?: string;
761
- /** ID of a site visitor that has logged in to the site. */
870
+ /**
871
+ * ID of a site visitor that has logged in to the site.
872
+ * @format GUID
873
+ */
762
874
  memberId?: string;
763
- /** ID of a Wix user (site owner, contributor, etc.). */
875
+ /**
876
+ * ID of a Wix user (site owner, contributor, etc.).
877
+ * @format GUID
878
+ */
764
879
  wixUserId?: string;
765
- /** ID of an app. */
880
+ /**
881
+ * ID of an app.
882
+ * @format GUID
883
+ */
766
884
  appId?: string;
767
885
  }
768
886
  export declare enum WebhookIdentityType {
@@ -772,599 +890,449 @@ export declare enum WebhookIdentityType {
772
890
  WIX_USER = "WIX_USER",
773
891
  APP = "APP"
774
892
  }
775
- export interface CreateMultiServiceBookingRequest {
776
- /** Single-service bookings to combine in a multi-service booking. */
777
- bookings: Booking[];
893
+ export interface V2CreateBookingRequest extends V2CreateBookingRequestBookableItemOneOf, V2CreateBookingRequestParticipantsInfoOneOf {
778
894
  /**
779
- * Information about whether to notify the customer and
780
- * the message to send.
895
+ * Information about the slot to create a booking for.
896
+ * If you set `slot.location.locationType` to `CUSTOM`, the created slot's
897
+ * location is set to `slot.location.formattedAddress` when provided.
898
+ * Otherwise it's set to `contactDetails.fullAddress.formattedAddress`.
781
899
  */
782
- participantNotification?: ParticipantNotification;
900
+ slot?: Slot;
901
+ /** Information about the schedule to create a booking for. */
902
+ schedule?: BookedSchedule;
903
+ /** Contact details of the customer booking the service. */
904
+ contactDetails?: ContactDetails;
783
905
  /**
784
- * Whether to send an SMS reminder to the customer 24 hours before the
785
- * session starts. The phone number is taken from `contactDetails.phone`.
786
- *
787
- * Default: `true`
906
+ * Booking status.
907
+ * One of:
908
+ * - `"CREATED"` - The booking was created.
909
+ * - `"UPDATED"` - The booking was updated.
910
+ * - `"CONFIRMED"` - The booking has been confirmed and appears on the bookings calendar.
911
+ * Booking can be manually confirmed using the Set As Confirmed endpoint.
912
+ * Booking can be automatically confirmed when the following requirements are met:
913
+ * + The service is configured as automatically confirmed.
914
+ * + Invoking eCommerce checkout API and an order has been created.
915
+ * - `"CANCELED"` - The booking has been canceled and synced to bookings calendar.
916
+ * The booking can be canceled using cancel API.
917
+ * - `"PENDING"` - The booking waiting to be confirmed or declined buy the owner and is synced to bookings calendar.
918
+ * Bookings can be manually set as pending using setAsPending API, requires manage booking status permissions.
919
+ * Booking can be automatically set as pending when the following requirements are met:
920
+ * + The Service is configured as manually confirmed.
921
+ * + Invoking the eCommerce checkout API and an order has been created.
922
+ * - `"WAITING_LIST"` - The booking is pending on a waiting list.
923
+ * Booking can be created with this status when invoking waiting list join API.
924
+ * - `"DECLINED"` - The booking was declined by the owner and synced to bookings calendar.
925
+ * Booking can be manually declined using decline API and requires manage booking permissions.
926
+ * Booking can be automatically declined when the following requirements are met:
927
+ * + Invoking eCommerce checkout API and the order declined event has been sent.
928
+ * + Invoking eCommerce checkout API and order approved event has been sent, but the booking is offline and the booking causes a double booking.
788
929
  */
789
- sendSmsReminder?: boolean | null;
930
+ status?: BookingStatus;
790
931
  /**
791
- * Whether to ignore specific standard procedures of the Wix Bookings flow.
792
- * For example, whether to check availability before updating the status.
932
+ * Additional custom fields of the booking form. The customer must provide
933
+ * information for each field when booking the service. For example, that they
934
+ * bring their own towels or whether they use a wheelchair.
935
+ *
936
+ * Max: 100 fields
937
+ * @maxSize 100
793
938
  */
794
- flowControlSettings?: CreateBookingFlowControlSettings;
795
- /** Whether to return the created single-service bookings. */
796
- returnFullEntity?: boolean;
797
- /** Multi service booking type. */
798
- multiServiceBookingType?: MultiServiceBookingType;
799
- }
800
- export interface CreateBookingFlowControlSettings {
939
+ additionalFields?: CustomFormField[];
801
940
  /**
802
- * Whether the availability is checked before creating the booking.
941
+ * Total number of participants. Available only when the service doesn't have
942
+ * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).
803
943
  *
804
- * When passing `false`, a booking is only created when the slot or schedule is available.
805
- * Default: `false`.
944
+ * Max: `20`
806
945
  */
807
- skipAvailabilityValidation?: boolean;
946
+ numberOfParticipants?: number | null;
808
947
  /**
809
- * Whether `PENDING` bookings are automatically set to `CONFIRMED` for
810
- * services that normally require the owner's manual confirmation.
948
+ * Internal business note. Not visible to the customer.
811
949
  *
812
- * Your app must have the `BOOKINGS.OVERRIDE_AVAILABILITY` permission scope
813
- * when passing `true`.
814
- * Default: `false`.
950
+ * Max: 200 characters
815
951
  */
816
- skipBusinessConfirmation?: boolean;
952
+ internalBusinessNote?: string | null;
817
953
  /**
818
- * Whether customers can pay using a payment method that isn't supported
819
- * for the service, but that's supported for other services.
820
- *
821
- * Your app must have the `BOOKINGS.MANAGE_PAYMENTS` permission scope when passing
822
- * `true`.
823
- * Default: `false`.
954
+ * Payment option the customer intends to use.
955
+ * Must be one of the payment options defined for the service, unless
956
+ * you pass `flowControlSettings.skipSelectedPaymentOptionValidation` as `true`.
824
957
  */
825
- skipSelectedPaymentOptionValidation?: boolean;
826
- }
827
- export interface CreateMultiServiceBookingResponse {
958
+ selectedPaymentOption?: SelectedPaymentOption;
828
959
  /**
829
- * Created multi service booking.
830
- * Contains the booking results in the same order as specified in the request.
960
+ * Identifies the source (platform, actor and app) that created this booking.
961
+ * This property of the booking cannot be changed.
962
+ * The app_def_id and app_name will be resolved automatically.
963
+ * TODO GAP See if we need this - might be able to get this data from the headers?
831
964
  */
832
- multiServiceBooking?: MultiServiceBooking;
833
- }
834
- export interface MultiServiceBooking {
835
- /** Multi-service booking ID. */
836
- id?: string | null;
837
- /** The created bookings that are part of the multi-service booking. */
838
- bookings?: BookingResult[];
839
- }
840
- export interface BookingResult {
841
- /** Booking ID. */
842
- bookingId?: string | null;
843
- /** Booking entity. */
844
- booking?: Booking;
845
- }
846
- export interface RescheduleMultiServiceBookingRequest {
847
- /** ID of the multi service booking to reschedule. */
848
- multiServiceBookingId: string | null;
849
- /** Information about the single-service bookings to reschedule. */
850
- rescheduleBookingsInfo: RescheduleBookingInfo[];
965
+ bookingSource?: BookingSource;
851
966
  /**
852
- * Information about whether to notify the customer and
853
- * the message to send.
967
+ * A user identifier of an external application user that initiated the book request.
968
+ * Allows an external application to later identify its own bookings and correlate to its own internal users
854
969
  */
970
+ externalUserId?: string | null;
971
+ /** Information about a message to send to the customer. */
855
972
  participantNotification?: ParticipantNotification;
856
973
  /**
857
- * Information about whether specific procedures of the standard Wix Bookings
858
- * rescheduling flow are changed. For example, whether the availability of
859
- * the new slot is checked before rescheduling the booking or if you can
860
- * reschedule the booking even though the rescheduling policy doesn't allow it.
974
+ * Whether to send an SMS reminder to the customer 24 hours before the
975
+ * session starts. The phone number is taken from `contactDetails.phone`.
976
+ *
977
+ * Default: `true`.
861
978
  */
862
- flowControlSettings?: RescheduleBookingFlowControlSettings;
863
- /** Whether to return the rescheduled bookings entities. */
864
- returnFullEntity?: boolean;
865
- }
866
- export interface V2Slot {
867
- /** Identifier for the underlying session when the session is a single session or generated from a recurring session. */
868
- sessionId?: string | null;
869
- /** Service identifier. Required. */
870
- serviceId?: string;
871
- /** Schedule identifier. Required. */
872
- scheduleId?: string;
873
- /** The start time of this slot (formatted according to RFC3339). */
874
- startDate?: string | null;
875
- /** The end time of this slot (formatted according to RFC3339). */
876
- endDate?: string | null;
877
- /** The timezone according to which the slot is calculated and presented. */
878
- timezone?: string | null;
979
+ sendSmsReminder?: boolean | null;
879
980
  /**
880
- * The resource required for this slot.
881
- * When populated, the specified resource will be assigned to the slot upon confirmation according to its availability.
882
- * When empty, if `skip_availability_validation` is `false`, a random available resource will be assigned to the slot upon confirmation.
883
- * Otherwise, one of the service resources will be assigned to the slot randomly upon confirmation.
981
+ * Information about whether specific procedures of the standard Wix Bookings
982
+ * creation flow are changed. For example, whether the availability is
983
+ * checked before creating the booking or if additional payment options are
984
+ * accepted.
884
985
  */
885
- resource?: SlotSlotResource;
886
- /** Geographic location of the slot. */
887
- location?: SlotLocation;
986
+ flowControlSettings?: CreateBookingRequestFlowControlSettings;
987
+ }
988
+ /** @oneof */
989
+ export interface V2CreateBookingRequestBookableItemOneOf {
888
990
  /**
889
- * Calendar event ID - not supported.
890
- * If not empty, on all write flows (create/update), it takes priority over `sessionId`.
891
- * So if both `sessionId` and `eventId` are provided, the `sessionId` will be based on the `eventId`.
892
- * Otherwise, if `eventId` is empty on write flow,
991
+ * Information about the slot to create a booking for.
992
+ * If you set `slot.location.locationType` to `CUSTOM`, the created slot's
993
+ * location is set to `slot.location.formattedAddress` when provided.
994
+ * Otherwise it's set to `contactDetails.fullAddress.formattedAddress`.
893
995
  */
894
- eventId?: string | null;
996
+ slot?: Slot;
997
+ /** Information about the schedule to create a booking for. */
998
+ schedule?: BookedSchedule;
895
999
  }
896
- export declare enum LocationLocationType {
897
- /** Undefined location type. */
898
- UNDEFINED = "UNDEFINED",
899
- /** The business address as set in the site’s general settings. */
900
- OWNER_BUSINESS = "OWNER_BUSINESS",
901
- /** The address set when creating the service. */
902
- OWNER_CUSTOM = "OWNER_CUSTOM",
903
- /** The address set for the individual session. */
904
- CUSTOM = "CUSTOM"
1000
+ /** @oneof */
1001
+ export interface V2CreateBookingRequestParticipantsInfoOneOf {
905
1002
  }
906
- export interface SlotSlotResource {
1003
+ export interface Slot {
907
1004
  /**
908
- * Resource ID.
909
- * @readonly
910
- */
911
- id?: string | null;
912
- /** Resource name. */
913
- name?: string | null;
1005
+ * ID for the slot's corresponding session, when the session is either a single session
1006
+ * or a specific session generated from a recurring session.
1007
+ *
1008
+ * Deprecated. Please use `eventId` instead.
1009
+ * @deprecated ID for the slot's corresponding session, when the session is either a single session
1010
+ * or a specific session generated from a recurring session.
1011
+ *
1012
+ * Deprecated. Please use `eventId` instead.
1013
+ * @replacedBy event_id
1014
+ * @targetRemovalDate 2025-09-30
1015
+ */
1016
+ sessionId?: string | null;
1017
+ /** Service ID. */
1018
+ serviceId?: string;
1019
+ /** Schedule ID. */
1020
+ scheduleId?: string;
1021
+ /**
1022
+ * The start time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)
1023
+ * format.
1024
+ *
1025
+ * If `timezone` is specified,
1026
+ * dates are based on the local date/time. This means that the timezone offset
1027
+ * in the `start_date` is ignored.
1028
+ */
1029
+ startDate?: string | null;
1030
+ /**
1031
+ * The end time of this slot in
1032
+ * [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339) format.
1033
+ *
1034
+ * If `timezone` is specified,
1035
+ * dates are based on the local date/time. This means that the timezone offset
1036
+ * in the `end_date` is ignored.
1037
+ */
1038
+ endDate?: string | null;
1039
+ /**
1040
+ * The timezone for which slot availability is to be calculated.
1041
+ *
1042
+ * Learn more about [handling Daylight Savings Time (DST) for local time zones](https://dev.wix.com/api/rest/wix-bookings/availability-calendar/query-availability#wix-bookings_availability-calendar_query-availability_handling-daylight-savings-time-dst-for-local-time-zones)
1043
+ * when calculating availability.
1044
+ */
1045
+ timezone?: string | null;
1046
+ /**
1047
+ * The resource required for this slot. Currently, the only supported resource
1048
+ * is the relevant staff member for the slot.
1049
+ */
1050
+ resource?: SlotResource;
1051
+ /** Geographic location of the slot. */
1052
+ location?: Location;
1053
+ /**
1054
+ * ID for the slot's corresponding event, when the event is either a single event
1055
+ * or a specific event generated from a recurring event.
1056
+ * @minLength 36
1057
+ * @maxLength 250
1058
+ */
1059
+ eventId?: string | null;
914
1060
  }
915
- export interface SlotLocation {
916
- /** Business Location ID. Present if the location is a business location. */
1061
+ export interface SlotResource {
1062
+ /**
1063
+ * Resource ID.
1064
+ * @format GUID
1065
+ * @readonly
1066
+ */
917
1067
  id?: string | null;
918
- /** Location name. */
1068
+ /**
1069
+ * Resource name. Read only.
1070
+ * @maxLength 1200
1071
+ */
919
1072
  name?: string | null;
920
- /** A string containing the full address of this location. */
921
- formattedAddress?: string | null;
922
- /** Location type. */
923
- locationType?: LocationLocationType;
924
1073
  }
925
- export interface RescheduleBookingInfo extends RescheduleBookingInfoParticipantsInfoOneOf {
1074
+ export interface CreateBookingRequestFlowControlSettings {
926
1075
  /**
927
- * Total number of participants. Available only for services with variants.
928
- * Specify when all participants book the same variant.
1076
+ * Whether the availability is checked before creating the booking. When
1077
+ * passing `false` a booking is only created when the slot or schedule is
1078
+ * available. Your app must have the `BOOKINGS.OVERRIDE_AVAILABILITY`
1079
+ * permission scope when passing `true`.
1080
+ *
1081
+ * Default: `false`.
929
1082
  */
930
- totalParticipants?: number;
1083
+ skipAvailabilityValidation?: boolean;
931
1084
  /**
932
- * Information about the service choices to book. Available only for services with
933
- * variants.
934
- * Specify when not all participants book the same variant.
1085
+ * Whether `PENDING` bookings are automatically set to `CONFIRMED` for
1086
+ * services that normally require the owner's manual confirmation. Your
1087
+ * app must have the `BOOKINGS.OVERRIDE_AVAILABILITY` permission scope
1088
+ * when passing `true`.
1089
+ *
1090
+ * Default: `false`.
935
1091
  */
936
- participantsChoices?: ParticipantChoices;
937
- /** ID of the booking to reschedule. */
938
- bookingId?: string | null;
939
- /** Information about the new slot. */
940
- slot?: V2Slot;
1092
+ skipBusinessConfirmation?: boolean;
1093
+ /**
1094
+ * Whether customers can pay using a payment method that isn't supported
1095
+ * for the service, but that's supported for other services. Your app
1096
+ * must have the `BOOKINGS.MANAGE_PAYMENTS` permission scope when passing
1097
+ * `true`.
1098
+ *
1099
+ * Default: `false`.
1100
+ */
1101
+ skipSelectedPaymentOptionValidation?: boolean;
1102
+ }
1103
+ export interface V2CreateBookingResponse {
1104
+ /** Created booking. */
1105
+ booking?: Booking;
1106
+ }
1107
+ export interface V2CancelBookingRequest {
1108
+ /**
1109
+ * ID of the booking to cancel.
1110
+ * @format GUID
1111
+ */
1112
+ bookingId?: string;
1113
+ /**
1114
+ * Information about whether to notify the customer about the cancellation and
1115
+ * the message to send.
1116
+ */
1117
+ participantNotification?: ParticipantNotification;
941
1118
  /**
942
1119
  * Revision number, which increments by 1 each time the booking is updated.
943
- * To prevent conflicting changes, the current revision must be specified when
944
- * managing the booking.
1120
+ * To prevent conflicting changes,
1121
+ * the current revision must be passed when managing the booking.
945
1122
  */
946
1123
  revision?: string | null;
947
1124
  }
948
- /** @oneof */
949
- export interface RescheduleBookingInfoParticipantsInfoOneOf {
1125
+ export interface CancelBookingRequestFlowControlSettings {
950
1126
  /**
951
- * Total number of participants. Available only for services with variants.
952
- * Specify when all participants book the same variant.
1127
+ * Whether the cancellation policy applies when canceling the booking. When
1128
+ * passing `false` you can only cancel a booking if the cancellation policy
1129
+ * allows it. Your app must have the `BOOKINGS.IGNORE_BOOKING_POLICY `
1130
+ * permission scope when passing `true`.
1131
+ *
1132
+ * Default: `false`.
953
1133
  */
954
- totalParticipants?: number;
1134
+ ignoreCancellationPolicy?: boolean;
955
1135
  /**
956
- * Information about the service choices to book. Available only for services with
957
- * variants.
958
- * Specify when not all participants book the same variant.
1136
+ * Whether to issue a refund when canceling the booking.
1137
+ * The refund will be issued only if the booking is refundable.
1138
+ * Currently, booking is considered refundable when it was paid by membership.
1139
+ * If passing `true`, the booking flow control settings will be set with refund,
1140
+ * otherwise, either if `false` is passed or the field remains empty,
1141
+ * the booking flow control settings will be set with no refund.
1142
+ *
1143
+ * Default: `false`.
959
1144
  */
960
- participantsChoices?: ParticipantChoices;
1145
+ withRefund?: boolean | null;
961
1146
  }
962
- export interface RescheduleBookingFlowControlSettings {
1147
+ export interface V2CancelBookingResponse {
1148
+ /** Canceled booking. */
1149
+ booking?: Booking;
1150
+ }
1151
+ export interface V2RescheduleBookingRequest extends V2RescheduleBookingRequestParticipantsInfoOneOf {
1152
+ /**
1153
+ * Id of the booking to reschedule.
1154
+ * @format GUID
1155
+ */
1156
+ bookingId?: string;
1157
+ /** Information about the new slot. */
1158
+ slot?: Slot;
1159
+ /**
1160
+ * Revision number, which increments by 1 each time the booking is updated.
1161
+ * To prevent conflicting changes, the current revision must be passed when
1162
+ * managing the booking.
1163
+ */
1164
+ revision?: string | null;
1165
+ /**
1166
+ * Information about whether to notify the customer about the rescheduling and
1167
+ * the message to send.
1168
+ */
1169
+ participantNotification?: ParticipantNotification;
1170
+ }
1171
+ /** @oneof */
1172
+ export interface V2RescheduleBookingRequestParticipantsInfoOneOf {
1173
+ }
1174
+ export interface RescheduleBookingRequestFlowControlSettings {
963
1175
  /**
964
1176
  * Whether the rescheduling policy applies when rescheduling the booking.
1177
+ * When passing `false` you can only cancel a booking if the rescheduling
1178
+ * policy allows it. Your app must have the `BOOKINGS.IGNORE_BOOKING_POLICY `
1179
+ * permission scope when passing `true`.
965
1180
  *
966
- * When passing `false`, you can only cancel a booking if the rescheduling
967
- * policy allows it.
968
1181
  * Default: `false`.
969
1182
  */
970
1183
  ignoreReschedulePolicy?: boolean;
971
1184
  /**
972
1185
  * Whether the availability is checked before rescheduling the booking.
1186
+ * When passing `false` a booking is only created when the slot or
1187
+ * schedule is available. Your app must have the `BOOKINGS.OVERRIDE_AVAILABILITY`
1188
+ * permission scope when passing `true`.
973
1189
  *
974
- * When passing `false`, a booking is only created when the slot or
975
- * schedule is available.
976
1190
  * Default: `false`.
977
1191
  */
978
1192
  skipAvailabilityValidation?: boolean;
979
1193
  /**
980
1194
  * Whether the rescheduled booking's status is automatically set to
981
1195
  * `CONFIRMED` for services that normally require the owner's manual
982
- * confirmation.
1196
+ * confirmation. Your app must have the `BOOKINGS.OVERRIDE_AVAILABILITY`
1197
+ * permission scope when passing `true`.
1198
+ *
983
1199
  * Default: `false`.
984
1200
  */
985
1201
  skipBusinessConfirmation?: boolean;
986
1202
  }
987
- export interface RescheduleMultiServiceBookingResponse {
988
- /** Rescheduled multi-service booking. */
989
- multiServiceBooking?: MultiServiceBooking;
1203
+ export interface V2RescheduleBookingResponse {
1204
+ /** Rescheduled booking. */
1205
+ booking?: Booking;
990
1206
  }
991
- export interface BookingRescheduled extends BookingRescheduledPreviousParticipantsInfoOneOf {
1207
+ export interface V2ConfirmBookingRequest {
992
1208
  /**
993
- * The previous total number of participants. Available only when the booking includes
994
- * a single service variant.
1209
+ * ID of the booking to confirm.
1210
+ * @format GUID
995
1211
  */
996
- previousTotalParticipants?: number;
1212
+ bookingId?: string;
997
1213
  /**
998
- * Information about the previous booked service choices and participants.
999
- * Available only when the booking includes multiple service variants.
1214
+ * Revision number, which increments by 1 each time the booking is updated.
1215
+ * To prevent conflicting changes, the current revision must be passed when
1216
+ * managing the booking.
1217
+ */
1218
+ revision?: string | null;
1219
+ /**
1220
+ * Information about whether to notify the customer about the confirmation and
1221
+ * the message to send.
1000
1222
  */
1001
- previousParticipantsChoices?: ParticipantChoices;
1002
- /** The rescheduled booking object. */
1003
- booking?: Booking;
1004
- /** Information about whether to notify the customer about the rescheduling and the message to send. */
1005
1223
  participantNotification?: ParticipantNotification;
1224
+ }
1225
+ export interface V2ConfirmBookingResponse {
1226
+ booking?: Booking;
1227
+ }
1228
+ export interface V2DeclineBookingRequest {
1006
1229
  /**
1007
- * Information about whether specific procedures of the standard Wix Bookings
1008
- * rescheduling flow are changed. For example, whether the availability of
1009
- * the new slot is checked before rescheduling the booking or if you can
1010
- * reschedule the booking even though the rescheduling policy doesn't allow it.
1230
+ * ID of the booking to decline.
1231
+ * @format GUID
1011
1232
  */
1012
- flowControlSettings?: RescheduleBookingFlowControlSettings;
1013
- /** ID of the rescheduling initiator. */
1014
- initiatedBy?: IdentificationData;
1015
- /** The previous status of the booking. */
1016
- previousStatus?: BookingStatus;
1017
- /** An object describing the previous slot or schedule of the booking. */
1018
- previousBookedEntity?: BookedEntity;
1233
+ bookingId?: string;
1019
1234
  /**
1020
- * The previous start date of the booking.
1021
- * For a slot, this is the start date of the slot.
1022
- * For a schedule, this is the start date of the first session.
1235
+ * Revision number, which increments by 1 each time the booking is updated.
1236
+ * To prevent conflicting changes, the current revision must be passed when
1237
+ * managing the booking.
1023
1238
  */
1024
- previousStartDate?: Date | null;
1239
+ revision?: string | null;
1025
1240
  /**
1026
- * The previous end date of the booking.
1027
- * For a slot, this is the end date of the slot.
1028
- * For a schedule, this is the end date of the last session.
1241
+ * Information about whether to notify the customer about the decline and
1242
+ * the message to send.
1029
1243
  */
1030
- previousEndDate?: Date | null;
1244
+ participantNotification?: ParticipantNotification;
1031
1245
  }
1032
- /** @oneof */
1033
- export interface BookingRescheduledPreviousParticipantsInfoOneOf {
1246
+ export interface V2DeclineBookingResponse {
1247
+ /** Declined booking. */
1248
+ booking?: Booking;
1249
+ }
1250
+ export interface V2UpdateNumberOfParticipantsRequest extends V2UpdateNumberOfParticipantsRequestParticipantsInfoOneOf {
1034
1251
  /**
1035
- * The previous total number of participants. Available only when the booking includes
1036
- * a single service variant.
1252
+ * ID of the booking to update the number of participants for.
1253
+ * @format GUID
1037
1254
  */
1038
- previousTotalParticipants?: number;
1039
- /**
1040
- * Information about the previous booked service choices and participants.
1041
- * Available only when the booking includes multiple service variants.
1042
- */
1043
- previousParticipantsChoices?: ParticipantChoices;
1044
- }
1045
- export interface IdentificationData extends IdentificationDataIdOneOf {
1046
- /** ID of a site visitor that has not logged in to the site. */
1047
- anonymousVisitorId?: string;
1048
- /** ID of a site visitor that has logged in to the site. */
1049
- memberId?: string;
1050
- /** ID of a Wix user (site owner, contributor, etc.). */
1051
- wixUserId?: string;
1052
- /** ID of an app. */
1053
- appId?: string;
1054
- /**
1055
- * ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system.
1056
- * @readonly
1057
- */
1058
- contactId?: string | null;
1059
- }
1060
- /** @oneof */
1061
- export interface IdentificationDataIdOneOf {
1062
- /** ID of a site visitor that has not logged in to the site. */
1063
- anonymousVisitorId?: string;
1064
- /** ID of a site visitor that has logged in to the site. */
1065
- memberId?: string;
1066
- /** ID of a Wix user (site owner, contributor, etc.). */
1067
- wixUserId?: string;
1068
- /** ID of an app. */
1069
- appId?: string;
1070
- }
1071
- export declare enum IdentityType {
1072
- UNKNOWN = "UNKNOWN",
1073
- ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
1074
- MEMBER = "MEMBER",
1075
- WIX_USER = "WIX_USER",
1076
- APP = "APP"
1077
- }
1078
- export interface GetMultiServiceBookingAvailabilityRequest {
1079
- /** ID of the multi-service booking to retrieve. */
1080
- multiServiceBookingId: string | null;
1081
- }
1082
- export interface GetMultiServiceBookingAvailabilityResponse {
1083
- /** Whether all contained single-service bookings are bookable. */
1084
- bookable?: boolean;
1085
- /** Total number of spots. */
1086
- totalCapacity?: number | null;
1087
- /** Number of open spots. */
1088
- remainingCapacity?: number | null;
1089
- /** Indicators for policy violations of the multi service booking. */
1090
- policyViolations?: BookingPolicyViolations;
1091
- /** Multi-service booking policy settings. */
1092
- policySettings?: BookingPolicySettings;
1093
- /** Info of the bookings this availability was calculated for. */
1094
- multiServiceBookingInfo?: GetMultiServiceBookingAvailabilityResponseBookingInfo[];
1095
- }
1096
- export interface BookingPolicyViolations {
1097
- /** Booking policy violation: Too early to book this slot. */
1098
- tooEarlyToBook?: boolean | null;
1099
- /** Booking policy violation: Too late to book this slot. */
1100
- tooLateToBook?: boolean | null;
1101
- /** Booking policy violation: Online booking is disabled for this slot. */
1102
- bookOnlineDisabled?: boolean | null;
1103
- }
1104
- export interface BookingPolicySettings {
1105
- /** Booking policy settings for a given slot or schedule. */
1106
- maxParticipantsPerBooking?: number | null;
1107
- }
1108
- export interface GetMultiServiceBookingAvailabilityResponseBookingInfo {
1109
- /** Booking ID. */
1110
- bookingId?: string | null;
1111
- }
1112
- export interface CancelMultiServiceBookingRequest {
1113
- /** ID of the multi-service booking to cancel. */
1114
- multiServiceBookingId: string | null;
1115
- /**
1116
- * Information about whether to notify the customer and
1117
- * the message to send.
1118
- */
1119
- participantNotification?: ParticipantNotification;
1120
- /**
1121
- * Information about whether specific procedures of the standard Wix Bookings
1122
- * cancellation flow are changed. For example, whether you can cancel
1123
- * a booking even though the cancellation policy doesn't allow it or whether
1124
- * to issue a refund.
1125
- */
1126
- flowControlSettings?: CancelBookingFlowControlSettings;
1127
- /** Whether to return the canceled single-service bookings. */
1128
- returnFullEntity?: boolean;
1129
- }
1130
- export interface CancelBookingFlowControlSettings {
1131
- /**
1132
- * Whether the cancellation policy applies when canceling the booking.
1133
- *
1134
- * When passing `false`, you can only cancel a booking if the cancellation policy allows it.
1135
- * Default: `false`.
1136
- */
1137
- ignoreCancellationPolicy?: boolean | null;
1138
- /**
1139
- * Whether to issue a refund when canceling the booking.
1140
- *
1141
- * The refund will be issued only if the booking is refundable.
1142
- * Currently, a booking is considered refundable when it was paid by membership.
1143
- * If you specify `true`, the booking flow control settings is set to include a refund.
1144
- * If `false` is specified or the field remains empty,
1145
- * the booking flow control settings are set without refund.
1146
- *
1147
- * Default: `false`.
1148
- */
1149
- withRefund?: boolean | null;
1150
- }
1151
- export interface CancelMultiServiceBookingResponse {
1152
- /** Canceled multi-service booking. */
1153
- multiServiceBooking?: MultiServiceBooking;
1154
- }
1155
- export interface BookingCanceled {
1156
- /** The canceled booking object. */
1157
- booking?: Booking;
1158
- /** Information about whether to notify the customer about the cancellation and the message to send. */
1159
- participantNotification?: ParticipantNotification;
1160
- /**
1161
- * Information about whether specific procedures of the standard Wix Bookings
1162
- * cancellation flow are changed. For example, whether you can cancel
1163
- * a booking even though the cancellation policy doesn't allow it or whether
1164
- * to issue a refund.
1165
- */
1166
- flowControlSettings?: CancelBookingFlowControlSettings;
1167
- /** ID of the cancellation initiator. */
1168
- initiatedBy?: IdentificationData;
1169
- /** The previous status of the booking. */
1170
- previousStatus?: BookingStatus;
1171
- }
1172
- export interface MarkMultiServiceBookingAsPendingRequest {
1173
- /** ID of the multi-service booking to mark as `PENDING`. */
1174
- multiServiceBookingId: string | null;
1175
- /** Information about the single-service bookings to mark as `PENDING`. */
1176
- markAsPendingBookingsInfo?: BookingInfo[];
1177
- /**
1178
- * Information about whether to notify the customer and
1179
- * the message to send.
1180
- */
1181
- participantNotification?: ParticipantNotification;
1182
- /**
1183
- * Whether to send an SMS reminder to the customer 24 hours before the
1184
- * session starts. The phone number is taken from `contactDetails.phone`.
1185
- *
1186
- * Default: `true`
1187
- */
1188
- sendSmsReminder?: boolean | null;
1189
- /** Whether this booking has a conflict with at least 1 other confirmed booking. */
1190
- doubleBooked?: boolean | null;
1191
- /** Whether to return the single-service bookings that were marked as `PENDING`. */
1192
- returnFullEntity?: boolean;
1193
- /**
1194
- * Information about whether specific procedures of the standard Wix Bookings
1195
- * creation flow are changed. For example, whether the availability is checked
1196
- * before updating the booking.
1197
- */
1198
- flowControlSettings?: MarkBookingAsPendingFlowControlSettings;
1199
- }
1200
- export interface BookingInfo {
1201
- /** ID of the single-service booking. */
1202
- bookingId?: string | null;
1255
+ bookingId?: string;
1256
+ /** Updated number of participants. */
1257
+ numberOfParticipants?: number | null;
1203
1258
  /**
1204
1259
  * Revision number, which increments by 1 each time the booking is updated.
1205
- * To prevent conflicting changes, the current revision must be specified when
1260
+ * To prevent conflicting changes, the current revision must be passed when
1206
1261
  * managing the booking.
1207
1262
  */
1208
1263
  revision?: string | null;
1209
- /** Payment status to set for the single-service booking. */
1210
- paymentStatus?: PaymentStatus;
1211
1264
  }
1212
- export interface MarkBookingAsPendingFlowControlSettings {
1213
- /**
1214
- * Whether to check for double bookings before updating the booking as pending.
1215
- *
1216
- * When passing `false`, a booking is only updated with status `PENDING`.
1217
- * Default: `false`.
1218
- */
1219
- checkAvailabilityValidation?: boolean;
1220
- /**
1221
- * Whether to validate that the booking to be marked as pending has a `booking.slot.serviceId`
1222
- * of a pending approval service.
1223
- *
1224
- * Default: `false`.
1225
- */
1226
- skipPendingApprovalServiceValidation?: boolean;
1265
+ /** @oneof */
1266
+ export interface V2UpdateNumberOfParticipantsRequestParticipantsInfoOneOf {
1227
1267
  }
1228
- export interface MarkMultiServiceBookingAsPendingResponse {
1229
- /** Updated multi-service booking. */
1230
- multiServiceBooking?: MultiServiceBooking;
1268
+ export interface V2UpdateNumberOfParticipantsResponse {
1269
+ /** Booking with updated number of participants. */
1270
+ booking?: Booking;
1231
1271
  }
1232
- export interface ConfirmMultiServiceBookingRequest {
1233
- /** ID of the multi-service booking to confirm its related bookings. */
1234
- multiServiceBookingId: string | null;
1235
- /** Information about the single-service bookings to confirm. */
1236
- confirmBookingsInfo?: BookingInfo[];
1237
- /**
1238
- * Information about whether to notify the customer and
1239
- * the message to send.
1240
- */
1241
- participantNotification?: ParticipantNotification;
1272
+ export interface ConfirmOrDeclineBookingRequest {
1242
1273
  /**
1243
- * Whether to send an SMS reminder to the customer 24 hours before the
1244
- * session starts. The phone number is taken from `contactDetails.phone`.
1245
- *
1246
- * Default: `true`
1274
+ * ID of the booking to confirm or decline.
1275
+ * @format GUID
1247
1276
  */
1248
- sendSmsReminder?: boolean | null;
1249
- /** Whether this booking has a conflict with at least 1 other confirmed booking. */
1250
- doubleBooked?: boolean | null;
1251
- /** Whether to return the confirmed single-service bookings. */
1252
- returnFullEntity?: boolean;
1253
- /**
1254
- * Information about whether specific procedures of the standard Wix Bookings
1255
- * confirmation flow are changed. For example, whether the availability is
1256
- * checked before confirming the booking.
1257
- */
1258
- flowControlSettings?: ConfirmBookingFlowControlSettings;
1259
- }
1260
- export interface ConfirmBookingFlowControlSettings {
1277
+ bookingId: string;
1261
1278
  /**
1262
- * Whether the availability is checked before confirming the booking.
1279
+ * Current payment status of the booking when using a custom checkout page and
1280
+ * not the *eCommerce checkout*
1281
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/ecom/checkout/setup) | [REST](https://dev.wix.com/docs/rest/business-solutions/e-commerce/checkout/introduction)).
1263
1282
  *
1264
- * When specifying `false`, a booking is only updated with status `CONFIRMED`.
1265
- * Default: `false`.
1283
+ * The booking is declined if there is a double booking conflict and you provide
1284
+ * one of these payment statuses: `UNDEFINED`, `NOT_PAID`, `REFUNDED`, or `EXEMPT`.
1266
1285
  */
1267
- checkAvailabilityValidation?: boolean;
1268
- }
1269
- export interface ConfirmMultiServiceBookingResponse {
1270
- /** Confirmed multi service booking. */
1271
- multiServiceBooking?: MultiServiceBooking;
1286
+ paymentStatus?: PaymentStatus;
1272
1287
  }
1273
- export interface BookingConfirmed {
1274
- /** The confirmed booking object. */
1288
+ export interface ConfirmOrDeclineBookingResponse {
1289
+ /** Updated booking. */
1275
1290
  booking?: Booking;
1276
- /** Information about whether to notify the customer about the confirmation and the message to send. */
1277
- participantNotification?: ParticipantNotification;
1278
- /**
1279
- * Whether to send an SMS reminder to the customer 24 hours before the session starts.
1280
- * The phone number is taken from `contactDetails.phone`.
1281
- */
1282
- sendSmsReminder?: boolean | null;
1283
- /** Whether this booking overlaps with another existing confirmed booking. */
1284
- doubleBooked?: boolean | null;
1285
- /** ID of the confirmation initiator. */
1286
- initiatedBy?: IdentificationData;
1287
- /** The previous status of the booking. */
1288
- previousStatus?: BookingStatus;
1289
- /** The previous payment status of the booking. */
1290
- previousPaymentStatus?: PaymentStatus;
1291
1291
  }
1292
- export interface DeclineMultiServiceBookingRequest {
1293
- /** ID of the multi service booking to decline. */
1294
- multiServiceBookingId: string | null;
1295
- /** Information about the single-service bookings to decline. */
1296
- declineBookingsInfo?: BookingInfo[];
1292
+ export interface BulkConfirmOrDeclineBookingRequest {
1297
1293
  /**
1298
- * Information about whether to notify the customer and
1299
- * the message to send.
1294
+ * Bookings to confirm or decline.
1295
+ * @minSize 1
1296
+ * @maxSize 300
1300
1297
  */
1301
- participantNotification?: ParticipantNotification;
1302
- /** Whether this booking has a conflict with at least 1 other confirmed booking. */
1303
- doubleBooked?: boolean | null;
1304
- /** Whether to return the declined single-service bookings. */
1305
- returnFullEntity?: boolean;
1298
+ details: BulkConfirmOrDeclineBookingRequestBookingDetails[];
1299
+ /** Whether to return the confirmed or declined booking objects. */
1300
+ returnEntity?: boolean;
1301
+ }
1302
+ export interface BulkConfirmOrDeclineBookingRequestBookingDetails {
1306
1303
  /**
1307
- * Information about whether specific procedures of the standard Wix Bookings
1308
- * declining flow are changed. For example, whether to issue a refund.
1304
+ * ID of the booking to confirm or decline.
1305
+ * @format GUID
1309
1306
  */
1310
- flowControlSettings?: DeclineBookingFlowControlSettings;
1311
- }
1312
- export interface DeclineBookingFlowControlSettings {
1307
+ bookingId?: string;
1313
1308
  /**
1314
- * Whether to issue a refund when declining the booking.
1315
- *
1316
- * The refund will be issued only if the booking is refundable.
1317
- * Currently, a booking is considered refundable when it was paid by membership.
1318
- * If specifying `true`, the booking flow control settings will be set with a refund.
1319
- * If you specify `false` or an empty field,
1320
- * the booking flow control settings are set without refund.
1309
+ * Current payment status of the booking when using a custom checkout page and
1310
+ * not the *eCommerce checkout*
1311
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/ecom/checkout/setup) | [REST](https://dev.wix.com/docs/rest/business-solutions/e-commerce/checkout/introduction)).
1321
1312
  *
1322
- * Default: `false`.
1313
+ * The booking is declined if there is a double booking conflict and you provide
1314
+ * one of these payment statuses: `UNDEFINED`, `NOT_PAID`, `REFUNDED`, or `EXEMPT`.
1323
1315
  */
1324
- withRefund?: boolean | null;
1316
+ paymentStatus?: PaymentStatus;
1325
1317
  }
1326
- export interface DeclineMultiServiceBookingResponse {
1327
- /** Declined multi-service booking. */
1328
- multiServiceBooking?: MultiServiceBooking;
1318
+ export interface BulkConfirmOrDeclineBookingResponse {
1319
+ /** List of confirmed or declined bookings, including metadata. */
1320
+ results?: BulkBookingResult[];
1321
+ /** Total successes and failures of the Bulk Confirm Or Decline call. */
1322
+ bulkActionMetadata?: BulkActionMetadata;
1329
1323
  }
1330
- export interface BookingDeclined {
1331
- /** The declined booking object. */
1332
- booking?: Booking;
1333
- /** Information about whether to notify the customer about the decline and the message to send. */
1334
- participantNotification?: ParticipantNotification;
1335
- /** Whether this booking overlaps with another existing confirmed booking. */
1336
- doubleBooked?: boolean | null;
1337
- /** ID of the decline initiator. */
1338
- initiatedBy?: IdentificationData;
1339
- /** The previous status of the booking. */
1340
- previousStatus?: BookingStatus;
1341
- /** The previous payment status of the booking. */
1342
- previousPaymentStatus?: PaymentStatus;
1324
+ export interface BulkBookingResult {
1343
1325
  /**
1344
- * Information about whether specific procedures of the standard Wix Bookings
1345
- * declining flow are changed. For example, whether to issue a refund.
1326
+ * Information about the booking that was created or updated.
1327
+ * Including its ID, index in the bulk request and whether it was
1328
+ * successfully created or updated.
1346
1329
  */
1347
- flowControlSettings?: DeclineBookingFlowControlSettings;
1348
- }
1349
- export interface BulkGetMultiServiceBookingAllowedActionsRequest {
1350
- /** IDs of the multi-service bookings to retrieve allowed actions for. */
1351
- multiServiceBookingIds: string[] | null;
1352
- }
1353
- export interface BulkGetMultiServiceBookingAllowedActionsResponse {
1330
+ itemMetadata?: ItemMetadata;
1354
1331
  /**
1355
- * Information about the multi-service bookings that were retrieved.
1356
- * Including their ID, index in the bulk request and whether they were
1357
- * successfully updated.
1332
+ * Created or updated booking. Available only if you requested
1333
+ * to return the booking entity.
1358
1334
  */
1359
- results?: BulkCalculateAllowedActionsResult[];
1360
- /** Total number of successes and failures for Bulk Update Bookings. */
1361
- bulkActionMetadata?: BulkActionMetadata;
1362
- }
1363
- export interface BulkCalculateAllowedActionsResult {
1364
- /** Metadata for the booking. Including ID, index in the provided sequence, success status, and error. */
1365
- itemMetadata?: ItemMetadata;
1366
- /** Booking entity. */
1367
- item?: AllowedActions;
1335
+ item?: Booking;
1368
1336
  }
1369
1337
  export interface ItemMetadata {
1370
1338
  /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */
@@ -1384,13 +1352,6 @@ export interface ApplicationError {
1384
1352
  /** Data related to the error. */
1385
1353
  data?: Record<string, any> | null;
1386
1354
  }
1387
- /** Possible actions allowed for the booking. */
1388
- export interface AllowedActions {
1389
- /** Whether canceling the booking is allowed. */
1390
- cancel?: boolean;
1391
- /** Whether rescheduling the booking is allowed. */
1392
- reschedule?: boolean;
1393
- }
1394
1355
  export interface BulkActionMetadata {
1395
1356
  /** Number of items that were successfully processed. */
1396
1357
  totalSuccesses?: number;
@@ -1399,58 +1360,6 @@ export interface BulkActionMetadata {
1399
1360
  /** Number of failures without details because detailed failure threshold was exceeded. */
1400
1361
  undetailedFailures?: number;
1401
1362
  }
1402
- export interface GetMultiServiceBookingRequest {
1403
- /** ID of the multi-service booking. */
1404
- multiServiceBookingId: string | null;
1405
- }
1406
- export interface GetMultiServiceBookingResponse {
1407
- /** Retrieved multi-service booking. */
1408
- multiServiceBooking?: MultiServiceBooking;
1409
- /** Details about how many single-service bookings belong to the multi-service booking. */
1410
- metadata?: MultiServiceBookingMetadata;
1411
- }
1412
- export interface MultiServiceBookingMetadata {
1413
- /**
1414
- * Total number of `CONFIRMED` and `PENDING` single-service bookings belonging
1415
- * to the multi-service booking. The total includes the number of single-service
1416
- * bookings which couldn't be retrieved due to lack of permissions.
1417
- */
1418
- totalNumberOfScheduledBookings?: number | null;
1419
- }
1420
- export interface AddBookingsToMultiServiceBookingRequest {
1421
- /** ID of the multi-service booking. */
1422
- multiServiceBookingId: string | null;
1423
- /** List of single-service booking IDs and their revision. */
1424
- bookings: BookingIdAndRevision[];
1425
- /** Whether to return the single-service bookings that were added to the multi-service booking. */
1426
- returnFullEntity?: boolean;
1427
- }
1428
- export interface BookingIdAndRevision {
1429
- /** ID of the booking. */
1430
- bookingId?: string | null;
1431
- /**
1432
- * Revision number, which increments by 1 each time the booking is updated.
1433
- * To prevent conflicting changes, the current revision must be specified when
1434
- * managing the booking.
1435
- */
1436
- revision?: string | null;
1437
- }
1438
- export interface AddBookingsToMultiServiceBookingResponse {
1439
- /** Single-service bookings that were added to the multi-service booking. */
1440
- bookings?: BookingResult[];
1441
- }
1442
- export interface RemoveBookingsFromMultiServiceBookingRequest {
1443
- /** ID of the multi-service booking. */
1444
- multiServiceBookingId: string | null;
1445
- /** List of single-service booking IDs and their revision. */
1446
- bookings?: BookingIdAndRevision[];
1447
- /** Whether to return the single-service bookings. */
1448
- returnFullEntity?: boolean;
1449
- }
1450
- export interface RemoveBookingsFromMultiServiceBookingResponse {
1451
- /** Single-service bookings that were removed from the multi-service booking. */
1452
- bookings?: BookingResult[];
1453
- }
1454
1363
  export interface BookingChanged {
1455
1364
  /** The booking before the changes. */
1456
1365
  previousBooking?: Booking;
@@ -1470,12 +1379,39 @@ export interface CreateBookingRequest {
1470
1379
  * session starts. The phone number is taken from `contactDetails.phone`.
1471
1380
  * Default: `true`.
1472
1381
  */
1473
- sendSmsReminder?: boolean | null;
1382
+ sendSmsReminder?: boolean | null;
1383
+ /**
1384
+ * Whether to ignore specific standard procedures of the Wix Bookings flow.
1385
+ * For example, whether to check availability when creating a booking.
1386
+ */
1387
+ flowControlSettings?: CreateBookingFlowControlSettings;
1388
+ }
1389
+ export interface CreateBookingFlowControlSettings {
1390
+ /**
1391
+ * Whether the availability is checked before creating the booking.
1392
+ *
1393
+ * When passing `false`, a booking is only created when the slot or schedule is available.
1394
+ * Default: `false`.
1395
+ */
1396
+ skipAvailabilityValidation?: boolean;
1397
+ /**
1398
+ * Whether `PENDING` bookings are automatically set to `CONFIRMED` for
1399
+ * services that normally require the owner's manual confirmation.
1400
+ *
1401
+ * Your app must have the `BOOKINGS.OVERRIDE_AVAILABILITY` permission scope
1402
+ * when passing `true`.
1403
+ * Default: `false`.
1404
+ */
1405
+ skipBusinessConfirmation?: boolean;
1474
1406
  /**
1475
- * Whether to ignore specific standard procedures of the Wix Bookings flow.
1476
- * For example, whether to check availability when creating a booking.
1407
+ * Whether customers can pay using a payment method that isn't supported
1408
+ * for the service, but that's supported for other services.
1409
+ *
1410
+ * Your app must have the `BOOKINGS.MANAGE_PAYMENTS` permission scope when passing
1411
+ * `true`.
1412
+ * Default: `false`.
1477
1413
  */
1478
- flowControlSettings?: CreateBookingFlowControlSettings;
1414
+ skipSelectedPaymentOptionValidation?: boolean;
1479
1415
  }
1480
1416
  export interface CreateBookingResponse {
1481
1417
  /** Created booking. */
@@ -1523,6 +1459,8 @@ export interface BulkCreateBookingRequest {
1523
1459
  * Bookings to create.
1524
1460
  *
1525
1461
  * Max: 8 bookings
1462
+ * @minSize 1
1463
+ * @maxSize 8
1526
1464
  */
1527
1465
  createBookingsInfo: CreateBookingInfo[];
1528
1466
  /** Whether to return the created bookings. */
@@ -1554,19 +1492,6 @@ export interface BulkCreateBookingResponse {
1554
1492
  /** Total number of successes and failures for Bulk Create Bookings. */
1555
1493
  bulkActionMetadata?: BulkActionMetadata;
1556
1494
  }
1557
- export interface BulkBookingResult {
1558
- /**
1559
- * Information about the booking that was created or updated.
1560
- * Including its ID, index in the bulk request and whether it was
1561
- * successfully created or updated.
1562
- */
1563
- itemMetadata?: ItemMetadata;
1564
- /**
1565
- * Created or updated booking. Available only if you requested
1566
- * to return the booking entity.
1567
- */
1568
- item?: Booking;
1569
- }
1570
1495
  export interface RescheduleBookingRequest extends RescheduleBookingRequestParticipantsInfoOneOf {
1571
1496
  /**
1572
1497
  * Total number of participants. Specify when all participants have booked the
@@ -1578,7 +1503,10 @@ export interface RescheduleBookingRequest extends RescheduleBookingRequestPartic
1578
1503
  * participants have booked the same service variant.
1579
1504
  */
1580
1505
  participantsChoices?: ParticipantChoices;
1581
- /** ID of the booking to reschedule. */
1506
+ /**
1507
+ * ID of the booking to reschedule.
1508
+ * @format GUID
1509
+ */
1582
1510
  bookingId: string;
1583
1511
  /** New slot of the booking. */
1584
1512
  slot: V2Slot;
@@ -1612,12 +1540,220 @@ export interface RescheduleBookingRequestParticipantsInfoOneOf {
1612
1540
  */
1613
1541
  participantsChoices?: ParticipantChoices;
1614
1542
  }
1543
+ export interface V2Slot {
1544
+ /** Identifier for the underlying session when the session is a single session or generated from a recurring session. */
1545
+ sessionId?: string | null;
1546
+ /** Service identifier. Required. */
1547
+ serviceId?: string;
1548
+ /** Schedule identifier. Required. */
1549
+ scheduleId?: string;
1550
+ /** The start time of this slot (formatted according to RFC3339). */
1551
+ startDate?: string | null;
1552
+ /** The end time of this slot (formatted according to RFC3339). */
1553
+ endDate?: string | null;
1554
+ /** The timezone according to which the slot is calculated and presented. */
1555
+ timezone?: string | null;
1556
+ /**
1557
+ * The resource required for this slot.
1558
+ * When populated, the specified resource will be assigned to the slot upon confirmation according to its availability.
1559
+ * When empty, if `skip_availability_validation` is `false`, a random available resource will be assigned to the slot upon confirmation.
1560
+ * Otherwise, one of the service resources will be assigned to the slot randomly upon confirmation.
1561
+ */
1562
+ resource?: SlotSlotResource;
1563
+ /** Geographic location of the slot. */
1564
+ location?: SlotLocation;
1565
+ /**
1566
+ * Calendar event ID - not supported.
1567
+ * If not empty, on all write flows (create/update), it takes priority over `sessionId`.
1568
+ * So if both `sessionId` and `eventId` are provided, the `sessionId` will be based on the `eventId`.
1569
+ * Otherwise, if `eventId` is empty on write flow,
1570
+ * @minLength 36
1571
+ * @maxLength 250
1572
+ */
1573
+ eventId?: string | null;
1574
+ }
1575
+ export declare enum LocationLocationType {
1576
+ /** Undefined location type. */
1577
+ UNDEFINED = "UNDEFINED",
1578
+ /** The business address as set in the site’s general settings. */
1579
+ OWNER_BUSINESS = "OWNER_BUSINESS",
1580
+ /** The address set when creating the service. */
1581
+ OWNER_CUSTOM = "OWNER_CUSTOM",
1582
+ /** The address set for the individual session. */
1583
+ CUSTOM = "CUSTOM"
1584
+ }
1585
+ export interface SlotSlotResource {
1586
+ /**
1587
+ * Resource ID.
1588
+ * @format GUID
1589
+ * @readonly
1590
+ */
1591
+ id?: string | null;
1592
+ /**
1593
+ * Resource name.
1594
+ * @maxLength 1200
1595
+ */
1596
+ name?: string | null;
1597
+ }
1598
+ export interface SlotLocation {
1599
+ /**
1600
+ * Business Location ID. Present if the location is a business location.
1601
+ * @format GUID
1602
+ */
1603
+ id?: string | null;
1604
+ /** Location name. */
1605
+ name?: string | null;
1606
+ /** A string containing the full address of this location. */
1607
+ formattedAddress?: string | null;
1608
+ /** Location type. */
1609
+ locationType?: LocationLocationType;
1610
+ }
1611
+ export interface RescheduleBookingFlowControlSettings {
1612
+ /**
1613
+ * Whether the rescheduling policy applies when rescheduling the booking.
1614
+ *
1615
+ * When passing `false`, you can only cancel a booking if the rescheduling
1616
+ * policy allows it.
1617
+ * Default: `false`.
1618
+ */
1619
+ ignoreReschedulePolicy?: boolean;
1620
+ /**
1621
+ * Whether the availability is checked before rescheduling the booking.
1622
+ *
1623
+ * When passing `false`, a booking is only created when the slot or
1624
+ * schedule is available.
1625
+ * Default: `false`.
1626
+ */
1627
+ skipAvailabilityValidation?: boolean;
1628
+ /**
1629
+ * Whether the rescheduled booking's status is automatically set to
1630
+ * `CONFIRMED` for services that normally require the owner's manual
1631
+ * confirmation.
1632
+ * Default: `false`.
1633
+ */
1634
+ skipBusinessConfirmation?: boolean;
1635
+ }
1615
1636
  export interface RescheduleBookingResponse {
1616
1637
  /** Rescheduled booking. */
1617
1638
  booking?: Booking;
1618
1639
  }
1640
+ export interface BookingRescheduled extends BookingRescheduledPreviousParticipantsInfoOneOf {
1641
+ /**
1642
+ * The previous total number of participants. Available only when the booking includes
1643
+ * a single service variant.
1644
+ */
1645
+ previousTotalParticipants?: number;
1646
+ /**
1647
+ * Information about the previous booked service choices and participants.
1648
+ * Available only when the booking includes multiple service variants.
1649
+ */
1650
+ previousParticipantsChoices?: ParticipantChoices;
1651
+ /** The rescheduled booking object. */
1652
+ booking?: Booking;
1653
+ /** Information about whether to notify the customer about the rescheduling and the message to send. */
1654
+ participantNotification?: ParticipantNotification;
1655
+ /**
1656
+ * Information about whether specific procedures of the standard Wix Bookings
1657
+ * rescheduling flow are changed. For example, whether the availability of
1658
+ * the new slot is checked before rescheduling the booking or if you can
1659
+ * reschedule the booking even though the rescheduling policy doesn't allow it.
1660
+ */
1661
+ flowControlSettings?: RescheduleBookingFlowControlSettings;
1662
+ /** ID of the rescheduling initiator. */
1663
+ initiatedBy?: IdentificationData;
1664
+ /** The previous status of the booking. */
1665
+ previousStatus?: BookingStatus;
1666
+ /** An object describing the previous slot or schedule of the booking. */
1667
+ previousBookedEntity?: BookedEntity;
1668
+ /**
1669
+ * The previous start date of the booking.
1670
+ * For a slot, this is the start date of the slot.
1671
+ * For a schedule, this is the start date of the first session.
1672
+ */
1673
+ previousStartDate?: Date | null;
1674
+ /**
1675
+ * The previous end date of the booking.
1676
+ * For a slot, this is the end date of the slot.
1677
+ * For a schedule, this is the end date of the last session.
1678
+ */
1679
+ previousEndDate?: Date | null;
1680
+ }
1681
+ /** @oneof */
1682
+ export interface BookingRescheduledPreviousParticipantsInfoOneOf {
1683
+ /**
1684
+ * The previous total number of participants. Available only when the booking includes
1685
+ * a single service variant.
1686
+ */
1687
+ previousTotalParticipants?: number;
1688
+ /**
1689
+ * Information about the previous booked service choices and participants.
1690
+ * Available only when the booking includes multiple service variants.
1691
+ */
1692
+ previousParticipantsChoices?: ParticipantChoices;
1693
+ }
1694
+ export interface IdentificationData extends IdentificationDataIdOneOf {
1695
+ /**
1696
+ * ID of a site visitor that has not logged in to the site.
1697
+ * @format GUID
1698
+ */
1699
+ anonymousVisitorId?: string;
1700
+ /**
1701
+ * ID of a site visitor that has logged in to the site.
1702
+ * @format GUID
1703
+ */
1704
+ memberId?: string;
1705
+ /**
1706
+ * ID of a Wix user (site owner, contributor, etc.).
1707
+ * @format GUID
1708
+ */
1709
+ wixUserId?: string;
1710
+ /**
1711
+ * ID of an app.
1712
+ * @format GUID
1713
+ */
1714
+ appId?: string;
1715
+ /**
1716
+ * ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system.
1717
+ * @format GUID
1718
+ * @readonly
1719
+ */
1720
+ contactId?: string | null;
1721
+ }
1722
+ /** @oneof */
1723
+ export interface IdentificationDataIdOneOf {
1724
+ /**
1725
+ * ID of a site visitor that has not logged in to the site.
1726
+ * @format GUID
1727
+ */
1728
+ anonymousVisitorId?: string;
1729
+ /**
1730
+ * ID of a site visitor that has logged in to the site.
1731
+ * @format GUID
1732
+ */
1733
+ memberId?: string;
1734
+ /**
1735
+ * ID of a Wix user (site owner, contributor, etc.).
1736
+ * @format GUID
1737
+ */
1738
+ wixUserId?: string;
1739
+ /**
1740
+ * ID of an app.
1741
+ * @format GUID
1742
+ */
1743
+ appId?: string;
1744
+ }
1745
+ export declare enum IdentityType {
1746
+ UNKNOWN = "UNKNOWN",
1747
+ ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
1748
+ MEMBER = "MEMBER",
1749
+ WIX_USER = "WIX_USER",
1750
+ APP = "APP"
1751
+ }
1619
1752
  export interface BulkRescheduleBookingRequest {
1620
- /** Reschedule multiple bookings to multiple slots. */
1753
+ /**
1754
+ * Reschedule multiple bookings to multiple slots.
1755
+ * @minSize 1
1756
+ */
1621
1757
  slotsBookings?: SlotBookings[];
1622
1758
  /**
1623
1759
  * Information about whether to notify the customer about the rescheduling and
@@ -1626,7 +1762,10 @@ export interface BulkRescheduleBookingRequest {
1626
1762
  participantNotification?: ParticipantNotification;
1627
1763
  }
1628
1764
  export interface BulkRescheduleBookingRequestBooking {
1629
- /** ID of the booking to reschedule. */
1765
+ /**
1766
+ * ID of the booking to reschedule.
1767
+ * @format GUID
1768
+ */
1630
1769
  id?: string;
1631
1770
  /**
1632
1771
  * Revision number, which increments by 1 each time the booking is rescheduled.
@@ -1637,7 +1776,10 @@ export interface BulkRescheduleBookingRequestBooking {
1637
1776
  }
1638
1777
  /** Bookings to be rescheduled to the given slot. */
1639
1778
  export interface SlotBookings {
1640
- /** The bookings details. */
1779
+ /**
1780
+ * The bookings details.
1781
+ * @minSize 1
1782
+ */
1641
1783
  bookings?: BulkRescheduleBookingRequestBooking[];
1642
1784
  /**
1643
1785
  * The slot to which the bookings were rescheduled.
@@ -1657,7 +1799,10 @@ export interface BulkRescheduleBookingResponse {
1657
1799
  }
1658
1800
  /** Update the booked schedule of multiple bookings to the given schedule. */
1659
1801
  export interface BulkUpdateBookedScheduleRequest {
1660
- /** The bookings whose booked schedule is to be updated to the given schedule. */
1802
+ /**
1803
+ * The bookings whose booked schedule is to be updated to the given schedule.
1804
+ * @minSize 1
1805
+ */
1661
1806
  bookings?: BookingDetails[];
1662
1807
  /** ID of the schedule to update. */
1663
1808
  scheduleId?: string;
@@ -1668,7 +1813,10 @@ export interface BulkUpdateBookedScheduleRequest {
1668
1813
  participantNotification?: ParticipantNotification;
1669
1814
  }
1670
1815
  export interface BookingDetails {
1671
- /** ID of the bookings to be updated. */
1816
+ /**
1817
+ * ID of the bookings to be updated.
1818
+ * @format GUID
1819
+ */
1672
1820
  id?: string;
1673
1821
  revision?: string | null;
1674
1822
  }
@@ -1718,7 +1866,10 @@ export interface QueryV2PagingMethodOneOf {
1718
1866
  cursorPaging?: CursorPaging;
1719
1867
  }
1720
1868
  export interface Sorting {
1721
- /** Name of the field to sort by. */
1869
+ /**
1870
+ * Name of the field to sort by.
1871
+ * @maxLength 512
1872
+ */
1722
1873
  fieldName?: string;
1723
1874
  /** Sort order. */
1724
1875
  order?: SortOrder;
@@ -1734,13 +1885,17 @@ export interface Paging {
1734
1885
  offset?: number | null;
1735
1886
  }
1736
1887
  export interface CursorPaging {
1737
- /** Maximum number of items to return in the results. */
1888
+ /**
1889
+ * Maximum number of items to return in the results.
1890
+ * @max 100
1891
+ */
1738
1892
  limit?: number | null;
1739
1893
  /**
1740
1894
  * Pointer to the next or previous page in the list of results.
1741
1895
  *
1742
1896
  * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.
1743
1897
  * Not relevant for the first request.
1898
+ * @maxLength 16000
1744
1899
  */
1745
1900
  cursor?: string | null;
1746
1901
  }
@@ -1763,13 +1918,22 @@ export interface PagingMetadataV2 {
1763
1918
  cursors?: Cursors;
1764
1919
  }
1765
1920
  export interface Cursors {
1766
- /** Cursor string pointing to the next page in the list of results. */
1921
+ /**
1922
+ * Cursor string pointing to the next page in the list of results.
1923
+ * @maxLength 16000
1924
+ */
1767
1925
  next?: string | null;
1768
- /** Cursor pointing to the previous page in the list of results. */
1926
+ /**
1927
+ * Cursor pointing to the previous page in the list of results.
1928
+ * @maxLength 16000
1929
+ */
1769
1930
  prev?: string | null;
1770
1931
  }
1771
1932
  export interface ConfirmRequest {
1772
- /** ID of the booking to confirm. */
1933
+ /**
1934
+ * ID of the booking to confirm.
1935
+ * @format GUID
1936
+ */
1773
1937
  id?: string;
1774
1938
  /**
1775
1939
  * Information about whether to notify the customer about the confirmation and
@@ -1784,7 +1948,10 @@ export interface ConfirmResponse {
1784
1948
  doubleBooked?: boolean | null;
1785
1949
  }
1786
1950
  export interface ConfirmBookingRequest {
1787
- /** ID of the booking to confirm. */
1951
+ /**
1952
+ * ID of the booking to confirm.
1953
+ * @format GUID
1954
+ */
1788
1955
  bookingId: string;
1789
1956
  /**
1790
1957
  * Revision number, which increments by 1 each time the booking is updated.
@@ -1812,10 +1979,38 @@ export interface ConfirmBookingRequest {
1812
1979
  */
1813
1980
  flowControlSettings?: ConfirmBookingFlowControlSettings;
1814
1981
  }
1982
+ export interface ConfirmBookingFlowControlSettings {
1983
+ /**
1984
+ * Whether the availability is checked before confirming the booking.
1985
+ *
1986
+ * When specifying `false`, a booking is only updated with status `CONFIRMED`.
1987
+ * Default: `false`.
1988
+ */
1989
+ checkAvailabilityValidation?: boolean;
1990
+ }
1815
1991
  export interface ConfirmBookingResponse {
1816
1992
  /** Confirmed booking. */
1817
1993
  booking?: Booking;
1818
1994
  }
1995
+ export interface BookingConfirmed {
1996
+ /** The confirmed booking object. */
1997
+ booking?: Booking;
1998
+ /** Information about whether to notify the customer about the confirmation and the message to send. */
1999
+ participantNotification?: ParticipantNotification;
2000
+ /**
2001
+ * Whether to send an SMS reminder to the customer 24 hours before the session starts.
2002
+ * The phone number is taken from `contactDetails.phone`.
2003
+ */
2004
+ sendSmsReminder?: boolean | null;
2005
+ /** Whether this booking overlaps with another existing confirmed booking. */
2006
+ doubleBooked?: boolean | null;
2007
+ /** ID of the confirmation initiator. */
2008
+ initiatedBy?: IdentificationData;
2009
+ /** The previous status of the booking. */
2010
+ previousStatus?: BookingStatus;
2011
+ /** The previous payment status of the booking. */
2012
+ previousPaymentStatus?: PaymentStatus;
2013
+ }
1819
2014
  export interface ConsistentQueryBookingsRequest {
1820
2015
  /** Information about filters, paging, and sorting. */
1821
2016
  query?: QueryV2;
@@ -1827,7 +2022,10 @@ export interface ConsistentQueryBookingsResponse {
1827
2022
  pagingMetadata?: PagingMetadataV2;
1828
2023
  }
1829
2024
  export interface SetBookingSessionIdRequest {
1830
- /** ID of the booking to set `sessionId` for. */
2025
+ /**
2026
+ * ID of the booking to set `sessionId` for.
2027
+ * @format GUID
2028
+ */
1831
2029
  id?: string;
1832
2030
  /** ID of the session to set on the booking. */
1833
2031
  sessionId?: string;
@@ -1837,9 +2035,15 @@ export interface SetBookingSessionIdResponse {
1837
2035
  booking?: Booking;
1838
2036
  }
1839
2037
  export interface SetBookingSubmissionIdRequest {
1840
- /** ID of the booking to set `submissionId` for. */
2038
+ /**
2039
+ * ID of the booking to set `submissionId` for.
2040
+ * @format GUID
2041
+ */
1841
2042
  bookingId?: string;
1842
- /** ID of the form submission to set on the booking. */
2043
+ /**
2044
+ * ID of the form submission to set on the booking.
2045
+ * @format GUID
2046
+ */
1843
2047
  submissionId?: string;
1844
2048
  }
1845
2049
  export interface SetBookingSubmissionIdResponse {
@@ -1855,19 +2059,26 @@ export interface UpdateExtendedFieldsRequest {
1855
2059
  namespaceData: Record<string, any> | null;
1856
2060
  }
1857
2061
  export interface UpdateExtendedFieldsResponse {
1858
- /** Updated namespace. */
2062
+ /**
2063
+ * Updated namespace.
2064
+ * @maxLength 164
2065
+ */
1859
2066
  namespace?: string;
1860
2067
  /** Updated data. */
1861
2068
  namespaceData?: Record<string, any> | null;
1862
2069
  }
1863
2070
  export interface DeclineBookingRequest {
1864
- /** ID of the booking to decline. */
2071
+ /**
2072
+ * ID of the booking to decline.
2073
+ * @format GUID
2074
+ */
1865
2075
  bookingId: string;
1866
2076
  /**
1867
2077
  * Revision number, which increments by 1 each time the booking is updated.
1868
2078
  *
1869
2079
  * To prevent conflicting changes, the current revision must be specified when
1870
2080
  * declining the booking.
2081
+ * @min 1
1871
2082
  */
1872
2083
  revision: string | null;
1873
2084
  /**
@@ -1885,12 +2096,48 @@ export interface DeclineBookingRequest {
1885
2096
  */
1886
2097
  flowControlSettings?: DeclineBookingFlowControlSettings;
1887
2098
  }
2099
+ export interface DeclineBookingFlowControlSettings {
2100
+ /**
2101
+ * Whether to issue a refund when declining the booking.
2102
+ *
2103
+ * The refund will be issued only if the booking is refundable.
2104
+ * Currently, a booking is considered refundable when it was paid by membership.
2105
+ * If specifying `true`, the booking flow control settings will be set with a refund.
2106
+ * If you specify `false` or an empty field,
2107
+ * the booking flow control settings are set without refund.
2108
+ *
2109
+ * Default: `false`.
2110
+ */
2111
+ withRefund?: boolean | null;
2112
+ }
1888
2113
  export interface DeclineBookingResponse {
1889
2114
  /** Declined booking. */
1890
2115
  booking?: Booking;
1891
2116
  }
2117
+ export interface BookingDeclined {
2118
+ /** The declined booking object. */
2119
+ booking?: Booking;
2120
+ /** Information about whether to notify the customer about the decline and the message to send. */
2121
+ participantNotification?: ParticipantNotification;
2122
+ /** Whether this booking overlaps with another existing confirmed booking. */
2123
+ doubleBooked?: boolean | null;
2124
+ /** ID of the decline initiator. */
2125
+ initiatedBy?: IdentificationData;
2126
+ /** The previous status of the booking. */
2127
+ previousStatus?: BookingStatus;
2128
+ /** The previous payment status of the booking. */
2129
+ previousPaymentStatus?: PaymentStatus;
2130
+ /**
2131
+ * Information about whether specific procedures of the standard Wix Bookings
2132
+ * declining flow are changed. For example, whether to issue a refund.
2133
+ */
2134
+ flowControlSettings?: DeclineBookingFlowControlSettings;
2135
+ }
1892
2136
  export interface CancelBookingRequest {
1893
- /** ID of the booking to cancel. */
2137
+ /**
2138
+ * ID of the booking to cancel.
2139
+ * @format GUID
2140
+ */
1894
2141
  bookingId: string;
1895
2142
  /**
1896
2143
  * Information about whether to notify the customer about the cancellation and
@@ -1911,10 +2158,48 @@ export interface CancelBookingRequest {
1911
2158
  */
1912
2159
  revision: string | null;
1913
2160
  }
2161
+ export interface CancelBookingFlowControlSettings {
2162
+ /**
2163
+ * Whether the cancellation policy applies when canceling the booking.
2164
+ *
2165
+ * When passing `false`, you can only cancel a booking if the cancellation policy allows it.
2166
+ * Default: `false`.
2167
+ */
2168
+ ignoreCancellationPolicy?: boolean | null;
2169
+ /**
2170
+ * Whether to issue a refund when canceling the booking.
2171
+ *
2172
+ * The refund will be issued only if the booking is refundable.
2173
+ * Currently, a booking is considered refundable when it was paid by membership.
2174
+ * If you specify `true`, the booking flow control settings is set to include a refund.
2175
+ * If `false` is specified or the field remains empty,
2176
+ * the booking flow control settings are set without refund.
2177
+ *
2178
+ * Default: `false`.
2179
+ */
2180
+ withRefund?: boolean | null;
2181
+ }
1914
2182
  export interface CancelBookingResponse {
1915
2183
  /** Canceled booking. */
1916
2184
  booking?: Booking;
1917
2185
  }
2186
+ export interface BookingCanceled {
2187
+ /** The canceled booking object. */
2188
+ booking?: Booking;
2189
+ /** Information about whether to notify the customer about the cancellation and the message to send. */
2190
+ participantNotification?: ParticipantNotification;
2191
+ /**
2192
+ * Information about whether specific procedures of the standard Wix Bookings
2193
+ * cancellation flow are changed. For example, whether you can cancel
2194
+ * a booking even though the cancellation policy doesn't allow it or whether
2195
+ * to issue a refund.
2196
+ */
2197
+ flowControlSettings?: CancelBookingFlowControlSettings;
2198
+ /** ID of the cancellation initiator. */
2199
+ initiatedBy?: IdentificationData;
2200
+ /** The previous status of the booking. */
2201
+ previousStatus?: BookingStatus;
2202
+ }
1918
2203
  export interface UpdateNumberOfParticipantsRequest extends UpdateNumberOfParticipantsRequestParticipantsInfoOneOf {
1919
2204
  /**
1920
2205
  * Total number of participants. Specify when all participants have booked the
@@ -1926,7 +2211,10 @@ export interface UpdateNumberOfParticipantsRequest extends UpdateNumberOfPartici
1926
2211
  * when not all participants have booked the same service variant.
1927
2212
  */
1928
2213
  participantsChoices?: ParticipantChoices;
1929
- /** ID of the booking to update the number of participants for. */
2214
+ /**
2215
+ * ID of the booking to update the number of participants for.
2216
+ * @format GUID
2217
+ */
1930
2218
  bookingId: string;
1931
2219
  /**
1932
2220
  * Revision number, which increments by 1 each time the booking is updated.
@@ -1983,7 +2271,10 @@ export interface NumberOfParticipantsUpdatedPreviousParticipantsInfoOneOf {
1983
2271
  previousParticipantsChoices?: ParticipantChoices;
1984
2272
  }
1985
2273
  export interface BulkCalculateAllowedActionsRequest {
1986
- /** The booking IDs for which we want to calculate the allowed actions. */
2274
+ /**
2275
+ * The booking IDs for which we want to calculate the allowed actions.
2276
+ * @minSize 1
2277
+ */
1987
2278
  bookingIds?: string[] | null;
1988
2279
  }
1989
2280
  export interface BulkCalculateAllowedActionsResponse {
@@ -1991,6 +2282,19 @@ export interface BulkCalculateAllowedActionsResponse {
1991
2282
  /** Total number of successes and failures for Bulk Calculate Allowed Actions. */
1992
2283
  bulkActionMetadata?: BulkActionMetadata;
1993
2284
  }
2285
+ export interface BulkCalculateAllowedActionsResult {
2286
+ /** Metadata for the booking. Including ID, index in the provided sequence, success status, and error. */
2287
+ itemMetadata?: ItemMetadata;
2288
+ /** Booking entity. */
2289
+ item?: AllowedActions;
2290
+ }
2291
+ /** Possible actions allowed for the booking. */
2292
+ export interface AllowedActions {
2293
+ /** Whether canceling the booking is allowed. */
2294
+ cancel?: boolean;
2295
+ /** Whether rescheduling the booking is allowed. */
2296
+ reschedule?: boolean;
2297
+ }
1994
2298
  export interface GetSlotAvailabilityRequest {
1995
2299
  /** The slot for which the availability is checked. */
1996
2300
  slot?: V2Slot;
@@ -2031,18 +2335,38 @@ export interface WaitingList {
2031
2335
  totalSpots?: number | null;
2032
2336
  openSpots?: number | null;
2033
2337
  }
2338
+ export interface BookingPolicyViolations {
2339
+ /** Booking policy violation: Too early to book this slot. */
2340
+ tooEarlyToBook?: boolean | null;
2341
+ /** Booking policy violation: Too late to book this slot. */
2342
+ tooLateToBook?: boolean | null;
2343
+ /** Booking policy violation: Online booking is disabled for this slot. */
2344
+ bookOnlineDisabled?: boolean | null;
2345
+ }
2346
+ export interface BookingPolicySettings {
2347
+ /** Booking policy settings for a given slot or schedule. */
2348
+ maxParticipantsPerBooking?: number | null;
2349
+ }
2034
2350
  export interface AvailableResources {
2035
- /** Resource type ID. */
2351
+ /**
2352
+ * Resource type ID.
2353
+ * @format GUID
2354
+ */
2036
2355
  resourceTypeId?: string | null;
2037
2356
  /**
2038
2357
  * Available resources for the slot.
2039
2358
  * `maxSize` is defined by 135 staff members + 3 resource types and 50 resources per type.
2040
2359
  * `Availability-2` currently has no `maxSize` defined.
2360
+ * @format GUID
2361
+ * @maxSize 275
2041
2362
  */
2042
2363
  resourceIds?: string[];
2043
2364
  }
2044
2365
  export interface GetScheduleAvailabilityRequest {
2045
- /** ID of the schedule for which to check availability. */
2366
+ /**
2367
+ * ID of the schedule for which to check availability.
2368
+ * @format GUID
2369
+ */
2046
2370
  scheduleId?: string;
2047
2371
  }
2048
2372
  export interface GetScheduleAvailabilityResponse {
@@ -2058,7 +2382,10 @@ export interface ScheduleAvailability {
2058
2382
  bookingPolicyViolations?: BookingPolicyViolations;
2059
2383
  }
2060
2384
  export interface MarkBookingAsPendingRequest {
2061
- /** ID of the booking to mark as `PENDING`. */
2385
+ /**
2386
+ * ID of the booking to mark as `PENDING`.
2387
+ * @format GUID
2388
+ */
2062
2389
  bookingId?: string;
2063
2390
  /**
2064
2391
  * Revision number, which increments by 1 each time the booking is updated.
@@ -2087,6 +2414,22 @@ export interface MarkBookingAsPendingRequest {
2087
2414
  */
2088
2415
  flowControlSettings?: MarkBookingAsPendingFlowControlSettings;
2089
2416
  }
2417
+ export interface MarkBookingAsPendingFlowControlSettings {
2418
+ /**
2419
+ * Whether to check for double bookings before updating the booking as pending.
2420
+ *
2421
+ * When passing `false`, a booking is only updated with status `PENDING`.
2422
+ * Default: `false`.
2423
+ */
2424
+ checkAvailabilityValidation?: boolean;
2425
+ /**
2426
+ * Whether to validate that the booking to be marked as pending has a `booking.slot.serviceId`
2427
+ * of a pending approval service.
2428
+ *
2429
+ * Default: `false`.
2430
+ */
2431
+ skipPendingApprovalServiceValidation?: boolean;
2432
+ }
2090
2433
  export interface MarkBookingAsPendingResponse {
2091
2434
  /** Updated booking. */
2092
2435
  booking?: Booking;
@@ -2142,404 +2485,380 @@ export interface CountBookingsResponse {
2142
2485
  /** Number of bookings matching the specified filter. */
2143
2486
  count?: number;
2144
2487
  }
2145
- export interface ConfirmOrDeclineBookingRequest {
2146
- /** ID of the booking to confirm or decline. */
2147
- bookingId: string;
2488
+ export interface CreateMultiServiceBookingRequest {
2148
2489
  /**
2149
- * Current payment status of the booking when using a custom checkout page and
2150
- * not the *eCommerce checkout*
2151
- * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/ecom/checkout/setup) | [REST](https://dev.wix.com/docs/rest/business-solutions/e-commerce/checkout/introduction)).
2152
- *
2153
- * The booking is declined if there is a double booking conflict and you provide
2154
- * one of these payment statuses: `UNDEFINED`, `NOT_PAID`, `REFUNDED`, or `EXEMPT`.
2490
+ * Single-service bookings to combine in a multi-service booking.
2491
+ * @minSize 2
2492
+ * @maxSize 8
2155
2493
  */
2156
- paymentStatus?: PaymentStatus;
2157
- }
2158
- export interface ConfirmOrDeclineBookingResponse {
2159
- /** Updated booking. */
2160
- booking?: Booking;
2161
- }
2162
- export interface BulkConfirmOrDeclineBookingRequest {
2163
- /** Bookings to confirm or decline. */
2164
- details: BulkConfirmOrDeclineBookingRequestBookingDetails[];
2165
- /** Whether to return the confirmed or declined booking objects. */
2166
- returnEntity?: boolean;
2167
- }
2168
- export interface BulkConfirmOrDeclineBookingRequestBookingDetails {
2169
- /** ID of the booking to confirm or decline. */
2170
- bookingId?: string;
2494
+ bookings: Booking[];
2171
2495
  /**
2172
- * Current payment status of the booking when using a custom checkout page and
2173
- * not the *eCommerce checkout*
2174
- * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/ecom/checkout/setup) | [REST](https://dev.wix.com/docs/rest/business-solutions/e-commerce/checkout/introduction)).
2496
+ * Information about whether to notify the customer and
2497
+ * the message to send.
2498
+ */
2499
+ participantNotification?: ParticipantNotification;
2500
+ /**
2501
+ * Whether to send an SMS reminder to the customer 24 hours before the
2502
+ * session starts. The phone number is taken from `contactDetails.phone`.
2175
2503
  *
2176
- * The booking is declined if there is a double booking conflict and you provide
2177
- * one of these payment statuses: `UNDEFINED`, `NOT_PAID`, `REFUNDED`, or `EXEMPT`.
2504
+ * Default: `true`
2178
2505
  */
2179
- paymentStatus?: PaymentStatus;
2180
- }
2181
- export interface BulkConfirmOrDeclineBookingResponse {
2182
- /** List of confirmed or declined bookings, including metadata. */
2183
- results?: BulkBookingResult[];
2184
- /** Total successes and failures of the Bulk Confirm Or Decline call. */
2185
- bulkActionMetadata?: BulkActionMetadata;
2506
+ sendSmsReminder?: boolean | null;
2507
+ /**
2508
+ * Whether to ignore specific standard procedures of the Wix Bookings flow.
2509
+ * For example, whether to check availability before updating the status.
2510
+ */
2511
+ flowControlSettings?: CreateBookingFlowControlSettings;
2512
+ /** Whether to return the created single-service bookings. */
2513
+ returnFullEntity?: boolean;
2514
+ /** Multi service booking type. */
2515
+ multiServiceBookingType?: MultiServiceBookingType;
2186
2516
  }
2187
- export interface V2CreateBookingRequest extends V2CreateBookingRequestBookableItemOneOf, V2CreateBookingRequestParticipantsInfoOneOf {
2517
+ export interface CreateMultiServiceBookingResponse {
2188
2518
  /**
2189
- * Information about the slot to create a booking for.
2190
- * If you set `slot.location.locationType` to `CUSTOM`, the created slot's
2191
- * location is set to `slot.location.formattedAddress` when provided.
2192
- * Otherwise it's set to `contactDetails.fullAddress.formattedAddress`.
2519
+ * Created multi service booking.
2520
+ * Contains the booking results in the same order as specified in the request.
2193
2521
  */
2194
- slot?: Slot;
2195
- /** Information about the schedule to create a booking for. */
2196
- schedule?: BookedSchedule;
2197
- /** Contact details of the customer booking the service. */
2198
- contactDetails?: ContactDetails;
2522
+ multiServiceBooking?: MultiServiceBooking;
2523
+ }
2524
+ export interface MultiServiceBooking {
2199
2525
  /**
2200
- * Booking status.
2201
- * One of:
2202
- * - `"CREATED"` - The booking was created.
2203
- * - `"UPDATED"` - The booking was updated.
2204
- * - `"CONFIRMED"` - The booking has been confirmed and appears on the bookings calendar.
2205
- * Booking can be manually confirmed using the Set As Confirmed endpoint.
2206
- * Booking can be automatically confirmed when the following requirements are met:
2207
- * + The service is configured as automatically confirmed.
2208
- * + Invoking eCommerce checkout API and an order has been created.
2209
- * - `"CANCELED"` - The booking has been canceled and synced to bookings calendar.
2210
- * The booking can be canceled using cancel API.
2211
- * - `"PENDING"` - The booking waiting to be confirmed or declined buy the owner and is synced to bookings calendar.
2212
- * Bookings can be manually set as pending using setAsPending API, requires manage booking status permissions.
2213
- * Booking can be automatically set as pending when the following requirements are met:
2214
- * + The Service is configured as manually confirmed.
2215
- * + Invoking the eCommerce checkout API and an order has been created.
2216
- * - `"WAITING_LIST"` - The booking is pending on a waiting list.
2217
- * Booking can be created with this status when invoking waiting list join API.
2218
- * - `"DECLINED"` - The booking was declined by the owner and synced to bookings calendar.
2219
- * Booking can be manually declined using decline API and requires manage booking permissions.
2220
- * Booking can be automatically declined when the following requirements are met:
2221
- * + Invoking eCommerce checkout API and the order declined event has been sent.
2222
- * + Invoking eCommerce checkout API and order approved event has been sent, but the booking is offline and the booking causes a double booking.
2526
+ * Multi-service booking ID.
2527
+ * @format GUID
2223
2528
  */
2224
- status?: BookingStatus;
2529
+ id?: string | null;
2530
+ /** The created bookings that are part of the multi-service booking. */
2531
+ bookings?: BookingResult[];
2532
+ }
2533
+ export interface BookingResult {
2225
2534
  /**
2226
- * Additional custom fields of the booking form. The customer must provide
2227
- * information for each field when booking the service. For example, that they
2228
- * bring their own towels or whether they use a wheelchair.
2229
- *
2230
- * Max: 100 fields
2535
+ * Booking ID.
2536
+ * @format GUID
2231
2537
  */
2232
- additionalFields?: CustomFormField[];
2538
+ bookingId?: string | null;
2539
+ /** Booking entity. */
2540
+ booking?: Booking;
2541
+ }
2542
+ export interface RescheduleMultiServiceBookingRequest {
2233
2543
  /**
2234
- * Total number of participants. Available only when the service doesn't have
2235
- * [variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).
2236
- *
2237
- * Max: `20`
2544
+ * ID of the multi service booking to reschedule.
2545
+ * @format GUID
2238
2546
  */
2239
- numberOfParticipants?: number | null;
2547
+ multiServiceBookingId: string | null;
2548
+ /** Information about the single-service bookings to reschedule. */
2549
+ rescheduleBookingsInfo: RescheduleBookingInfo[];
2240
2550
  /**
2241
- * Internal business note. Not visible to the customer.
2242
- *
2243
- * Max: 200 characters
2551
+ * Information about whether to notify the customer and
2552
+ * the message to send.
2244
2553
  */
2245
- internalBusinessNote?: string | null;
2554
+ participantNotification?: ParticipantNotification;
2246
2555
  /**
2247
- * Payment option the customer intends to use.
2248
- * Must be one of the payment options defined for the service, unless
2249
- * you pass `flowControlSettings.skipSelectedPaymentOptionValidation` as `true`.
2556
+ * Information about whether specific procedures of the standard Wix Bookings
2557
+ * rescheduling flow are changed. For example, whether the availability of
2558
+ * the new slot is checked before rescheduling the booking or if you can
2559
+ * reschedule the booking even though the rescheduling policy doesn't allow it.
2250
2560
  */
2251
- selectedPaymentOption?: SelectedPaymentOption;
2561
+ flowControlSettings?: RescheduleBookingFlowControlSettings;
2562
+ /** Whether to return the rescheduled bookings entities. */
2563
+ returnFullEntity?: boolean;
2564
+ }
2565
+ export interface RescheduleBookingInfo extends RescheduleBookingInfoParticipantsInfoOneOf {
2252
2566
  /**
2253
- * Identifies the source (platform, actor and app) that created this booking.
2254
- * This property of the booking cannot be changed.
2255
- * The app_def_id and app_name will be resolved automatically.
2256
- * TODO GAP See if we need this - might be able to get this data from the headers?
2567
+ * Total number of participants. Available only for services with variants.
2568
+ * Specify when all participants book the same variant.
2257
2569
  */
2258
- bookingSource?: BookingSource;
2570
+ totalParticipants?: number;
2259
2571
  /**
2260
- * A user identifier of an external application user that initiated the book request.
2261
- * Allows an external application to later identify its own bookings and correlate to its own internal users
2572
+ * Information about the service choices to book. Available only for services with
2573
+ * variants.
2574
+ * Specify when not all participants book the same variant.
2262
2575
  */
2263
- externalUserId?: string | null;
2264
- /** Information about a message to send to the customer. */
2265
- participantNotification?: ParticipantNotification;
2576
+ participantsChoices?: ParticipantChoices;
2266
2577
  /**
2267
- * Whether to send an SMS reminder to the customer 24 hours before the
2268
- * session starts. The phone number is taken from `contactDetails.phone`.
2269
- *
2270
- * Default: `true`.
2578
+ * ID of the booking to reschedule.
2579
+ * @format GUID
2271
2580
  */
2272
- sendSmsReminder?: boolean | null;
2581
+ bookingId?: string | null;
2582
+ /** Information about the new slot. */
2583
+ slot?: V2Slot;
2273
2584
  /**
2274
- * Information about whether specific procedures of the standard Wix Bookings
2275
- * creation flow are changed. For example, whether the availability is
2276
- * checked before creating the booking or if additional payment options are
2277
- * accepted.
2585
+ * Revision number, which increments by 1 each time the booking is updated.
2586
+ * To prevent conflicting changes, the current revision must be specified when
2587
+ * managing the booking.
2278
2588
  */
2279
- flowControlSettings?: CreateBookingRequestFlowControlSettings;
2589
+ revision?: string | null;
2280
2590
  }
2281
2591
  /** @oneof */
2282
- export interface V2CreateBookingRequestBookableItemOneOf {
2592
+ export interface RescheduleBookingInfoParticipantsInfoOneOf {
2283
2593
  /**
2284
- * Information about the slot to create a booking for.
2285
- * If you set `slot.location.locationType` to `CUSTOM`, the created slot's
2286
- * location is set to `slot.location.formattedAddress` when provided.
2287
- * Otherwise it's set to `contactDetails.fullAddress.formattedAddress`.
2594
+ * Total number of participants. Available only for services with variants.
2595
+ * Specify when all participants book the same variant.
2288
2596
  */
2289
- slot?: Slot;
2290
- /** Information about the schedule to create a booking for. */
2291
- schedule?: BookedSchedule;
2292
- }
2293
- /** @oneof */
2294
- export interface V2CreateBookingRequestParticipantsInfoOneOf {
2295
- }
2296
- export interface Slot {
2597
+ totalParticipants?: number;
2297
2598
  /**
2298
- * ID for the slot's corresponding session, when the session is either a single session
2299
- * or a specific session generated from a recurring session.
2300
- *
2301
- * Deprecated. Please use `eventId` instead.
2302
- * @deprecated ID for the slot's corresponding session, when the session is either a single session
2303
- * or a specific session generated from a recurring session.
2304
- *
2305
- * Deprecated. Please use `eventId` instead.
2306
- * @replacedBy event_id
2307
- * @targetRemovalDate 2025-09-30
2599
+ * Information about the service choices to book. Available only for services with
2600
+ * variants.
2601
+ * Specify when not all participants book the same variant.
2308
2602
  */
2309
- sessionId?: string | null;
2310
- /** Service ID. */
2311
- serviceId?: string;
2312
- /** Schedule ID. */
2313
- scheduleId?: string;
2603
+ participantsChoices?: ParticipantChoices;
2604
+ }
2605
+ export interface RescheduleMultiServiceBookingResponse {
2606
+ /** Rescheduled multi-service booking. */
2607
+ multiServiceBooking?: MultiServiceBooking;
2608
+ }
2609
+ export interface GetMultiServiceBookingAvailabilityRequest {
2314
2610
  /**
2315
- * The start time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)
2316
- * format.
2317
- *
2318
- * If `timezone` is specified,
2319
- * dates are based on the local date/time. This means that the timezone offset
2320
- * in the `start_date` is ignored.
2611
+ * ID of the multi-service booking to retrieve.
2612
+ * @format GUID
2321
2613
  */
2322
- startDate?: string | null;
2614
+ multiServiceBookingId: string | null;
2615
+ }
2616
+ export interface GetMultiServiceBookingAvailabilityResponse {
2617
+ /** Whether all contained single-service bookings are bookable. */
2618
+ bookable?: boolean;
2619
+ /** Total number of spots. */
2620
+ totalCapacity?: number | null;
2621
+ /** Number of open spots. */
2622
+ remainingCapacity?: number | null;
2623
+ /** Indicators for policy violations of the multi service booking. */
2624
+ policyViolations?: BookingPolicyViolations;
2625
+ /** Multi-service booking policy settings. */
2626
+ policySettings?: BookingPolicySettings;
2627
+ /** Info of the bookings this availability was calculated for. */
2628
+ multiServiceBookingInfo?: GetMultiServiceBookingAvailabilityResponseBookingInfo[];
2629
+ }
2630
+ export interface GetMultiServiceBookingAvailabilityResponseBookingInfo {
2323
2631
  /**
2324
- * The end time of this slot in
2325
- * [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339) format.
2326
- *
2327
- * If `timezone` is specified,
2328
- * dates are based on the local date/time. This means that the timezone offset
2329
- * in the `end_date` is ignored.
2632
+ * Booking ID.
2633
+ * @format GUID
2330
2634
  */
2331
- endDate?: string | null;
2635
+ bookingId?: string | null;
2636
+ }
2637
+ export interface CancelMultiServiceBookingRequest {
2332
2638
  /**
2333
- * The timezone for which slot availability is to be calculated.
2334
- *
2335
- * Learn more about [handling Daylight Savings Time (DST) for local time zones](https://dev.wix.com/api/rest/wix-bookings/availability-calendar/query-availability#wix-bookings_availability-calendar_query-availability_handling-daylight-savings-time-dst-for-local-time-zones)
2336
- * when calculating availability.
2639
+ * ID of the multi-service booking to cancel.
2640
+ * @format GUID
2337
2641
  */
2338
- timezone?: string | null;
2642
+ multiServiceBookingId: string | null;
2339
2643
  /**
2340
- * The resource required for this slot. Currently, the only supported resource
2341
- * is the relevant staff member for the slot.
2644
+ * Information about whether to notify the customer and
2645
+ * the message to send.
2342
2646
  */
2343
- resource?: SlotResource;
2344
- /** Geographic location of the slot. */
2345
- location?: Location;
2647
+ participantNotification?: ParticipantNotification;
2346
2648
  /**
2347
- * ID for the slot's corresponding event, when the event is either a single event
2348
- * or a specific event generated from a recurring event.
2649
+ * Information about whether specific procedures of the standard Wix Bookings
2650
+ * cancellation flow are changed. For example, whether you can cancel
2651
+ * a booking even though the cancellation policy doesn't allow it or whether
2652
+ * to issue a refund.
2349
2653
  */
2350
- eventId?: string | null;
2654
+ flowControlSettings?: CancelBookingFlowControlSettings;
2655
+ /** Whether to return the canceled single-service bookings. */
2656
+ returnFullEntity?: boolean;
2351
2657
  }
2352
- export interface SlotResource {
2658
+ export interface CancelMultiServiceBookingResponse {
2659
+ /** Canceled multi-service booking. */
2660
+ multiServiceBooking?: MultiServiceBooking;
2661
+ }
2662
+ export interface MarkMultiServiceBookingAsPendingRequest {
2353
2663
  /**
2354
- * Resource ID.
2355
- * @readonly
2664
+ * ID of the multi-service booking to mark as `PENDING`.
2665
+ * @format GUID
2356
2666
  */
2357
- id?: string | null;
2358
- /** Resource name. Read only. */
2359
- name?: string | null;
2360
- }
2361
- export interface CreateBookingRequestFlowControlSettings {
2667
+ multiServiceBookingId: string | null;
2668
+ /** Information about the single-service bookings to mark as `PENDING`. */
2669
+ markAsPendingBookingsInfo?: BookingInfo[];
2362
2670
  /**
2363
- * Whether the availability is checked before creating the booking. When
2364
- * passing `false` a booking is only created when the slot or schedule is
2365
- * available. Your app must have the `BOOKINGS.OVERRIDE_AVAILABILITY`
2366
- * permission scope when passing `true`.
2367
- *
2368
- * Default: `false`.
2671
+ * Information about whether to notify the customer and
2672
+ * the message to send.
2369
2673
  */
2370
- skipAvailabilityValidation?: boolean;
2674
+ participantNotification?: ParticipantNotification;
2371
2675
  /**
2372
- * Whether `PENDING` bookings are automatically set to `CONFIRMED` for
2373
- * services that normally require the owner's manual confirmation. Your
2374
- * app must have the `BOOKINGS.OVERRIDE_AVAILABILITY` permission scope
2375
- * when passing `true`.
2676
+ * Whether to send an SMS reminder to the customer 24 hours before the
2677
+ * session starts. The phone number is taken from `contactDetails.phone`.
2376
2678
  *
2377
- * Default: `false`.
2679
+ * Default: `true`
2378
2680
  */
2379
- skipBusinessConfirmation?: boolean;
2681
+ sendSmsReminder?: boolean | null;
2682
+ /** Whether this booking has a conflict with at least 1 other confirmed booking. */
2683
+ doubleBooked?: boolean | null;
2684
+ /** Whether to return the single-service bookings that were marked as `PENDING`. */
2685
+ returnFullEntity?: boolean;
2380
2686
  /**
2381
- * Whether customers can pay using a payment method that isn't supported
2382
- * for the service, but that's supported for other services. Your app
2383
- * must have the `BOOKINGS.MANAGE_PAYMENTS` permission scope when passing
2384
- * `true`.
2385
- *
2386
- * Default: `false`.
2687
+ * Information about whether specific procedures of the standard Wix Bookings
2688
+ * creation flow are changed. For example, whether the availability is checked
2689
+ * before updating the booking.
2387
2690
  */
2388
- skipSelectedPaymentOptionValidation?: boolean;
2389
- }
2390
- export interface V2CreateBookingResponse {
2391
- /** Created booking. */
2392
- booking?: Booking;
2691
+ flowControlSettings?: MarkBookingAsPendingFlowControlSettings;
2393
2692
  }
2394
- export interface V2CancelBookingRequest {
2395
- /** ID of the booking to cancel. */
2396
- bookingId?: string;
2693
+ export interface BookingInfo {
2397
2694
  /**
2398
- * Information about whether to notify the customer about the cancellation and
2399
- * the message to send.
2695
+ * ID of the single-service booking.
2696
+ * @format GUID
2400
2697
  */
2401
- participantNotification?: ParticipantNotification;
2698
+ bookingId?: string | null;
2402
2699
  /**
2403
2700
  * Revision number, which increments by 1 each time the booking is updated.
2404
- * To prevent conflicting changes,
2405
- * the current revision must be passed when managing the booking.
2701
+ * To prevent conflicting changes, the current revision must be specified when
2702
+ * managing the booking.
2406
2703
  */
2407
2704
  revision?: string | null;
2705
+ /** Payment status to set for the single-service booking. */
2706
+ paymentStatus?: PaymentStatus;
2408
2707
  }
2409
- export interface CancelBookingRequestFlowControlSettings {
2708
+ export interface MarkMultiServiceBookingAsPendingResponse {
2709
+ /** Updated multi-service booking. */
2710
+ multiServiceBooking?: MultiServiceBooking;
2711
+ }
2712
+ export interface ConfirmMultiServiceBookingRequest {
2410
2713
  /**
2411
- * Whether the cancellation policy applies when canceling the booking. When
2412
- * passing `false` you can only cancel a booking if the cancellation policy
2413
- * allows it. Your app must have the `BOOKINGS.IGNORE_BOOKING_POLICY `
2414
- * permission scope when passing `true`.
2415
- *
2416
- * Default: `false`.
2714
+ * ID of the multi-service booking to confirm its related bookings.
2715
+ * @format GUID
2417
2716
  */
2418
- ignoreCancellationPolicy?: boolean;
2717
+ multiServiceBookingId: string | null;
2718
+ /** Information about the single-service bookings to confirm. */
2719
+ confirmBookingsInfo?: BookingInfo[];
2419
2720
  /**
2420
- * Whether to issue a refund when canceling the booking.
2421
- * The refund will be issued only if the booking is refundable.
2422
- * Currently, booking is considered refundable when it was paid by membership.
2423
- * If passing `true`, the booking flow control settings will be set with refund,
2424
- * otherwise, either if `false` is passed or the field remains empty,
2425
- * the booking flow control settings will be set with no refund.
2721
+ * Information about whether to notify the customer and
2722
+ * the message to send.
2723
+ */
2724
+ participantNotification?: ParticipantNotification;
2725
+ /**
2726
+ * Whether to send an SMS reminder to the customer 24 hours before the
2727
+ * session starts. The phone number is taken from `contactDetails.phone`.
2426
2728
  *
2427
- * Default: `false`.
2729
+ * Default: `true`
2730
+ */
2731
+ sendSmsReminder?: boolean | null;
2732
+ /** Whether this booking has a conflict with at least 1 other confirmed booking. */
2733
+ doubleBooked?: boolean | null;
2734
+ /** Whether to return the confirmed single-service bookings. */
2735
+ returnFullEntity?: boolean;
2736
+ /**
2737
+ * Information about whether specific procedures of the standard Wix Bookings
2738
+ * confirmation flow are changed. For example, whether the availability is
2739
+ * checked before confirming the booking.
2428
2740
  */
2429
- withRefund?: boolean | null;
2741
+ flowControlSettings?: ConfirmBookingFlowControlSettings;
2430
2742
  }
2431
- export interface V2CancelBookingResponse {
2432
- /** Canceled booking. */
2433
- booking?: Booking;
2743
+ export interface ConfirmMultiServiceBookingResponse {
2744
+ /** Confirmed multi service booking. */
2745
+ multiServiceBooking?: MultiServiceBooking;
2434
2746
  }
2435
- export interface V2RescheduleBookingRequest extends V2RescheduleBookingRequestParticipantsInfoOneOf {
2436
- /** Id of the booking to reschedule. */
2437
- bookingId?: string;
2438
- /** Information about the new slot. */
2439
- slot?: Slot;
2747
+ export interface DeclineMultiServiceBookingRequest {
2440
2748
  /**
2441
- * Revision number, which increments by 1 each time the booking is updated.
2442
- * To prevent conflicting changes, the current revision must be passed when
2443
- * managing the booking.
2749
+ * ID of the multi service booking to decline.
2750
+ * @format GUID
2444
2751
  */
2445
- revision?: string | null;
2752
+ multiServiceBookingId: string | null;
2753
+ /** Information about the single-service bookings to decline. */
2754
+ declineBookingsInfo?: BookingInfo[];
2446
2755
  /**
2447
- * Information about whether to notify the customer about the rescheduling and
2756
+ * Information about whether to notify the customer and
2448
2757
  * the message to send.
2449
2758
  */
2450
2759
  participantNotification?: ParticipantNotification;
2760
+ /** Whether this booking has a conflict with at least 1 other confirmed booking. */
2761
+ doubleBooked?: boolean | null;
2762
+ /** Whether to return the declined single-service bookings. */
2763
+ returnFullEntity?: boolean;
2764
+ /**
2765
+ * Information about whether specific procedures of the standard Wix Bookings
2766
+ * declining flow are changed. For example, whether to issue a refund.
2767
+ */
2768
+ flowControlSettings?: DeclineBookingFlowControlSettings;
2451
2769
  }
2452
- /** @oneof */
2453
- export interface V2RescheduleBookingRequestParticipantsInfoOneOf {
2770
+ export interface DeclineMultiServiceBookingResponse {
2771
+ /** Declined multi-service booking. */
2772
+ multiServiceBooking?: MultiServiceBooking;
2454
2773
  }
2455
- export interface RescheduleBookingRequestFlowControlSettings {
2774
+ export interface BulkGetMultiServiceBookingAllowedActionsRequest {
2456
2775
  /**
2457
- * Whether the rescheduling policy applies when rescheduling the booking.
2458
- * When passing `false` you can only cancel a booking if the rescheduling
2459
- * policy allows it. Your app must have the `BOOKINGS.IGNORE_BOOKING_POLICY `
2460
- * permission scope when passing `true`.
2461
- *
2462
- * Default: `false`.
2776
+ * IDs of the multi-service bookings to retrieve allowed actions for.
2777
+ * @format GUID
2778
+ * @minSize 1
2779
+ * @maxSize 50
2463
2780
  */
2464
- ignoreReschedulePolicy?: boolean;
2781
+ multiServiceBookingIds: string[] | null;
2782
+ }
2783
+ export interface BulkGetMultiServiceBookingAllowedActionsResponse {
2465
2784
  /**
2466
- * Whether the availability is checked before rescheduling the booking.
2467
- * When passing `false` a booking is only created when the slot or
2468
- * schedule is available. Your app must have the `BOOKINGS.OVERRIDE_AVAILABILITY`
2469
- * permission scope when passing `true`.
2470
- *
2471
- * Default: `false`.
2785
+ * Information about the multi-service bookings that were retrieved.
2786
+ * Including their ID, index in the bulk request and whether they were
2787
+ * successfully updated.
2472
2788
  */
2473
- skipAvailabilityValidation?: boolean;
2789
+ results?: BulkCalculateAllowedActionsResult[];
2790
+ /** Total number of successes and failures for Bulk Update Bookings. */
2791
+ bulkActionMetadata?: BulkActionMetadata;
2792
+ }
2793
+ export interface GetMultiServiceBookingRequest {
2474
2794
  /**
2475
- * Whether the rescheduled booking's status is automatically set to
2476
- * `CONFIRMED` for services that normally require the owner's manual
2477
- * confirmation. Your app must have the `BOOKINGS.OVERRIDE_AVAILABILITY`
2478
- * permission scope when passing `true`.
2479
- *
2480
- * Default: `false`.
2795
+ * ID of the multi-service booking.
2796
+ * @format GUID
2481
2797
  */
2482
- skipBusinessConfirmation?: boolean;
2798
+ multiServiceBookingId: string | null;
2483
2799
  }
2484
- export interface V2RescheduleBookingResponse {
2485
- /** Rescheduled booking. */
2486
- booking?: Booking;
2800
+ export interface GetMultiServiceBookingResponse {
2801
+ /** Retrieved multi-service booking. */
2802
+ multiServiceBooking?: MultiServiceBooking;
2803
+ /** Details about how many single-service bookings belong to the multi-service booking. */
2804
+ metadata?: MultiServiceBookingMetadata;
2487
2805
  }
2488
- export interface V2ConfirmBookingRequest {
2489
- /** ID of the booking to confirm. */
2490
- bookingId?: string;
2491
- /**
2492
- * Revision number, which increments by 1 each time the booking is updated.
2493
- * To prevent conflicting changes, the current revision must be passed when
2494
- * managing the booking.
2495
- */
2496
- revision?: string | null;
2806
+ export interface MultiServiceBookingMetadata {
2497
2807
  /**
2498
- * Information about whether to notify the customer about the confirmation and
2499
- * the message to send.
2808
+ * Total number of `CONFIRMED` and `PENDING` single-service bookings belonging
2809
+ * to the multi-service booking. The total includes the number of single-service
2810
+ * bookings which couldn't be retrieved due to lack of permissions.
2500
2811
  */
2501
- participantNotification?: ParticipantNotification;
2502
- }
2503
- export interface V2ConfirmBookingResponse {
2504
- booking?: Booking;
2812
+ totalNumberOfScheduledBookings?: number | null;
2505
2813
  }
2506
- export interface V2DeclineBookingRequest {
2507
- /** ID of the booking to decline. */
2508
- bookingId?: string;
2814
+ export interface AddBookingsToMultiServiceBookingRequest {
2509
2815
  /**
2510
- * Revision number, which increments by 1 each time the booking is updated.
2511
- * To prevent conflicting changes, the current revision must be passed when
2512
- * managing the booking.
2816
+ * ID of the multi-service booking.
2817
+ * @format GUID
2513
2818
  */
2514
- revision?: string | null;
2819
+ multiServiceBookingId: string | null;
2515
2820
  /**
2516
- * Information about whether to notify the customer about the decline and
2517
- * the message to send.
2821
+ * List of single-service booking IDs and their revision.
2822
+ * @maxSize 8
2518
2823
  */
2519
- participantNotification?: ParticipantNotification;
2520
- }
2521
- export interface V2DeclineBookingResponse {
2522
- /** Declined booking. */
2523
- booking?: Booking;
2824
+ bookings: BookingIdAndRevision[];
2825
+ /** Whether to return the single-service bookings that were added to the multi-service booking. */
2826
+ returnFullEntity?: boolean;
2524
2827
  }
2525
- export interface V2UpdateNumberOfParticipantsRequest extends V2UpdateNumberOfParticipantsRequestParticipantsInfoOneOf {
2526
- /** ID of the booking to update the number of participants for. */
2527
- bookingId?: string;
2528
- /** Updated number of participants. */
2529
- numberOfParticipants?: number | null;
2828
+ export interface BookingIdAndRevision {
2829
+ /**
2830
+ * ID of the booking.
2831
+ * @format GUID
2832
+ */
2833
+ bookingId?: string | null;
2530
2834
  /**
2531
2835
  * Revision number, which increments by 1 each time the booking is updated.
2532
- * To prevent conflicting changes, the current revision must be passed when
2836
+ * To prevent conflicting changes, the current revision must be specified when
2533
2837
  * managing the booking.
2534
2838
  */
2535
2839
  revision?: string | null;
2536
2840
  }
2537
- /** @oneof */
2538
- export interface V2UpdateNumberOfParticipantsRequestParticipantsInfoOneOf {
2841
+ export interface AddBookingsToMultiServiceBookingResponse {
2842
+ /** Single-service bookings that were added to the multi-service booking. */
2843
+ bookings?: BookingResult[];
2539
2844
  }
2540
- export interface V2UpdateNumberOfParticipantsResponse {
2541
- /** Booking with updated number of participants. */
2542
- booking?: Booking;
2845
+ export interface RemoveBookingsFromMultiServiceBookingRequest {
2846
+ /**
2847
+ * ID of the multi-service booking.
2848
+ * @format GUID
2849
+ */
2850
+ multiServiceBookingId: string | null;
2851
+ /**
2852
+ * List of single-service booking IDs and their revision.
2853
+ * @maxSize 8
2854
+ */
2855
+ bookings?: BookingIdAndRevision[];
2856
+ /** Whether to return the single-service bookings. */
2857
+ returnFullEntity?: boolean;
2858
+ }
2859
+ export interface RemoveBookingsFromMultiServiceBookingResponse {
2860
+ /** Single-service bookings that were removed from the multi-service booking. */
2861
+ bookings?: BookingResult[];
2543
2862
  }
2544
2863
  interface DurationNonNullableFields {
2545
2864
  minutes: number;
@@ -2634,33 +2953,9 @@ interface BookingNonNullableFields {
2634
2953
  flowControlSettings?: FlowControlSettingsNonNullableFields;
2635
2954
  multiServiceBookingInfo?: MultiServiceBookingInfoNonNullableFields;
2636
2955
  }
2637
- interface BookingResultNonNullableFields {
2956
+ export interface ConfirmOrDeclineBookingResponseNonNullableFields {
2638
2957
  booking?: BookingNonNullableFields;
2639
2958
  }
2640
- interface MultiServiceBookingNonNullableFields {
2641
- bookings: BookingResultNonNullableFields[];
2642
- }
2643
- export interface CreateMultiServiceBookingResponseNonNullableFields {
2644
- multiServiceBooking?: MultiServiceBookingNonNullableFields;
2645
- }
2646
- export interface RescheduleMultiServiceBookingResponseNonNullableFields {
2647
- multiServiceBooking?: MultiServiceBookingNonNullableFields;
2648
- }
2649
- export interface GetMultiServiceBookingAvailabilityResponseNonNullableFields {
2650
- bookable: boolean;
2651
- }
2652
- export interface CancelMultiServiceBookingResponseNonNullableFields {
2653
- multiServiceBooking?: MultiServiceBookingNonNullableFields;
2654
- }
2655
- export interface MarkMultiServiceBookingAsPendingResponseNonNullableFields {
2656
- multiServiceBooking?: MultiServiceBookingNonNullableFields;
2657
- }
2658
- export interface ConfirmMultiServiceBookingResponseNonNullableFields {
2659
- multiServiceBooking?: MultiServiceBookingNonNullableFields;
2660
- }
2661
- export interface DeclineMultiServiceBookingResponseNonNullableFields {
2662
- multiServiceBooking?: MultiServiceBookingNonNullableFields;
2663
- }
2664
2959
  interface ApplicationErrorNonNullableFields {
2665
2960
  code: string;
2666
2961
  description: string;
@@ -2670,40 +2965,22 @@ interface ItemMetadataNonNullableFields {
2670
2965
  success: boolean;
2671
2966
  error?: ApplicationErrorNonNullableFields;
2672
2967
  }
2673
- interface AllowedActionsNonNullableFields {
2674
- cancel: boolean;
2675
- reschedule: boolean;
2676
- bookAnother: boolean;
2677
- }
2678
- interface BulkCalculateAllowedActionsResultNonNullableFields {
2968
+ interface BulkBookingResultNonNullableFields {
2679
2969
  itemMetadata?: ItemMetadataNonNullableFields;
2680
- item?: AllowedActionsNonNullableFields;
2970
+ item?: BookingNonNullableFields;
2681
2971
  }
2682
2972
  interface BulkActionMetadataNonNullableFields {
2683
2973
  totalSuccesses: number;
2684
2974
  totalFailures: number;
2685
2975
  undetailedFailures: number;
2686
2976
  }
2687
- export interface BulkGetMultiServiceBookingAllowedActionsResponseNonNullableFields {
2688
- results: BulkCalculateAllowedActionsResultNonNullableFields[];
2977
+ export interface BulkConfirmOrDeclineBookingResponseNonNullableFields {
2978
+ results: BulkBookingResultNonNullableFields[];
2689
2979
  bulkActionMetadata?: BulkActionMetadataNonNullableFields;
2690
2980
  }
2691
- export interface GetMultiServiceBookingResponseNonNullableFields {
2692
- multiServiceBooking?: MultiServiceBookingNonNullableFields;
2693
- }
2694
- export interface AddBookingsToMultiServiceBookingResponseNonNullableFields {
2695
- bookings: BookingResultNonNullableFields[];
2696
- }
2697
- export interface RemoveBookingsFromMultiServiceBookingResponseNonNullableFields {
2698
- bookings: BookingResultNonNullableFields[];
2699
- }
2700
2981
  export interface CreateBookingResponseNonNullableFields {
2701
2982
  booking?: BookingNonNullableFields;
2702
2983
  }
2703
- interface BulkBookingResultNonNullableFields {
2704
- itemMetadata?: ItemMetadataNonNullableFields;
2705
- item?: BookingNonNullableFields;
2706
- }
2707
2984
  export interface BulkCreateBookingResponseNonNullableFields {
2708
2985
  results: BulkBookingResultNonNullableFields[];
2709
2986
  bulkActionMetadata?: BulkActionMetadataNonNullableFields;
@@ -2726,11 +3003,53 @@ export interface CancelBookingResponseNonNullableFields {
2726
3003
  export interface UpdateNumberOfParticipantsResponseNonNullableFields {
2727
3004
  booking?: BookingNonNullableFields;
2728
3005
  }
2729
- export interface ConfirmOrDeclineBookingResponseNonNullableFields {
3006
+ interface BookingResultNonNullableFields {
2730
3007
  booking?: BookingNonNullableFields;
2731
3008
  }
2732
- export interface BulkConfirmOrDeclineBookingResponseNonNullableFields {
2733
- results: BulkBookingResultNonNullableFields[];
3009
+ interface MultiServiceBookingNonNullableFields {
3010
+ bookings: BookingResultNonNullableFields[];
3011
+ }
3012
+ export interface CreateMultiServiceBookingResponseNonNullableFields {
3013
+ multiServiceBooking?: MultiServiceBookingNonNullableFields;
3014
+ }
3015
+ export interface RescheduleMultiServiceBookingResponseNonNullableFields {
3016
+ multiServiceBooking?: MultiServiceBookingNonNullableFields;
3017
+ }
3018
+ export interface GetMultiServiceBookingAvailabilityResponseNonNullableFields {
3019
+ bookable: boolean;
3020
+ }
3021
+ export interface CancelMultiServiceBookingResponseNonNullableFields {
3022
+ multiServiceBooking?: MultiServiceBookingNonNullableFields;
3023
+ }
3024
+ export interface MarkMultiServiceBookingAsPendingResponseNonNullableFields {
3025
+ multiServiceBooking?: MultiServiceBookingNonNullableFields;
3026
+ }
3027
+ export interface ConfirmMultiServiceBookingResponseNonNullableFields {
3028
+ multiServiceBooking?: MultiServiceBookingNonNullableFields;
3029
+ }
3030
+ export interface DeclineMultiServiceBookingResponseNonNullableFields {
3031
+ multiServiceBooking?: MultiServiceBookingNonNullableFields;
3032
+ }
3033
+ interface AllowedActionsNonNullableFields {
3034
+ cancel: boolean;
3035
+ reschedule: boolean;
3036
+ bookAnother: boolean;
3037
+ }
3038
+ interface BulkCalculateAllowedActionsResultNonNullableFields {
3039
+ itemMetadata?: ItemMetadataNonNullableFields;
3040
+ item?: AllowedActionsNonNullableFields;
3041
+ }
3042
+ export interface BulkGetMultiServiceBookingAllowedActionsResponseNonNullableFields {
3043
+ results: BulkCalculateAllowedActionsResultNonNullableFields[];
2734
3044
  bulkActionMetadata?: BulkActionMetadataNonNullableFields;
2735
3045
  }
3046
+ export interface GetMultiServiceBookingResponseNonNullableFields {
3047
+ multiServiceBooking?: MultiServiceBookingNonNullableFields;
3048
+ }
3049
+ export interface AddBookingsToMultiServiceBookingResponseNonNullableFields {
3050
+ bookings: BookingResultNonNullableFields[];
3051
+ }
3052
+ export interface RemoveBookingsFromMultiServiceBookingResponseNonNullableFields {
3053
+ bookings: BookingResultNonNullableFields[];
3054
+ }
2736
3055
  export {};