@wix/auto_sdk_bookings_bookings 1.0.24 → 1.0.26

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 (129) hide show
  1. package/build/{es/src/bookings-v2-booking-bookings.types.d.ts → bookings-v2-booking-bookings.universal-BEUtU-41.d.mts} +668 -260
  2. package/build/{cjs/src/bookings-v2-booking-bookings.types.d.ts → bookings-v2-booking-bookings.universal-BEUtU-41.d.ts} +668 -260
  3. package/build/{es/src/bookings-v2-booking-bookings.public.d.ts → index.d.mts} +84 -34
  4. package/build/{internal/cjs/src/bookings-v2-booking-bookings.public.d.ts → index.d.ts} +84 -34
  5. package/build/index.js +2387 -0
  6. package/build/index.js.map +1 -0
  7. package/build/index.mjs +2323 -0
  8. package/build/index.mjs.map +1 -0
  9. package/build/internal/{cjs/src/bookings-v2-booking-bookings.types.d.ts → bookings-v2-booking-bookings.universal-BEUtU-41.d.mts} +668 -260
  10. package/build/internal/{es/src/bookings-v2-booking-bookings.types.d.ts → bookings-v2-booking-bookings.universal-BEUtU-41.d.ts} +668 -260
  11. package/build/{cjs/src/bookings-v2-booking-bookings.public.d.ts → internal/index.d.mts} +84 -34
  12. package/build/internal/{es/src/bookings-v2-booking-bookings.public.d.ts → index.d.ts} +84 -34
  13. package/build/internal/index.js +2387 -0
  14. package/build/internal/index.js.map +1 -0
  15. package/build/internal/index.mjs +2323 -0
  16. package/build/internal/index.mjs.map +1 -0
  17. package/build/internal/meta.d.mts +1666 -0
  18. package/build/internal/meta.d.ts +1666 -0
  19. package/build/internal/meta.js +1522 -0
  20. package/build/internal/meta.js.map +1 -0
  21. package/build/internal/meta.mjs +1475 -0
  22. package/build/internal/meta.mjs.map +1 -0
  23. package/build/meta.d.mts +1666 -0
  24. package/build/meta.d.ts +1666 -0
  25. package/build/meta.js +1522 -0
  26. package/build/meta.js.map +1 -0
  27. package/build/meta.mjs +1475 -0
  28. package/build/meta.mjs.map +1 -0
  29. package/package.json +13 -12
  30. package/build/cjs/index.d.ts +0 -1
  31. package/build/cjs/index.js +0 -18
  32. package/build/cjs/index.js.map +0 -1
  33. package/build/cjs/index.typings.d.ts +0 -1
  34. package/build/cjs/index.typings.js +0 -18
  35. package/build/cjs/index.typings.js.map +0 -1
  36. package/build/cjs/meta.d.ts +0 -1
  37. package/build/cjs/meta.js +0 -18
  38. package/build/cjs/meta.js.map +0 -1
  39. package/build/cjs/src/bookings-v2-booking-bookings.context.d.ts +0 -61
  40. package/build/cjs/src/bookings-v2-booking-bookings.context.js +0 -77
  41. package/build/cjs/src/bookings-v2-booking-bookings.context.js.map +0 -1
  42. package/build/cjs/src/bookings-v2-booking-bookings.http.d.ts +0 -510
  43. package/build/cjs/src/bookings-v2-booking-bookings.http.js +0 -1579
  44. package/build/cjs/src/bookings-v2-booking-bookings.http.js.map +0 -1
  45. package/build/cjs/src/bookings-v2-booking-bookings.meta.d.ts +0 -61
  46. package/build/cjs/src/bookings-v2-booking-bookings.meta.js +0 -427
  47. package/build/cjs/src/bookings-v2-booking-bookings.meta.js.map +0 -1
  48. package/build/cjs/src/bookings-v2-booking-bookings.public.js +0 -313
  49. package/build/cjs/src/bookings-v2-booking-bookings.public.js.map +0 -1
  50. package/build/cjs/src/bookings-v2-booking-bookings.types.js +0 -165
  51. package/build/cjs/src/bookings-v2-booking-bookings.types.js.map +0 -1
  52. package/build/cjs/src/bookings-v2-booking-bookings.universal.d.ts +0 -4333
  53. package/build/cjs/src/bookings-v2-booking-bookings.universal.js +0 -1654
  54. package/build/cjs/src/bookings-v2-booking-bookings.universal.js.map +0 -1
  55. package/build/es/index.d.ts +0 -1
  56. package/build/es/index.js +0 -2
  57. package/build/es/index.js.map +0 -1
  58. package/build/es/index.typings.d.ts +0 -1
  59. package/build/es/index.typings.js +0 -2
  60. package/build/es/index.typings.js.map +0 -1
  61. package/build/es/meta.d.ts +0 -1
  62. package/build/es/meta.js +0 -2
  63. package/build/es/meta.js.map +0 -1
  64. package/build/es/src/bookings-v2-booking-bookings.context.d.ts +0 -61
  65. package/build/es/src/bookings-v2-booking-bookings.context.js +0 -61
  66. package/build/es/src/bookings-v2-booking-bookings.context.js.map +0 -1
  67. package/build/es/src/bookings-v2-booking-bookings.http.d.ts +0 -510
  68. package/build/es/src/bookings-v2-booking-bookings.http.js +0 -1555
  69. package/build/es/src/bookings-v2-booking-bookings.http.js.map +0 -1
  70. package/build/es/src/bookings-v2-booking-bookings.meta.d.ts +0 -61
  71. package/build/es/src/bookings-v2-booking-bookings.meta.js +0 -380
  72. package/build/es/src/bookings-v2-booking-bookings.meta.js.map +0 -1
  73. package/build/es/src/bookings-v2-booking-bookings.public.js +0 -276
  74. package/build/es/src/bookings-v2-booking-bookings.public.js.map +0 -1
  75. package/build/es/src/bookings-v2-booking-bookings.types.js +0 -162
  76. package/build/es/src/bookings-v2-booking-bookings.types.js.map +0 -1
  77. package/build/es/src/bookings-v2-booking-bookings.universal.d.ts +0 -4333
  78. package/build/es/src/bookings-v2-booking-bookings.universal.js +0 -1607
  79. package/build/es/src/bookings-v2-booking-bookings.universal.js.map +0 -1
  80. package/build/internal/cjs/index.d.ts +0 -1
  81. package/build/internal/cjs/index.js +0 -18
  82. package/build/internal/cjs/index.js.map +0 -1
  83. package/build/internal/cjs/index.typings.d.ts +0 -1
  84. package/build/internal/cjs/index.typings.js +0 -18
  85. package/build/internal/cjs/index.typings.js.map +0 -1
  86. package/build/internal/cjs/meta.d.ts +0 -1
  87. package/build/internal/cjs/meta.js +0 -18
  88. package/build/internal/cjs/meta.js.map +0 -1
  89. package/build/internal/cjs/src/bookings-v2-booking-bookings.context.d.ts +0 -61
  90. package/build/internal/cjs/src/bookings-v2-booking-bookings.context.js +0 -77
  91. package/build/internal/cjs/src/bookings-v2-booking-bookings.context.js.map +0 -1
  92. package/build/internal/cjs/src/bookings-v2-booking-bookings.http.d.ts +0 -510
  93. package/build/internal/cjs/src/bookings-v2-booking-bookings.http.js +0 -1579
  94. package/build/internal/cjs/src/bookings-v2-booking-bookings.http.js.map +0 -1
  95. package/build/internal/cjs/src/bookings-v2-booking-bookings.meta.d.ts +0 -61
  96. package/build/internal/cjs/src/bookings-v2-booking-bookings.meta.js +0 -427
  97. package/build/internal/cjs/src/bookings-v2-booking-bookings.meta.js.map +0 -1
  98. package/build/internal/cjs/src/bookings-v2-booking-bookings.public.js +0 -313
  99. package/build/internal/cjs/src/bookings-v2-booking-bookings.public.js.map +0 -1
  100. package/build/internal/cjs/src/bookings-v2-booking-bookings.types.js +0 -165
  101. package/build/internal/cjs/src/bookings-v2-booking-bookings.types.js.map +0 -1
  102. package/build/internal/cjs/src/bookings-v2-booking-bookings.universal.d.ts +0 -4333
  103. package/build/internal/cjs/src/bookings-v2-booking-bookings.universal.js +0 -1654
  104. package/build/internal/cjs/src/bookings-v2-booking-bookings.universal.js.map +0 -1
  105. package/build/internal/es/index.d.ts +0 -1
  106. package/build/internal/es/index.js +0 -2
  107. package/build/internal/es/index.js.map +0 -1
  108. package/build/internal/es/index.typings.d.ts +0 -1
  109. package/build/internal/es/index.typings.js +0 -2
  110. package/build/internal/es/index.typings.js.map +0 -1
  111. package/build/internal/es/meta.d.ts +0 -1
  112. package/build/internal/es/meta.js +0 -2
  113. package/build/internal/es/meta.js.map +0 -1
  114. package/build/internal/es/src/bookings-v2-booking-bookings.context.d.ts +0 -61
  115. package/build/internal/es/src/bookings-v2-booking-bookings.context.js +0 -61
  116. package/build/internal/es/src/bookings-v2-booking-bookings.context.js.map +0 -1
  117. package/build/internal/es/src/bookings-v2-booking-bookings.http.d.ts +0 -510
  118. package/build/internal/es/src/bookings-v2-booking-bookings.http.js +0 -1555
  119. package/build/internal/es/src/bookings-v2-booking-bookings.http.js.map +0 -1
  120. package/build/internal/es/src/bookings-v2-booking-bookings.meta.d.ts +0 -61
  121. package/build/internal/es/src/bookings-v2-booking-bookings.meta.js +0 -380
  122. package/build/internal/es/src/bookings-v2-booking-bookings.meta.js.map +0 -1
  123. package/build/internal/es/src/bookings-v2-booking-bookings.public.js +0 -276
  124. package/build/internal/es/src/bookings-v2-booking-bookings.public.js.map +0 -1
  125. package/build/internal/es/src/bookings-v2-booking-bookings.types.js +0 -162
  126. package/build/internal/es/src/bookings-v2-booking-bookings.types.js.map +0 -1
  127. package/build/internal/es/src/bookings-v2-booking-bookings.universal.d.ts +0 -4333
  128. package/build/internal/es/src/bookings-v2-booking-bookings.universal.js +0 -1607
  129. package/build/internal/es/src/bookings-v2-booking-bookings.universal.js.map +0 -1
@@ -0,0 +1,1666 @@
1
+ import { b8 as ConfirmOrDeclineBookingRequest$1, a as ConfirmOrDeclineBookingResponse$1, b9 as BulkConfirmOrDeclineBookingRequest$1, c as BulkConfirmOrDeclineBookingResponse$1, bf as CreateBookingRequest$1, f as CreateBookingResponse$1, bo as BulkCreateBookingRequest$1, i as BulkCreateBookingResponse$1, bp as RescheduleBookingRequest$1, j as RescheduleBookingResponse$1, bQ as ConfirmBookingRequest$1, l as ConfirmBookingResponse$1, bZ as UpdateExtendedFieldsRequest$1, m as UpdateExtendedFieldsResponse$1, b_ as DeclineBookingRequest$1, n as DeclineBookingResponse$1, c1 as CancelBookingRequest$1, p as CancelBookingResponse$1, c4 as UpdateNumberOfParticipantsRequest$1, r as UpdateNumberOfParticipantsResponse$1, cw as CreateMultiServiceBookingRequest$1, t as CreateMultiServiceBookingResponse$1, cy as RescheduleMultiServiceBookingRequest$1, w as RescheduleMultiServiceBookingResponse$1, cA as GetMultiServiceBookingAvailabilityRequest$1, G as GetMultiServiceBookingAvailabilityResponse$1, cC as CancelMultiServiceBookingRequest$1, y as CancelMultiServiceBookingResponse$1, cD as MarkMultiServiceBookingAsPendingRequest$1, z as MarkMultiServiceBookingAsPendingResponse$1, cF as ConfirmMultiServiceBookingRequest$1, E as ConfirmMultiServiceBookingResponse$1, cG as DeclineMultiServiceBookingRequest$1, H as DeclineMultiServiceBookingResponse$1, cH as BulkGetMultiServiceBookingAllowedActionsRequest$1, I as BulkGetMultiServiceBookingAllowedActionsResponse$1, cI as GetMultiServiceBookingRequest$1, cJ as GetMultiServiceBookingResponse$1, cL as AddBookingsToMultiServiceBookingRequest$1, L as AddBookingsToMultiServiceBookingResponse$1, cN as RemoveBookingsFromMultiServiceBookingRequest$1, O as RemoveBookingsFromMultiServiceBookingResponse$1 } from './bookings-v2-booking-bookings.universal-BEUtU-41.js';
2
+
3
+ /** An entity representing a scheduled appointment, class session, or course. */
4
+ interface Booking extends BookingParticipantsInfoOneOf {
5
+ /**
6
+ * Total number of participants. Available only when the relevant service
7
+ * doesn't have _variants and options_
8
+ * ([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)).
9
+ * @min 1
10
+ */
11
+ totalParticipants?: number;
12
+ /**
13
+ * Information about the booked service choices and participants.
14
+ * Available only when the booking includes multiple _service variants_
15
+ * ([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)).
16
+ */
17
+ participantsChoices?: ParticipantChoices;
18
+ /**
19
+ * Booking ID.
20
+ * @format GUID
21
+ * @readonly
22
+ */
23
+ id?: string | null;
24
+ /**
25
+ * An object describing the *slot*
26
+ * ([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))
27
+ * or *schedule*
28
+ * ([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))
29
+ * that was booked.
30
+ */
31
+ bookedEntity?: BookedEntity;
32
+ /**
33
+ * Contact details of the site visitor or *member*
34
+ * ([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))
35
+ * making the booking.
36
+ */
37
+ contactDetails?: ContactDetails;
38
+ /** Additional custom fields submitted with the booking form. */
39
+ additionalFields?: CustomFormField[];
40
+ /**
41
+ * Booking status. A booking is automatically confirmed if the service allows it
42
+ * and an eCommerce order is created. It is automatically declined if there is a
43
+ * double booking and the customer hasn't paid or is eligible for an automatic
44
+ * refund. Currently, only payments with pricing plans are automatically refundable.
45
+ */
46
+ status?: BookingStatusWithLiterals;
47
+ /**
48
+ * The payment status of the booking corresponds to the `paymentStatus` of the
49
+ * related *eCommerce order*
50
+ * ([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)),
51
+ * if one exists. All payment statuses are supported for every booking `status`.
52
+ */
53
+ paymentStatus?: PaymentStatusWithLiterals;
54
+ /**
55
+ * Payment option selected by the customer. If the customer hasn't completed their
56
+ * checkout, they may still change the payment method. Must be one of the payment
57
+ * 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)),
58
+ * unless `skipSelectedPaymentOptionValidation` is `true`.
59
+ * When undefined during an *eCommerce checkout*
60
+ * ([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)),
61
+ * Wix Bookings uses the service's default payment option
62
+ */
63
+ selectedPaymentOption?: SelectedPaymentOptionWithLiterals;
64
+ /**
65
+ * Date and time the booking was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.
66
+ * @readonly
67
+ */
68
+ createdDate?: Date | null;
69
+ /** External user ID that you can provide. */
70
+ externalUserId?: string | null;
71
+ /**
72
+ * Revision number to be used when updating, rescheduling, or cancelling the
73
+ * booking. Increments by 1 each time the booking is updated, rescheduled, or
74
+ * canceled. To prevent conflicting changes, the current revision must be
75
+ * specified when updating the booking.
76
+ */
77
+ revision?: string | null;
78
+ /**
79
+ * ID of the creator of the booking.
80
+ * If `appId` and another ID are present, the other ID takes precedence.
81
+ * @readonly
82
+ */
83
+ createdBy?: CommonIdentificationData;
84
+ /**
85
+ * The start date of the booking in `YYYY-MM-DDThh:mm:ss.sssZ` format.
86
+ * For a slot, this is the start date of the slot. For a schedule, this is the start date of the first session.
87
+ * @readonly
88
+ */
89
+ startDate?: Date | null;
90
+ /**
91
+ * The end date of the booking in `YYYY-MM-DDThh:mm:ss.sssZ` format.
92
+ * For a slot, this is the end date of the slot. For a schedule, this is the end date of the last session.
93
+ * @readonly
94
+ */
95
+ endDate?: Date | null;
96
+ /**
97
+ * Date and time the booking was updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.
98
+ * @readonly
99
+ */
100
+ updatedDate?: Date | null;
101
+ /**
102
+ * Custom field data for this object.
103
+ * Extended fields must be configured in the app dashboard before they can be accessed with API calls.
104
+ */
105
+ extendedFields?: ExtendedFields;
106
+ /**
107
+ * Whether this booking overlaps with another confirmed booking. Returned
108
+ * only if set to `true`.
109
+ * @readonly
110
+ */
111
+ doubleBooked?: boolean | null;
112
+ }
113
+ /** @oneof */
114
+ interface BookingParticipantsInfoOneOf {
115
+ /**
116
+ * Total number of participants. Available only when the relevant service
117
+ * doesn't have _variants and options_
118
+ * ([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)).
119
+ * @min 1
120
+ */
121
+ totalParticipants?: number;
122
+ /**
123
+ * Information about the booked service choices and participants.
124
+ * Available only when the booking includes multiple _service variants_
125
+ * ([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)).
126
+ */
127
+ participantsChoices?: ParticipantChoices;
128
+ }
129
+ /**
130
+ * A multi-service booking is considered available if all individual bookings are available as returned from List Multi Service Availability Time Slots.
131
+ * Currently, `SEPARATE_BOOKINGS` and `PARALLEL_BOOKINGS` are not supported.
132
+ * Multi-service booking is available if each of its bookings is available separately.
133
+ * For `SEQUENTIAL_BOOKINGS`, see `List Multi Service Availability Time Slots` documentation.
134
+ */
135
+ declare enum MultiServiceBookingType {
136
+ SEQUENTIAL_BOOKINGS = "SEQUENTIAL_BOOKINGS",
137
+ SEPARATE_BOOKINGS = "SEPARATE_BOOKINGS",
138
+ PARALLEL_BOOKINGS = "PARALLEL_BOOKINGS"
139
+ }
140
+ /** @enumType */
141
+ type MultiServiceBookingTypeWithLiterals = MultiServiceBookingType | 'SEQUENTIAL_BOOKINGS' | 'SEPARATE_BOOKINGS' | 'PARALLEL_BOOKINGS';
142
+ interface BookedEntity extends BookedEntityItemOneOf {
143
+ /**
144
+ * Booked *slot*
145
+ * ([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)).
146
+ * Available only for appointment-based services and classes.
147
+ * For appointment-based services, a new session is created, while for classes,
148
+ * the booking is automatically linked to the existing session.
149
+ */
150
+ slot?: BookedSlot;
151
+ /**
152
+ * Booked *schedule*
153
+ * ([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)).
154
+ * Available only for course bookings.
155
+ */
156
+ schedule?: BookedSchedule;
157
+ /**
158
+ * Session title at the time of booking. If there is no pre-existing session,
159
+ * for example for appointment-based services, `title` is set to the service name.
160
+ * @readonly
161
+ * @maxLength 6000
162
+ */
163
+ title?: string | null;
164
+ /**
165
+ * List of tags for the booking.
166
+ *
167
+ * - "INDIVIDUAL": For bookings of appointment-based services. Including when the appointment is for a group of participants.
168
+ * - "GROUP": For bookings of individual class sessions.
169
+ * - "COURSE": For course bookings.
170
+ */
171
+ tags?: string[] | null;
172
+ }
173
+ /** @oneof */
174
+ interface BookedEntityItemOneOf {
175
+ /**
176
+ * Booked *slot*
177
+ * ([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)).
178
+ * Available only for appointment-based services and classes.
179
+ * For appointment-based services, a new session is created, while for classes,
180
+ * the booking is automatically linked to the existing session.
181
+ */
182
+ slot?: BookedSlot;
183
+ /**
184
+ * Booked *schedule*
185
+ * ([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)).
186
+ * Available only for course bookings.
187
+ */
188
+ schedule?: BookedSchedule;
189
+ }
190
+ interface BookedSlot {
191
+ /** Session ID. */
192
+ sessionId?: string | null;
193
+ /** Service ID. */
194
+ serviceId?: string;
195
+ /** Schedule ID. */
196
+ scheduleId?: string;
197
+ /**
198
+ * ID of the corresponding *event*
199
+ * ([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)).
200
+ * Available for both appointment and class bookings, not available for course bookings.
201
+ * For appointment-based services, Wix Bookings automatically populates `eventId`
202
+ * when the booking `status` changes to `CONFIRMED`. For class bookings, it's
203
+ * automatically populated upon booking creation.
204
+ * @minLength 36
205
+ * @maxLength 250
206
+ */
207
+ eventId?: string | null;
208
+ /**
209
+ * The start time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)
210
+ * format.
211
+ */
212
+ startDate?: string | null;
213
+ /**
214
+ * The end time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)
215
+ * format.
216
+ */
217
+ endDate?: string | null;
218
+ /** The timezone according to which the slot was shown to the user when booking, and should be shown in the future. */
219
+ timezone?: string | null;
220
+ /**
221
+ * Primary *resource*
222
+ * ([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))
223
+ * for the booking. For example, the *staff member*
224
+ * ([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))
225
+ * providing the
226
+ * service.
227
+ */
228
+ resource?: BookedResource;
229
+ /** Location where the session takes place. */
230
+ location?: Location;
231
+ }
232
+ interface BookedResource {
233
+ /**
234
+ * ID of the booking's primary resource.
235
+ * @format GUID
236
+ */
237
+ id?: string;
238
+ /**
239
+ * Resource's name at the time of booking.
240
+ * @maxLength 40
241
+ */
242
+ name?: string | null;
243
+ /**
244
+ * Resource's email at the time of booking.
245
+ * @maxLength 500
246
+ */
247
+ email?: string | null;
248
+ /**
249
+ * ID of the schedule belonging to the booking's primary resource.
250
+ * @format GUID
251
+ */
252
+ scheduleId?: string | null;
253
+ }
254
+ interface Location {
255
+ /**
256
+ * Business location ID. Available only for locations that are business locations,
257
+ * meaning the `location_type` is `"OWNER_BUSINESS"`.
258
+ * @format GUID
259
+ */
260
+ id?: string | null;
261
+ /** Location name. */
262
+ name?: string | null;
263
+ /** The full address of this location. */
264
+ formattedAddress?: string | null;
265
+ /**
266
+ * The full translated address of this location.
267
+ * @maxLength 512
268
+ */
269
+ formattedAddressTranslated?: string | null;
270
+ /**
271
+ * Location type.
272
+ *
273
+ * - `"OWNER_BUSINESS"`: The business address, as set in the site’s general settings.
274
+ * - `"OWNER_CUSTOM"`: The address as set when creating the service.
275
+ * - `"CUSTOM"`: The address as set for the individual session.
276
+ */
277
+ locationType?: LocationTypeWithLiterals;
278
+ }
279
+ declare enum LocationType {
280
+ UNDEFINED = "UNDEFINED",
281
+ OWNER_BUSINESS = "OWNER_BUSINESS",
282
+ OWNER_CUSTOM = "OWNER_CUSTOM",
283
+ CUSTOM = "CUSTOM"
284
+ }
285
+ /** @enumType */
286
+ type LocationTypeWithLiterals = LocationType | 'UNDEFINED' | 'OWNER_BUSINESS' | 'OWNER_CUSTOM' | 'CUSTOM';
287
+ interface BookedSchedule {
288
+ /**
289
+ * _Schedule ID_
290
+ * ([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)).
291
+ */
292
+ scheduleId?: string;
293
+ /**
294
+ * Booked service ID.
295
+ * @format GUID
296
+ */
297
+ serviceId?: string | null;
298
+ /**
299
+ * _Location_
300
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/business-tools/locations/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/locations/introduction))
301
+ * where the schedule's sessions take place.
302
+ * @readonly
303
+ */
304
+ location?: Location;
305
+ /**
306
+ * Timezone in which the slot or session was shown to the customer when they booked.
307
+ * Also used whenever the customer reviews the booking's timing in the future.
308
+ */
309
+ timezone?: string | null;
310
+ /**
311
+ * Start time of the first session related to the booking in
312
+ * [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339) format.
313
+ * @readonly
314
+ */
315
+ firstSessionStart?: string | null;
316
+ /**
317
+ * End time of the last session related to the booking in
318
+ * [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339) format.
319
+ * @readonly
320
+ */
321
+ lastSessionEnd?: string | null;
322
+ }
323
+ interface ContactDetails {
324
+ /**
325
+ * Contact ID.
326
+ * @format GUID
327
+ */
328
+ contactId?: string | null;
329
+ /**
330
+ * Contact's first name. When populated from a standard booking form, this
331
+ * property corresponds to the `name` field.
332
+ */
333
+ firstName?: string | null;
334
+ /** Contact's last name. */
335
+ lastName?: string | null;
336
+ /**
337
+ * Contact's email. If no [contact](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/contact-object)
338
+ * with this email exist, a new contact is created.
339
+ * Used to validate coupon usage limitations per contact. If not specified,
340
+ * the coupon usage limitation will not be enforced. (Coupon usage limitation
341
+ * validation is not supported yet).
342
+ * @format EMAIL
343
+ */
344
+ email?: string | null;
345
+ /** Contact's phone number. */
346
+ phone?: string | null;
347
+ /** Contact's full address. */
348
+ fullAddress?: Address;
349
+ /**
350
+ * Contact's time zone.
351
+ * @deprecated
352
+ */
353
+ timeZone?: string | null;
354
+ /**
355
+ * Contact's country in [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
356
+ * format.
357
+ * @format COUNTRY
358
+ */
359
+ countryCode?: string | null;
360
+ }
361
+ /** Physical address */
362
+ interface Address extends AddressStreetOneOf {
363
+ /** Street name, number and apartment number. */
364
+ streetAddress?: StreetAddress;
365
+ /** Main address line, usually street and number, as free text. */
366
+ addressLine?: string | null;
367
+ /**
368
+ * Country code.
369
+ * @format COUNTRY
370
+ */
371
+ country?: string | null;
372
+ /** Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */
373
+ subdivision?: string | null;
374
+ /** City name. */
375
+ city?: string | null;
376
+ /** Zip/postal code. */
377
+ postalCode?: string | null;
378
+ /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */
379
+ addressLine2?: string | null;
380
+ /** A string containing the full address of this location. */
381
+ formattedAddress?: string | null;
382
+ /** Free text to help find the address. */
383
+ hint?: string | null;
384
+ /** Coordinates of the physical address. */
385
+ geocode?: AddressLocation;
386
+ /** Country full name. */
387
+ countryFullname?: string | null;
388
+ /** Multi-level subdivisions from top to bottom. */
389
+ subdivisions?: Subdivision[];
390
+ }
391
+ /** @oneof */
392
+ interface AddressStreetOneOf {
393
+ /** Street name, number and apartment number. */
394
+ streetAddress?: StreetAddress;
395
+ /** Main address line, usually street and number, as free text. */
396
+ addressLine?: string | null;
397
+ }
398
+ interface StreetAddress {
399
+ /** Street number. */
400
+ number?: string;
401
+ /** Street name. */
402
+ name?: string;
403
+ /** Apartment number. */
404
+ apt?: string;
405
+ }
406
+ interface AddressLocation {
407
+ /** Address latitude. */
408
+ latitude?: number | null;
409
+ /** Address longitude. */
410
+ longitude?: number | null;
411
+ }
412
+ interface Subdivision {
413
+ /** Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */
414
+ code?: string;
415
+ /** Subdivision full name. */
416
+ name?: string;
417
+ }
418
+ interface CustomFormField {
419
+ /**
420
+ * ID of the form field as defined in the form.
421
+ * @format GUID
422
+ */
423
+ id?: string;
424
+ /** Value that was submitted for this field. */
425
+ value?: string | null;
426
+ /**
427
+ * Form field's label at the time of submission.
428
+ * @readonly
429
+ */
430
+ label?: string | null;
431
+ valueType?: ValueTypeWithLiterals;
432
+ }
433
+ declare enum ValueType {
434
+ /** Short text. This is the default value type. */
435
+ SHORT_TEXT = "SHORT_TEXT",
436
+ /** Long text. */
437
+ LONG_TEXT = "LONG_TEXT",
438
+ /** A text that represents the check box value. If selected the value is `true`, otherwise `false`. */
439
+ CHECK_BOX = "CHECK_BOX"
440
+ }
441
+ /** @enumType */
442
+ type ValueTypeWithLiterals = ValueType | 'SHORT_TEXT' | 'LONG_TEXT' | 'CHECK_BOX';
443
+ /** Booking status. */
444
+ declare enum BookingStatus {
445
+ /**
446
+ * The booking was created, but the customer hasn't completed the related
447
+ * eCommerce order yet.
448
+ */
449
+ CREATED = "CREATED",
450
+ /**
451
+ * The merchant has confirmed the booking and it appears in the
452
+ * business calendar. Merchants can set up their *services*
453
+ * ([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))
454
+ * to automatically confirm all `PENDING` bookings.
455
+ */
456
+ CONFIRMED = "CONFIRMED",
457
+ /**
458
+ * The customer has canceled the booking. Depending on the relevant service's
459
+ * _policy snapshot_
460
+ * ([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))
461
+ * they may have to pay a _cancellation fee_
462
+ * ([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)).
463
+ */
464
+ CANCELED = "CANCELED",
465
+ /**
466
+ * The merchant must manually confirm the booking before it appears
467
+ * in the business calendar.
468
+ */
469
+ PENDING = "PENDING",
470
+ /** The merchant has declined the booking before the customer was charged. */
471
+ DECLINED = "DECLINED",
472
+ /**
473
+ * The booking is on a waitlist.
474
+ * Currently, you can't call Register to Waitlist
475
+ * ([REST](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings/waitlist/register-to-waitlist))
476
+ * for course or appointment bookings, even though this is supported in live sites.
477
+ * You can call Register to Waitlist only for class session bookings.
478
+ */
479
+ WAITING_LIST = "WAITING_LIST"
480
+ }
481
+ /** @enumType */
482
+ type BookingStatusWithLiterals = BookingStatus | 'CREATED' | 'CONFIRMED' | 'CANCELED' | 'PENDING' | 'DECLINED' | 'WAITING_LIST';
483
+ /**
484
+ * Payment status.
485
+ * Automatically updated when using eCommerce checkout APIs.
486
+ */
487
+ declare enum PaymentStatus {
488
+ /** Undefined payment status. */
489
+ UNDEFINED = "UNDEFINED",
490
+ /** The booking isn't paid. */
491
+ NOT_PAID = "NOT_PAID",
492
+ /** The booking is fully paid. */
493
+ PAID = "PAID",
494
+ /** The booking is partially paid. */
495
+ PARTIALLY_PAID = "PARTIALLY_PAID",
496
+ /** The booking is refunded. */
497
+ REFUNDED = "REFUNDED",
498
+ /** The booking is free of charge. */
499
+ EXEMPT = "EXEMPT"
500
+ }
501
+ /** @enumType */
502
+ type PaymentStatusWithLiterals = PaymentStatus | 'UNDEFINED' | 'NOT_PAID' | 'PAID' | 'PARTIALLY_PAID' | 'REFUNDED' | 'EXEMPT';
503
+ /**
504
+ * Selected payment option.
505
+ *
506
+ * One of the payment options offered by the service.
507
+ * This field is set when the user selects an option during booking.
508
+ * If left undefined, the payment option is resolved by the service configuration on checkout.
509
+ */
510
+ declare enum SelectedPaymentOption {
511
+ /** Undefined payment option. */
512
+ UNDEFINED = "UNDEFINED",
513
+ /** Offline payment. */
514
+ OFFLINE = "OFFLINE",
515
+ /** Online payment. */
516
+ ONLINE = "ONLINE",
517
+ /** Payment using a Wix Pricing Plan. */
518
+ MEMBERSHIP = "MEMBERSHIP",
519
+ /**
520
+ * Customers can pay only in person with a Wix Pricing Plan, while the Wix user
521
+ * must manually redeem the pricing plan in the dashboard.
522
+ */
523
+ MEMBERSHIP_OFFLINE = "MEMBERSHIP_OFFLINE"
524
+ }
525
+ /** @enumType */
526
+ type SelectedPaymentOptionWithLiterals = SelectedPaymentOption | 'UNDEFINED' | 'OFFLINE' | 'ONLINE' | 'MEMBERSHIP' | 'MEMBERSHIP_OFFLINE';
527
+ interface ParticipantNotification {
528
+ /**
529
+ * Whether to send the message about the changes to the customer.
530
+ *
531
+ * Default: `false`
532
+ */
533
+ notifyParticipants?: boolean;
534
+ /** Custom message to send to the participants about the changes to the booking. */
535
+ message?: string | null;
536
+ }
537
+ interface CommonIdentificationData extends CommonIdentificationDataIdOneOf {
538
+ /**
539
+ * ID of a site visitor that has not logged in to the site.
540
+ * @format GUID
541
+ */
542
+ anonymousVisitorId?: string;
543
+ /**
544
+ * ID of a site visitor that has logged in to the site.
545
+ * @format GUID
546
+ */
547
+ memberId?: string;
548
+ /**
549
+ * ID of a Wix user (site owner, contributor, etc.).
550
+ * @format GUID
551
+ */
552
+ wixUserId?: string;
553
+ /**
554
+ * ID of an app.
555
+ * @format GUID
556
+ */
557
+ appId?: string;
558
+ /**
559
+ * ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system.
560
+ * @format GUID
561
+ */
562
+ contactId?: string | null;
563
+ }
564
+ /** @oneof */
565
+ interface CommonIdentificationDataIdOneOf {
566
+ /**
567
+ * ID of a site visitor that has not logged in to the site.
568
+ * @format GUID
569
+ */
570
+ anonymousVisitorId?: string;
571
+ /**
572
+ * ID of a site visitor that has logged in to the site.
573
+ * @format GUID
574
+ */
575
+ memberId?: string;
576
+ /**
577
+ * ID of a Wix user (site owner, contributor, etc.).
578
+ * @format GUID
579
+ */
580
+ wixUserId?: string;
581
+ /**
582
+ * ID of an app.
583
+ * @format GUID
584
+ */
585
+ appId?: string;
586
+ }
587
+ interface ExtendedFields {
588
+ /**
589
+ * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.
590
+ * The value of each key is structured according to the schema defined when the extended fields were configured.
591
+ *
592
+ * You can only access fields for which you have the appropriate permissions.
593
+ *
594
+ * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).
595
+ */
596
+ namespaces?: Record<string, Record<string, any>>;
597
+ }
598
+ interface ParticipantChoices {
599
+ /**
600
+ * Information about the booked service choices. Includes the number of participants.
601
+ * @minSize 1
602
+ * @maxSize 20
603
+ */
604
+ serviceChoices?: ServiceChoices[];
605
+ }
606
+ interface ServiceChoices {
607
+ /**
608
+ * Number of participants for this _variant_
609
+ * ([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)).
610
+ * @min 1
611
+ */
612
+ numberOfParticipants?: number | null;
613
+ /**
614
+ * Service choices for these participants.
615
+ * @maxSize 5
616
+ */
617
+ choices?: ServiceChoice[];
618
+ }
619
+ interface ServiceChoice extends ServiceChoiceChoiceOneOf {
620
+ /**
621
+ * Value for one of the choices in the [`CustomServiceOption.choices`](https://example.com) list.
622
+ * Choices are specific values for an option the customer can choose to book. For example,
623
+ * the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.
624
+ * Each choice may have a different price.
625
+ */
626
+ custom?: string;
627
+ duration?: Duration;
628
+ /**
629
+ * ID of the corresponding option for the choice. For example, the choice `child`
630
+ * could correspond to the option `ageGroup`. In this case, `optionId` is the ID
631
+ * for the `ageGroup` option.
632
+ * @format GUID
633
+ */
634
+ optionId?: string;
635
+ }
636
+ /** @oneof */
637
+ interface ServiceChoiceChoiceOneOf {
638
+ /**
639
+ * Value for one of the choices in the [`CustomServiceOption.choices`](https://example.com) list.
640
+ * Choices are specific values for an option the customer can choose to book. For example,
641
+ * the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.
642
+ * Each choice may have a different price.
643
+ */
644
+ custom?: string;
645
+ duration?: Duration;
646
+ }
647
+ interface Duration {
648
+ /**
649
+ * Duration of the service in minutes.
650
+ * Min: 1 minute, Max: 30 days, 23 hours, and 59 minutes
651
+ * @min 1
652
+ * @max 44639
653
+ */
654
+ minutes?: number;
655
+ /**
656
+ * Name of the duration option.
657
+ * Defaults to the formatted duration e.g. "1 hour, 30 minutes".
658
+ * @maxLength 255
659
+ */
660
+ name?: string | null;
661
+ }
662
+ interface ConfirmOrDeclineBookingRequest {
663
+ /**
664
+ * ID of the booking to confirm or decline.
665
+ * @format GUID
666
+ */
667
+ bookingId: string;
668
+ /**
669
+ * Current payment status of the booking when using a custom checkout page and
670
+ * not the *eCommerce checkout*
671
+ * ([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)).
672
+ *
673
+ * The booking is declined if there is a double booking conflict and you provide
674
+ * one of these payment statuses: `UNDEFINED`, `NOT_PAID`, `REFUNDED`, or `EXEMPT`.
675
+ */
676
+ paymentStatus?: PaymentStatusWithLiterals;
677
+ }
678
+ interface ConfirmOrDeclineBookingResponse {
679
+ /** Updated booking. */
680
+ booking?: Booking;
681
+ }
682
+ interface BulkConfirmOrDeclineBookingRequest {
683
+ /**
684
+ * Bookings to confirm or decline.
685
+ * @minSize 1
686
+ * @maxSize 300
687
+ */
688
+ details: BulkConfirmOrDeclineBookingRequestBookingDetails[];
689
+ /** Whether to return the confirmed or declined booking objects. */
690
+ returnEntity?: boolean;
691
+ }
692
+ interface BulkConfirmOrDeclineBookingRequestBookingDetails {
693
+ /**
694
+ * ID of the booking to confirm or decline.
695
+ * @format GUID
696
+ */
697
+ bookingId?: string;
698
+ /**
699
+ * Current payment status of the booking when using a custom checkout page and
700
+ * not the *eCommerce checkout*
701
+ * ([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)).
702
+ *
703
+ * The booking is declined if there is a double booking conflict and you provide
704
+ * one of these payment statuses: `UNDEFINED`, `NOT_PAID`, `REFUNDED`, or `EXEMPT`.
705
+ */
706
+ paymentStatus?: PaymentStatusWithLiterals;
707
+ }
708
+ interface BulkConfirmOrDeclineBookingResponse {
709
+ /** List of confirmed or declined bookings, including metadata. */
710
+ results?: BulkBookingResult[];
711
+ /** Total successes and failures of the Bulk Confirm Or Decline call. */
712
+ bulkActionMetadata?: BulkActionMetadata;
713
+ }
714
+ interface BulkBookingResult {
715
+ /**
716
+ * Information about the booking that was created or updated.
717
+ * Including its ID, index in the bulk request and whether it was
718
+ * successfully created or updated.
719
+ */
720
+ itemMetadata?: ItemMetadata;
721
+ /**
722
+ * Created or updated booking. Available only if you requested
723
+ * to return the booking entity.
724
+ */
725
+ item?: Booking;
726
+ }
727
+ interface ItemMetadata {
728
+ /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */
729
+ id?: string | null;
730
+ /** Index of the item within the request array. Allows for correlation between request and response items. */
731
+ originalIndex?: number;
732
+ /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */
733
+ success?: boolean;
734
+ /** Details about the error in case of failure. */
735
+ error?: ApplicationError;
736
+ }
737
+ interface ApplicationError {
738
+ /** Error code. */
739
+ code?: string;
740
+ /** Description of the error. */
741
+ description?: string;
742
+ /** Data related to the error. */
743
+ data?: Record<string, any> | null;
744
+ }
745
+ interface BulkActionMetadata {
746
+ /** Number of items that were successfully processed. */
747
+ totalSuccesses?: number;
748
+ /** Number of items that couldn't be processed. */
749
+ totalFailures?: number;
750
+ /** Number of failures without details because detailed failure threshold was exceeded. */
751
+ undetailedFailures?: number;
752
+ }
753
+ interface CreateBookingRequest {
754
+ /** The booking to create. */
755
+ booking: Booking;
756
+ /**
757
+ * Information about whether to notify the customer and
758
+ * the message to send.
759
+ */
760
+ participantNotification?: ParticipantNotification;
761
+ /**
762
+ * Whether to send an SMS reminder to the customer 24 hours before the
763
+ * session starts. The phone number is taken from `contactDetails.phone`.
764
+ * Default: `true`.
765
+ */
766
+ sendSmsReminder?: boolean | null;
767
+ /**
768
+ * Whether to ignore specific standard procedures of the Wix Bookings flow.
769
+ * For example, whether to check availability when creating a booking.
770
+ */
771
+ flowControlSettings?: CreateBookingFlowControlSettings;
772
+ }
773
+ interface CreateBookingFlowControlSettings {
774
+ /**
775
+ * Whether the availability is checked before creating the booking.
776
+ *
777
+ * When passing `false`, a booking is only created when the slot or schedule is available.
778
+ * Default: `false`.
779
+ */
780
+ skipAvailabilityValidation?: boolean;
781
+ /**
782
+ * Whether `PENDING` bookings are automatically set to `CONFIRMED` for
783
+ * services that normally require the owner's manual confirmation.
784
+ *
785
+ * Your app must have the `BOOKINGS.OVERRIDE_AVAILABILITY` permission scope
786
+ * when passing `true`.
787
+ * Default: `false`.
788
+ */
789
+ skipBusinessConfirmation?: boolean;
790
+ /**
791
+ * Whether customers can pay using a payment method that isn't supported
792
+ * for the service, but that's supported for other services.
793
+ *
794
+ * Your app must have the `BOOKINGS.MANAGE_PAYMENTS` permission scope when passing
795
+ * `true`.
796
+ * Default: `false`.
797
+ */
798
+ skipSelectedPaymentOptionValidation?: boolean;
799
+ }
800
+ interface CreateBookingResponse {
801
+ /** Created booking. */
802
+ booking?: Booking;
803
+ }
804
+ interface BulkCreateBookingRequest {
805
+ /**
806
+ * Bookings to create.
807
+ *
808
+ * Max: 8 bookings
809
+ * @minSize 1
810
+ * @maxSize 8
811
+ */
812
+ createBookingsInfo: CreateBookingInfo[];
813
+ /** Whether to return the created bookings. */
814
+ returnFullEntity?: boolean;
815
+ }
816
+ interface CreateBookingInfo {
817
+ /** Booking to create. */
818
+ booking?: Booking;
819
+ /**
820
+ * Information about whether to notify the customer and
821
+ * the message to send.
822
+ */
823
+ participantNotification?: ParticipantNotification;
824
+ /**
825
+ * Whether to send an SMS reminder to the customer 24 hours before the
826
+ * session starts. The phone number is taken from `contactDetails.phone`.
827
+ * Default: `true`.
828
+ */
829
+ sendSmsReminder?: boolean | null;
830
+ /**
831
+ * Whether to ignore specific standard procedures of the Wix Bookings flow.
832
+ * For example, whether to check availability when creating a booking.
833
+ */
834
+ flowControlSettings?: CreateBookingFlowControlSettings;
835
+ }
836
+ interface BulkCreateBookingResponse {
837
+ /** List of individual Bulk Create Bookings results. */
838
+ results?: BulkBookingResult[];
839
+ /** Total number of successes and failures for Bulk Create Bookings. */
840
+ bulkActionMetadata?: BulkActionMetadata;
841
+ }
842
+ interface RescheduleBookingRequest extends RescheduleBookingRequestParticipantsInfoOneOf {
843
+ /**
844
+ * Total number of participants. Specify when all participants have booked the
845
+ * same service variant.
846
+ */
847
+ totalParticipants?: number;
848
+ /**
849
+ * Information about the service choices to book. Specify when not all
850
+ * participants have booked the same service variant.
851
+ */
852
+ participantsChoices?: ParticipantChoices;
853
+ /**
854
+ * ID of the booking to reschedule.
855
+ * @format GUID
856
+ */
857
+ bookingId: string;
858
+ /** New slot of the booking. */
859
+ slot: V2Slot;
860
+ /**
861
+ * Revision number, which increments by 1 each time the booking is rescheduled.
862
+ * To prevent conflicting changes, the current revision must be passed when
863
+ * rescheduling the booking.
864
+ */
865
+ revision: string | null;
866
+ /**
867
+ * Information about whether to notify the customer about the rescheduling and
868
+ * the message to send.
869
+ */
870
+ participantNotification?: ParticipantNotification;
871
+ /**
872
+ * Whether to ignore specific standard procedures of the Wix Bookings flow.
873
+ * For example, whether to check availability when rescheduling a booking.
874
+ */
875
+ flowControlSettings?: RescheduleBookingFlowControlSettings;
876
+ }
877
+ /** @oneof */
878
+ interface RescheduleBookingRequestParticipantsInfoOneOf {
879
+ /**
880
+ * Total number of participants. Specify when all participants have booked the
881
+ * same service variant.
882
+ */
883
+ totalParticipants?: number;
884
+ /**
885
+ * Information about the service choices to book. Specify when not all
886
+ * participants have booked the same service variant.
887
+ */
888
+ participantsChoices?: ParticipantChoices;
889
+ }
890
+ interface V2Slot {
891
+ /** Identifier for the underlying session when the session is a single session or generated from a recurring session. */
892
+ sessionId?: string | null;
893
+ /** Service identifier. Required. */
894
+ serviceId?: string;
895
+ /** Schedule identifier. Required. */
896
+ scheduleId?: string;
897
+ /** The start time of this slot (formatted according to RFC3339). */
898
+ startDate?: string | null;
899
+ /** The end time of this slot (formatted according to RFC3339). */
900
+ endDate?: string | null;
901
+ /** The timezone according to which the slot is calculated and presented. */
902
+ timezone?: string | null;
903
+ /**
904
+ * The resource required for this slot.
905
+ * When populated, the specified resource will be assigned to the slot upon confirmation according to its availability.
906
+ * When empty, if `skip_availability_validation` is `false`, a random available resource will be assigned to the slot upon confirmation.
907
+ * Otherwise, one of the service resources will be assigned to the slot randomly upon confirmation.
908
+ */
909
+ resource?: SlotSlotResource;
910
+ /** Geographic location of the slot. */
911
+ location?: SlotLocation;
912
+ /**
913
+ * Calendar event ID - not supported.
914
+ * If not empty, on all write flows (create/update), it takes priority over `sessionId`.
915
+ * So if both `sessionId` and `eventId` are provided, the `sessionId` will be based on the `eventId`.
916
+ * Otherwise, if `eventId` is empty on write flow,
917
+ * @minLength 36
918
+ * @maxLength 250
919
+ */
920
+ eventId?: string | null;
921
+ }
922
+ declare enum LocationLocationType {
923
+ /** Undefined location type. */
924
+ UNDEFINED = "UNDEFINED",
925
+ /** The business address as set in the site’s general settings. */
926
+ OWNER_BUSINESS = "OWNER_BUSINESS",
927
+ /** The address set when creating the service. */
928
+ OWNER_CUSTOM = "OWNER_CUSTOM",
929
+ /** The address set for the individual session. */
930
+ CUSTOM = "CUSTOM"
931
+ }
932
+ /** @enumType */
933
+ type LocationLocationTypeWithLiterals = LocationLocationType | 'UNDEFINED' | 'OWNER_BUSINESS' | 'OWNER_CUSTOM' | 'CUSTOM';
934
+ interface SlotSlotResource {
935
+ /**
936
+ * Resource ID.
937
+ * @format GUID
938
+ * @readonly
939
+ */
940
+ id?: string | null;
941
+ /**
942
+ * Resource name.
943
+ * @maxLength 1200
944
+ */
945
+ name?: string | null;
946
+ }
947
+ interface SlotLocation {
948
+ /**
949
+ * Business Location ID. Present if the location is a business location.
950
+ * @format GUID
951
+ */
952
+ id?: string | null;
953
+ /** Location name. */
954
+ name?: string | null;
955
+ /** A string containing the full address of this location. */
956
+ formattedAddress?: string | null;
957
+ /** Location type. */
958
+ locationType?: LocationLocationTypeWithLiterals;
959
+ }
960
+ interface RescheduleBookingFlowControlSettings {
961
+ /**
962
+ * Whether the rescheduling policy applies when rescheduling the booking.
963
+ *
964
+ * When passing `false`, you can only cancel a booking if the rescheduling
965
+ * policy allows it.
966
+ * Default: `false`.
967
+ */
968
+ ignoreReschedulePolicy?: boolean;
969
+ /**
970
+ * Whether the availability is checked before rescheduling the booking.
971
+ *
972
+ * When passing `false`, a booking is only created when the slot or
973
+ * schedule is available.
974
+ * Default: `false`.
975
+ */
976
+ skipAvailabilityValidation?: boolean;
977
+ /**
978
+ * Whether the rescheduled booking's status is automatically set to
979
+ * `CONFIRMED` for services that normally require the owner's manual
980
+ * confirmation.
981
+ * Default: `false`.
982
+ */
983
+ skipBusinessConfirmation?: boolean;
984
+ }
985
+ interface RescheduleBookingResponse {
986
+ /** Rescheduled booking. */
987
+ booking?: Booking;
988
+ }
989
+ interface ConfirmBookingRequest {
990
+ /**
991
+ * ID of the booking to confirm.
992
+ * @format GUID
993
+ */
994
+ bookingId: string;
995
+ /**
996
+ * Revision number, which increments by 1 each time the booking is updated.
997
+ * To prevent conflicting changes, the current revision must be passed when
998
+ * updating the booking.
999
+ */
1000
+ revision: string | null;
1001
+ /**
1002
+ * Information about whether to notify the customer about the confirmation and
1003
+ * the message to send.
1004
+ */
1005
+ participantNotification?: ParticipantNotification;
1006
+ /**
1007
+ * Whether to send an SMS reminder to the customer 24 hours before the
1008
+ * session starts. The phone number is taken from `contactDetails.phone`.
1009
+ */
1010
+ sendSmsReminder?: boolean | null;
1011
+ /** Payment status to set for the booking. */
1012
+ paymentStatus?: PaymentStatusWithLiterals;
1013
+ /** Whether this booking has a conflict with at least 1 other confirmed booking. */
1014
+ doubleBooked?: boolean | null;
1015
+ /**
1016
+ * Whether to ignore specific standard procedures of the Wix Bookings flow.
1017
+ * For example, whether to check availability when confirming a booking.
1018
+ */
1019
+ flowControlSettings?: ConfirmBookingFlowControlSettings;
1020
+ }
1021
+ interface ConfirmBookingFlowControlSettings {
1022
+ /**
1023
+ * Whether the availability is checked before confirming the booking.
1024
+ *
1025
+ * When specifying `false`, a booking is only updated with status `CONFIRMED`.
1026
+ * Default: `false`.
1027
+ */
1028
+ checkAvailabilityValidation?: boolean;
1029
+ }
1030
+ interface ConfirmBookingResponse {
1031
+ /** Confirmed booking. */
1032
+ booking?: Booking;
1033
+ }
1034
+ interface UpdateExtendedFieldsRequest {
1035
+ /** ID of the entity to update. */
1036
+ id: string;
1037
+ /** Identifier for the app whose extended fields are being updated. */
1038
+ namespace: string;
1039
+ /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */
1040
+ namespaceData: Record<string, any> | null;
1041
+ }
1042
+ interface UpdateExtendedFieldsResponse {
1043
+ /**
1044
+ * Updated namespace.
1045
+ * @maxLength 164
1046
+ */
1047
+ namespace?: string;
1048
+ /** Updated data. */
1049
+ namespaceData?: Record<string, any> | null;
1050
+ }
1051
+ interface DeclineBookingRequest {
1052
+ /**
1053
+ * ID of the booking to decline.
1054
+ * @format GUID
1055
+ */
1056
+ bookingId: string;
1057
+ /**
1058
+ * Revision number, which increments by 1 each time the booking is updated.
1059
+ *
1060
+ * To prevent conflicting changes, the current revision must be specified when
1061
+ * declining the booking.
1062
+ * @min 1
1063
+ */
1064
+ revision: string | null;
1065
+ /**
1066
+ * Information about whether to notify the customer and
1067
+ * the message to send.
1068
+ */
1069
+ participantNotification?: ParticipantNotification;
1070
+ /** Payment status to set for the booking. */
1071
+ paymentStatus?: PaymentStatusWithLiterals;
1072
+ /** Whether this booking has a conflict with at least 1 other confirmed booking. */
1073
+ doubleBooked?: boolean | null;
1074
+ /**
1075
+ * Whether to ignore specific standard procedures of the Wix Bookings flow.
1076
+ * For example, whether to refund a declined booking.
1077
+ */
1078
+ flowControlSettings?: DeclineBookingFlowControlSettings;
1079
+ }
1080
+ interface DeclineBookingFlowControlSettings {
1081
+ /**
1082
+ * Whether to issue a refund when declining the booking.
1083
+ *
1084
+ * The refund will be issued only if the booking is refundable.
1085
+ * Currently, a booking is considered refundable when it was paid by membership.
1086
+ * If specifying `true`, the booking flow control settings will be set with a refund.
1087
+ * If you specify `false` or an empty field,
1088
+ * the booking flow control settings are set without refund.
1089
+ *
1090
+ * Default: `false`.
1091
+ */
1092
+ withRefund?: boolean | null;
1093
+ }
1094
+ interface DeclineBookingResponse {
1095
+ /** Declined booking. */
1096
+ booking?: Booking;
1097
+ }
1098
+ interface CancelBookingRequest {
1099
+ /**
1100
+ * ID of the booking to cancel.
1101
+ * @format GUID
1102
+ */
1103
+ bookingId: string;
1104
+ /**
1105
+ * Information about whether to notify the customer about the cancellation and
1106
+ * the message to send.
1107
+ */
1108
+ participantNotification?: ParticipantNotification;
1109
+ /**
1110
+ * Whether to ignore specific standard procedures of the Wix Bookings flow.
1111
+ * For example, whether to allow a cancellation even though the service's
1112
+ * policy doesn't allow it.
1113
+ */
1114
+ flowControlSettings?: CancelBookingFlowControlSettings;
1115
+ /**
1116
+ * Revision number, which increments by 1 each time the booking is updated.
1117
+ *
1118
+ * To prevent conflicting changes, the current revision must be specified when
1119
+ * managing the booking.
1120
+ */
1121
+ revision: string | null;
1122
+ }
1123
+ interface CancelBookingFlowControlSettings {
1124
+ /**
1125
+ * Whether the cancellation policy applies when canceling the booking.
1126
+ *
1127
+ * When passing `false`, you can only cancel a booking if the cancellation policy allows it.
1128
+ * Default: `false`.
1129
+ */
1130
+ ignoreCancellationPolicy?: boolean | null;
1131
+ /**
1132
+ * Whether to issue a refund when canceling the booking.
1133
+ *
1134
+ * The refund will be issued only if the booking is refundable.
1135
+ * Currently, a booking is considered refundable when it was paid by membership.
1136
+ * If you specify `true`, the booking flow control settings is set to include a refund.
1137
+ * If `false` is specified or the field remains empty,
1138
+ * the booking flow control settings are set without refund.
1139
+ *
1140
+ * Default: `false`.
1141
+ */
1142
+ withRefund?: boolean | null;
1143
+ }
1144
+ interface CancelBookingResponse {
1145
+ /** Canceled booking. */
1146
+ booking?: Booking;
1147
+ }
1148
+ interface UpdateNumberOfParticipantsRequest extends UpdateNumberOfParticipantsRequestParticipantsInfoOneOf {
1149
+ /**
1150
+ * Total number of participants. Specify when all participants have booked the
1151
+ * same service variant.
1152
+ */
1153
+ totalParticipants?: number;
1154
+ /**
1155
+ * Information about the service choices the participants have booked. Specify
1156
+ * when not all participants have booked the same service variant.
1157
+ */
1158
+ participantsChoices?: ParticipantChoices;
1159
+ /**
1160
+ * ID of the booking to update the number of participants for.
1161
+ * @format GUID
1162
+ */
1163
+ bookingId: string;
1164
+ /**
1165
+ * Revision number, which increments by 1 each time the booking is updated.
1166
+ *
1167
+ * To prevent conflicting changes, the current revision must be specified
1168
+ * when updating the booking.
1169
+ */
1170
+ revision: string | null;
1171
+ }
1172
+ /** @oneof */
1173
+ interface UpdateNumberOfParticipantsRequestParticipantsInfoOneOf {
1174
+ /**
1175
+ * Total number of participants. Specify when all participants have booked the
1176
+ * same service variant.
1177
+ */
1178
+ totalParticipants?: number;
1179
+ /**
1180
+ * Information about the service choices the participants have booked. Specify
1181
+ * when not all participants have booked the same service variant.
1182
+ */
1183
+ participantsChoices?: ParticipantChoices;
1184
+ }
1185
+ interface UpdateNumberOfParticipantsResponse {
1186
+ /** Updated booking. */
1187
+ booking?: Booking;
1188
+ }
1189
+ interface BulkCalculateAllowedActionsResult {
1190
+ /** Metadata for the booking. Including ID, index in the provided sequence, success status, and error. */
1191
+ itemMetadata?: ItemMetadata;
1192
+ /** Booking entity. */
1193
+ item?: AllowedActions;
1194
+ }
1195
+ /** Possible actions allowed for the booking. */
1196
+ interface AllowedActions {
1197
+ /** Whether canceling the booking is allowed. */
1198
+ cancel?: boolean;
1199
+ /** Whether rescheduling the booking is allowed. */
1200
+ reschedule?: boolean;
1201
+ }
1202
+ interface BookingPolicyViolations {
1203
+ /** Booking policy violation: Too early to book this slot. */
1204
+ tooEarlyToBook?: boolean | null;
1205
+ /** Booking policy violation: Too late to book this slot. */
1206
+ tooLateToBook?: boolean | null;
1207
+ /** Booking policy violation: Online booking is disabled for this slot. */
1208
+ bookOnlineDisabled?: boolean | null;
1209
+ }
1210
+ interface BookingPolicySettings {
1211
+ /** Booking policy settings for a given slot or schedule. */
1212
+ maxParticipantsPerBooking?: number | null;
1213
+ }
1214
+ interface MarkBookingAsPendingFlowControlSettings {
1215
+ /**
1216
+ * Whether to check for double bookings before updating the booking as pending.
1217
+ *
1218
+ * When passing `false`, a booking is only updated with status `PENDING`.
1219
+ * Default: `false`.
1220
+ */
1221
+ checkAvailabilityValidation?: boolean;
1222
+ /**
1223
+ * Whether to validate that the booking to be marked as pending has a `booking.slot.serviceId`
1224
+ * of a pending approval service.
1225
+ *
1226
+ * Default: `false`.
1227
+ */
1228
+ skipPendingApprovalServiceValidation?: boolean;
1229
+ }
1230
+ interface CreateMultiServiceBookingRequest {
1231
+ /**
1232
+ * Single-service bookings to combine in a multi-service booking.
1233
+ * @minSize 2
1234
+ * @maxSize 8
1235
+ */
1236
+ bookings: Booking[];
1237
+ /**
1238
+ * Information about whether to notify the customer and
1239
+ * the message to send.
1240
+ */
1241
+ participantNotification?: ParticipantNotification;
1242
+ /**
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`
1247
+ */
1248
+ sendSmsReminder?: boolean | null;
1249
+ /**
1250
+ * Whether to ignore specific standard procedures of the Wix Bookings flow.
1251
+ * For example, whether to check availability before updating the status.
1252
+ */
1253
+ flowControlSettings?: CreateBookingFlowControlSettings;
1254
+ /** Whether to return the created single-service bookings. */
1255
+ returnFullEntity?: boolean;
1256
+ /** Multi service booking type. */
1257
+ multiServiceBookingType?: MultiServiceBookingTypeWithLiterals;
1258
+ }
1259
+ interface CreateMultiServiceBookingResponse {
1260
+ /**
1261
+ * Created multi service booking.
1262
+ * Contains the booking results in the same order as specified in the request.
1263
+ */
1264
+ multiServiceBooking?: MultiServiceBooking;
1265
+ }
1266
+ interface MultiServiceBooking {
1267
+ /**
1268
+ * Multi-service booking ID.
1269
+ * @format GUID
1270
+ */
1271
+ id?: string | null;
1272
+ /** The created bookings that are part of the multi-service booking. */
1273
+ bookings?: BookingResult[];
1274
+ }
1275
+ interface BookingResult {
1276
+ /**
1277
+ * Booking ID.
1278
+ * @format GUID
1279
+ */
1280
+ bookingId?: string | null;
1281
+ /** Booking entity. */
1282
+ booking?: Booking;
1283
+ }
1284
+ interface RescheduleMultiServiceBookingRequest {
1285
+ /**
1286
+ * ID of the multi service booking to reschedule.
1287
+ * @format GUID
1288
+ */
1289
+ multiServiceBookingId: string | null;
1290
+ /** Information about the single-service bookings to reschedule. */
1291
+ rescheduleBookingsInfo: RescheduleBookingInfo[];
1292
+ /**
1293
+ * Information about whether to notify the customer and
1294
+ * the message to send.
1295
+ */
1296
+ participantNotification?: ParticipantNotification;
1297
+ /**
1298
+ * Information about whether specific procedures of the standard Wix Bookings
1299
+ * rescheduling flow are changed. For example, whether the availability of
1300
+ * the new slot is checked before rescheduling the booking or if you can
1301
+ * reschedule the booking even though the rescheduling policy doesn't allow it.
1302
+ */
1303
+ flowControlSettings?: RescheduleBookingFlowControlSettings;
1304
+ /** Whether to return the rescheduled bookings entities. */
1305
+ returnFullEntity?: boolean;
1306
+ }
1307
+ interface RescheduleBookingInfo extends RescheduleBookingInfoParticipantsInfoOneOf {
1308
+ /**
1309
+ * Total number of participants. Available only for services with variants.
1310
+ * Specify when all participants book the same variant.
1311
+ */
1312
+ totalParticipants?: number;
1313
+ /**
1314
+ * Information about the service choices to book. Available only for services with
1315
+ * variants.
1316
+ * Specify when not all participants book the same variant.
1317
+ */
1318
+ participantsChoices?: ParticipantChoices;
1319
+ /**
1320
+ * ID of the booking to reschedule.
1321
+ * @format GUID
1322
+ */
1323
+ bookingId?: string | null;
1324
+ /** Information about the new slot. */
1325
+ slot?: V2Slot;
1326
+ /**
1327
+ * Revision number, which increments by 1 each time the booking is updated.
1328
+ * To prevent conflicting changes, the current revision must be specified when
1329
+ * managing the booking.
1330
+ */
1331
+ revision?: string | null;
1332
+ }
1333
+ /** @oneof */
1334
+ interface RescheduleBookingInfoParticipantsInfoOneOf {
1335
+ /**
1336
+ * Total number of participants. Available only for services with variants.
1337
+ * Specify when all participants book the same variant.
1338
+ */
1339
+ totalParticipants?: number;
1340
+ /**
1341
+ * Information about the service choices to book. Available only for services with
1342
+ * variants.
1343
+ * Specify when not all participants book the same variant.
1344
+ */
1345
+ participantsChoices?: ParticipantChoices;
1346
+ }
1347
+ interface RescheduleMultiServiceBookingResponse {
1348
+ /** Rescheduled multi-service booking. */
1349
+ multiServiceBooking?: MultiServiceBooking;
1350
+ }
1351
+ interface GetMultiServiceBookingAvailabilityRequest {
1352
+ /**
1353
+ * ID of the multi-service booking to retrieve.
1354
+ * @format GUID
1355
+ */
1356
+ multiServiceBookingId: string | null;
1357
+ }
1358
+ interface GetMultiServiceBookingAvailabilityResponse {
1359
+ /** Whether all contained single-service bookings are bookable. */
1360
+ bookable?: boolean;
1361
+ /** Total number of spots. */
1362
+ totalCapacity?: number | null;
1363
+ /** Number of open spots. */
1364
+ remainingCapacity?: number | null;
1365
+ /** Indicators for policy violations of the multi service booking. */
1366
+ policyViolations?: BookingPolicyViolations;
1367
+ /** Multi-service booking policy settings. */
1368
+ policySettings?: BookingPolicySettings;
1369
+ /** Info of the bookings this availability was calculated for. */
1370
+ multiServiceBookingInfo?: GetMultiServiceBookingAvailabilityResponseBookingInfo[];
1371
+ }
1372
+ interface GetMultiServiceBookingAvailabilityResponseBookingInfo {
1373
+ /**
1374
+ * Booking ID.
1375
+ * @format GUID
1376
+ */
1377
+ bookingId?: string | null;
1378
+ }
1379
+ interface CancelMultiServiceBookingRequest {
1380
+ /**
1381
+ * ID of the multi-service booking to cancel.
1382
+ * @format GUID
1383
+ */
1384
+ multiServiceBookingId: string | null;
1385
+ /**
1386
+ * Information about whether to notify the customer and
1387
+ * the message to send.
1388
+ */
1389
+ participantNotification?: ParticipantNotification;
1390
+ /**
1391
+ * Information about whether specific procedures of the standard Wix Bookings
1392
+ * cancellation flow are changed. For example, whether you can cancel
1393
+ * a booking even though the cancellation policy doesn't allow it or whether
1394
+ * to issue a refund.
1395
+ */
1396
+ flowControlSettings?: CancelBookingFlowControlSettings;
1397
+ /** Whether to return the canceled single-service bookings. */
1398
+ returnFullEntity?: boolean;
1399
+ }
1400
+ interface CancelMultiServiceBookingResponse {
1401
+ /** Canceled multi-service booking. */
1402
+ multiServiceBooking?: MultiServiceBooking;
1403
+ }
1404
+ interface MarkMultiServiceBookingAsPendingRequest {
1405
+ /**
1406
+ * ID of the multi-service booking to mark as `PENDING`.
1407
+ * @format GUID
1408
+ */
1409
+ multiServiceBookingId: string | null;
1410
+ /** Information about the single-service bookings to mark as `PENDING`. */
1411
+ markAsPendingBookingsInfo?: BookingInfo[];
1412
+ /**
1413
+ * Information about whether to notify the customer and
1414
+ * the message to send.
1415
+ */
1416
+ participantNotification?: ParticipantNotification;
1417
+ /**
1418
+ * Whether to send an SMS reminder to the customer 24 hours before the
1419
+ * session starts. The phone number is taken from `contactDetails.phone`.
1420
+ *
1421
+ * Default: `true`
1422
+ */
1423
+ sendSmsReminder?: boolean | null;
1424
+ /** Whether this booking has a conflict with at least 1 other confirmed booking. */
1425
+ doubleBooked?: boolean | null;
1426
+ /** Whether to return the single-service bookings that were marked as `PENDING`. */
1427
+ returnFullEntity?: boolean;
1428
+ /**
1429
+ * Information about whether specific procedures of the standard Wix Bookings
1430
+ * creation flow are changed. For example, whether the availability is checked
1431
+ * before updating the booking.
1432
+ */
1433
+ flowControlSettings?: MarkBookingAsPendingFlowControlSettings;
1434
+ }
1435
+ interface BookingInfo {
1436
+ /**
1437
+ * ID of the single-service booking.
1438
+ * @format GUID
1439
+ */
1440
+ bookingId?: string | null;
1441
+ /**
1442
+ * Revision number, which increments by 1 each time the booking is updated.
1443
+ * To prevent conflicting changes, the current revision must be specified when
1444
+ * managing the booking.
1445
+ */
1446
+ revision?: string | null;
1447
+ /** Payment status to set for the single-service booking. */
1448
+ paymentStatus?: PaymentStatusWithLiterals;
1449
+ }
1450
+ interface MarkMultiServiceBookingAsPendingResponse {
1451
+ /** Updated multi-service booking. */
1452
+ multiServiceBooking?: MultiServiceBooking;
1453
+ }
1454
+ interface ConfirmMultiServiceBookingRequest {
1455
+ /**
1456
+ * ID of the multi-service booking to confirm its related bookings.
1457
+ * @format GUID
1458
+ */
1459
+ multiServiceBookingId: string | null;
1460
+ /** Information about the single-service bookings to confirm. */
1461
+ confirmBookingsInfo?: BookingInfo[];
1462
+ /**
1463
+ * Information about whether to notify the customer and
1464
+ * the message to send.
1465
+ */
1466
+ participantNotification?: ParticipantNotification;
1467
+ /**
1468
+ * Whether to send an SMS reminder to the customer 24 hours before the
1469
+ * session starts. The phone number is taken from `contactDetails.phone`.
1470
+ *
1471
+ * Default: `true`
1472
+ */
1473
+ sendSmsReminder?: boolean | null;
1474
+ /** Whether this booking has a conflict with at least 1 other confirmed booking. */
1475
+ doubleBooked?: boolean | null;
1476
+ /** Whether to return the confirmed single-service bookings. */
1477
+ returnFullEntity?: boolean;
1478
+ /**
1479
+ * Information about whether specific procedures of the standard Wix Bookings
1480
+ * confirmation flow are changed. For example, whether the availability is
1481
+ * checked before confirming the booking.
1482
+ */
1483
+ flowControlSettings?: ConfirmBookingFlowControlSettings;
1484
+ }
1485
+ interface ConfirmMultiServiceBookingResponse {
1486
+ /** Confirmed multi service booking. */
1487
+ multiServiceBooking?: MultiServiceBooking;
1488
+ }
1489
+ interface DeclineMultiServiceBookingRequest {
1490
+ /**
1491
+ * ID of the multi service booking to decline.
1492
+ * @format GUID
1493
+ */
1494
+ multiServiceBookingId: string | null;
1495
+ /** Information about the single-service bookings to decline. */
1496
+ declineBookingsInfo?: BookingInfo[];
1497
+ /**
1498
+ * Information about whether to notify the customer and
1499
+ * the message to send.
1500
+ */
1501
+ participantNotification?: ParticipantNotification;
1502
+ /** Whether this booking has a conflict with at least 1 other confirmed booking. */
1503
+ doubleBooked?: boolean | null;
1504
+ /** Whether to return the declined single-service bookings. */
1505
+ returnFullEntity?: boolean;
1506
+ /**
1507
+ * Information about whether specific procedures of the standard Wix Bookings
1508
+ * declining flow are changed. For example, whether to issue a refund.
1509
+ */
1510
+ flowControlSettings?: DeclineBookingFlowControlSettings;
1511
+ }
1512
+ interface DeclineMultiServiceBookingResponse {
1513
+ /** Declined multi-service booking. */
1514
+ multiServiceBooking?: MultiServiceBooking;
1515
+ }
1516
+ interface BulkGetMultiServiceBookingAllowedActionsRequest {
1517
+ /**
1518
+ * IDs of the multi-service bookings to retrieve allowed actions for.
1519
+ * @format GUID
1520
+ * @minSize 1
1521
+ * @maxSize 50
1522
+ */
1523
+ multiServiceBookingIds: string[] | null;
1524
+ }
1525
+ interface BulkGetMultiServiceBookingAllowedActionsResponse {
1526
+ /**
1527
+ * Information about the multi-service bookings that were retrieved.
1528
+ * Including their ID, index in the bulk request and whether they were
1529
+ * successfully updated.
1530
+ */
1531
+ results?: BulkCalculateAllowedActionsResult[];
1532
+ /** Total number of successes and failures for Bulk Update Bookings. */
1533
+ bulkActionMetadata?: BulkActionMetadata;
1534
+ }
1535
+ interface GetMultiServiceBookingRequest {
1536
+ /**
1537
+ * ID of the multi-service booking.
1538
+ * @format GUID
1539
+ */
1540
+ multiServiceBookingId: string | null;
1541
+ }
1542
+ interface GetMultiServiceBookingResponse {
1543
+ /** Retrieved multi-service booking. */
1544
+ multiServiceBooking?: MultiServiceBooking;
1545
+ /** Details about how many single-service bookings belong to the multi-service booking. */
1546
+ metadata?: MultiServiceBookingMetadata;
1547
+ }
1548
+ interface MultiServiceBookingMetadata {
1549
+ /**
1550
+ * Total number of `CONFIRMED` and `PENDING` single-service bookings belonging
1551
+ * to the multi-service booking. The total includes the number of single-service
1552
+ * bookings which couldn't be retrieved due to lack of permissions.
1553
+ */
1554
+ totalNumberOfScheduledBookings?: number | null;
1555
+ }
1556
+ interface AddBookingsToMultiServiceBookingRequest {
1557
+ /**
1558
+ * ID of the multi-service booking.
1559
+ * @format GUID
1560
+ */
1561
+ multiServiceBookingId: string | null;
1562
+ /**
1563
+ * List of single-service booking IDs and their revision.
1564
+ * @maxSize 8
1565
+ */
1566
+ bookings: BookingIdAndRevision[];
1567
+ /** Whether to return the single-service bookings that were added to the multi-service booking. */
1568
+ returnFullEntity?: boolean;
1569
+ }
1570
+ interface BookingIdAndRevision {
1571
+ /**
1572
+ * ID of the booking.
1573
+ * @format GUID
1574
+ */
1575
+ bookingId?: string | null;
1576
+ /**
1577
+ * Revision number, which increments by 1 each time the booking is updated.
1578
+ * To prevent conflicting changes, the current revision must be specified when
1579
+ * managing the booking.
1580
+ */
1581
+ revision?: string | null;
1582
+ }
1583
+ interface AddBookingsToMultiServiceBookingResponse {
1584
+ /** Single-service bookings that were added to the multi-service booking. */
1585
+ bookings?: BookingResult[];
1586
+ }
1587
+ interface RemoveBookingsFromMultiServiceBookingRequest {
1588
+ /**
1589
+ * ID of the multi-service booking.
1590
+ * @format GUID
1591
+ */
1592
+ multiServiceBookingId: string | null;
1593
+ /**
1594
+ * List of single-service booking IDs and their revision.
1595
+ * @maxSize 8
1596
+ */
1597
+ bookings?: BookingIdAndRevision[];
1598
+ /** Whether to return the single-service bookings. */
1599
+ returnFullEntity?: boolean;
1600
+ }
1601
+ interface RemoveBookingsFromMultiServiceBookingResponse {
1602
+ /** Single-service bookings that were removed from the multi-service booking. */
1603
+ bookings?: BookingResult[];
1604
+ }
1605
+
1606
+ type __PublicMethodMetaInfo<K = string, M = unknown, T = unknown, S = unknown, Q = unknown, R = unknown> = {
1607
+ getUrl: (context: any) => string;
1608
+ httpMethod: K;
1609
+ path: string;
1610
+ pathParams: M;
1611
+ __requestType: T;
1612
+ __originalRequestType: S;
1613
+ __responseType: Q;
1614
+ __originalResponseType: R;
1615
+ };
1616
+ declare function confirmOrDeclineBooking(): __PublicMethodMetaInfo<'POST', {
1617
+ bookingId: string;
1618
+ }, ConfirmOrDeclineBookingRequest$1, ConfirmOrDeclineBookingRequest, ConfirmOrDeclineBookingResponse$1, ConfirmOrDeclineBookingResponse>;
1619
+ declare function bulkConfirmOrDeclineBooking(): __PublicMethodMetaInfo<'POST', {}, BulkConfirmOrDeclineBookingRequest$1, BulkConfirmOrDeclineBookingRequest, BulkConfirmOrDeclineBookingResponse$1, BulkConfirmOrDeclineBookingResponse>;
1620
+ declare function createBooking(): __PublicMethodMetaInfo<'POST', {}, CreateBookingRequest$1, CreateBookingRequest, CreateBookingResponse$1, CreateBookingResponse>;
1621
+ declare function bulkCreateBooking(): __PublicMethodMetaInfo<'POST', {}, BulkCreateBookingRequest$1, BulkCreateBookingRequest, BulkCreateBookingResponse$1, BulkCreateBookingResponse>;
1622
+ declare function rescheduleBooking(): __PublicMethodMetaInfo<'POST', {
1623
+ bookingId: string;
1624
+ }, RescheduleBookingRequest$1, RescheduleBookingRequest, RescheduleBookingResponse$1, RescheduleBookingResponse>;
1625
+ declare function confirmBooking(): __PublicMethodMetaInfo<'POST', {
1626
+ bookingId: string;
1627
+ }, ConfirmBookingRequest$1, ConfirmBookingRequest, ConfirmBookingResponse$1, ConfirmBookingResponse>;
1628
+ declare function updateExtendedFields(): __PublicMethodMetaInfo<'POST', {
1629
+ id: string;
1630
+ }, UpdateExtendedFieldsRequest$1, UpdateExtendedFieldsRequest, UpdateExtendedFieldsResponse$1, UpdateExtendedFieldsResponse>;
1631
+ declare function declineBooking(): __PublicMethodMetaInfo<'POST', {
1632
+ bookingId: string;
1633
+ }, DeclineBookingRequest$1, DeclineBookingRequest, DeclineBookingResponse$1, DeclineBookingResponse>;
1634
+ declare function cancelBooking(): __PublicMethodMetaInfo<'POST', {
1635
+ bookingId: string;
1636
+ }, CancelBookingRequest$1, CancelBookingRequest, CancelBookingResponse$1, CancelBookingResponse>;
1637
+ declare function updateNumberOfParticipants(): __PublicMethodMetaInfo<'POST', {
1638
+ bookingId: string;
1639
+ }, UpdateNumberOfParticipantsRequest$1, UpdateNumberOfParticipantsRequest, UpdateNumberOfParticipantsResponse$1, UpdateNumberOfParticipantsResponse>;
1640
+ declare function createMultiServiceBooking(): __PublicMethodMetaInfo<'POST', {}, CreateMultiServiceBookingRequest$1, CreateMultiServiceBookingRequest, CreateMultiServiceBookingResponse$1, CreateMultiServiceBookingResponse>;
1641
+ declare function rescheduleMultiServiceBooking(): __PublicMethodMetaInfo<'POST', {
1642
+ multiServiceBookingId: string;
1643
+ }, RescheduleMultiServiceBookingRequest$1, RescheduleMultiServiceBookingRequest, RescheduleMultiServiceBookingResponse$1, RescheduleMultiServiceBookingResponse>;
1644
+ declare function getMultiServiceBookingAvailability(): __PublicMethodMetaInfo<'POST', {
1645
+ multiServiceBookingId: string;
1646
+ }, GetMultiServiceBookingAvailabilityRequest$1, GetMultiServiceBookingAvailabilityRequest, GetMultiServiceBookingAvailabilityResponse$1, GetMultiServiceBookingAvailabilityResponse>;
1647
+ declare function cancelMultiServiceBooking(): __PublicMethodMetaInfo<'POST', {
1648
+ multiServiceBookingId: string;
1649
+ }, CancelMultiServiceBookingRequest$1, CancelMultiServiceBookingRequest, CancelMultiServiceBookingResponse$1, CancelMultiServiceBookingResponse>;
1650
+ declare function markMultiServiceBookingAsPending(): __PublicMethodMetaInfo<'POST', {
1651
+ multiServiceBookingId: string;
1652
+ }, MarkMultiServiceBookingAsPendingRequest$1, MarkMultiServiceBookingAsPendingRequest, MarkMultiServiceBookingAsPendingResponse$1, MarkMultiServiceBookingAsPendingResponse>;
1653
+ declare function confirmMultiServiceBooking(): __PublicMethodMetaInfo<'POST', {
1654
+ multiServiceBookingId: string;
1655
+ }, ConfirmMultiServiceBookingRequest$1, ConfirmMultiServiceBookingRequest, ConfirmMultiServiceBookingResponse$1, ConfirmMultiServiceBookingResponse>;
1656
+ declare function declineMultiServiceBooking(): __PublicMethodMetaInfo<'POST', {
1657
+ multiServiceBookingId: string;
1658
+ }, DeclineMultiServiceBookingRequest$1, DeclineMultiServiceBookingRequest, DeclineMultiServiceBookingResponse$1, DeclineMultiServiceBookingResponse>;
1659
+ declare function bulkGetMultiServiceBookingAllowedActions(): __PublicMethodMetaInfo<'POST', {}, BulkGetMultiServiceBookingAllowedActionsRequest$1, BulkGetMultiServiceBookingAllowedActionsRequest, BulkGetMultiServiceBookingAllowedActionsResponse$1, BulkGetMultiServiceBookingAllowedActionsResponse>;
1660
+ declare function getMultiServiceBooking(): __PublicMethodMetaInfo<'GET', {
1661
+ multiServiceBookingId: string;
1662
+ }, GetMultiServiceBookingRequest$1, GetMultiServiceBookingRequest, GetMultiServiceBookingResponse$1, GetMultiServiceBookingResponse>;
1663
+ declare function addBookingsToMultiServiceBooking(): __PublicMethodMetaInfo<'POST', {}, AddBookingsToMultiServiceBookingRequest$1, AddBookingsToMultiServiceBookingRequest, AddBookingsToMultiServiceBookingResponse$1, AddBookingsToMultiServiceBookingResponse>;
1664
+ declare function removeBookingsFromMultiServiceBooking(): __PublicMethodMetaInfo<'POST', {}, RemoveBookingsFromMultiServiceBookingRequest$1, RemoveBookingsFromMultiServiceBookingRequest, RemoveBookingsFromMultiServiceBookingResponse$1, RemoveBookingsFromMultiServiceBookingResponse>;
1665
+
1666
+ export { type __PublicMethodMetaInfo, addBookingsToMultiServiceBooking, bulkConfirmOrDeclineBooking, bulkCreateBooking, bulkGetMultiServiceBookingAllowedActions, cancelBooking, cancelMultiServiceBooking, confirmBooking, confirmMultiServiceBooking, confirmOrDeclineBooking, createBooking, createMultiServiceBooking, declineBooking, declineMultiServiceBooking, getMultiServiceBooking, getMultiServiceBookingAvailability, markMultiServiceBookingAsPending, removeBookingsFromMultiServiceBooking, rescheduleBooking, rescheduleMultiServiceBooking, updateExtendedFields, updateNumberOfParticipants };