@wix/auto_sdk_bookings_multi-service-availability-time-slots 1.0.155 → 1.0.157
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 +311 -551
- package/build/cjs/index.typings.js.map +1 -1
- package/build/cjs/meta.d.ts +134 -207
- 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 +311 -551
- package/build/es/index.typings.mjs.map +1 -1
- package/build/es/meta.d.mts +134 -207
- 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 +311 -551
- package/build/internal/cjs/index.typings.js.map +1 -1
- package/build/internal/cjs/meta.d.ts +134 -207
- 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 +311 -551
- package/build/internal/es/index.typings.mjs.map +1 -1
- package/build/internal/es/meta.d.mts +134 -207
- package/build/internal/es/meta.mjs.map +1 -1
- package/package.json +3 -2
@@ -1,193 +1,185 @@
|
|
1
1
|
import { NonNullablePaths } from '@wix/sdk-types';
|
2
2
|
|
3
3
|
/**
|
4
|
-
*
|
5
|
-
*
|
4
|
+
* A time slot represents a specific time period when a service is available for booking.
|
5
|
+
* 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.
|
6
|
+
* 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.
|
6
7
|
*
|
7
|
-
*
|
8
|
-
*
|
9
|
-
* 2. In what location the service is available for this slot?
|
10
|
-
*
|
11
|
-
* 3. Which available resources can provide the service for this slot?
|
12
|
-
*
|
13
|
-
* 4. Does booking the slot for the service violates any of the service booking policies?
|
14
|
-
*
|
15
|
-
* 5. What is the total capacity and remaining capacity of the service at the time of the calculation of the `TimeSlot`?
|
16
|
-
*
|
17
|
-
* > __Note:__
|
18
|
-
* > When the `TimeSlot` has a non empty `NestedTimeSlots`, it represents the availability information
|
19
|
-
* > for a given list of `Appointment` services within a specific time slot.
|
8
|
+
* 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.
|
20
9
|
*/
|
21
10
|
interface TimeSlot {
|
22
11
|
/**
|
23
|
-
* Service ID.
|
12
|
+
* 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)).
|
24
13
|
*
|
25
|
-
*
|
26
|
-
* > Instead, each nested time slot has its own serviceId.
|
14
|
+
* Available only for single-service bookings. For multi-service bookings, this field is empty and individual service IDs are provided in `nestedTimeSlots`.
|
27
15
|
* @format GUID
|
28
16
|
*/
|
29
17
|
serviceId?: string | null;
|
30
18
|
/**
|
31
|
-
* Local start date of the time slot in ISO-8601 format.
|
32
|
-
* For example,
|
19
|
+
* Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
20
|
+
* For example, `2026-01-30T13:30:00`.
|
21
|
+
*
|
22
|
+
* For multi-service bookings, this represents the start time of the first service in the sequence.
|
33
23
|
* @format LOCAL_DATE_TIME
|
34
24
|
*/
|
35
25
|
localStartDate?: string | null;
|
36
26
|
/**
|
37
|
-
* Local end date of the time slot in ISO-8601 format.
|
38
|
-
* For example,
|
27
|
+
* Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
28
|
+
* For example, `2026-01-30T14:00:00`.
|
29
|
+
*
|
30
|
+
* For multi-service bookings, this represents the end time of the last service in the sequence.
|
39
31
|
* @format LOCAL_DATE_TIME
|
40
32
|
*/
|
41
33
|
localEndDate?: string | null;
|
42
34
|
/**
|
43
|
-
* Whether the slot
|
35
|
+
* 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)).
|
44
36
|
*
|
45
|
-
*
|
46
|
-
* the returned value is `true`. Otherwise, returns `false`.
|
37
|
+
* For multi-service bookings, this is `true` only when all services in the sequence comply with their respective booking policies.
|
47
38
|
*/
|
48
39
|
bookable?: boolean | null;
|
49
|
-
/**
|
40
|
+
/** Information about where the business provides the service to the customer. */
|
50
41
|
location?: Location;
|
51
|
-
/**
|
42
|
+
/**
|
43
|
+
* 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.
|
44
|
+
* Available only for classes. Not available for appointment-based services and courses.
|
45
|
+
*/
|
52
46
|
eventInfo?: EventInfo;
|
53
47
|
/**
|
54
48
|
* Total number of spots for the slot.
|
49
|
+
*
|
50
|
+
* For multi-service bookings, this is always `1` because customers book the entire service sequence as a single unit.
|
55
51
|
* @min 1
|
56
52
|
* @max 1000
|
57
53
|
*/
|
58
54
|
totalCapacity?: number | null;
|
59
55
|
/**
|
60
56
|
* Remaining number of spots for the slot.
|
61
|
-
*
|
57
|
+
* This is calculated as total capacity minus booked spots, but doesn't account for waitlist reservations.
|
58
|
+
*
|
59
|
+
* If the service has a waitlist enabled, use `bookableCapacity` instead to get the accurate number of spots customers can actually book.
|
60
|
+
*
|
61
|
+
* For single-service bookings: An appointment service with total capacity of 3 spots and 1 booked spot results in a remaining capacity of `2`.
|
62
|
+
* For multi-service bookings: This is either `1` (sequence available) or `0` (sequence unavailable).
|
62
63
|
* @max 1000
|
63
64
|
*/
|
64
65
|
remainingCapacity?: number | null;
|
65
66
|
/**
|
66
|
-
* Number of spots
|
67
|
-
*
|
67
|
+
* Number of spots that customers can book for the slot.
|
68
|
+
* Calculated as the remaining capacity minus the spots reserved for the waitlist.
|
69
|
+
* If the service has no waitlist, identical to `remainingCapacity`.
|
70
|
+
*
|
71
|
+
* For multi-service bookings, this is either `1` (sequence can be booked) or `0` (sequence cannot be booked).
|
68
72
|
*/
|
69
73
|
bookableCapacity?: number | null;
|
70
74
|
/**
|
71
|
-
*
|
75
|
+
* Information about booking policy violations for the slot.
|
72
76
|
*
|
73
|
-
*
|
74
|
-
* we will return also slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.
|
77
|
+
* For multi-service bookings, this aggregates violations from all services in the sequence.
|
75
78
|
*/
|
76
79
|
bookingPolicyViolations?: BookingPolicyViolations;
|
77
80
|
/**
|
78
|
-
* List of
|
79
|
-
* Each `AvailableResources` contains information about available resources of the same type.
|
81
|
+
* 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.
|
80
82
|
*
|
81
|
-
*
|
82
|
-
* > Instead, each nested time slot has its own available resources.
|
83
|
+
* Available only for single-service bookings. For multi-service bookings, resource information is provided in `nestedTimeSlots`.
|
83
84
|
*/
|
84
85
|
availableResources?: AvailableResources[];
|
85
86
|
/**
|
86
|
-
*
|
87
|
-
*
|
87
|
+
* Nested time slots for multi-service bookings.
|
88
|
+
* Each nested slot represents 1 service in the sequence, ordered according to the service sequence specified in the request.
|
89
|
+
*
|
90
|
+
* Available only for multi-service bookings. Empty for single-service bookings.
|
88
91
|
* @maxSize 8
|
89
92
|
*/
|
90
93
|
nestedTimeSlots?: NestedTimeSlot[];
|
91
|
-
/**
|
94
|
+
/** Information about why customers can't book the time slot. */
|
92
95
|
nonBookableReasons?: NonBookableReasons;
|
93
96
|
/**
|
94
|
-
*
|
95
|
-
* Same as the service
|
97
|
+
* Schedule ID associated with this time slot.
|
98
|
+
* Same as the service's schedule ID.
|
96
99
|
* @format GUID
|
97
100
|
*/
|
98
101
|
scheduleId?: string | null;
|
99
102
|
}
|
100
103
|
interface Location {
|
101
104
|
/**
|
102
|
-
*
|
105
|
+
* 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)).
|
106
|
+
* Available only for business locations.
|
103
107
|
* @format GUID
|
104
108
|
*/
|
105
109
|
_id?: string | null;
|
106
|
-
/**
|
110
|
+
/** Location name. */
|
107
111
|
name?: string | null;
|
108
|
-
/**
|
112
|
+
/** Formatted location address. */
|
109
113
|
formattedAddress?: string | null;
|
110
|
-
/**
|
111
|
-
* The type of location:
|
112
|
-
* - `CUSTOM`: The location is specific to this service, and is not derived from the business location.
|
113
|
-
* - `BUSINESS`: A business location, either the default business address, or locations defined for the business by the Business Info.
|
114
|
-
* - `CUSTOMER`: The location is determined by the customer and is not set up beforehand.
|
115
|
-
*/
|
114
|
+
/** Location type. */
|
116
115
|
locationType?: LocationTypeWithLiterals;
|
117
116
|
}
|
118
117
|
declare enum LocationType {
|
119
118
|
UNKNOWN_LOCATION_TYPE = "UNKNOWN_LOCATION_TYPE",
|
120
119
|
/** A business location, either the default business address, or locations defined for the business by the Business Info. */
|
121
120
|
BUSINESS = "BUSINESS",
|
122
|
-
/** The location is unique to this service and isn't defined as
|
121
|
+
/** The location is unique to this service and isn't defined as 1 of the business locations. */
|
123
122
|
CUSTOM = "CUSTOM",
|
124
|
-
/** The location can be determined by the customer and
|
123
|
+
/** The location can be determined by the customer and isn't set up beforehand. */
|
125
124
|
CUSTOMER = "CUSTOMER"
|
126
125
|
}
|
127
126
|
/** @enumType */
|
128
127
|
type LocationTypeWithLiterals = LocationType | 'UNKNOWN_LOCATION_TYPE' | 'BUSINESS' | 'CUSTOM' | 'CUSTOMER';
|
129
|
-
/**
|
128
|
+
/** Available for event based slots, and not for availability based slots */
|
130
129
|
interface EventInfo {
|
131
130
|
/**
|
132
|
-
*
|
131
|
+
* Event ID.
|
133
132
|
* @minLength 36
|
134
133
|
* @maxLength 250
|
135
134
|
*/
|
136
135
|
eventId?: string | null;
|
137
|
-
/**
|
136
|
+
/** Information about the event's waitlist. Available only if the service has a waitlist. */
|
138
137
|
waitingList?: WaitingList;
|
139
138
|
}
|
140
139
|
interface WaitingList {
|
141
140
|
/**
|
142
|
-
* Total number of spots in the
|
141
|
+
* Total number of spots in the waitlist.
|
143
142
|
* @min 1
|
144
143
|
*/
|
145
144
|
totalCapacity?: number | null;
|
146
145
|
/**
|
147
|
-
* Number of remaining spots in the
|
148
|
-
* For example,
|
146
|
+
* Number of remaining spots in the waitlist.
|
147
|
+
* For example, an event with a waitlist for 10 people and 3 registrants, results in a remaining capacity of `7`.
|
149
148
|
*/
|
150
149
|
remainingCapacity?: number | null;
|
151
150
|
}
|
152
151
|
interface BookingPolicyViolations {
|
153
|
-
/**
|
152
|
+
/** Whether it's too early for customers to book the slot. */
|
154
153
|
tooEarlyToBook?: boolean | null;
|
155
|
-
/**
|
154
|
+
/** Earliest time for booking the slot in `YYYY-MM-DDThh:mm:ss.sssZ` format. */
|
156
155
|
earliestBookingDate?: Date | null;
|
157
|
-
/**
|
156
|
+
/** Whether it's too late for customers to book the slot. */
|
158
157
|
tooLateToBook?: boolean | null;
|
159
|
-
/**
|
158
|
+
/** Whether customers can book the service online. */
|
160
159
|
bookOnlineDisabled?: boolean | null;
|
161
160
|
}
|
162
161
|
interface AvailableResources {
|
163
162
|
/**
|
164
|
-
* Resource type ID.
|
163
|
+
* 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)).
|
165
164
|
* @format GUID
|
166
165
|
*/
|
167
166
|
resourceTypeId?: string | null;
|
168
167
|
/**
|
169
|
-
*
|
170
|
-
*
|
171
|
-
* + When returned from `ListAvailabilityTimeSlots`, empty by default.
|
172
|
-
* + + If you provided `includeResourceTypeIds` or `resourceIds` in request,
|
173
|
-
* contains __up__ to 10 available resources out of those provided.
|
174
|
-
*
|
175
|
-
* + When returned from `GetAvailabilityTimeSlots`, contains all available resources by default.
|
176
|
-
* + + If you provided `includeResourceTypeIds` or `resourceIds` in request,
|
177
|
-
* contains all of the available resources out of those provided.
|
168
|
+
* Details about resources available during the time slot.
|
178
169
|
*
|
170
|
+
* Behavior varies by method:
|
179
171
|
*
|
180
|
-
*
|
181
|
-
*
|
182
|
-
*
|
172
|
+
* List methods (List Availability Time Slots and List Multi Service Availability Time Slots):
|
173
|
+
* - Empty by default.
|
174
|
+
* - Up to 10 resources when specifying `includeResourceTypeIds` or `resourceIds` in the request.
|
183
175
|
*
|
184
|
-
*
|
185
|
-
*
|
186
|
-
*
|
176
|
+
* Get methods (Get Availability Time Slots and Get Multi Service Availability Time Slots):
|
177
|
+
* - All resources by default.
|
178
|
+
* - Filtered resources when specifying `includeResourceTypeIds` or `resourceIds` in the request.
|
187
179
|
*/
|
188
180
|
resources?: Resource[];
|
189
181
|
/**
|
190
|
-
* Whether there are more available resources for the slot
|
182
|
+
* Whether there are more available resources for the slot than those listed in `resources`.
|
191
183
|
* @readonly
|
192
184
|
*/
|
193
185
|
hasMoreAvailableResources?: boolean | null;
|
@@ -211,20 +203,19 @@ interface NestedTimeSlot {
|
|
211
203
|
*/
|
212
204
|
serviceId?: string;
|
213
205
|
/**
|
214
|
-
* Local start date of the nested time slot in ISO-8601 format.
|
215
|
-
* For example,
|
206
|
+
* Local start date of the nested time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
207
|
+
* For example, `2026-01-30T13:30:00`.
|
216
208
|
* @format LOCAL_DATE_TIME
|
217
209
|
*/
|
218
210
|
localStartDate?: string;
|
219
211
|
/**
|
220
|
-
* Local end date of the nested time slot in ISO-8601 format.
|
221
|
-
* For example,
|
212
|
+
* Local end date of the nested time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
213
|
+
* For example, `2026-01-30T13:30:00`.
|
222
214
|
* @format LOCAL_DATE_TIME
|
223
215
|
*/
|
224
216
|
localEndDate?: string;
|
225
217
|
/**
|
226
|
-
* List of
|
227
|
-
* Each `AvailableResources` contains information about available resources of the same type.
|
218
|
+
* 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.
|
228
219
|
* @maxSize 10
|
229
220
|
*/
|
230
221
|
availableResources?: AvailableResources[];
|
@@ -236,129 +227,76 @@ interface NestedTimeSlot {
|
|
236
227
|
scheduleId?: string | null;
|
237
228
|
}
|
238
229
|
interface NonBookableReasons {
|
239
|
-
/**
|
230
|
+
/** Whether the slot is fully booked with no remaining capacity. */
|
240
231
|
noRemainingCapacity?: boolean | null;
|
241
|
-
/**
|
232
|
+
/** Whether booking the slot violates any of the service's booking policies. */
|
242
233
|
violatesBookingPolicy?: boolean | null;
|
243
|
-
/**
|
234
|
+
/** Whether the slot is reserved for the waitlist. A new customer can't book the reserved slot. */
|
244
235
|
reservedForWaitingList?: boolean | null;
|
245
236
|
}
|
246
237
|
interface ListMultiServiceAvailabilityTimeSlotsRequest {
|
247
238
|
/**
|
248
|
-
* Services for which the
|
249
|
-
* Each service
|
239
|
+
* Services for which the multi-service time slots are returned.
|
240
|
+
* Each service can include its own resource filters.
|
250
241
|
*
|
251
|
-
*
|
252
|
-
* MaxSize: `8`.
|
253
|
-
*
|
254
|
-
* Required, unless `cursorPaging`.`cursor` is provided.
|
242
|
+
* Required unless you specify `cursorPaging.cursor`.
|
255
243
|
* @maxSize 8
|
256
244
|
*/
|
257
245
|
services?: Service[];
|
258
246
|
/**
|
259
|
-
* Lower boundary for `localStartDate`
|
260
|
-
* For example,
|
261
|
-
*
|
262
|
-
* Each returned `TimeSlot` in response has a `localStartDate`
|
263
|
-
* within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
247
|
+
* Lower boundary for `localStartDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
248
|
+
* For example, `2026-01-30T13:30:00`.
|
249
|
+
* Each returned time slot has a `localStartDate` between `fromLocalDate` and `toLocalDate`.
|
264
250
|
*
|
265
|
-
* Required
|
251
|
+
* Required unless you specify `cursorPaging.cursor`.
|
266
252
|
* @format LOCAL_DATE_TIME
|
267
253
|
*/
|
268
254
|
fromLocalDate?: string | null;
|
269
255
|
/**
|
270
|
-
* Upper boundary for `
|
271
|
-
* For example,
|
256
|
+
* Upper boundary for `localToDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
257
|
+
* For example, `2026-01-30T13:30:00`.
|
258
|
+
* Each returned time slot has a `localEndDate` between `fromLocalDate` and `toLocalDate`.
|
272
259
|
*
|
273
|
-
*
|
274
|
-
* within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
275
|
-
*
|
276
|
-
* Required, unless `cursorPaging`.`cursor` is provided.
|
260
|
+
* Required unless you specify `cursorPaging.cursor`.
|
277
261
|
* @format LOCAL_DATE_TIME
|
278
262
|
*/
|
279
263
|
toLocalDate?: string | null;
|
280
264
|
/**
|
281
|
-
* Time zone
|
265
|
+
* 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`.
|
266
|
+
*
|
267
|
+
* Required unless you specify `cursorPaging.cursor`.
|
282
268
|
*
|
283
|
-
*
|
269
|
+
* 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)).
|
284
270
|
* @minLength 1
|
285
271
|
* @maxLength 150
|
286
272
|
*/
|
287
273
|
timeZone?: string | null;
|
288
274
|
/**
|
289
|
-
* Location for which the
|
275
|
+
* 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.
|
290
276
|
*
|
291
|
-
*
|
292
|
-
* If locationType is `BUSINESS`, you __must__ provide a locationId.
|
293
|
-
*
|
294
|
-
* <blockquote class="warning">
|
295
|
-
* <p><strong>warning:</strong><br/>
|
296
|
-
* Supports filtering by location type, or by location ID. </br>
|
297
|
-
* Other fields like <code class="grey-background">name</code> are ignored.</p>
|
298
|
-
* </blockquote>
|
299
|
-
*
|
300
|
-
* Required, unless `cursorPaging`.`cursor` is provided.
|
277
|
+
* Required unless you specify `cursorPaging.cursor`.
|
301
278
|
*/
|
302
279
|
location?: Location;
|
303
280
|
/**
|
304
|
-
* Whether the
|
305
|
-
*
|
306
|
-
* If booking any of the `TimeSlot`.`NestedTimeSlot`s violates any of its services bookings policies,
|
307
|
-
* returns as `false`. Otherwise, returns as `true`.
|
308
|
-
*
|
309
|
-
* > __Note:__
|
310
|
-
* > A `TimeSlot` with a `NestedTimeSlot` that doesn't meet its service's bookings policies will be returned with `bookable` = false,
|
311
|
-
* > while a `TimeSlot` with no available resources will not be returned at all.
|
281
|
+
* Whether the time slot is bookable according to all services' booking policies.
|
282
|
+
* If not specified, returns both bookable and un-bookable time slots.
|
312
283
|
*/
|
313
284
|
bookable?: boolean | null;
|
314
285
|
/**
|
315
|
-
* Indicators for service's booking policy violations
|
316
|
-
*
|
317
|
-
* A bookable time slot must not violate any policy,
|
318
|
-
* therefor, this filter is only relevant when `bookable` filter is false.
|
319
|
-
*
|
320
|
-
* Each nested field is checked on all `NestedTimeSlot`s. For example, if only one of the `NestedTimeSlot`'s
|
321
|
-
* has a service with `tooEarlyToBook` same as in the request, we return the `TimeSlot` regardless of whether
|
322
|
-
* the other `NestedTimeSlots` has the same `tooEarlyToBook` as in request.
|
323
|
-
*
|
324
|
-
* Each nested field is checked on its own. For example, if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined
|
325
|
-
* we return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.
|
286
|
+
* Indicators for service's booking policy violations.
|
287
|
+
* Only relevant when `bookable` filter is false.
|
326
288
|
*/
|
327
289
|
bookingPolicyViolations?: BookingPolicyViolations;
|
328
290
|
/**
|
329
|
-
* Maximum number of slots to
|
330
|
-
*
|
331
|
-
*
|
332
|
-
* By default,
|
333
|
-
* if `bookable` filter was not specified,
|
334
|
-
* and a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.
|
335
|
-
*
|
336
|
-
* If the number of `bookable` slots is less than the requested `timeSlotsPerDay`,
|
337
|
-
* `un-bookable` slots will be returned according to the specified filters.
|
291
|
+
* Maximum number of slots to return for each day in the specified time range.
|
292
|
+
* If `bookable` filter isn't specified, bookable slots are returned first.
|
338
293
|
*/
|
339
294
|
timeSlotsPerDay?: number | null;
|
340
295
|
/**
|
341
|
-
*
|
342
|
-
*
|
343
|
-
*
|
344
|
-
*
|
345
|
-
* This is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.
|
346
|
-
*
|
347
|
-
* If there are more results than the specified limit, the response will contain a `cursorPagingMetaData`
|
348
|
-
* with a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the
|
349
|
-
* returned cursor to the next call as `cursorPaging`.`cursor`.
|
350
|
-
*
|
351
|
-
* For the first call, you should only specify the `limit` for the results page.
|
352
|
-
* For each following call, you should only pass the previous returned cursor as `cursorPaging`.`cursor`
|
353
|
-
* the `cursorPaging`.`limit`. You may pass a different `limit`.
|
354
|
-
* No need to specify any additional parameters.
|
355
|
-
*
|
356
|
-
* <blockquote class="important">
|
357
|
-
* <p><strong>Important:</strong><br/>
|
358
|
-
* If you only provide a <code class="grey-background">cursorPaging</code>. <code class="grey-background">cursor</code>,
|
359
|
-
* the response will contain the default size of results which is `1000`.
|
360
|
-
* </p>
|
361
|
-
* </blockquote>
|
296
|
+
* Cursor-based paging configuration.
|
297
|
+
* Enables fetching results in smaller chunks by setting a limit on the number of results.
|
298
|
+
* For consistent pagination behavior, use the same `limit` value throughout a pagination sequence.
|
299
|
+
* When specifying a new `limit` in follow-up requests, the API respects the new value.
|
362
300
|
*/
|
363
301
|
cursorPaging?: CursorPaging;
|
364
302
|
}
|
@@ -375,7 +313,7 @@ interface Service {
|
|
375
313
|
*/
|
376
314
|
resourceIds?: string[];
|
377
315
|
/**
|
378
|
-
*
|
316
|
+
* Resource type IDs to include in returned time slots.
|
379
317
|
* This is in addition to the specifically requested resources.
|
380
318
|
*
|
381
319
|
* <blockquote class="important">
|
@@ -400,7 +338,7 @@ interface Service {
|
|
400
338
|
*/
|
401
339
|
interface V2CustomerChoices {
|
402
340
|
/**
|
403
|
-
*
|
341
|
+
* Selected customer duration in minutes.
|
404
342
|
* Min: `1 minute`
|
405
343
|
* Max: `44639 minutes` (30 days, 23 hours, and 59 minutes)
|
406
344
|
* @min 1
|
@@ -408,14 +346,14 @@ interface V2CustomerChoices {
|
|
408
346
|
*/
|
409
347
|
durationInMinutes?: number | null;
|
410
348
|
/**
|
411
|
-
*
|
349
|
+
* Selected add-on IDs.
|
412
350
|
* Max: Derived from max amount of Add-On groups * max amount of Add-Ons per group.
|
413
351
|
* @format GUID
|
414
352
|
* @maxSize 21
|
415
353
|
*/
|
416
354
|
addOnIds?: string[] | null;
|
417
355
|
/**
|
418
|
-
*
|
356
|
+
* Selected duration choice ID.
|
419
357
|
* @format GUID
|
420
358
|
*/
|
421
359
|
durationChoiceId?: string | null;
|
@@ -440,29 +378,22 @@ interface CursorPaging {
|
|
440
378
|
}
|
441
379
|
interface ListMultiServiceAvailabilityTimeSlotsResponse {
|
442
380
|
/**
|
443
|
-
*
|
381
|
+
* Retrieved time slots.
|
382
|
+
* Sorted by `localStartDate` in ascending order. When multiple slots have the same start time, no specific secondary sorting is guaranteed.
|
444
383
|
* @maxSize 1000
|
445
384
|
*/
|
446
385
|
timeSlots?: TimeSlot[];
|
447
386
|
/**
|
448
|
-
* Time zone
|
449
|
-
*
|
387
|
+
* Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
|
388
|
+
* For example, `America/New_York` or `UTC`.
|
389
|
+
* 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)).
|
450
390
|
* @minLength 1
|
451
391
|
* @maxLength 150
|
452
392
|
*/
|
453
393
|
timeZone?: string | null;
|
454
394
|
/**
|
455
|
-
*
|
456
|
-
* Contains
|
457
|
-
*
|
458
|
-
* By default,
|
459
|
-
* if there are more than 1000 results,
|
460
|
-
* the response will contain a `cursorPagingMetaData` with a cursor to the next page of results.
|
461
|
-
*
|
462
|
-
* <blockquote class="important">
|
463
|
-
* <p><strong>Important:</strong><br/>
|
464
|
-
* <code class="grey-background">count</code> is not supported.</p>
|
465
|
-
* </blockquote>
|
395
|
+
* Paging metadata for the next page of results.
|
396
|
+
* Contains a cursor if there are more than 1000 results.
|
466
397
|
*/
|
467
398
|
cursorPagingMetadata?: CursorPagingMetadata;
|
468
399
|
}
|
@@ -484,51 +415,47 @@ interface Cursors {
|
|
484
415
|
}
|
485
416
|
interface GetMultiServiceAvailabilityTimeSlotRequest {
|
486
417
|
/**
|
487
|
-
* Services for which the
|
488
|
-
*
|
489
|
-
*
|
490
|
-
* MinSize: 2.
|
491
|
-
* MaxSize: 8.
|
418
|
+
* Services for which the multi-service time slots are returned.
|
419
|
+
* You can specify resource filters for each service.
|
492
420
|
* @minSize 2
|
493
421
|
* @maxSize 8
|
494
422
|
*/
|
495
423
|
services: Service[];
|
496
424
|
/**
|
497
|
-
* Local start date of the time slot
|
498
|
-
* For example,
|
425
|
+
* Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
426
|
+
* For example, `2026-01-30T13:30:00`.
|
499
427
|
* @format LOCAL_DATE_TIME
|
500
428
|
*/
|
501
429
|
localStartDate: string;
|
502
430
|
/**
|
503
|
-
* Local end date of the time slot
|
504
|
-
* For example,
|
431
|
+
* Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
432
|
+
* For example, `2026-01-30T13:30:00`.
|
505
433
|
* @format LOCAL_DATE_TIME
|
506
434
|
*/
|
507
435
|
localEndDate: string;
|
508
436
|
/**
|
509
|
-
* Time zone
|
437
|
+
* Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.
|
438
|
+
* For example, `America/New_York` or `UTC`.
|
439
|
+
*
|
440
|
+
* 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)).
|
510
441
|
* @minLength 1
|
511
442
|
* @maxLength 150
|
512
443
|
*/
|
513
444
|
timeZone: string | null;
|
514
445
|
/**
|
515
|
-
*
|
516
|
-
*
|
517
|
-
* You must provide a specific `locationType`.
|
518
|
-
* If locationType is `BUSINESS`, you __must__ also provide a `locationId`.
|
446
|
+
* 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.
|
519
447
|
*
|
520
|
-
*
|
521
|
-
* <p>Supports filtering by location type, or by location ID.
|
522
|
-
* Other fields like <code class="grey-background">name</code> are ignored.</p>
|
523
|
-
* </blockquote>
|
448
|
+
* Required unless you specify `cursorPaging.cursor`.
|
524
449
|
*/
|
525
450
|
location: Location;
|
526
451
|
}
|
527
452
|
interface GetMultiServiceAvailabilityTimeSlotResponse {
|
528
|
-
/**
|
453
|
+
/** Retrieved time slot. */
|
529
454
|
timeSlot?: TimeSlot;
|
530
455
|
/**
|
531
|
-
*
|
456
|
+
* Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
|
457
|
+
* For example, `America/New_York` or `UTC`.
|
458
|
+
* 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)).
|
532
459
|
* @minLength 1
|
533
460
|
* @maxLength 150
|
534
461
|
*/
|
@@ -536,141 +463,92 @@ interface GetMultiServiceAvailabilityTimeSlotResponse {
|
|
536
463
|
}
|
537
464
|
interface ListAvailabilityTimeSlotsRequest {
|
538
465
|
/**
|
539
|
-
* Service ID for which
|
540
|
-
*
|
541
|
-
*
|
542
|
-
* Required, unless `cursorPaging`.`cursor` is provided.
|
466
|
+
* Service ID for which to retrieve time slots. You must specify the ID of an appointment-based service.
|
467
|
+
* Required, unless you specify `cursorPaging.cursor`.
|
543
468
|
* @format GUID
|
544
469
|
*/
|
545
470
|
serviceId?: string | null;
|
546
471
|
/**
|
547
|
-
* Lower boundary for `localStartDate` to include in response
|
548
|
-
*
|
472
|
+
* Lower boundary for `localStartDate` to include in response.
|
473
|
+
* Each returned time slot has a `localStartDate` within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
474
|
+
* Required, unless you specify `cursorPaging.cursor`.
|
549
475
|
*
|
550
|
-
*
|
551
|
-
*
|
552
|
-
*
|
553
|
-
* Required, unless `cursorPaging`.`cursor` is provided.
|
476
|
+
* Local start date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
477
|
+
* For example, `2026-01-30T13:30:00`.
|
554
478
|
* @format LOCAL_DATE_TIME
|
555
479
|
*/
|
556
480
|
fromLocalDate?: string | null;
|
557
481
|
/**
|
558
|
-
* Upper boundary for `localStartDate` to include in response
|
559
|
-
*
|
560
|
-
*
|
561
|
-
* Each returned `TimeSlot` in response has a `localStartDate`
|
562
|
-
* within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
482
|
+
* Upper boundary for `localStartDate` to include in response.
|
483
|
+
* Each returned time slot has a `localStartDate` within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
484
|
+
* Required, unless you specify `cursorPaging.cursor`.
|
563
485
|
*
|
564
|
-
*
|
486
|
+
* Local end date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
487
|
+
* For example, `2026-01-30T13:30:00`.
|
565
488
|
* @format LOCAL_DATE_TIME
|
566
489
|
*/
|
567
490
|
toLocalDate?: string | null;
|
568
491
|
/**
|
569
|
-
* Time zone
|
492
|
+
* Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
|
493
|
+
* For example, `America/New_York` or `UTC`.
|
570
494
|
*
|
571
|
-
*
|
495
|
+
* 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)).
|
572
496
|
* @minLength 1
|
573
497
|
* @maxLength 150
|
574
498
|
*/
|
575
499
|
timeZone?: string | null;
|
576
500
|
/**
|
577
501
|
* Locations to include in response.
|
578
|
-
*
|
579
|
-
* By default,
|
580
|
-
* if no locations are provided,
|
581
|
-
* the response contains TimeSlots for all locations where the service is available.
|
582
|
-
*
|
583
|
-
* You can specify locations or location types for which the time slots will be returned for.
|
584
|
-
* If locationType is `BUSINESS`, you __must__ provide a locationId.
|
585
|
-
*
|
586
|
-
* <blockquote class="warning">
|
587
|
-
* <p><strong>warning:</strong><br/>
|
588
|
-
* Supports filtering by location type, or by location ID. </br>
|
589
|
-
* Other fields like <code class="grey-background">name</code> are ignored.</p>
|
590
|
-
* </blockquote>
|
502
|
+
* If not specified, returns time slots for all locations where the service is available.
|
591
503
|
* @maxSize 5
|
592
504
|
*/
|
593
505
|
locations?: Location[];
|
594
506
|
/**
|
595
507
|
* Resources to include in response.
|
596
|
-
*
|
597
|
-
*
|
598
|
-
* the returned TimeSlots will contain __up__ to 10 available resources out of the provided list.
|
599
|
-
* Otherwise, the returned TimeSlots returns with an empty `AvailableResources`.
|
508
|
+
* If specified, returns up to 10 available resources out of the provided list.
|
509
|
+
* Otherwise, returns time slots with empty `availableResources`.
|
600
510
|
* @format GUID
|
601
511
|
* @maxSize 135
|
602
512
|
* @deprecated
|
603
513
|
*/
|
604
514
|
resourceIds?: string[];
|
605
515
|
/**
|
606
|
-
* Resource type
|
607
|
-
*
|
608
|
-
*
|
609
|
-
* out of those specified, each contains __up__ to 10 available resources of this type.
|
516
|
+
* Resource type IDs to include in the response.
|
517
|
+
* If specified, returns up to 10 `availableResources` with matching `resourceTypeId`.
|
518
|
+
* This controls which resource details are included in the response but doesn't filter the time slots themselves.
|
610
519
|
* @format GUID
|
611
520
|
* @maxSize 100
|
612
521
|
*/
|
613
522
|
includeResourceTypeIds?: string[];
|
614
523
|
/**
|
615
|
-
* Whether the
|
616
|
-
*
|
617
|
-
* If booking this `TimeSlot` does not violates any of the service's booking policies,
|
618
|
-
* returns as `true`. Otherwise, returns as `false`.
|
619
|
-
*
|
620
|
-
* > __Note:__
|
621
|
-
* > A time slot that doesn't meet the service's bookings policies will be returned with `bookable` = false,
|
622
|
-
* > while a time slot with no available resources will not be returned at all.
|
524
|
+
* Whether the time slot is bookable according to the service's booking policies.
|
525
|
+
* If not specified, returns both bookable and un-bookable time slots.
|
623
526
|
*/
|
624
527
|
bookable?: boolean | null;
|
625
528
|
/**
|
626
|
-
* Indicators for service's booking policy violations
|
627
|
-
*
|
628
|
-
*
|
629
|
-
*
|
630
|
-
*
|
631
|
-
* Each nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined
|
632
|
-
* we return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.
|
529
|
+
* Indicators for service's booking policy violations.
|
530
|
+
* Only relevant when `bookable` filter is set to `false`. Allows filtering for time slots with specific violation types:
|
531
|
+
* - `tooEarlyToBook`: Returns slots that violate minimum advance booking time.
|
532
|
+
* - `tooLateToBook`: Returns slots that violate maximum advance booking time.
|
533
|
+
* - `bookOnlineDisabled`: Returns slots where online booking is disabled.
|
633
534
|
*/
|
634
535
|
bookingPolicyViolations?: BookingPolicyViolations;
|
635
536
|
/**
|
636
|
-
* Maximum number of slots to
|
637
|
-
*
|
638
|
-
*
|
639
|
-
* By default,
|
640
|
-
* if `bookable` filter was not specified,
|
641
|
-
* and a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.
|
642
|
-
*
|
643
|
-
* If the number of `bookable` slots is less than the requested `timeSlotsPerDay`,
|
644
|
-
* `un-bookable` slots will be returned according to the specified filters.
|
537
|
+
* Maximum number of slots to return for each day in the specified time range.
|
538
|
+
* If `bookable` filter isn't specified, bookable slots are returned first.
|
645
539
|
*/
|
646
540
|
timeSlotsPerDay?: number | null;
|
647
541
|
/**
|
648
|
-
*
|
649
|
-
*
|
650
|
-
*
|
651
|
-
*
|
652
|
-
* This is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.
|
653
|
-
*
|
654
|
-
* If there are more results than the specified limit, the response will contain a `cursorPagingMetaData`
|
655
|
-
* with a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the
|
656
|
-
* returned cursor to the next call as `cursorPaging`.`cursor`.
|
657
|
-
*
|
658
|
-
* For the first call, you should only specify the `limit` for the results page.
|
659
|
-
* For each following call, you should only pass `cursorPaging`.`cursor` with the returned cursor from previous call, and
|
660
|
-
* a `cursorPaging`.`limit`.
|
661
|
-
* No need to specify any additional parameters.
|
662
|
-
*
|
663
|
-
* <blockquote class="important">
|
664
|
-
* <p><strong>Important:</strong><br/>
|
665
|
-
* If you only provide a <code class="grey-background">cursorPaging</code>. <code class="grey-background">cursor</code>,
|
666
|
-
* the response will contain the default size of results which is `1000`.
|
667
|
-
* </p>
|
668
|
-
* </blockquote>
|
542
|
+
* Cursor-based paging configuration.
|
543
|
+
* Enables fetching results in smaller chunks by setting a limit on the number of results.
|
544
|
+
* For consistent pagination behavior, use the same `limit` value throughout a pagination sequence.
|
545
|
+
* When specifying a new `limit` in follow-up requests, the API respects the new value.
|
669
546
|
*/
|
670
547
|
cursorPaging?: CursorPaging;
|
671
548
|
/**
|
672
|
-
*
|
673
|
-
*
|
549
|
+
* Resource types to filter time slots.
|
550
|
+
* Only returns time slots that have these specific resource types available.
|
551
|
+
* This filters the time slots themselves, unlike `includeResourceTypeIds` which only controls response details.
|
674
552
|
* @maxSize 3
|
675
553
|
*/
|
676
554
|
resourceTypes?: ResourceType[];
|
@@ -703,13 +581,13 @@ interface CustomerChoices {
|
|
703
581
|
}
|
704
582
|
interface ResourceType {
|
705
583
|
/**
|
706
|
-
* Resource type ID.
|
584
|
+
* 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)).
|
707
585
|
* @format GUID
|
708
586
|
*/
|
709
587
|
resourceTypeId?: string | null;
|
710
588
|
/**
|
711
589
|
* Resource IDs.
|
712
|
-
*
|
590
|
+
* Available only if there is at least 1 resource available for the slot.
|
713
591
|
* @format GUID
|
714
592
|
* @minSize 1
|
715
593
|
* @maxSize 135
|
@@ -718,84 +596,70 @@ interface ResourceType {
|
|
718
596
|
}
|
719
597
|
interface ListAvailabilityTimeSlotsResponse {
|
720
598
|
/**
|
721
|
-
*
|
599
|
+
* Retrieved time slots.
|
600
|
+
* Sorted by `localStartDate` in ascending order. When multiple slots have the same start time, no specific secondary sorting is guaranteed.
|
722
601
|
* @maxSize 1000
|
723
602
|
*/
|
724
603
|
timeSlots?: TimeSlot[];
|
725
604
|
/**
|
726
|
-
* Time zone
|
727
|
-
*
|
605
|
+
* Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
|
606
|
+
* For example, `America/New_York` or `UTC`.
|
607
|
+
*
|
608
|
+
* 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)).
|
728
609
|
* @minLength 1
|
729
610
|
* @maxLength 150
|
730
611
|
*/
|
731
612
|
timeZone?: string | null;
|
732
613
|
/**
|
733
|
-
*
|
734
|
-
* Contains
|
735
|
-
*
|
736
|
-
* By default,
|
737
|
-
* if there are more than 1000 results,
|
738
|
-
* the response will contain a `cursorPagingMetaData` with a cursor to the next page of results.
|
739
|
-
*
|
740
|
-
* <blockquote class="important">
|
741
|
-
* <p><strong>Important:</strong><br/>
|
742
|
-
* <code class="grey-background">count</code> is not supported.</p>
|
743
|
-
* </blockquote>
|
614
|
+
* Paging metadata for the next page of results.
|
615
|
+
* Contains a cursor if there are more than 1000 results.
|
744
616
|
*/
|
745
617
|
cursorPagingMetadata?: CursorPagingMetadata;
|
746
618
|
}
|
747
619
|
interface GetAvailabilityTimeSlotRequest {
|
748
620
|
/**
|
749
621
|
* Service ID of the time slot.
|
750
|
-
*
|
622
|
+
* You must specify the ID of an appointment-based service.
|
751
623
|
* @format GUID
|
752
624
|
*/
|
753
625
|
serviceId?: string;
|
754
626
|
/**
|
755
|
-
* Local start date of the time slot
|
756
|
-
* For example,
|
627
|
+
* Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
628
|
+
* For example, `2026-01-30T13:30:00`.
|
757
629
|
* @format LOCAL_DATE_TIME
|
758
630
|
*/
|
759
631
|
localStartDate?: string;
|
760
632
|
/**
|
761
|
-
* Local end date of the time slot
|
762
|
-
* For example,
|
633
|
+
* Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
634
|
+
* For example, `2026-01-30T13:30:00`.
|
763
635
|
* @format LOCAL_DATE_TIME
|
764
636
|
*/
|
765
637
|
localEndDate?: string;
|
766
638
|
/**
|
767
|
-
* Time zone
|
639
|
+
* Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
|
640
|
+
* For example, `America/New_York` or `UTC`.
|
641
|
+
*
|
642
|
+
* 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)).
|
768
643
|
* @minLength 1
|
769
644
|
* @maxLength 150
|
770
645
|
*/
|
771
646
|
timeZone?: string | null;
|
772
647
|
/**
|
773
|
-
*
|
774
|
-
*
|
775
|
-
* You must provide a specific `locationType`.
|
776
|
-
* If locationType is `BUSINESS`, you __must__ also provide a `locationId`.
|
648
|
+
* Location to filter time slots by.
|
777
649
|
*
|
778
|
-
*
|
779
|
-
*
|
780
|
-
* Other fields like <code class="grey-background">name</code> are ignored.</p>
|
781
|
-
* </blockquote>
|
650
|
+
* For business locations, you must specify a location ID.
|
651
|
+
* When specifying a location ID, all other location field filters are ignored.
|
782
652
|
*/
|
783
653
|
location?: Location;
|
784
654
|
/**
|
785
|
-
*
|
786
|
-
*
|
787
|
-
* If specified,
|
788
|
-
* the returned `TimeSlot` contains only the available resources out of provided list.
|
789
|
-
* Otherwise, the returned `TimeSlot` returned with all possible `AvailableResources`.
|
655
|
+
* IDs 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 check availability for.
|
656
|
+
* If omitted, time slots are returned if there's at least 1 available resource.
|
790
657
|
* @format GUID
|
791
658
|
* @maxSize 135
|
792
659
|
*/
|
793
660
|
resourceIds?: string[];
|
794
661
|
/**
|
795
|
-
*
|
796
|
-
*
|
797
|
-
* If specified in request, the returned `TimeSlot` contains only the `AvailableResources` with `ResourceTypeId`
|
798
|
-
* out of those specified, each contains all the available resources of this type.
|
662
|
+
* IDs of the resource types ([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 check availability for.
|
799
663
|
* @format GUID
|
800
664
|
* @maxSize 100
|
801
665
|
*/
|
@@ -803,23 +667,26 @@ interface GetAvailabilityTimeSlotRequest {
|
|
803
667
|
}
|
804
668
|
interface GetAvailabilityTimeSlotRequestCustomerChoices {
|
805
669
|
/**
|
806
|
-
*
|
670
|
+
* Selected add-on IDs.
|
807
671
|
* Max: Derived from max amount of Add-On groups * max amount of Add-Ons per group.
|
808
672
|
* @format GUID
|
809
673
|
* @maxSize 21
|
810
674
|
*/
|
811
675
|
addOnIds?: string[] | null;
|
812
676
|
/**
|
813
|
-
*
|
677
|
+
* Selected duration choice ID.
|
814
678
|
* @format GUID
|
815
679
|
*/
|
816
680
|
durationChoiceId?: string | null;
|
817
681
|
}
|
818
682
|
interface GetAvailabilityTimeSlotResponse {
|
819
|
-
/**
|
683
|
+
/** Retrieved time slot. */
|
820
684
|
timeSlot?: TimeSlot;
|
821
685
|
/**
|
822
|
-
* Time zone
|
686
|
+
* Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
|
687
|
+
* For example, `America/New_York` or `UTC`.
|
688
|
+
*
|
689
|
+
* 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)).
|
823
690
|
* @minLength 1
|
824
691
|
* @maxLength 150
|
825
692
|
*/
|
@@ -827,87 +694,102 @@ interface GetAvailabilityTimeSlotResponse {
|
|
827
694
|
}
|
828
695
|
interface ListEventTimeSlotsRequest {
|
829
696
|
/**
|
830
|
-
*
|
831
|
-
*
|
832
|
-
* Required
|
697
|
+
* Lower boundary for `localStartDate` to include in the response.
|
698
|
+
* Each returned time slot has a `localStartDate` between `fromLocalDate` and `toLocalDate.
|
699
|
+
* Required unless you specify `cursorPaging.cursor`.
|
700
|
+
*
|
701
|
+
* Local start date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
702
|
+
* For example, `2026-01-30T13:30:00`.
|
833
703
|
* @format LOCAL_DATE_TIME
|
834
704
|
*/
|
835
705
|
fromLocalDate?: string | null;
|
836
706
|
/**
|
837
|
-
*
|
838
|
-
*
|
839
|
-
* Required
|
707
|
+
* Upper boundary for `localStartDate` to include in the response.
|
708
|
+
* Each returned time slot has a `localStartDate` between `fromLocalDate` and `toLocalDate`.
|
709
|
+
* Required unless you specify `cursorPaging.cursor`.
|
710
|
+
*
|
711
|
+
* Local end date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
712
|
+
* For example, `2026-01-30T13:30:00`.
|
840
713
|
* @format LOCAL_DATE_TIME
|
841
714
|
*/
|
842
715
|
toLocalDate?: string | null;
|
843
716
|
/**
|
844
|
-
* Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database).
|
845
|
-
* For example, `America/New_York`.
|
717
|
+
* Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.
|
718
|
+
* For example, `America/New_York` or `UTC`.
|
846
719
|
*
|
847
|
-
* Default: `timeZone` specified in the business
|
720
|
+
* 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)).
|
848
721
|
* @maxLength 100
|
849
722
|
*/
|
850
723
|
timeZone?: string | null;
|
851
724
|
/**
|
852
|
-
* Optional service IDs to filter
|
725
|
+
* Optional service IDs to filter the response.
|
853
726
|
* If not provided, time slots for all services are returned.
|
854
727
|
* @format GUID
|
855
728
|
* @maxSize 100
|
856
729
|
*/
|
857
730
|
serviceIds?: string[] | null;
|
858
731
|
/**
|
859
|
-
* Whether to
|
860
|
-
*
|
861
|
-
* Default true
|
732
|
+
* Whether to include time slots that aren't bookable according to the service's booking policy or that are fully booked.
|
733
|
+
*
|
734
|
+
* Default: `true` - both bookable and non-bookable slots are returned.
|
862
735
|
*/
|
863
736
|
includeNonBookable?: boolean | null;
|
864
737
|
/**
|
865
|
-
*
|
738
|
+
* Minimum bookable capacity.
|
739
|
+
* Use to filter out sessions that can't accommodate the desired party size.
|
866
740
|
* @min 1
|
867
741
|
*/
|
868
742
|
minBookableCapacity?: number | null;
|
869
743
|
/**
|
870
|
-
* Optional filter to apply to the events
|
871
|
-
* See the Events API
|
744
|
+
* Optional filter to apply to the events, for example resource or location.
|
745
|
+
* See the [Events API Supported Filters and Sorting article](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/supported-filters-and-sorting) for a complete list of filters.
|
872
746
|
*/
|
873
747
|
eventFilter?: Record<string, any> | null;
|
874
748
|
/**
|
875
|
-
*
|
876
|
-
*
|
877
|
-
*
|
878
|
-
*
|
749
|
+
* Maximum number of slots to return for each day in the specified time range.
|
750
|
+
* If both bookable and un-bookable slots exist on the same day, bookable slots are returned first.
|
751
|
+
*
|
752
|
+
* When you specify `maxSlotsPerDay`, you must also specify `toLocalDate`, and it must be no more than 1 month after `fromLocalDate`.
|
879
753
|
* @min 1
|
880
754
|
* @max 1000
|
881
755
|
*/
|
882
756
|
maxSlotsPerDay?: number | null;
|
883
|
-
/**
|
757
|
+
/**
|
758
|
+
* Cursor-based paging configuration.
|
759
|
+
* Enables fetching results in smaller chunks by setting a limit on the number of returned items.
|
760
|
+
*/
|
884
761
|
cursorPaging?: CursorPaging;
|
885
762
|
}
|
886
763
|
interface ListEventTimeSlotsResponse {
|
887
764
|
/** Retrieved time slots matching the specified filters. */
|
888
765
|
timeSlots?: TimeSlot[];
|
889
766
|
/**
|
890
|
-
*
|
891
|
-
*
|
767
|
+
* Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.
|
768
|
+
* For example, `America/New_York` or `UTC`.
|
769
|
+
*
|
770
|
+
* 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)).
|
892
771
|
* @minLength 1
|
893
772
|
* @maxLength 150
|
894
773
|
*/
|
895
774
|
timeZone?: string | null;
|
896
|
-
/**
|
775
|
+
/**
|
776
|
+
* Paging metadata for the next page of results.
|
777
|
+
* Contains a cursor if more data is available.
|
778
|
+
*/
|
897
779
|
pagingMetadata?: CursorPagingMetadata;
|
898
780
|
}
|
899
781
|
interface GetEventTimeSlotRequest {
|
900
782
|
/**
|
901
|
-
*
|
783
|
+
* Event ID.
|
902
784
|
* @minLength 36
|
903
785
|
* @maxLength 250
|
904
786
|
*/
|
905
787
|
eventId?: string | null;
|
906
788
|
/**
|
907
|
-
* Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database).
|
908
|
-
* For example, `America/New_York`.
|
789
|
+
* Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.
|
790
|
+
* For example, `America/New_York` or `UTC`.
|
909
791
|
*
|
910
|
-
* Default: `timeZone` specified in the business
|
792
|
+
* 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)).
|
911
793
|
* @maxLength 100
|
912
794
|
*/
|
913
795
|
timeZone?: string | null;
|
@@ -916,8 +798,10 @@ interface GetEventTimeSlotResponse {
|
|
916
798
|
/** The time slot. */
|
917
799
|
timeSlot?: TimeSlot;
|
918
800
|
/**
|
919
|
-
*
|
920
|
-
*
|
801
|
+
* Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.
|
802
|
+
* For example, `America/New_York` or `UTC`.
|
803
|
+
*
|
804
|
+
* 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)).
|
921
805
|
* @minLength 1
|
922
806
|
* @maxLength 150
|
923
807
|
*/
|
@@ -963,83 +847,28 @@ type GetMultiServiceAvailabilityTimeSlotApplicationErrors = {
|
|
963
847
|
};
|
964
848
|
type TimeSlotNonNullablePaths = `location.locationType` | `availableResources` | `nestedTimeSlots` | `nestedTimeSlots.${number}.serviceId` | `nestedTimeSlots.${number}.localStartDate` | `nestedTimeSlots.${number}.localEndDate`;
|
965
849
|
/**
|
966
|
-
* Retrieves a list of
|
967
|
-
*
|
968
|
-
* <blockquote class="important">
|
969
|
-
* <p><strong>Important:</strong><br/>
|
970
|
-
* Currently supported only for services of type <code class="grey-background">APPOINTMENT</code>.</p>
|
971
|
-
* </blockquote>
|
972
|
-
*
|
973
|
-
* The request body __must__ include either:
|
974
|
-
* + All of the following filters: `service`.`serviceId`, `fromLocalDate`, `toLocalDate`, `location`, and `timeZone`. You may add additional filters as you wish.
|
975
|
-
* + A `cursorPaging` with a valid `cursor` from previous response.
|
976
|
-
*
|
977
|
-
*
|
978
|
-
* Each [TimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/availability-time-slots/time-slot-object) in response
|
979
|
-
* represents the availability of the given sequence of services in a specific order, location, and within a given range of time.
|
980
|
-
*
|
981
|
-
* Each `TimeSlot`.`NestedTimeSlot` represents a single service from the given list. The order of the `NestedTimeSlots` is the same as the order
|
982
|
-
* of the given services in request.
|
983
|
-
* The first `NestedTimeSlot` has `localStartDate` within the given `fromLocalDate` and `toLocalDate` exclusive,
|
984
|
-
* and each following `NestedTimeSlot` has a `localStartDate` that equals to the previous `NestedTimeSlot`'s `localEndDate`.
|
985
|
-
*
|
986
|
-
* By default,
|
987
|
-
* the response contains at most 1000 results.
|
988
|
-
* If there are more than 1000 results, we return a `cursorPagingMetadata` with
|
989
|
-
* a cursor for the next page of results, regardless of whether a `cursorPaging`
|
990
|
-
* was provided in request.
|
850
|
+
* Retrieves a list of multi-service time slots that match the provided filters.
|
991
851
|
*
|
992
|
-
* > __Notes:__
|
993
|
-
* > + All nested time slots share the same location.
|
994
|
-
* > + You can pass up to 8 services in request.
|
995
852
|
*
|
996
|
-
*
|
997
|
-
* The `TimeSlot`.`NestedTimeSlot`'s `AvailableResources` contains information about the resources that are available to provide the service
|
998
|
-
* within the `NestedTimeSlot` range of time. Each `AvailableResources` contains information about available resources of the same type.
|
853
|
+
* ## Required filters
|
999
854
|
*
|
1000
|
-
*
|
1001
|
-
*
|
1002
|
-
*
|
1003
|
-
* if you don't specify <code class="grey-background">service</code>.<code class="grey-background">includeResourceTypeIds</code>
|
1004
|
-
* or <code class="grey-background">service</code>.<code class="grey-background">resourceIds</code> filters in request,
|
1005
|
-
* we return TimeSlots with <code class="grey-background">NestedTimeSlot</code>s with an empty <code class="grey-background">AvailableResources</code>.
|
1006
|
-
* <br/><strong>Note:</strong><br/> Not specifying resources filters can be handy in case you want to avoid large response in flows that only
|
1007
|
-
* interested of whether the time slots are available. [Finding the next available slot within the next 3 months](https://bo.wix.com/wix-docs/rest/all-apis/service-availability/multi-service-availability-time-slots/sample-flows?localViewerId=inbari#all-apis_service-availability_multi-service-availability-time-slots_sample-flows_find-the-first-date-within-the-next-3-months-that-all-selected-services-are-available-for)
|
1008
|
-
* is an example for such flow.
|
1009
|
-
* </p>
|
1010
|
-
* </blockquote>
|
855
|
+
* You must supply either:
|
856
|
+
* - `services.serviceId`, `fromLocalDate`, `toLocalDate`, `location`, and `timeZone` (additional filters are optional), or
|
857
|
+
* - `cursorPaging.cursor` returned from a previous response.
|
1011
858
|
*
|
859
|
+
* Each returned `timeSlot` acts as a container spanning the entire service sequence, with nested time slots providing individual service details.
|
1012
860
|
*
|
1013
|
-
*
|
1014
|
-
* + provide `service`.`resourceIds` in request.
|
1015
|
-
* + provide `service`.`includeResourceTypeIds` in request.
|
861
|
+
* ## Defaults
|
1016
862
|
*
|
1017
|
-
*
|
1018
|
-
*
|
1019
|
-
*
|
1020
|
-
* + If you wish to get the full available resources list for all `NestedTimeSlot` of a specific `TimeSlot`, you should call [GetMultiServiceAvailabilityTimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/multi-service-availability-time-slots/get-multi-service-availability-time-slot).
|
863
|
+
* - Results are sorted by `localStartDate` in ascending order.
|
864
|
+
* - `cursorPaging.limit` is `1000`.
|
865
|
+
* - The response contains both bookable and un-bookable slots.
|
1021
866
|
*
|
867
|
+
* ## Service type limitations
|
1022
868
|
*
|
1023
|
-
*
|
1024
|
-
* An `available` time slot is not necessarily `bookable`.
|
1025
|
-
* The `bookable` field of a `TimeSlot` indicates whether the customer can book all of the of the services within the given time slot,
|
1026
|
-
* at a specific period of time.
|
1027
|
-
* Read more about [Availability VS Bookability](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/multi-service-availability-time-slots/introduction#all-apis_wix-service-availability_multi-service-availability-time-slots_introduction_availability-vs-bookability).
|
869
|
+
* Only appointment-type services are supported.
|
1028
870
|
*
|
1029
|
-
*
|
1030
|
-
* + The response does not contains `unavailable` TimeSlots.For example, if there are no available resources to provide one of the services from `2024-01-30T14:30:00` to `2024-01-30T15:30:00`, we don't return TimeSlots with `NestedTimeSlot`.`localStartDate` within this range for this service.
|
1031
|
-
* + The response contains both `bookable` and `un-bookable` TimeSlots.For example, if one of the services has a booking policy which enforces booking the service up to 10 minutes before the session starts, we return TimeSlots with the violating `NestedTimeSlot`.`localStartDate`, with `bookable` as `false`. If you want to list only __bookable__ TimeSlots you should pass `bookable` as `true`.
|
1032
|
-
* + If booking one of the `NestedTimeSlot`s violates one of the corresponding service's booking policies, the `TimeSlot` returns with `bookable` as false. There is no indication which service's policy was violated.
|
1033
|
-
*
|
1034
|
-
* <blockquote class="important">
|
1035
|
-
* <p><strong>Important:</strong>
|
1036
|
-
* Because of DST, there are edge cases where certain times either do not exist or exist twice for a local time zone.
|
1037
|
-
* Read more about <a href="https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/multi-service-availability-time-slots/introduction#all-apis_wix-service-availability_multi-service-availability-time-slots_introduction_daylight-saving-time-dst-handling">DST Handling</a></p>
|
1038
|
-
* </blockquote>
|
1039
|
-
*
|
1040
|
-
* ### ListAvailabilityTimeSlots runs with the following defaults:
|
1041
|
-
* + `localStartDate` is sorted in `ASC` order.
|
1042
|
-
* + `cursorPaging`.`limit` is `1000`.
|
871
|
+
* To retrieve appointment availability for a single service, call List Availability Time Slots ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/availability/availability-time-slots/list-availability-time-slots) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/availability/availability-time-slots/list-availability-time-slots)).
|
1043
872
|
* @public
|
1044
873
|
* @documentationMaturity preview
|
1045
874
|
* @permissionId BOOKINGS.AVAILABILITY_READ_MULTI_SERVICE_TIME_SLOTS
|
@@ -1054,170 +883,101 @@ declare function listMultiServiceAvailabilityTimeSlots(options?: ListMultiServic
|
|
1054
883
|
}>;
|
1055
884
|
interface ListMultiServiceAvailabilityTimeSlotsOptions {
|
1056
885
|
/**
|
1057
|
-
* Services for which the
|
1058
|
-
* Each service
|
886
|
+
* Services for which the multi-service time slots are returned.
|
887
|
+
* Each service can include its own resource filters.
|
1059
888
|
*
|
1060
|
-
*
|
1061
|
-
* MaxSize: `8`.
|
1062
|
-
*
|
1063
|
-
* Required, unless `cursorPaging`.`cursor` is provided.
|
889
|
+
* Required unless you specify `cursorPaging.cursor`.
|
1064
890
|
* @maxSize 8
|
1065
891
|
*/
|
1066
892
|
services?: Service[];
|
1067
893
|
/**
|
1068
|
-
* Lower boundary for `localStartDate`
|
1069
|
-
* For example,
|
1070
|
-
*
|
1071
|
-
* Each returned `TimeSlot` in response has a `localStartDate`
|
1072
|
-
* within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
894
|
+
* Lower boundary for `localStartDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
895
|
+
* For example, `2026-01-30T13:30:00`.
|
896
|
+
* Each returned time slot has a `localStartDate` between `fromLocalDate` and `toLocalDate`.
|
1073
897
|
*
|
1074
|
-
* Required
|
898
|
+
* Required unless you specify `cursorPaging.cursor`.
|
1075
899
|
* @format LOCAL_DATE_TIME
|
1076
900
|
*/
|
1077
901
|
fromLocalDate?: string | null;
|
1078
902
|
/**
|
1079
|
-
* Upper boundary for `
|
1080
|
-
* For example,
|
903
|
+
* Upper boundary for `localToDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
904
|
+
* For example, `2026-01-30T13:30:00`.
|
905
|
+
* Each returned time slot has a `localEndDate` between `fromLocalDate` and `toLocalDate`.
|
1081
906
|
*
|
1082
|
-
*
|
1083
|
-
* within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
1084
|
-
*
|
1085
|
-
* Required, unless `cursorPaging`.`cursor` is provided.
|
907
|
+
* Required unless you specify `cursorPaging.cursor`.
|
1086
908
|
* @format LOCAL_DATE_TIME
|
1087
909
|
*/
|
1088
910
|
toLocalDate?: string | null;
|
1089
911
|
/**
|
1090
|
-
* Time zone
|
912
|
+
* 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`.
|
913
|
+
*
|
914
|
+
* Required unless you specify `cursorPaging.cursor`.
|
1091
915
|
*
|
1092
|
-
*
|
916
|
+
* 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)).
|
1093
917
|
* @minLength 1
|
1094
918
|
* @maxLength 150
|
1095
919
|
*/
|
1096
920
|
timeZone?: string | null;
|
1097
921
|
/**
|
1098
|
-
* Location for which the
|
922
|
+
* 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.
|
1099
923
|
*
|
1100
|
-
*
|
1101
|
-
* If locationType is `BUSINESS`, you __must__ provide a locationId.
|
1102
|
-
*
|
1103
|
-
* <blockquote class="warning">
|
1104
|
-
* <p><strong>warning:</strong><br/>
|
1105
|
-
* Supports filtering by location type, or by location ID. </br>
|
1106
|
-
* Other fields like <code class="grey-background">name</code> are ignored.</p>
|
1107
|
-
* </blockquote>
|
1108
|
-
*
|
1109
|
-
* Required, unless `cursorPaging`.`cursor` is provided.
|
924
|
+
* Required unless you specify `cursorPaging.cursor`.
|
1110
925
|
*/
|
1111
926
|
location?: Location;
|
1112
927
|
/**
|
1113
|
-
* Whether the
|
1114
|
-
*
|
1115
|
-
* If booking any of the `TimeSlot`.`NestedTimeSlot`s violates any of its services bookings policies,
|
1116
|
-
* returns as `false`. Otherwise, returns as `true`.
|
1117
|
-
*
|
1118
|
-
* > __Note:__
|
1119
|
-
* > A `TimeSlot` with a `NestedTimeSlot` that doesn't meet its service's bookings policies will be returned with `bookable` = false,
|
1120
|
-
* > while a `TimeSlot` with no available resources will not be returned at all.
|
928
|
+
* Whether the time slot is bookable according to all services' booking policies.
|
929
|
+
* If not specified, returns both bookable and un-bookable time slots.
|
1121
930
|
*/
|
1122
931
|
bookable?: boolean | null;
|
1123
932
|
/**
|
1124
|
-
* Indicators for service's booking policy violations
|
1125
|
-
*
|
1126
|
-
* A bookable time slot must not violate any policy,
|
1127
|
-
* therefor, this filter is only relevant when `bookable` filter is false.
|
1128
|
-
*
|
1129
|
-
* Each nested field is checked on all `NestedTimeSlot`s. For example, if only one of the `NestedTimeSlot`'s
|
1130
|
-
* has a service with `tooEarlyToBook` same as in the request, we return the `TimeSlot` regardless of whether
|
1131
|
-
* the other `NestedTimeSlots` has the same `tooEarlyToBook` as in request.
|
1132
|
-
*
|
1133
|
-
* Each nested field is checked on its own. For example, if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined
|
1134
|
-
* we return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.
|
933
|
+
* Indicators for service's booking policy violations.
|
934
|
+
* Only relevant when `bookable` filter is false.
|
1135
935
|
*/
|
1136
936
|
bookingPolicyViolations?: BookingPolicyViolations;
|
1137
937
|
/**
|
1138
|
-
* Maximum number of slots to
|
1139
|
-
*
|
1140
|
-
*
|
1141
|
-
* By default,
|
1142
|
-
* if `bookable` filter was not specified,
|
1143
|
-
* and a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.
|
1144
|
-
*
|
1145
|
-
* If the number of `bookable` slots is less than the requested `timeSlotsPerDay`,
|
1146
|
-
* `un-bookable` slots will be returned according to the specified filters.
|
938
|
+
* Maximum number of slots to return for each day in the specified time range.
|
939
|
+
* If `bookable` filter isn't specified, bookable slots are returned first.
|
1147
940
|
*/
|
1148
941
|
timeSlotsPerDay?: number | null;
|
1149
942
|
/**
|
1150
|
-
*
|
1151
|
-
*
|
1152
|
-
*
|
1153
|
-
*
|
1154
|
-
* This is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.
|
1155
|
-
*
|
1156
|
-
* If there are more results than the specified limit, the response will contain a `cursorPagingMetaData`
|
1157
|
-
* with a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the
|
1158
|
-
* returned cursor to the next call as `cursorPaging`.`cursor`.
|
1159
|
-
*
|
1160
|
-
* For the first call, you should only specify the `limit` for the results page.
|
1161
|
-
* For each following call, you should only pass the previous returned cursor as `cursorPaging`.`cursor`
|
1162
|
-
* the `cursorPaging`.`limit`. You may pass a different `limit`.
|
1163
|
-
* No need to specify any additional parameters.
|
1164
|
-
*
|
1165
|
-
* <blockquote class="important">
|
1166
|
-
* <p><strong>Important:</strong><br/>
|
1167
|
-
* If you only provide a <code class="grey-background">cursorPaging</code>. <code class="grey-background">cursor</code>,
|
1168
|
-
* the response will contain the default size of results which is `1000`.
|
1169
|
-
* </p>
|
1170
|
-
* </blockquote>
|
943
|
+
* Cursor-based paging configuration.
|
944
|
+
* Enables fetching results in smaller chunks by setting a limit on the number of results.
|
945
|
+
* For consistent pagination behavior, use the same `limit` value throughout a pagination sequence.
|
946
|
+
* When specifying a new `limit` in follow-up requests, the API respects the new value.
|
1171
947
|
*/
|
1172
948
|
cursorPaging?: CursorPaging;
|
1173
949
|
}
|
1174
950
|
/**
|
1175
|
-
* Retrieves
|
951
|
+
* Retrieves a multi-service time slot that matches the specified filters.
|
952
|
+
*
|
1176
953
|
*
|
1177
|
-
*
|
954
|
+
* Call this method after finding a suitable slot with List Multi-Service Availability Time Slots to obtain full capacity, resource, and booking-policy details.
|
1178
955
|
*
|
1179
|
-
*
|
1180
|
-
* <p><strong>Important:</strong><br/>
|
1181
|
-
* Currently supported only for services of type <code class="grey-background">APPOINTMENT</code>.</p>
|
1182
|
-
* </blockquote>
|
956
|
+
* The returned time slot acts as a container spanning the entire service sequence, with nested time slots providing detailed information for each individual service.
|
1183
957
|
*
|
1184
|
-
*
|
1185
|
-
* if you don't provide a `service`.`includeResourceTypeIds` or `service`.`resourceIds` in request,
|
1186
|
-
* we return for each `TimeSlot`.`NestedTimeSlot` all `AvailableResources` with all `AvailableResources`.`resources` which are available to provide
|
1187
|
-
* the corresponding service within the time slot.
|
958
|
+
* ## Defaults
|
1188
959
|
*
|
1189
|
-
*
|
1190
|
-
*
|
1191
|
-
* which match the given resources filters,
|
1192
|
-
* each contains all available resources out of those requested.
|
960
|
+
* - Returns all available resources unless you filter by `services.resourceIds` or `services.includeResourceTypeIds`.
|
961
|
+
* - Includes full booking-status and capacity details.
|
1193
962
|
*
|
1194
|
-
*
|
1195
|
-
* + All nested time slots share the same location.
|
1196
|
-
* + You can pass up to 8 services.
|
963
|
+
* ## Service type limitations
|
1197
964
|
*
|
1198
|
-
*
|
1199
|
-
* <p><strong>Tip:</strong><br/>
|
1200
|
-
* Use this API in order to get the availability of a specific <code class="grey-background">TimeSlot</code> out of those returned from <code class="grey-background">ListMultiServiceAvailabilityTimeSlots</code> API.</p>
|
1201
|
-
* </blockquote>
|
1202
|
-
* @param services - Services for which the multiService TimeSlots are being returned for.
|
1203
|
-
* Each service contains its own resources filters within.
|
965
|
+
* Only appointment-type services are supported.
|
1204
966
|
*
|
1205
|
-
*
|
1206
|
-
*
|
1207
|
-
*
|
1208
|
-
*
|
1209
|
-
*
|
1210
|
-
*
|
1211
|
-
*
|
1212
|
-
* @param
|
967
|
+
* To retrieve appointment availability for a single service, call List Availability Time Slots ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/availability/availability-time-slots/list-availability-time-slots) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/availability/availability-time-slots/list-availability-time-slots)).
|
968
|
+
* @param services - Services for which the multi-service time slots are returned.
|
969
|
+
* You can specify resource filters for each service.
|
970
|
+
* @param localStartDate - Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
971
|
+
* For example, `2026-01-30T13:30:00`.
|
972
|
+
* @param localEndDate - Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
|
973
|
+
* For example, `2026-01-30T13:30:00`.
|
974
|
+
* @param timeZone - Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.
|
975
|
+
* For example, `America/New_York` or `UTC`.
|
1213
976
|
*
|
1214
|
-
*
|
1215
|
-
* If
|
977
|
+
* 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)).
|
978
|
+
* @param location - 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.
|
1216
979
|
*
|
1217
|
-
*
|
1218
|
-
* <p>Supports filtering by location type, or by location ID.
|
1219
|
-
* Other fields like <code class="grey-background">name</code> are ignored.</p>
|
1220
|
-
* </blockquote>
|
980
|
+
* Required unless you specify `cursorPaging.cursor`.
|
1221
981
|
* @public
|
1222
982
|
* @documentationMaturity preview
|
1223
983
|
* @requiredField localEndDate
|