@wix/auto_sdk_bookings_multi-service-availability-time-slots 1.0.156 → 1.0.158
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.
- package/build/cjs/index.d.ts +52 -123
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/index.typings.d.ts +324 -560
- package/build/cjs/index.typings.js.map +1 -1
- package/build/cjs/meta.d.ts +145 -216
- package/build/cjs/meta.js.map +1 -1
- package/build/es/index.d.mts +52 -123
- package/build/es/index.mjs.map +1 -1
- package/build/es/index.typings.d.mts +324 -560
- package/build/es/index.typings.mjs.map +1 -1
- package/build/es/meta.d.mts +145 -216
- package/build/es/meta.mjs.map +1 -1
- package/build/internal/cjs/index.d.ts +52 -123
- package/build/internal/cjs/index.js.map +1 -1
- package/build/internal/cjs/index.typings.d.ts +324 -560
- package/build/internal/cjs/index.typings.js.map +1 -1
- package/build/internal/cjs/meta.d.ts +145 -216
- package/build/internal/cjs/meta.js.map +1 -1
- package/build/internal/es/index.d.mts +52 -123
- package/build/internal/es/index.mjs.map +1 -1
- package/build/internal/es/index.typings.d.mts +324 -560
- package/build/internal/es/index.typings.mjs.map +1 -1
- package/build/internal/es/meta.d.mts +145 -216
- package/build/internal/es/meta.mjs.map +1 -1
- package/package.json +2 -2
package/build/es/meta.d.mts
CHANGED
@@ -2,193 +2,185 @@ import { ListMultiServiceAvailabilityTimeSlotsRequest as ListMultiServiceAvailab
|
|
2
2
|
import '@wix/sdk-types';
|
3
3
|
|
4
4
|
/**
|
5
|
-
*
|
6
|
-
*
|
5
|
+
* A time slot represents a specific time period when a service is available for booking.
|
6
|
+
* It provides all the information needed to display availability to customers, including whether customers can actually book it, the remaining capacity, and which staff members or resources are available.
|
7
|
+
* Available time slots may not always be bookable due to service booking policies - when this occurs, the time slot includes information about the specific booking restrictions.
|
7
8
|
*
|
8
|
-
*
|
9
|
-
*
|
10
|
-
* 2. In what location the service is available for this slot?
|
11
|
-
*
|
12
|
-
* 3. Which available resources can provide the service for this slot?
|
13
|
-
*
|
14
|
-
* 4. Does booking the slot for the service violates any of the service booking policies?
|
15
|
-
*
|
16
|
-
* 5. What is the total capacity and remaining capacity of the service at the time of the calculation of the `TimeSlot`?
|
17
|
-
*
|
18
|
-
* > __Note:__
|
19
|
-
* > When the `TimeSlot` has a non empty `NestedTimeSlots`, it represents the availability information
|
20
|
-
* > for a given list of `Appointment` services within a specific time slot.
|
9
|
+
* For multi-service bookings, the top-level time slot acts as a container spanning the entire service sequence (from the start of the first service to the end of the last service). Individual service details are provided in nested time slots.
|
21
10
|
*/
|
22
11
|
interface TimeSlot {
|
23
12
|
/**
|
24
|
-
* Service ID.
|
13
|
+
* Service ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/introduction)).
|
25
14
|
*
|
26
|
-
*
|
27
|
-
* > Instead, each nested time slot has its own serviceId.
|
15
|
+
* Available only for single-service bookings. For multi-service bookings, this field is empty and individual service IDs are provided in `nestedTimeSlots`.
|
28
16
|
* @format GUID
|
29
17
|
*/
|
30
18
|
serviceId?: string | null;
|
31
19
|
/**
|
32
|
-
* Local start date of the time slot in ISO-8601 format.
|
33
|
-
* For example,
|
20
|
+
* Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
21
|
+
* For example, `2026-01-30T13:30:00`.
|
22
|
+
*
|
23
|
+
* For multi-service bookings, this represents the start time of the first service in the sequence.
|
34
24
|
* @format LOCAL_DATE_TIME
|
35
25
|
*/
|
36
26
|
localStartDate?: string | null;
|
37
27
|
/**
|
38
|
-
* Local end date of the time slot in ISO-8601 format.
|
39
|
-
* For example,
|
28
|
+
* Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
29
|
+
* For example, `2026-01-30T14:00:00`.
|
30
|
+
*
|
31
|
+
* For multi-service bookings, this represents the end time of the last service in the sequence.
|
40
32
|
* @format LOCAL_DATE_TIME
|
41
33
|
*/
|
42
34
|
localEndDate?: string | null;
|
43
35
|
/**
|
44
|
-
* Whether the slot
|
36
|
+
* Whether customers can book the slot according to the service's booking policies ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/booking-policies/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/policies/booking-policies/introduction)).
|
45
37
|
*
|
46
|
-
*
|
47
|
-
* the returned value is `true`. Otherwise, returns `false`.
|
38
|
+
* For multi-service bookings, this is `true` only when all services in the sequence comply with their respective booking policies.
|
48
39
|
*/
|
49
40
|
bookable?: boolean | null;
|
50
|
-
/**
|
41
|
+
/** Information about where the business provides the service to the customer. */
|
51
42
|
location?: Location;
|
52
|
-
/**
|
43
|
+
/**
|
44
|
+
* Information about the event ([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)) related to the slot.
|
45
|
+
* Available only for classes. Not available for appointment-based services and courses.
|
46
|
+
*/
|
53
47
|
eventInfo?: EventInfo;
|
54
48
|
/**
|
55
49
|
* Total number of spots for the slot.
|
50
|
+
*
|
51
|
+
* For multi-service bookings, this is always `1` because customers book the entire service sequence as a single unit.
|
56
52
|
* @min 1
|
57
53
|
* @max 1000
|
58
54
|
*/
|
59
55
|
totalCapacity?: number | null;
|
60
56
|
/**
|
61
57
|
* Remaining number of spots for the slot.
|
62
|
-
*
|
58
|
+
* This is calculated as total capacity minus booked spots, but doesn't account for waitlist reservations.
|
59
|
+
*
|
60
|
+
* If the service has a waitlist enabled, use `bookableCapacity` instead to get the accurate number of spots customers can actually book.
|
61
|
+
*
|
62
|
+
* For single-service bookings: An appointment service with total capacity of 3 spots and 1 booked spot results in a remaining capacity of `2`.
|
63
|
+
* For multi-service bookings: This is either `1` (sequence available) or `0` (sequence unavailable).
|
63
64
|
* @max 1000
|
64
65
|
*/
|
65
66
|
remainingCapacity?: number | null;
|
66
67
|
/**
|
67
|
-
* Number of spots
|
68
|
-
*
|
68
|
+
* Number of spots that customers can book for the slot.
|
69
|
+
* Calculated as the remaining capacity minus the spots reserved for the waitlist.
|
70
|
+
* If the service has no waitlist, identical to `remainingCapacity`.
|
71
|
+
*
|
72
|
+
* For multi-service bookings, this is either `1` (sequence can be booked) or `0` (sequence cannot be booked).
|
69
73
|
*/
|
70
74
|
bookableCapacity?: number | null;
|
71
75
|
/**
|
72
|
-
*
|
76
|
+
* Information about booking policy violations for the slot.
|
73
77
|
*
|
74
|
-
*
|
75
|
-
* we will return also slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.
|
78
|
+
* For multi-service bookings, this aggregates violations from all services in the sequence.
|
76
79
|
*/
|
77
80
|
bookingPolicyViolations?: BookingPolicyViolations;
|
78
81
|
/**
|
79
|
-
* List of
|
80
|
-
* Each `AvailableResources` contains information about available resources of the same type.
|
82
|
+
* List of resources ([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)) available during the time slot.
|
81
83
|
*
|
82
|
-
*
|
83
|
-
* > Instead, each nested time slot has its own available resources.
|
84
|
+
* Available only for single-service bookings. For multi-service bookings, resource information is provided in `nestedTimeSlots`.
|
84
85
|
*/
|
85
86
|
availableResources?: AvailableResources[];
|
86
87
|
/**
|
87
|
-
*
|
88
|
-
*
|
88
|
+
* Nested time slots for multi-service bookings.
|
89
|
+
* Each nested slot represents 1 service in the sequence, ordered according to the service sequence specified in the request.
|
90
|
+
*
|
91
|
+
* Available only for multi-service bookings. Empty for single-service bookings.
|
89
92
|
* @maxSize 8
|
90
93
|
*/
|
91
94
|
nestedTimeSlots?: NestedTimeSlot[];
|
92
|
-
/**
|
95
|
+
/** Information about why customers can't book the time slot. */
|
93
96
|
nonBookableReasons?: NonBookableReasons;
|
94
97
|
/**
|
95
|
-
*
|
96
|
-
* Same as the service
|
98
|
+
* Schedule ID associated with this time slot.
|
99
|
+
* Same as the service's schedule ID.
|
97
100
|
* @format GUID
|
98
101
|
*/
|
99
102
|
scheduleId?: string | null;
|
100
103
|
}
|
101
104
|
interface Location {
|
102
105
|
/**
|
103
|
-
*
|
106
|
+
* Location ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/business-tools/locations/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/locations/introduction)).
|
107
|
+
* Available only for business locations.
|
104
108
|
* @format GUID
|
105
109
|
*/
|
106
110
|
id?: string | null;
|
107
|
-
/**
|
111
|
+
/** Location name. */
|
108
112
|
name?: string | null;
|
109
|
-
/**
|
113
|
+
/** Formatted location address. */
|
110
114
|
formattedAddress?: string | null;
|
111
|
-
/**
|
112
|
-
* The type of location:
|
113
|
-
* - `CUSTOM`: The location is specific to this service, and is not derived from the business location.
|
114
|
-
* - `BUSINESS`: A business location, either the default business address, or locations defined for the business by the Business Info.
|
115
|
-
* - `CUSTOMER`: The location is determined by the customer and is not set up beforehand.
|
116
|
-
*/
|
115
|
+
/** Location type. */
|
117
116
|
locationType?: LocationTypeWithLiterals;
|
118
117
|
}
|
119
118
|
declare enum LocationType {
|
120
119
|
UNKNOWN_LOCATION_TYPE = "UNKNOWN_LOCATION_TYPE",
|
121
120
|
/** A business location, either the default business address, or locations defined for the business by the Business Info. */
|
122
121
|
BUSINESS = "BUSINESS",
|
123
|
-
/** The location is unique to this service and isn't defined as
|
122
|
+
/** The location is unique to this service and isn't defined as 1 of the business locations. */
|
124
123
|
CUSTOM = "CUSTOM",
|
125
|
-
/** The location can be determined by the customer and
|
124
|
+
/** The location can be determined by the customer and isn't set up beforehand. */
|
126
125
|
CUSTOMER = "CUSTOMER"
|
127
126
|
}
|
128
127
|
/** @enumType */
|
129
128
|
type LocationTypeWithLiterals = LocationType | 'UNKNOWN_LOCATION_TYPE' | 'BUSINESS' | 'CUSTOM' | 'CUSTOMER';
|
130
|
-
/**
|
129
|
+
/** Available for event based slots, and not for availability based slots */
|
131
130
|
interface EventInfo {
|
132
131
|
/**
|
133
|
-
*
|
132
|
+
* Event ID.
|
134
133
|
* @minLength 36
|
135
134
|
* @maxLength 250
|
136
135
|
*/
|
137
136
|
eventId?: string | null;
|
138
|
-
/**
|
137
|
+
/** Information about the event's waitlist. Available only if the service has a waitlist. */
|
139
138
|
waitingList?: WaitingList;
|
140
139
|
}
|
141
140
|
interface WaitingList {
|
142
141
|
/**
|
143
|
-
* Total number of spots in the
|
142
|
+
* Total number of spots in the waitlist.
|
144
143
|
* @min 1
|
145
144
|
*/
|
146
145
|
totalCapacity?: number | null;
|
147
146
|
/**
|
148
|
-
* Number of remaining spots in the
|
149
|
-
* For example,
|
147
|
+
* Number of remaining spots in the waitlist.
|
148
|
+
* For example, an event with a waitlist for 10 people and 3 registrants, results in a remaining capacity of `7`.
|
150
149
|
*/
|
151
150
|
remainingCapacity?: number | null;
|
152
151
|
}
|
153
152
|
interface BookingPolicyViolations {
|
154
|
-
/**
|
153
|
+
/** Whether it's too early for customers to book the slot. */
|
155
154
|
tooEarlyToBook?: boolean | null;
|
156
|
-
/**
|
155
|
+
/** Earliest time for booking the slot in `YYYY-MM-DDThh:mm:ss.sssZ` format. */
|
157
156
|
earliestBookingDate?: Date | null;
|
158
|
-
/**
|
157
|
+
/** Whether it's too late for customers to book the slot. */
|
159
158
|
tooLateToBook?: boolean | null;
|
160
|
-
/**
|
159
|
+
/** Whether customers can book the service online. */
|
161
160
|
bookOnlineDisabled?: boolean | null;
|
162
161
|
}
|
163
162
|
interface AvailableResources {
|
164
163
|
/**
|
165
|
-
* Resource type ID.
|
164
|
+
* Resource type ID ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/resource-types/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/resources/resource-types-v2/introduction)).
|
166
165
|
* @format GUID
|
167
166
|
*/
|
168
167
|
resourceTypeId?: string | null;
|
169
168
|
/**
|
170
|
-
*
|
169
|
+
* Details about resources available during the time slot.
|
171
170
|
*
|
172
|
-
*
|
173
|
-
* + + If you provided `includeResourceTypeIds` or `resourceIds` in request,
|
174
|
-
* contains __up__ to 10 available resources out of those provided.
|
171
|
+
* Behavior varies by method:
|
175
172
|
*
|
176
|
-
*
|
177
|
-
*
|
178
|
-
*
|
173
|
+
* List methods (List Availability Time Slots and List Multi Service Availability Time Slots):
|
174
|
+
* - Empty by default.
|
175
|
+
* - Up to 10 resources when specifying `includeResourceTypeIds` or `resourceIds` in the request.
|
179
176
|
*
|
180
|
-
*
|
181
|
-
*
|
182
|
-
*
|
183
|
-
* > contains __up__ to 10 available resources out of those provided.
|
184
|
-
*
|
185
|
-
* > + When returned from `GetMultiServiceAvailabilityTimeSlots`, contains all available resources by default.
|
186
|
-
* > + + If you provided `includeResourceTypeIds` or `resourceIds` in request,
|
187
|
-
* > contains all of the available resources out of those provided.
|
177
|
+
* Get methods (Get Availability Time Slots and Get Multi Service Availability Time Slots):
|
178
|
+
* - All resources by default.
|
179
|
+
* - Filtered resources when specifying `includeResourceTypeIds` or `resourceIds` in the request.
|
188
180
|
*/
|
189
181
|
resources?: Resource[];
|
190
182
|
/**
|
191
|
-
* Whether there are more available resources for the slot
|
183
|
+
* Whether there are more available resources for the slot than those listed in `resources`.
|
192
184
|
* @readonly
|
193
185
|
*/
|
194
186
|
hasMoreAvailableResources?: boolean | null;
|
@@ -212,20 +204,19 @@ interface NestedTimeSlot {
|
|
212
204
|
*/
|
213
205
|
serviceId?: string;
|
214
206
|
/**
|
215
|
-
* Local start date of the nested time slot in ISO-8601 format.
|
216
|
-
* For example,
|
207
|
+
* Local start date of the nested time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
208
|
+
* For example, `2026-01-30T13:30:00`.
|
217
209
|
* @format LOCAL_DATE_TIME
|
218
210
|
*/
|
219
211
|
localStartDate?: string;
|
220
212
|
/**
|
221
|
-
* Local end date of the nested time slot in ISO-8601 format.
|
222
|
-
* For example,
|
213
|
+
* Local end date of the nested time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
214
|
+
* For example, `2026-01-30T13:30:00`.
|
223
215
|
* @format LOCAL_DATE_TIME
|
224
216
|
*/
|
225
217
|
localEndDate?: string;
|
226
218
|
/**
|
227
|
-
* List of
|
228
|
-
* Each `AvailableResources` contains information about available resources of the same type.
|
219
|
+
* List of resources ([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)) available during the nested time slot.
|
229
220
|
* @maxSize 10
|
230
221
|
*/
|
231
222
|
availableResources?: AvailableResources[];
|
@@ -237,129 +228,76 @@ interface NestedTimeSlot {
|
|
237
228
|
scheduleId?: string | null;
|
238
229
|
}
|
239
230
|
interface NonBookableReasons {
|
240
|
-
/**
|
231
|
+
/** Whether the slot is fully booked with no remaining capacity. */
|
241
232
|
noRemainingCapacity?: boolean | null;
|
242
|
-
/**
|
233
|
+
/** Whether booking the slot violates any of the service's booking policies. */
|
243
234
|
violatesBookingPolicy?: boolean | null;
|
244
|
-
/**
|
235
|
+
/** Whether the slot is reserved for the waitlist. A new customer can't book the reserved slot. */
|
245
236
|
reservedForWaitingList?: boolean | null;
|
246
237
|
}
|
247
238
|
interface ListMultiServiceAvailabilityTimeSlotsRequest {
|
248
239
|
/**
|
249
|
-
* Services for which the
|
250
|
-
* Each service
|
251
|
-
*
|
252
|
-
* MinSize: `2`.
|
253
|
-
* MaxSize: `8`.
|
240
|
+
* Services for which the multi-service time slots are returned.
|
241
|
+
* Each service can include its own resource filters.
|
254
242
|
*
|
255
|
-
* Required
|
243
|
+
* Required unless you specify `cursorPaging.cursor`.
|
256
244
|
* @maxSize 8
|
257
245
|
*/
|
258
246
|
services?: Service[];
|
259
247
|
/**
|
260
|
-
* Lower boundary for `localStartDate`
|
261
|
-
* For example,
|
248
|
+
* Lower boundary for `localStartDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
249
|
+
* For example, `2026-01-30T13:30:00`.
|
250
|
+
* Each returned time slot has a `localStartDate` between `fromLocalDate` and `toLocalDate`.
|
262
251
|
*
|
263
|
-
*
|
264
|
-
* within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
265
|
-
*
|
266
|
-
* Required, unless `cursorPaging`.`cursor` is provided.
|
252
|
+
* Required unless you specify `cursorPaging.cursor`.
|
267
253
|
* @format LOCAL_DATE_TIME
|
268
254
|
*/
|
269
255
|
fromLocalDate?: string | null;
|
270
256
|
/**
|
271
|
-
* Upper boundary for `
|
272
|
-
* For example,
|
273
|
-
*
|
274
|
-
* Each returned `TimeSlot` in response has a `localStartDate`
|
275
|
-
* within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
257
|
+
* Upper boundary for `localToDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
258
|
+
* For example, `2026-01-30T13:30:00`.
|
259
|
+
* Each returned time slot has a `localEndDate` between `fromLocalDate` and `toLocalDate`.
|
276
260
|
*
|
277
|
-
* Required
|
261
|
+
* Required unless you specify `cursorPaging.cursor`.
|
278
262
|
* @format LOCAL_DATE_TIME
|
279
263
|
*/
|
280
264
|
toLocalDate?: string | null;
|
281
265
|
/**
|
282
|
-
* Time zone
|
266
|
+
* Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values. For example, `America/New_York` or `UTC`.
|
267
|
+
*
|
268
|
+
* Required unless you specify `cursorPaging.cursor`.
|
283
269
|
*
|
284
|
-
*
|
270
|
+
* Default: `timeZone` specified in the business site properties ([SDK](https://dev.wix.com/docs/sdk/backend-modules/site-properties/properties/get-site-properties) | [REST](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties)).
|
285
271
|
* @minLength 1
|
286
272
|
* @maxLength 150
|
287
273
|
*/
|
288
274
|
timeZone?: string | null;
|
289
275
|
/**
|
290
|
-
* Location for which the
|
276
|
+
* Location for which the multi-service time slots are returned. If you filter by `{"type": "BUSINESS"}`, you must also specify a location ID. A filter for `location.name` is ignored.
|
291
277
|
*
|
292
|
-
*
|
293
|
-
* If locationType is `BUSINESS`, you __must__ provide a locationId.
|
294
|
-
*
|
295
|
-
* <blockquote class="warning">
|
296
|
-
* <p><strong>warning:</strong><br/>
|
297
|
-
* Supports filtering by location type, or by location ID. </br>
|
298
|
-
* Other fields like <code class="grey-background">name</code> are ignored.</p>
|
299
|
-
* </blockquote>
|
300
|
-
*
|
301
|
-
* Required, unless `cursorPaging`.`cursor` is provided.
|
278
|
+
* Required unless you specify `cursorPaging.cursor`.
|
302
279
|
*/
|
303
280
|
location?: Location;
|
304
281
|
/**
|
305
|
-
* Whether the
|
306
|
-
*
|
307
|
-
* If booking any of the `TimeSlot`.`NestedTimeSlot`s violates any of its services bookings policies,
|
308
|
-
* returns as `false`. Otherwise, returns as `true`.
|
309
|
-
*
|
310
|
-
* > __Note:__
|
311
|
-
* > A `TimeSlot` with a `NestedTimeSlot` that doesn't meet its service's bookings policies will be returned with `bookable` = false,
|
312
|
-
* > while a `TimeSlot` with no available resources will not be returned at all.
|
282
|
+
* Whether the time slot is bookable according to all services' booking policies.
|
283
|
+
* If not specified, returns both bookable and non-bookable time slots.
|
313
284
|
*/
|
314
285
|
bookable?: boolean | null;
|
315
286
|
/**
|
316
|
-
* Indicators for service's booking policy violations
|
317
|
-
*
|
318
|
-
* A bookable time slot must not violate any policy,
|
319
|
-
* therefor, this filter is only relevant when `bookable` filter is false.
|
320
|
-
*
|
321
|
-
* Each nested field is checked on all `NestedTimeSlot`s. For example, if only one of the `NestedTimeSlot`'s
|
322
|
-
* has a service with `tooEarlyToBook` same as in the request, we return the `TimeSlot` regardless of whether
|
323
|
-
* the other `NestedTimeSlots` has the same `tooEarlyToBook` as in request.
|
324
|
-
*
|
325
|
-
* Each nested field is checked on its own. For example, if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined
|
326
|
-
* we return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.
|
287
|
+
* Indicators for service's booking policy violations.
|
288
|
+
* Only relevant when `bookable` filter is false.
|
327
289
|
*/
|
328
290
|
bookingPolicyViolations?: BookingPolicyViolations;
|
329
291
|
/**
|
330
|
-
* Maximum number of slots to
|
331
|
-
*
|
332
|
-
*
|
333
|
-
* By default,
|
334
|
-
* if `bookable` filter was not specified,
|
335
|
-
* and a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.
|
336
|
-
*
|
337
|
-
* If the number of `bookable` slots is less than the requested `timeSlotsPerDay`,
|
338
|
-
* `un-bookable` slots will be returned according to the specified filters.
|
292
|
+
* Maximum number of slots to return for each day in the specified time range.
|
293
|
+
* If `bookable` filter isn't specified, bookable slots are returned first.
|
339
294
|
*/
|
340
295
|
timeSlotsPerDay?: number | null;
|
341
296
|
/**
|
342
|
-
*
|
343
|
-
*
|
344
|
-
*
|
345
|
-
*
|
346
|
-
* This is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.
|
347
|
-
*
|
348
|
-
* If there are more results than the specified limit, the response will contain a `cursorPagingMetaData`
|
349
|
-
* with a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the
|
350
|
-
* returned cursor to the next call as `cursorPaging`.`cursor`.
|
351
|
-
*
|
352
|
-
* For the first call, you should only specify the `limit` for the results page.
|
353
|
-
* For each following call, you should only pass the previous returned cursor as `cursorPaging`.`cursor`
|
354
|
-
* the `cursorPaging`.`limit`. You may pass a different `limit`.
|
355
|
-
* No need to specify any additional parameters.
|
356
|
-
*
|
357
|
-
* <blockquote class="important">
|
358
|
-
* <p><strong>Important:</strong><br/>
|
359
|
-
* If you only provide a <code class="grey-background">cursorPaging</code>. <code class="grey-background">cursor</code>,
|
360
|
-
* the response will contain the default size of results which is `1000`.
|
361
|
-
* </p>
|
362
|
-
* </blockquote>
|
297
|
+
* Cursor-based paging configuration.
|
298
|
+
* Enables fetching results in smaller chunks by setting a limit on the number of results.
|
299
|
+
* For consistent pagination behavior, use the same `limit` value throughout a pagination sequence.
|
300
|
+
* When specifying a new `limit` in follow-up requests, the API respects the new value.
|
363
301
|
*/
|
364
302
|
cursorPaging?: CursorPaging;
|
365
303
|
}
|
@@ -370,18 +308,18 @@ interface Service {
|
|
370
308
|
*/
|
371
309
|
serviceId?: string;
|
372
310
|
/**
|
373
|
-
*
|
311
|
+
* ID of the resources ([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)) to include in response.
|
374
312
|
* @format GUID
|
375
313
|
* @maxSize 135
|
376
314
|
*/
|
377
315
|
resourceIds?: string[];
|
378
316
|
/**
|
379
|
-
*
|
317
|
+
* Resource type IDs ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/resource-types/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/resources/resource-types-v2/introduction)) to include in returned time slots.
|
380
318
|
* This is in addition to the specifically requested resources.
|
381
319
|
*
|
382
|
-
* <blockquote
|
320
|
+
* <blockquote>
|
383
321
|
* Currently supported only for Staff Member resource type.
|
384
|
-
* Staff
|
322
|
+
* Staff members belong to resource type ID `cd44cf8-756f-41c3-bd90-3e2ffcaf1155`.
|
385
323
|
* </blockquote>
|
386
324
|
* @format GUID
|
387
325
|
* @maxSize 100
|
@@ -389,9 +327,9 @@ interface Service {
|
|
389
327
|
includeResourceTypeIds?: string[];
|
390
328
|
/**
|
391
329
|
* Selected customer choices.
|
392
|
-
* If specified, the selected choices
|
393
|
-
* If not specified, the service default configuration
|
394
|
-
* Enforcing this field is the responsibility of the
|
330
|
+
* If specified, the selected choices are used to calculate service configuration.
|
331
|
+
* If not specified, the service default configuration is used.
|
332
|
+
* Enforcing this field is the responsibility of the service plugin implementer, and not the Time Slots V2 API.
|
395
333
|
*/
|
396
334
|
customerChoices?: V2CustomerChoices;
|
397
335
|
}
|
@@ -401,22 +339,24 @@ interface Service {
|
|
401
339
|
*/
|
402
340
|
interface V2CustomerChoices {
|
403
341
|
/**
|
404
|
-
*
|
405
|
-
* Min: `1 minute
|
406
|
-
* Max: `44639 minutes
|
342
|
+
* Selected customer duration in minutes.
|
343
|
+
* Min: `1` minute
|
344
|
+
* Max: `44639` minutes (30 days, 23 hours, and 59 minutes)
|
345
|
+
* Default: `15` minutes
|
407
346
|
* @min 1
|
408
347
|
* @max 44639
|
409
348
|
*/
|
410
349
|
durationInMinutes?: number | null;
|
411
350
|
/**
|
412
|
-
*
|
413
|
-
*
|
351
|
+
* Selected add-on IDs.
|
352
|
+
*
|
353
|
+
* Max: Calculated as the product of the maximum number of add-on groups multiplied by the maximum number of add-ons per group. Currently 21 (3 groups × 7 add-ons per group), but may change in the future.
|
414
354
|
* @format GUID
|
415
355
|
* @maxSize 21
|
416
356
|
*/
|
417
357
|
addOnIds?: string[] | null;
|
418
358
|
/**
|
419
|
-
*
|
359
|
+
* Selected duration choice ID.
|
420
360
|
* @format GUID
|
421
361
|
*/
|
422
362
|
durationChoiceId?: string | null;
|
@@ -441,29 +381,22 @@ interface CursorPaging {
|
|
441
381
|
}
|
442
382
|
interface ListMultiServiceAvailabilityTimeSlotsResponse {
|
443
383
|
/**
|
444
|
-
*
|
384
|
+
* Retrieved time slots.
|
385
|
+
* Sorted by `localStartDate` in ascending order. When multiple slots have the same start time, no specific secondary sorting is guaranteed.
|
445
386
|
* @maxSize 1000
|
446
387
|
*/
|
447
388
|
timeSlots?: TimeSlot[];
|
448
389
|
/**
|
449
|
-
* Time zone
|
450
|
-
*
|
390
|
+
* Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
|
391
|
+
* For example, `America/New_York` or `UTC`.
|
392
|
+
* Default: `timeZone` specified in the business site properties ([SDK](https://dev.wix.com/docs/sdk/backend-modules/site-properties/properties/get-site-properties) | [REST](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties)).
|
451
393
|
* @minLength 1
|
452
394
|
* @maxLength 150
|
453
395
|
*/
|
454
396
|
timeZone?: string | null;
|
455
397
|
/**
|
456
|
-
*
|
457
|
-
* Contains
|
458
|
-
*
|
459
|
-
* By default,
|
460
|
-
* if there are more than 1000 results,
|
461
|
-
* the response will contain a `cursorPagingMetaData` with a cursor to the next page of results.
|
462
|
-
*
|
463
|
-
* <blockquote class="important">
|
464
|
-
* <p><strong>Important:</strong><br/>
|
465
|
-
* <code class="grey-background">count</code> is not supported.</p>
|
466
|
-
* </blockquote>
|
398
|
+
* Paging metadata for the next page of results.
|
399
|
+
* Contains a cursor if there are more than 1000 results.
|
467
400
|
*/
|
468
401
|
cursorPagingMetadata?: CursorPagingMetadata;
|
469
402
|
}
|
@@ -485,51 +418,47 @@ interface Cursors {
|
|
485
418
|
}
|
486
419
|
interface GetMultiServiceAvailabilityTimeSlotRequest {
|
487
420
|
/**
|
488
|
-
* Services for which the
|
489
|
-
*
|
490
|
-
*
|
491
|
-
* MinSize: 2.
|
492
|
-
* MaxSize: 8.
|
421
|
+
* Services for which the multi-service time slots are returned.
|
422
|
+
* You can specify resource filters for each service.
|
493
423
|
* @minSize 2
|
494
424
|
* @maxSize 8
|
495
425
|
*/
|
496
426
|
services: Service[];
|
497
427
|
/**
|
498
|
-
* Local start date of the time slot
|
499
|
-
* For example,
|
428
|
+
* Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
429
|
+
* For example, `2026-01-30T13:30:00`.
|
500
430
|
* @format LOCAL_DATE_TIME
|
501
431
|
*/
|
502
432
|
localStartDate: string;
|
503
433
|
/**
|
504
|
-
* Local end date of the time slot
|
505
|
-
* For example,
|
434
|
+
* Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
435
|
+
* For example, `2026-01-30T13:30:00`.
|
506
436
|
* @format LOCAL_DATE_TIME
|
507
437
|
*/
|
508
438
|
localEndDate: string;
|
509
439
|
/**
|
510
|
-
* Time zone
|
440
|
+
* Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.
|
441
|
+
* For example, `America/New_York` or `UTC`.
|
442
|
+
*
|
443
|
+
* Default: `timeZone` specified in the business site properties ([SDK](https://dev.wix.com/docs/sdk/backend-modules/site-properties/properties/get-site-properties) | [REST](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties)).
|
511
444
|
* @minLength 1
|
512
445
|
* @maxLength 150
|
513
446
|
*/
|
514
447
|
timeZone: string | null;
|
515
448
|
/**
|
516
|
-
*
|
449
|
+
* Location for which the multi-service time slots are returned. If you filter by `{"type": "BUSINESS"}`, you must also specify a location ID. A filter for `location.name` is ignored.
|
517
450
|
*
|
518
|
-
*
|
519
|
-
* If locationType is `BUSINESS`, you __must__ also provide a `locationId`.
|
520
|
-
*
|
521
|
-
* <blockquote class="warning">
|
522
|
-
* <p>Supports filtering by location type, or by location ID.
|
523
|
-
* Other fields like <code class="grey-background">name</code> are ignored.</p>
|
524
|
-
* </blockquote>
|
451
|
+
* Required unless you specify `cursorPaging.cursor`.
|
525
452
|
*/
|
526
453
|
location: Location;
|
527
454
|
}
|
528
455
|
interface GetMultiServiceAvailabilityTimeSlotResponse {
|
529
|
-
/**
|
456
|
+
/** Retrieved time slot. */
|
530
457
|
timeSlot?: TimeSlot;
|
531
458
|
/**
|
532
|
-
*
|
459
|
+
* Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
|
460
|
+
* For example, `America/New_York` or `UTC`.
|
461
|
+
* Default: `timeZone` specified in the business site properties ([SDK](https://dev.wix.com/docs/sdk/backend-modules/site-properties/properties/get-site-properties) | [REST](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties)).
|
533
462
|
* @minLength 1
|
534
463
|
* @maxLength 150
|
535
464
|
*/
|