@wix/bookings 1.0.301 → 1.0.303
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/src/bookings-availability-v2-time-slot.http.d.ts +92 -107
- package/build/cjs/src/bookings-availability-v2-time-slot.http.js +92 -107
- package/build/cjs/src/bookings-availability-v2-time-slot.http.js.map +1 -1
- package/build/cjs/src/bookings-availability-v2-time-slot.types.d.ts +91 -108
- package/build/cjs/src/bookings-availability-v2-time-slot.types.js.map +1 -1
- package/build/cjs/src/bookings-availability-v2-time-slot.universal.d.ts +260 -284
- package/build/cjs/src/bookings-availability-v2-time-slot.universal.js +94 -109
- package/build/cjs/src/bookings-availability-v2-time-slot.universal.js.map +1 -1
- package/build/es/src/bookings-availability-v2-time-slot.http.d.ts +92 -107
- package/build/es/src/bookings-availability-v2-time-slot.http.js +92 -107
- package/build/es/src/bookings-availability-v2-time-slot.http.js.map +1 -1
- package/build/es/src/bookings-availability-v2-time-slot.types.d.ts +91 -108
- package/build/es/src/bookings-availability-v2-time-slot.types.js.map +1 -1
- package/build/es/src/bookings-availability-v2-time-slot.universal.d.ts +260 -284
- package/build/es/src/bookings-availability-v2-time-slot.universal.js +94 -109
- package/build/es/src/bookings-availability-v2-time-slot.universal.js.map +1 -1
- package/package.json +2 -7
|
@@ -19,7 +19,7 @@ export declare const __debug: {
|
|
|
19
19
|
* 5. What is the total capacity and remaining capacity of the service at the time of the calculation of the `TimeSlot`?
|
|
20
20
|
*
|
|
21
21
|
* > __Note:__
|
|
22
|
-
* When the `TimeSlot` has a non empty `NestedTimeSlots`, it represents the availability information
|
|
22
|
+
* > When the `TimeSlot` has a non empty `NestedTimeSlots`, it represents the availability information
|
|
23
23
|
* > for a given list of `Appointment` services within a specific time slot.
|
|
24
24
|
*/
|
|
25
25
|
export interface TimeSlot {
|
|
@@ -33,17 +33,11 @@ export interface TimeSlot {
|
|
|
33
33
|
/**
|
|
34
34
|
* Local start date of the time slot in ISO-8601 format.
|
|
35
35
|
* For example, "2024-01-30T13:30:00".
|
|
36
|
-
*
|
|
37
|
-
* > When returned from `MultiServiceAvailabilityTimeSlots` API calls,
|
|
38
|
-
* > represents the earliest `localStartDate` of the `TimeSlot`'s nested time slots.
|
|
39
36
|
*/
|
|
40
37
|
localStartDate?: string | null;
|
|
41
38
|
/**
|
|
42
39
|
* Local end date of the time slot in ISO-8601 format.
|
|
43
40
|
* For example, "2024-01-30T14:30:00".
|
|
44
|
-
*
|
|
45
|
-
* > When returned from `MultiServiceAvailabilityTimeSlots` API calls,
|
|
46
|
-
* > represents the latest `localEndDate` of the `TimeSlot`'s nested time slots.
|
|
47
41
|
*/
|
|
48
42
|
localEndDate?: string | null;
|
|
49
43
|
/**
|
|
@@ -51,39 +45,22 @@ export interface TimeSlot {
|
|
|
51
45
|
*
|
|
52
46
|
* If booking this time slot does not violates any of the service's booking policies,
|
|
53
47
|
* the returned value is `true`. Otherwise, returns `false`.
|
|
54
|
-
*
|
|
55
|
-
* > When returned from `MultiServiceAvailabilityTimeSlots` API calls,
|
|
56
|
-
* > + `bookable` is `false` if at least one of the provided services is not bookable within the time slot.
|
|
57
|
-
* > + `bookable` is `true` if all provided services are bookable within the time slot.
|
|
58
48
|
*/
|
|
59
49
|
bookable?: boolean | null;
|
|
60
|
-
/**
|
|
61
|
-
* The geographic location of the slot.
|
|
62
|
-
*
|
|
63
|
-
* > When returned from `MultiServiceAvailabilityTimeSlots` API calls,
|
|
64
|
-
* > the geographic location of all nested time slots of the `TimeSlot`.
|
|
65
|
-
*/
|
|
50
|
+
/** The geographic location of the slot. */
|
|
66
51
|
location?: Location;
|
|
67
|
-
/**
|
|
68
|
-
* Total number of spots for the slot.
|
|
69
|
-
*
|
|
70
|
-
* > When returned from `MultiServiceAvailabilityTimeSlots` API calls,
|
|
71
|
-
* > `totalCapacity` is always 1, regardless the number of requested services.
|
|
72
|
-
*/
|
|
52
|
+
/** Total number of spots for the slot. */
|
|
73
53
|
totalCapacity?: number | null;
|
|
74
54
|
/**
|
|
75
55
|
* Remaining number of spots for the slot.
|
|
76
56
|
* For example, for an appointment service with total capacity of 1 spot and one booked spot, the remaining capacity will be 0.
|
|
77
|
-
*
|
|
78
|
-
* > When returned from `MultiServiceAvailabilityTimeSlots` API calls,
|
|
79
|
-
* > `remainingCapacity` is 1 if all requested services has `remainingCapacity` >= 1.
|
|
80
|
-
* > `remainingCapacity` is 0, if there is at least one requested service with `remainingCapacity` < 1.
|
|
81
57
|
*/
|
|
82
58
|
remainingCapacity?: number | null;
|
|
83
59
|
/**
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
60
|
+
* Indicators for booking policy violations for the slot.
|
|
61
|
+
*
|
|
62
|
+
* Each nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined
|
|
63
|
+
* we will return also slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.
|
|
87
64
|
*/
|
|
88
65
|
bookingPolicyViolations?: BookingPolicyViolations;
|
|
89
66
|
/**
|
|
@@ -324,43 +301,57 @@ export interface ListMultiServiceAvailabilityTimeSlotsRequest {
|
|
|
324
301
|
* Services for which the multiService time slots are being returned for.
|
|
325
302
|
* Each service contains its own resources filters within.
|
|
326
303
|
*
|
|
327
|
-
* MinSize: 2
|
|
328
|
-
* MaxSize: 8
|
|
304
|
+
* MinSize: `2`.
|
|
305
|
+
* MaxSize: `8`.
|
|
306
|
+
*
|
|
307
|
+
* Required, unless `cursorPaging`.`cursor` is provided.
|
|
329
308
|
*/
|
|
330
309
|
services?: Service[];
|
|
331
310
|
/**
|
|
332
311
|
* Lower boundary for `localStartDate` to include in response, in ISO-8601 format.
|
|
333
312
|
* For example, "2024-01-30T13:30:00".
|
|
313
|
+
*
|
|
314
|
+
* Each returned `TimeSlot` in response has a `localStartDate`
|
|
315
|
+
* within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
|
316
|
+
*
|
|
334
317
|
* Required, unless `cursorPaging`.`cursor` is provided.
|
|
335
|
-
* > __Note:__: Each returned `TimeSlot` in response has a `localStartDate`
|
|
336
|
-
* > within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
|
337
318
|
*/
|
|
338
319
|
fromLocalDate?: string | null;
|
|
339
320
|
/**
|
|
340
321
|
* Upper boundary for `localStartDate` to include in response, in ISO-8601 format.
|
|
341
322
|
* For example, "2024-01-30T14:30:00".
|
|
323
|
+
*
|
|
324
|
+
* Each returned `TimeSlot` in response has a `localStartDate`
|
|
325
|
+
* within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
|
326
|
+
*
|
|
342
327
|
* Required, unless `cursorPaging`.`cursor` is provided.
|
|
343
|
-
* > __Note:__: Each returned `TimeSlot` in response has a `localStartDate`
|
|
344
|
-
* > within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
|
345
328
|
*/
|
|
346
329
|
toLocalDate?: string | null;
|
|
347
330
|
/**
|
|
348
331
|
* Time zone, in IANA time zone format.
|
|
332
|
+
*
|
|
349
333
|
* Required, unless `cursorPaging`.`cursor` is provided.
|
|
350
334
|
*/
|
|
351
335
|
timeZone?: string | null;
|
|
352
336
|
/**
|
|
353
|
-
* Location for which the multiService
|
|
337
|
+
* Location for which the multiService TimeSlots are being returned for.
|
|
354
338
|
*
|
|
355
|
-
* You can specify location or location type for which the
|
|
356
|
-
*
|
|
357
|
-
*
|
|
339
|
+
* You can specify location or location type for which the TimeSlots will be returned for.
|
|
340
|
+
* If locationType is `BUSINESS`, you __must__ provide a locationId.
|
|
341
|
+
*
|
|
342
|
+
* <blockquote class="warning">
|
|
343
|
+
* <p><strong>warning:</strong><br/>
|
|
344
|
+
* Supports filtering by location type, or by location ID. </br>
|
|
345
|
+
* Other fields like <code class="grey-background">name</code> are ignored.</p>
|
|
346
|
+
* </blockquote>
|
|
347
|
+
*
|
|
348
|
+
* Required, unless `cursorPaging`.`cursor` is provided.
|
|
358
349
|
*/
|
|
359
350
|
location?: Location;
|
|
360
351
|
/**
|
|
361
|
-
* Whether the `TimeSlot` is bookable according all of the services booking policies.
|
|
352
|
+
* Whether the `TimeSlot` is bookable according to all of the services booking policies.
|
|
362
353
|
*
|
|
363
|
-
* If booking any of the `TimeSlot`.`NestedTimeSlot`
|
|
354
|
+
* If booking any of the `TimeSlot`.`NestedTimeSlot`s violates any of its services bookings policies,
|
|
364
355
|
* returns as `false`. Otherwise, returns as `true`.
|
|
365
356
|
*
|
|
366
357
|
* > __Note:__
|
|
@@ -374,7 +365,7 @@ export interface ListMultiServiceAvailabilityTimeSlotsRequest {
|
|
|
374
365
|
* A bookable time slot must not violate any policy,
|
|
375
366
|
* therefor, this filter is only relevant when `bookable` filter is false.
|
|
376
367
|
*
|
|
377
|
-
* Each nested field is checked on all `NestedTimeSlot`
|
|
368
|
+
* Each nested field is checked on all `NestedTimeSlot`s. For example, if only one of the `NestedTimeSlot`'s
|
|
378
369
|
* has a service with `tooEarlyToBook` same as in the request, we return the `TimeSlot` regardless of whether
|
|
379
370
|
* the other `NestedTimeSlots` has the same `tooEarlyToBook` as in request.
|
|
380
371
|
*
|
|
@@ -384,7 +375,7 @@ export interface ListMultiServiceAvailabilityTimeSlotsRequest {
|
|
|
384
375
|
bookingPolicyViolations?: BookingPolicyViolations;
|
|
385
376
|
/**
|
|
386
377
|
* Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,
|
|
387
|
-
* we return at most 3 available
|
|
378
|
+
* we return at most 3 available TimeSlots for each day within the date range specified in request.
|
|
388
379
|
*
|
|
389
380
|
* By default,
|
|
390
381
|
* if `bookable` filter was not specified,
|
|
@@ -397,8 +388,8 @@ export interface ListMultiServiceAvailabilityTimeSlotsRequest {
|
|
|
397
388
|
/**
|
|
398
389
|
* CursorPaging.
|
|
399
390
|
*
|
|
400
|
-
* Enables you to fetch
|
|
401
|
-
* by setting a limit on the number of
|
|
391
|
+
* Enables you to fetch TimeSlots in smaller, more manageable chunks
|
|
392
|
+
* by setting a limit on the number of results returned in response.
|
|
402
393
|
* This is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.
|
|
403
394
|
*
|
|
404
395
|
* If there are more results than the specified limit, the response will contain a `cursorPagingMetaData`
|
|
@@ -410,17 +401,12 @@ export interface ListMultiServiceAvailabilityTimeSlotsRequest {
|
|
|
410
401
|
* the `cursorPaging`.`limit`. You may pass a different `limit`.
|
|
411
402
|
* No need to specify any additional parameters.
|
|
412
403
|
*
|
|
413
|
-
* __TODO: This is only describes the current behavior, should be fixed__
|
|
414
404
|
* <blockquote class="important">
|
|
415
405
|
* <p><strong>Important:</strong><br/>
|
|
416
|
-
* If you only provide a
|
|
417
|
-
* the response will contain the default size of results
|
|
406
|
+
* If you only provide a <code class="grey-background">cursorPaging</code>. <code class="grey-background">cursor</code>,
|
|
407
|
+
* the response will contain the default size of results which is `1000`.
|
|
418
408
|
* </p>
|
|
419
409
|
* </blockquote>
|
|
420
|
-
*
|
|
421
|
-
* cursorPaging.limit:
|
|
422
|
-
* Default: 1000
|
|
423
|
-
* Max: 1000
|
|
424
410
|
*/
|
|
425
411
|
cursorPaging?: CommonCursorPaging;
|
|
426
412
|
}
|
|
@@ -442,10 +428,10 @@ export interface Service {
|
|
|
442
428
|
}
|
|
443
429
|
export interface CommonCursorPaging {
|
|
444
430
|
/**
|
|
445
|
-
* Number of
|
|
431
|
+
* Number of results to load.
|
|
446
432
|
*
|
|
447
|
-
* Default: `1000
|
|
448
|
-
* Max: `1000
|
|
433
|
+
* Default: `1000`.
|
|
434
|
+
* Max: `1000`.
|
|
449
435
|
*/
|
|
450
436
|
limit?: number | null;
|
|
451
437
|
/**
|
|
@@ -462,7 +448,7 @@ export interface ListMultiServiceAvailabilityTimeSlotsResponse {
|
|
|
462
448
|
timeSlots?: TimeSlot[];
|
|
463
449
|
/**
|
|
464
450
|
* Time zone, in IANA time zone format.
|
|
465
|
-
* Shared for all
|
|
451
|
+
* Shared for all TimeSlots in response.
|
|
466
452
|
*/
|
|
467
453
|
timeZone?: string | null;
|
|
468
454
|
/**
|
|
@@ -475,8 +461,7 @@ export interface ListMultiServiceAvailabilityTimeSlotsResponse {
|
|
|
475
461
|
*
|
|
476
462
|
* <blockquote class="important">
|
|
477
463
|
* <p><strong>Important:</strong><br/>
|
|
478
|
-
*
|
|
479
|
-
* </p>
|
|
464
|
+
* <code class="grey-background">count</code> is not supported.</p>
|
|
480
465
|
* </blockquote>
|
|
481
466
|
*/
|
|
482
467
|
cursorPagingMetadata?: CommonCursorPagingMetadata;
|
|
@@ -499,7 +484,7 @@ export interface CommonCursors {
|
|
|
499
484
|
}
|
|
500
485
|
export interface GetMultiServiceAvailabilityTimeSlotRequest {
|
|
501
486
|
/**
|
|
502
|
-
* Services for which the multiService
|
|
487
|
+
* Services for which the multiService TimeSlots are being returned for.
|
|
503
488
|
* Each service contains its own resources filters within.
|
|
504
489
|
*
|
|
505
490
|
* MinSize: 2.
|
|
@@ -522,12 +507,11 @@ export interface GetMultiServiceAvailabilityTimeSlotRequest {
|
|
|
522
507
|
* The location of the time slot.
|
|
523
508
|
*
|
|
524
509
|
* You must provide a specific `locationType`.
|
|
525
|
-
* If locationType is `BUSINESS`, you __must__ also provide a locationId
|
|
510
|
+
* If locationType is `BUSINESS`, you __must__ also provide a `locationId`.
|
|
526
511
|
*
|
|
527
|
-
* <blockquote class="
|
|
528
|
-
* <p
|
|
529
|
-
*
|
|
530
|
-
* </p>
|
|
512
|
+
* <blockquote class="warning">
|
|
513
|
+
* <p>Supports filtering by location type, or by location ID.
|
|
514
|
+
* Other fields like <code class="grey-background">name</code> are ignored.</p>
|
|
531
515
|
* </blockquote>
|
|
532
516
|
*/
|
|
533
517
|
location: Location;
|
|
@@ -541,29 +525,34 @@ export interface GetMultiServiceAvailabilityTimeSlotResponse {
|
|
|
541
525
|
export interface ListAvailabilityTimeSlotsRequest {
|
|
542
526
|
/**
|
|
543
527
|
* Service ID for which the time slots are being returned for.
|
|
544
|
-
* Currently
|
|
528
|
+
* Currently supported only for services of type `APPOINTMENT`.
|
|
529
|
+
*
|
|
545
530
|
* Required, unless `cursorPaging`.`cursor` is provided.
|
|
546
531
|
*/
|
|
547
532
|
serviceId?: string | null;
|
|
548
533
|
/**
|
|
549
534
|
* Lower boundary for `localStartDate` to include in response, in ISO-8601 format.
|
|
550
535
|
* For example, "2024-01-30T13:30:00".
|
|
536
|
+
*
|
|
537
|
+
* Each returned `TimeSlot` in response has a `localStartDate`
|
|
538
|
+
* within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
|
539
|
+
*
|
|
551
540
|
* Required, unless `cursorPaging`.`cursor` is provided.
|
|
552
|
-
* > __Note:__: Each returned `TimeSlot` in response has a `localStartDate`
|
|
553
|
-
* > within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
|
554
541
|
*/
|
|
555
542
|
fromLocalDate?: string | null;
|
|
556
543
|
/**
|
|
557
544
|
* Upper boundary for `localStartDate` to include in response, in ISO-8601 format.
|
|
558
545
|
* For example, "2024-01-30T14:30:00".
|
|
546
|
+
*
|
|
547
|
+
* Each returned `TimeSlot` in response has a `localStartDate`
|
|
548
|
+
* within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
|
549
|
+
*
|
|
559
550
|
* Required, unless `cursorPaging`.`cursor` is provided.
|
|
560
|
-
* > __Note:__: Each returned `TimeSlot` in response has a `localStartDate`
|
|
561
|
-
* > within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
|
562
|
-
* > The `localEndDate` of the returned `TimeSlot` is the `TimeSlot`'s `localStartDate` + the service duration
|
|
563
551
|
*/
|
|
564
552
|
toLocalDate?: string | null;
|
|
565
553
|
/**
|
|
566
554
|
* Time zone, in IANA time zone format.
|
|
555
|
+
*
|
|
567
556
|
* Required, unless `cursorPaging`.`cursor` is provided.
|
|
568
557
|
*/
|
|
569
558
|
timeZone?: string | null;
|
|
@@ -572,34 +561,37 @@ export interface ListAvailabilityTimeSlotsRequest {
|
|
|
572
561
|
*
|
|
573
562
|
* By default,
|
|
574
563
|
* if no locations are provided,
|
|
575
|
-
* the response contains
|
|
564
|
+
* the response contains TimeSlots for all locations where the service is available.
|
|
576
565
|
*
|
|
577
566
|
* You can specify locations or location types for which the time slots will be returned for.
|
|
578
|
-
*
|
|
579
|
-
*
|
|
567
|
+
* If locationType is `BUSINESS`, you __must__ provide a locationId.
|
|
568
|
+
*
|
|
569
|
+
* <blockquote class="warning">
|
|
570
|
+
* <p><strong>warning:</strong><br/>
|
|
571
|
+
* Supports filtering by location type, or by location ID. </br>
|
|
572
|
+
* Other fields like <code class="grey-background">name</code> are ignored.</p>
|
|
573
|
+
* </blockquote>
|
|
580
574
|
*/
|
|
581
575
|
locations?: Location[];
|
|
582
576
|
/**
|
|
583
577
|
* Resources to include in response.
|
|
584
578
|
*
|
|
585
579
|
* If specified,
|
|
586
|
-
* the returned
|
|
587
|
-
* Otherwise, the returned
|
|
588
|
-
* > __Note:__ Not specifying `resourceIds` can be handy in case you want to avoid large response in flows that only
|
|
589
|
-
* > interested whether the time slots are available or not. [An example for such flow](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/service-availability-time-slots/sample-flows#all-apis_wix-service-availability_service-availability-time-slots_sample-flows_let-your-customers-to-dynamically-select-an-available-time-slot-for-any-of-your-business-services).
|
|
580
|
+
* the returned TimeSlots will contain __up__ to 10 available resources out of the provided list.
|
|
581
|
+
* Otherwise, the returned TimeSlots returns with an empty `AvailableResources`.
|
|
590
582
|
*/
|
|
591
583
|
resourceIds?: string[];
|
|
592
584
|
/**
|
|
593
|
-
* Resource type ID's to include in response, this is in addition to the requested resourceIds
|
|
585
|
+
* Resource type ID's to include in response, this is in addition to the requested `resourceIds`.
|
|
594
586
|
*
|
|
595
|
-
* If specified in request, the returned
|
|
587
|
+
* If specified in request, the returned TimeSlots will contain __up__ to 10 `AvailableResources` with `ResourceTypeId`
|
|
596
588
|
* out of those specified, each contains __up__ to 10 available resources of this type.
|
|
597
589
|
*/
|
|
598
590
|
includeResourceTypeIds?: string[];
|
|
599
591
|
/**
|
|
600
592
|
* Whether the `TimeSlot` is bookable according to the service's booking policies.
|
|
601
593
|
*
|
|
602
|
-
* If booking this
|
|
594
|
+
* If booking this `TimeSlot` does not violates any of the service's booking policies,
|
|
603
595
|
* returns as `true`. Otherwise, returns as `false`.
|
|
604
596
|
*
|
|
605
597
|
* > __Note:__
|
|
@@ -619,7 +611,7 @@ export interface ListAvailabilityTimeSlotsRequest {
|
|
|
619
611
|
bookingPolicyViolations?: BookingPolicyViolations;
|
|
620
612
|
/**
|
|
621
613
|
* Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,
|
|
622
|
-
* we return at most 3 available
|
|
614
|
+
* we return at most 3 available TimeSlots for each day within the date range specified in request.
|
|
623
615
|
*
|
|
624
616
|
* By default,
|
|
625
617
|
* if `bookable` filter was not specified,
|
|
@@ -632,8 +624,8 @@ export interface ListAvailabilityTimeSlotsRequest {
|
|
|
632
624
|
/**
|
|
633
625
|
* CursorPaging.
|
|
634
626
|
*
|
|
635
|
-
* Enables you to fetch
|
|
636
|
-
* by setting a limit on the number of
|
|
627
|
+
* Enables you to fetch results in smaller, more manageable chunks
|
|
628
|
+
* by setting a limit on the number of results returned in response.
|
|
637
629
|
* This is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.
|
|
638
630
|
*
|
|
639
631
|
* If there are more results than the specified limit, the response will contain a `cursorPagingMetaData`
|
|
@@ -641,21 +633,16 @@ export interface ListAvailabilityTimeSlotsRequest {
|
|
|
641
633
|
* returned cursor to the next call as `cursorPaging`.`cursor`.
|
|
642
634
|
*
|
|
643
635
|
* For the first call, you should only specify the `limit` for the results page.
|
|
644
|
-
* For each following call, you should only pass the
|
|
645
|
-
*
|
|
636
|
+
* For each following call, you should only pass `cursorPaging`.`cursor` with the returned cursor from previous call, and
|
|
637
|
+
* a `cursorPaging`.`limit`.
|
|
646
638
|
* No need to specify any additional parameters.
|
|
647
639
|
*
|
|
648
|
-
* __TODO: This is only describes the current behavior, should be fixed__
|
|
649
640
|
* <blockquote class="important">
|
|
650
641
|
* <p><strong>Important:</strong><br/>
|
|
651
|
-
* If you only provide a
|
|
652
|
-
* the response will contain the default size of results
|
|
642
|
+
* If you only provide a <code class="grey-background">cursorPaging</code>. <code class="grey-background">cursor</code>,
|
|
643
|
+
* the response will contain the default size of results which is `1000`.
|
|
653
644
|
* </p>
|
|
654
645
|
* </blockquote>
|
|
655
|
-
*
|
|
656
|
-
* cursorPaging.limit:
|
|
657
|
-
* Default: 1000
|
|
658
|
-
* Max: 1000
|
|
659
646
|
*/
|
|
660
647
|
cursorPaging?: CommonCursorPaging;
|
|
661
648
|
}
|
|
@@ -664,7 +651,7 @@ export interface ListAvailabilityTimeSlotsResponse {
|
|
|
664
651
|
timeSlots?: TimeSlot[];
|
|
665
652
|
/**
|
|
666
653
|
* Time zone, in IANA time zone format.
|
|
667
|
-
* Shared for all
|
|
654
|
+
* Shared for all TimeSlots in response.
|
|
668
655
|
*/
|
|
669
656
|
timeZone?: string | null;
|
|
670
657
|
/**
|
|
@@ -677,8 +664,7 @@ export interface ListAvailabilityTimeSlotsResponse {
|
|
|
677
664
|
*
|
|
678
665
|
* <blockquote class="important">
|
|
679
666
|
* <p><strong>Important:</strong><br/>
|
|
680
|
-
*
|
|
681
|
-
* </p>
|
|
667
|
+
* <code class="grey-background">count</code> is not supported.</p>
|
|
682
668
|
* </blockquote>
|
|
683
669
|
*/
|
|
684
670
|
cursorPagingMetadata?: CommonCursorPagingMetadata;
|
|
@@ -686,7 +672,7 @@ export interface ListAvailabilityTimeSlotsResponse {
|
|
|
686
672
|
export interface GetAvailabilityTimeSlotRequest {
|
|
687
673
|
/**
|
|
688
674
|
* Service ID of the time slot.
|
|
689
|
-
* Currently
|
|
675
|
+
* Currently supported only for services of type `APPOINTMENT`.
|
|
690
676
|
*/
|
|
691
677
|
serviceId: string;
|
|
692
678
|
/**
|
|
@@ -705,12 +691,11 @@ export interface GetAvailabilityTimeSlotRequest {
|
|
|
705
691
|
* The location of the time slot.
|
|
706
692
|
*
|
|
707
693
|
* You must provide a specific `locationType`.
|
|
708
|
-
* If locationType is `BUSINESS`, you __must__ also provide a locationId
|
|
694
|
+
* If locationType is `BUSINESS`, you __must__ also provide a `locationId`.
|
|
709
695
|
*
|
|
710
|
-
* <blockquote class="
|
|
711
|
-
* <p
|
|
712
|
-
*
|
|
713
|
-
* </p>
|
|
696
|
+
* <blockquote class="warning">
|
|
697
|
+
* <p>Supports filtering by location type, or by location ID.
|
|
698
|
+
* Other fields like <code class="grey-background">name</code> are ignored.</p>
|
|
714
699
|
* </blockquote>
|
|
715
700
|
*/
|
|
716
701
|
location: Location;
|
|
@@ -718,16 +703,14 @@ export interface GetAvailabilityTimeSlotRequest {
|
|
|
718
703
|
* Resources to include in response.
|
|
719
704
|
*
|
|
720
705
|
* If specified,
|
|
721
|
-
* the returned
|
|
722
|
-
* Otherwise, the returned
|
|
723
|
-
* > __Note:__ This can be handy in case you want to avoid large response in flows that only
|
|
724
|
-
* > interested to check the availability of the time slot for specific resources.
|
|
706
|
+
* the returned `TimeSlot` contains only the available resources out of provided list.
|
|
707
|
+
* Otherwise, the returned `TimeSlot` returned with all possible `AvailableResources`.
|
|
725
708
|
*/
|
|
726
709
|
resourceIds?: string[];
|
|
727
710
|
/**
|
|
728
|
-
* Resource type
|
|
711
|
+
* Resource type IDs to include in response, this is in addition to the requested `resourceIds`.
|
|
729
712
|
*
|
|
730
|
-
* If specified in request, the returned
|
|
713
|
+
* If specified in request, the returned `TimeSlot` contains only the `AvailableResources` with `ResourceTypeId`
|
|
731
714
|
* out of those specified, each contains all the available resources of this type.
|
|
732
715
|
*/
|
|
733
716
|
includeResourceTypeIds?: string[];
|
|
@@ -827,102 +810,83 @@ export interface GetAvailabilityTimeSlotResponseNonNullableFields {
|
|
|
827
810
|
};
|
|
828
811
|
}
|
|
829
812
|
/**
|
|
830
|
-
* Retrieves a list of multiService `TimeSlot`
|
|
813
|
+
* Retrieves a list of multiService `TimeSlot`s that match the provided filters.
|
|
814
|
+
*
|
|
831
815
|
* <blockquote class="important">
|
|
832
816
|
* <p><strong>Important:</strong><br/>
|
|
833
|
-
* Currently supported only for services of type
|
|
834
|
-
* </p>
|
|
817
|
+
* Currently supported only for services of type <code class="grey-background">APPOINTMENT</code>.</p>
|
|
835
818
|
* </blockquote>
|
|
836
819
|
*
|
|
837
|
-
* The request body __must__ include
|
|
838
|
-
*
|
|
839
|
-
* + All of the following filters: `serviceId`, `fromLocalDate`, `toLocalDate`, `location`, and `timeZone`. You may add additional filters as you wish.
|
|
820
|
+
* The request body __must__ include either:
|
|
821
|
+
* + All of the following filters: `service`.`serviceId`, `fromLocalDate`, `toLocalDate`, `location`, and `timeZone`. You may add additional filters as you wish.
|
|
840
822
|
* + A `cursorPaging` with a valid `cursor` from previous response.
|
|
841
823
|
*
|
|
842
824
|
*
|
|
843
825
|
* Each [TimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/availability-time-slots/time-slot-object) in response
|
|
844
|
-
* represents the availability of the given
|
|
826
|
+
* represents the availability of the given sequence of services in a specific order, location, and within a given range of time.
|
|
845
827
|
*
|
|
846
828
|
* Each `TimeSlot`.`NestedTimeSlot` represents a single service from the given list. The order of the `NestedTimeSlots` is the same as the order
|
|
847
829
|
* of the given services in request.
|
|
848
|
-
*
|
|
849
|
-
* The first `NestedTimeSlot` has `localStartDate` within the given `fromLocalDate` and `toLocalDate` - exclusive,
|
|
830
|
+
* The first `NestedTimeSlot` has `localStartDate` within the given `fromLocalDate` and `toLocalDate` exclusive,
|
|
850
831
|
* and each following `NestedTimeSlot` has a `localStartDate` that equals to the previous `NestedTimeSlot`'s `localEndDate`.
|
|
851
832
|
*
|
|
833
|
+
* By default,
|
|
834
|
+
* the response contains at most 1000 results.
|
|
835
|
+
* If there are more than 1000 results, we return a `cursorPagingMetadata` with
|
|
836
|
+
* a cursor for the next page of results, regardless of whether a `cursorPaging`
|
|
837
|
+
* was provided in request.
|
|
838
|
+
*
|
|
852
839
|
* > __Notes:__
|
|
853
840
|
* > + All nested time slots share the same location.
|
|
854
841
|
* > + You can pass up to 8 services in request.
|
|
855
842
|
*
|
|
856
843
|
* ### AvailableResources in response:
|
|
844
|
+
* The `TimeSlot`.`NestedTimeSlot`'s `AvailableResources` contains information about the resources that are available to provide the service
|
|
845
|
+
* within the `NestedTimeSlot` range of time. Each `AvailableResources` contains information about available resources of the same type.
|
|
846
|
+
*
|
|
857
847
|
* <blockquote class="important">
|
|
858
848
|
* <p><strong>Important:</strong><br/>
|
|
859
849
|
* By default,
|
|
860
|
-
* if you don't specify
|
|
861
|
-
*
|
|
850
|
+
* if you don't specify <code class="grey-background">service</code>.<code class="grey-background">includeResourceTypeIds</code>
|
|
851
|
+
* or <code class="grey-background">service</code>.<code class="grey-background">resourceIds</code> filters in request,
|
|
852
|
+
* we return TimeSlots with <code class="grey-background">NestedTimeSlot</code>s with an empty <code class="grey-background">AvailableResources</code>.
|
|
853
|
+
* <br/><strong>Note:</strong><br/> Not specifying resources filters can be handy in case you want to avoid large response in flows that only
|
|
854
|
+
* 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)
|
|
855
|
+
* is an example for such flow.
|
|
862
856
|
* </p>
|
|
863
857
|
* </blockquote>
|
|
864
858
|
*
|
|
859
|
+
*
|
|
865
860
|
* If you wish to get a list of available resources for a `TimeSlot`.`NestedTimeSlot` you should either:
|
|
866
861
|
* + provide `service`.`resourceIds` in request.
|
|
867
862
|
* + provide `service`.`includeResourceTypeIds` in request.
|
|
868
863
|
*
|
|
869
|
-
*
|
|
870
|
-
*
|
|
871
|
-
*
|
|
872
|
-
*
|
|
873
|
-
* >
|
|
874
|
-
* > + If an `AvailableResources` has more available resources which are not listed within it,
|
|
875
|
-
* > we return `AvailableResources`.`hasMoreAvailableResources` as true.
|
|
876
|
-
* > + If you wish to get the full available resources list for all `NestedTimeSlot` of a specific `TimeSlot`,
|
|
877
|
-
* > you can 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).
|
|
878
|
-
*
|
|
864
|
+
* __Notes:__
|
|
865
|
+
* + In both cases the returned `TimeSlot`.`NestedTimeSlot` contains __up__ to 10 `AvailableResources` that match the provided filters. Each `AvailableResources` contains __up__ to 10 available `resources` of the same type that match the provided filters.
|
|
866
|
+
* + If an `AvailableResources` has more available resources which are not listed within it, we return `AvailableResources`.`hasMoreAvailableResources` as true.
|
|
867
|
+
* + 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).
|
|
879
868
|
*
|
|
880
|
-
* ### Availability VS Bookability:
|
|
881
|
-
* An available time slot is not necessarily bookable.
|
|
882
869
|
*
|
|
870
|
+
* ### Availability VS Bookability
|
|
871
|
+
* An `available` time slot is not necessarily `bookable`.
|
|
883
872
|
* The `bookable` field of a `TimeSlot` indicates whether the customer can book all of the of the services within the given time slot,
|
|
884
873
|
* at a specific period of time.
|
|
885
874
|
* 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).
|
|
886
875
|
*
|
|
887
876
|
* By default,
|
|
888
|
-
* + The response does not contains unavailable `
|
|
889
|
-
* For example,
|
|
890
|
-
*
|
|
891
|
-
* we don't return `TimeSlot`'s with `localStartDate` within this range.
|
|
892
|
-
* + The response contains both `bookable` and `un-bookable` `TimeSlot`'s.
|
|
893
|
-
* For example,
|
|
894
|
-
* if one of the services has a booking policy which enforces booking the service up to 10 minutes before the session starts,
|
|
895
|
-
* we return `TimeSlot`'s with the violating `localStartDate` with `bookable` as false.
|
|
896
|
-
* If you want to list only __bookable__ `TimeSlots` you should pass `bookable` as true.
|
|
897
|
-
* + If booking one of the `NestedTimeSlot`'s violates one of the corresponding service's booking policies,
|
|
898
|
-
* the `TimeSlot` returns with `bookable` as false. There is no indication which service's policy was violated.
|
|
877
|
+
* + 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.
|
|
878
|
+
* + 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`.
|
|
879
|
+
* + 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.
|
|
899
880
|
*
|
|
900
881
|
* <blockquote class="important">
|
|
901
|
-
* <p><strong>Important:</strong
|
|
882
|
+
* <p><strong>Important:</strong>
|
|
902
883
|
* Because of DST, there are edge cases where certain times either do not exist or exist twice for a local time zone.
|
|
903
|
-
* Read about
|
|
904
|
-
* </p>
|
|
884
|
+
* 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>
|
|
905
885
|
* </blockquote>
|
|
906
886
|
*
|
|
907
|
-
*
|
|
908
|
-
* ### Pagination:
|
|
909
|
-
* You can specify how many `TimeSlot`'s will return in response by providing a `limit`
|
|
910
|
-
* for the `cursorPaging` in request.
|
|
911
|
-
*
|
|
912
|
-
* If there are more `TimeSlot`s that match the provided filters, we return a `cursorPagingMetaData`
|
|
913
|
-
* with `hasNext` = true and a `cursors`.`next` that points to the next page of results.
|
|
914
|
-
* In order to retrieve the next page of results, you should only provide `cursorPaging` with a limit and the cursor
|
|
915
|
-
* you got in previous call to `cursorPaging`.`cursor` in the request of the following call.
|
|
916
|
-
*
|
|
917
|
-
* By default,
|
|
918
|
-
* the response contains at most 1000 results.
|
|
919
|
-
* If there are more than 1000 results, we return a `cursorPagingMetadata` with
|
|
920
|
-
* a cursor for the next page of results, regardless of whether a `cursorPaging`
|
|
921
|
-
* was provided in request.
|
|
922
|
-
*
|
|
923
|
-
* #### ListAvailabilityTimeSlots runs with the following defaults:
|
|
924
|
-
* + `cursorPaging`.`limit` is 1000.
|
|
887
|
+
* ### ListAvailabilityTimeSlots runs with the following defaults:
|
|
925
888
|
* + `localStartDate` is sorted in `ASC` order.
|
|
889
|
+
* + `cursorPaging`.`limit` is `1000`.
|
|
926
890
|
* @public
|
|
927
891
|
* @documentationMaturity preview
|
|
928
892
|
* @permissionScope Read Bookings - Public Data
|
|
@@ -941,43 +905,57 @@ export interface ListMultiServiceAvailabilityTimeSlotsOptions {
|
|
|
941
905
|
* Services for which the multiService time slots are being returned for.
|
|
942
906
|
* Each service contains its own resources filters within.
|
|
943
907
|
*
|
|
944
|
-
* MinSize: 2
|
|
945
|
-
* MaxSize: 8
|
|
908
|
+
* MinSize: `2`.
|
|
909
|
+
* MaxSize: `8`.
|
|
910
|
+
*
|
|
911
|
+
* Required, unless `cursorPaging`.`cursor` is provided.
|
|
946
912
|
*/
|
|
947
913
|
services?: Service[];
|
|
948
914
|
/**
|
|
949
915
|
* Lower boundary for `localStartDate` to include in response, in ISO-8601 format.
|
|
950
916
|
* For example, "2024-01-30T13:30:00".
|
|
917
|
+
*
|
|
918
|
+
* Each returned `TimeSlot` in response has a `localStartDate`
|
|
919
|
+
* within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
|
920
|
+
*
|
|
951
921
|
* Required, unless `cursorPaging`.`cursor` is provided.
|
|
952
|
-
* > __Note:__: Each returned `TimeSlot` in response has a `localStartDate`
|
|
953
|
-
* > within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
|
954
922
|
*/
|
|
955
923
|
fromLocalDate?: string | null;
|
|
956
924
|
/**
|
|
957
925
|
* Upper boundary for `localStartDate` to include in response, in ISO-8601 format.
|
|
958
926
|
* For example, "2024-01-30T14:30:00".
|
|
927
|
+
*
|
|
928
|
+
* Each returned `TimeSlot` in response has a `localStartDate`
|
|
929
|
+
* within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
|
930
|
+
*
|
|
959
931
|
* Required, unless `cursorPaging`.`cursor` is provided.
|
|
960
|
-
* > __Note:__: Each returned `TimeSlot` in response has a `localStartDate`
|
|
961
|
-
* > within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
|
962
932
|
*/
|
|
963
933
|
toLocalDate?: string | null;
|
|
964
934
|
/**
|
|
965
935
|
* Time zone, in IANA time zone format.
|
|
936
|
+
*
|
|
966
937
|
* Required, unless `cursorPaging`.`cursor` is provided.
|
|
967
938
|
*/
|
|
968
939
|
timeZone?: string | null;
|
|
969
940
|
/**
|
|
970
|
-
* Location for which the multiService
|
|
941
|
+
* Location for which the multiService TimeSlots are being returned for.
|
|
942
|
+
*
|
|
943
|
+
* You can specify location or location type for which the TimeSlots will be returned for.
|
|
944
|
+
* If locationType is `BUSINESS`, you __must__ provide a locationId.
|
|
971
945
|
*
|
|
972
|
-
*
|
|
973
|
-
* >
|
|
974
|
-
*
|
|
946
|
+
* <blockquote class="warning">
|
|
947
|
+
* <p><strong>warning:</strong><br/>
|
|
948
|
+
* Supports filtering by location type, or by location ID. </br>
|
|
949
|
+
* Other fields like <code class="grey-background">name</code> are ignored.</p>
|
|
950
|
+
* </blockquote>
|
|
951
|
+
*
|
|
952
|
+
* Required, unless `cursorPaging`.`cursor` is provided.
|
|
975
953
|
*/
|
|
976
954
|
location?: Location;
|
|
977
955
|
/**
|
|
978
|
-
* Whether the `TimeSlot` is bookable according all of the services booking policies.
|
|
956
|
+
* Whether the `TimeSlot` is bookable according to all of the services booking policies.
|
|
979
957
|
*
|
|
980
|
-
* If booking any of the `TimeSlot`.`NestedTimeSlot`
|
|
958
|
+
* If booking any of the `TimeSlot`.`NestedTimeSlot`s violates any of its services bookings policies,
|
|
981
959
|
* returns as `false`. Otherwise, returns as `true`.
|
|
982
960
|
*
|
|
983
961
|
* > __Note:__
|
|
@@ -991,7 +969,7 @@ export interface ListMultiServiceAvailabilityTimeSlotsOptions {
|
|
|
991
969
|
* A bookable time slot must not violate any policy,
|
|
992
970
|
* therefor, this filter is only relevant when `bookable` filter is false.
|
|
993
971
|
*
|
|
994
|
-
* Each nested field is checked on all `NestedTimeSlot`
|
|
972
|
+
* Each nested field is checked on all `NestedTimeSlot`s. For example, if only one of the `NestedTimeSlot`'s
|
|
995
973
|
* has a service with `tooEarlyToBook` same as in the request, we return the `TimeSlot` regardless of whether
|
|
996
974
|
* the other `NestedTimeSlots` has the same `tooEarlyToBook` as in request.
|
|
997
975
|
*
|
|
@@ -1001,7 +979,7 @@ export interface ListMultiServiceAvailabilityTimeSlotsOptions {
|
|
|
1001
979
|
bookingPolicyViolations?: BookingPolicyViolations;
|
|
1002
980
|
/**
|
|
1003
981
|
* Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,
|
|
1004
|
-
* we return at most 3 available
|
|
982
|
+
* we return at most 3 available TimeSlots for each day within the date range specified in request.
|
|
1005
983
|
*
|
|
1006
984
|
* By default,
|
|
1007
985
|
* if `bookable` filter was not specified,
|
|
@@ -1014,8 +992,8 @@ export interface ListMultiServiceAvailabilityTimeSlotsOptions {
|
|
|
1014
992
|
/**
|
|
1015
993
|
* CursorPaging.
|
|
1016
994
|
*
|
|
1017
|
-
* Enables you to fetch
|
|
1018
|
-
* by setting a limit on the number of
|
|
995
|
+
* Enables you to fetch TimeSlots in smaller, more manageable chunks
|
|
996
|
+
* by setting a limit on the number of results returned in response.
|
|
1019
997
|
* This is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.
|
|
1020
998
|
*
|
|
1021
999
|
* If there are more results than the specified limit, the response will contain a `cursorPagingMetaData`
|
|
@@ -1027,17 +1005,12 @@ export interface ListMultiServiceAvailabilityTimeSlotsOptions {
|
|
|
1027
1005
|
* the `cursorPaging`.`limit`. You may pass a different `limit`.
|
|
1028
1006
|
* No need to specify any additional parameters.
|
|
1029
1007
|
*
|
|
1030
|
-
* __TODO: This is only describes the current behavior, should be fixed__
|
|
1031
1008
|
* <blockquote class="important">
|
|
1032
1009
|
* <p><strong>Important:</strong><br/>
|
|
1033
|
-
* If you only provide a
|
|
1034
|
-
* the response will contain the default size of results
|
|
1010
|
+
* If you only provide a <code class="grey-background">cursorPaging</code>. <code class="grey-background">cursor</code>,
|
|
1011
|
+
* the response will contain the default size of results which is `1000`.
|
|
1035
1012
|
* </p>
|
|
1036
1013
|
* </blockquote>
|
|
1037
|
-
*
|
|
1038
|
-
* cursorPaging.limit:
|
|
1039
|
-
* Default: 1000
|
|
1040
|
-
* Max: 1000
|
|
1041
1014
|
*/
|
|
1042
1015
|
cursorPaging?: CommonCursorPaging;
|
|
1043
1016
|
}
|
|
@@ -1048,8 +1021,7 @@ export interface ListMultiServiceAvailabilityTimeSlotsOptions {
|
|
|
1048
1021
|
*
|
|
1049
1022
|
* <blockquote class="important">
|
|
1050
1023
|
* <p><strong>Important:</strong><br/>
|
|
1051
|
-
* Currently supported only for services of type
|
|
1052
|
-
* </p>
|
|
1024
|
+
* Currently supported only for services of type <code class="grey-background">APPOINTMENT</code>.</p>
|
|
1053
1025
|
* </blockquote>
|
|
1054
1026
|
*
|
|
1055
1027
|
* By default,
|
|
@@ -1065,7 +1037,12 @@ export interface ListMultiServiceAvailabilityTimeSlotsOptions {
|
|
|
1065
1037
|
* + Notes:
|
|
1066
1038
|
* + All nested time slots share the same location.
|
|
1067
1039
|
* + You can pass up to 8 services.
|
|
1068
|
-
*
|
|
1040
|
+
*
|
|
1041
|
+
* <blockquote class="tip">
|
|
1042
|
+
* <p><strong>Tip:</strong><br/>
|
|
1043
|
+
* 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>
|
|
1044
|
+
* </blockquote>
|
|
1045
|
+
* @param services - Services for which the multiService TimeSlots are being returned for.
|
|
1069
1046
|
* Each service contains its own resources filters within.
|
|
1070
1047
|
*
|
|
1071
1048
|
* MinSize: 2.
|
|
@@ -1108,41 +1085,53 @@ export interface GetMultiServiceAvailabilityTimeSlotOptions {
|
|
|
1108
1085
|
* The location of the time slot.
|
|
1109
1086
|
*
|
|
1110
1087
|
* You must provide a specific `locationType`.
|
|
1111
|
-
* If locationType is `BUSINESS`, you __must__ also provide a locationId
|
|
1088
|
+
* If locationType is `BUSINESS`, you __must__ also provide a `locationId`.
|
|
1112
1089
|
*
|
|
1113
|
-
* <blockquote class="
|
|
1114
|
-
* <p
|
|
1115
|
-
*
|
|
1116
|
-
* </p>
|
|
1090
|
+
* <blockquote class="warning">
|
|
1091
|
+
* <p>Supports filtering by location type, or by location ID.
|
|
1092
|
+
* Other fields like <code class="grey-background">name</code> are ignored.</p>
|
|
1117
1093
|
* </blockquote>
|
|
1118
1094
|
*/
|
|
1119
1095
|
location: Location;
|
|
1120
1096
|
}
|
|
1121
1097
|
/**
|
|
1122
|
-
* Retrieves a list of `TimeSlot`
|
|
1098
|
+
* Retrieves a list of `TimeSlot`s that match the provided filters.
|
|
1123
1099
|
*
|
|
1124
1100
|
* <blockquote class="important">
|
|
1125
|
-
* <p><strong>Important:</strong
|
|
1126
|
-
* Currently supported only for services of type
|
|
1127
|
-
* </p>
|
|
1101
|
+
* <p><strong>Important:</strong>
|
|
1102
|
+
* Currently supported only for services of type <code class="grey-background">APPOINTMENT</code>.</p>
|
|
1128
1103
|
* </blockquote>
|
|
1129
1104
|
*
|
|
1130
|
-
* The request body __must__ include
|
|
1131
|
-
*
|
|
1132
|
-
*
|
|
1105
|
+
* The request body __must__ include either:
|
|
1106
|
+
* + All of the following filters: `serviceId`, `fromLocalDate`, `toLocalDate`, and `timeZone`.
|
|
1107
|
+
* You may add additional filters as you wish.
|
|
1133
1108
|
* + A `cursorPaging` with a valid `cursor` from previous response.
|
|
1134
1109
|
*
|
|
1110
|
+
*
|
|
1135
1111
|
* Each [TimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/availability-time-slots/time-slot-object) in response
|
|
1136
1112
|
* represents the availability of the service in a specific location,
|
|
1137
1113
|
* and has a `localStartDate` within the range of the provided `fromLocalDate` and `toLocalDate` exclusive.
|
|
1114
|
+
* The `localEndDate` of a `TimeSlot` is calculated as the sum of the `TimeSlot`'s `localStartDate` and the duration of the service.
|
|
1138
1115
|
*
|
|
1116
|
+
* By default,
|
|
1117
|
+
* the response contains at most 1000 results.
|
|
1118
|
+
* If there are more than 1000 results, we return a `cursorPagingMetadata` with
|
|
1119
|
+
* a cursor for the next page of results, regardless of whether a `cursorPaging`
|
|
1120
|
+
* was provided in request.
|
|
1121
|
+
*
|
|
1122
|
+
* ### AvailableResources in response
|
|
1123
|
+
* The `TimeSlot`'s `AvailableResources` contains information about the resources that are available to provide the service
|
|
1124
|
+
* within the time slot. Each `AvailableResources` contains information about available resources of the same type.
|
|
1139
1125
|
*
|
|
1140
|
-
* ### AvailableResources in response:
|
|
1141
1126
|
* <blockquote class="important">
|
|
1142
1127
|
* <p><strong>Important:</strong><br/>
|
|
1143
1128
|
* By default,
|
|
1144
|
-
* if you don't specify
|
|
1145
|
-
*
|
|
1129
|
+
* if you don't specify <code class="grey-background">includeResourceTypeIds</code>
|
|
1130
|
+
* or <code class="grey-background">resourceIds</code> filters in request,
|
|
1131
|
+
* we return TimeSlots with an empty <code class="grey-background">AvailableResources</code>.
|
|
1132
|
+
* <br/><strong>Note:</strong><br/> Not specifying resources filters can be handy in case you want to avoid large response in flows that only
|
|
1133
|
+
* 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/availability-time-slots/sample-flows?localViewerId=inbari#all-apis_service-availability_availability-time-slots_sample-flows_find-the-first-date-within-the-next-3-months-that-the-selected-service-is-available-for)
|
|
1134
|
+
* is an example for such flow.
|
|
1146
1135
|
* </p>
|
|
1147
1136
|
* </blockquote>
|
|
1148
1137
|
*
|
|
@@ -1150,61 +1139,43 @@ export interface GetMultiServiceAvailabilityTimeSlotOptions {
|
|
|
1150
1139
|
* + provide `resourceIds` in request.
|
|
1151
1140
|
* + provide `includeResourceTypeIds` in request.
|
|
1152
1141
|
*
|
|
1153
|
-
*
|
|
1154
|
-
*
|
|
1155
|
-
*
|
|
1156
|
-
*
|
|
1157
|
-
*
|
|
1158
|
-
* >
|
|
1159
|
-
* >
|
|
1160
|
-
* >
|
|
1161
|
-
* > you can call [GetAvailabilityTimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/service-availability-time-slots/get-availability-time-slot).
|
|
1162
|
-
*
|
|
1142
|
+
* __Notes:__
|
|
1143
|
+
* + In both cases the returned TimeSlots contains __up__ to 10 `AvailableResources` that match the provided filters.
|
|
1144
|
+
* Each `AvailableResources` contains __up__ to 10 available `resources` of the same type that match the provided filters.
|
|
1145
|
+
* + If an `AvailableResources` has more available resources which are not listed within it,
|
|
1146
|
+
* we return `AvailableResources`.`hasMoreAvailableResources` as true.
|
|
1147
|
+
* > __Note:__
|
|
1148
|
+
* > If you wish to get the full available resources list for a specific `TimeSlot`,
|
|
1149
|
+
* > you should call [GetAvailabilityTimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/service-availability-time-slots/get-availability-time-slot).
|
|
1163
1150
|
*
|
|
1164
|
-
* ### Availability VS Bookability:
|
|
1165
|
-
* An available time slot is not necessarily bookable.
|
|
1166
1151
|
*
|
|
1152
|
+
* ### Availability VS Bookability
|
|
1153
|
+
* An `available` time slot is not necessarily `bookable`.
|
|
1167
1154
|
* The `bookable` field of a `TimeSlot` indicates whether a customer can book the service within the given time slot,
|
|
1168
1155
|
* at a specific period of time.
|
|
1169
1156
|
* Read more about [Availability VS Bookability](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/service-availability-time-slots/introduction#all-apis_wix-service-availability_service-availability-time-slots_introduction_availability-vs-bookability).
|
|
1170
1157
|
*
|
|
1171
1158
|
* By default,
|
|
1172
|
-
* + The response does not contains unavailable
|
|
1159
|
+
* + The response does not contains `unavailable` TimeSlots.
|
|
1173
1160
|
* For example,
|
|
1174
1161
|
* if there are no available resources to provide the service from `2024-01-30T14:30:00` to `2024-01-30T15:30:00`,
|
|
1175
|
-
* we don't return
|
|
1176
|
-
* + The response contains both `bookable` and `un-bookable`
|
|
1162
|
+
* we don't return TimeSlots with `localStartDate` within this range.
|
|
1163
|
+
* + The response contains both `bookable` and `un-bookable` TimeSlots.
|
|
1177
1164
|
* For example,
|
|
1178
1165
|
* if the service has a booking policy which enforces booking the service up to 10 minutes before the session starts,
|
|
1179
|
-
* we return
|
|
1180
|
-
* If you
|
|
1166
|
+
* we return TimeSlots with the violating `localStartDate` with `bookable` as false.
|
|
1167
|
+
* If you wish to list only available __bookable__ TimeSlots you should pass `bookable` filter as true.
|
|
1181
1168
|
*
|
|
1182
1169
|
* <blockquote class="important">
|
|
1183
|
-
* <p><strong>Important:</strong
|
|
1170
|
+
* <p><strong>Important:</strong>
|
|
1184
1171
|
* Because of DST, there are edge cases where certain times either do not exist or exist twice for a local time zone.
|
|
1185
|
-
* Read about
|
|
1186
|
-
* </p>
|
|
1172
|
+
* Read more about <a href="https://bo.wix.com/wix-docs/rest/all-apis/service-availability/availability-time-slots/introduction?localViewerId=inbari#all-apis_service-availability_availability-time-slots_introduction_daylight-saving-time-dst-handling">DST Handling</a></p>
|
|
1187
1173
|
* </blockquote>
|
|
1188
1174
|
*
|
|
1189
1175
|
*
|
|
1190
|
-
* ###
|
|
1191
|
-
*
|
|
1192
|
-
*
|
|
1193
|
-
*
|
|
1194
|
-
* If there are more `TimeSlot`s that match the provided filters, we return a `cursorPagingMetaData`
|
|
1195
|
-
* with `hasNext` = true and a `cursors`.`next` that points to the next page of results.
|
|
1196
|
-
* In order to retrieve the next page of results, you should only provide `cursorPaging` with a limit and the cursor
|
|
1197
|
-
* you got in previous call to `cursorPaging`.`cursor` in the request of the following call.
|
|
1198
|
-
*
|
|
1199
|
-
* By default,
|
|
1200
|
-
* the response contains at most 1000 results.
|
|
1201
|
-
* If there are more than 1000 results, we return a `cursorPagingMetadata` with
|
|
1202
|
-
* a cursor for the next page of results, regardless of whether a `cursorPaging`
|
|
1203
|
-
* was provided in request.
|
|
1204
|
-
*
|
|
1205
|
-
* #### ListAvailabilityTimeSlots runs with the following defaults:
|
|
1206
|
-
* + `cursorPaging`.`limit` is 1000.
|
|
1207
|
-
* + `localStartDate` is sorted in `ASC` order.
|
|
1176
|
+
* ### ListAvailabilityTimeSlots runs with the following defaults
|
|
1177
|
+
* + `localStartDate` is sorted in `ASC` order
|
|
1178
|
+
* + `cursorPaging`.`limit` is `1000`
|
|
1208
1179
|
* @public
|
|
1209
1180
|
* @documentationMaturity preview
|
|
1210
1181
|
* @permissionScope Read Bookings - Public Data
|
|
@@ -1221,29 +1192,34 @@ export declare function listAvailabilityTimeSlots(options?: ListAvailabilityTime
|
|
|
1221
1192
|
export interface ListAvailabilityTimeSlotsOptions {
|
|
1222
1193
|
/**
|
|
1223
1194
|
* Service ID for which the time slots are being returned for.
|
|
1224
|
-
* Currently
|
|
1195
|
+
* Currently supported only for services of type `APPOINTMENT`.
|
|
1196
|
+
*
|
|
1225
1197
|
* Required, unless `cursorPaging`.`cursor` is provided.
|
|
1226
1198
|
*/
|
|
1227
1199
|
serviceId?: string | null;
|
|
1228
1200
|
/**
|
|
1229
1201
|
* Lower boundary for `localStartDate` to include in response, in ISO-8601 format.
|
|
1230
1202
|
* For example, "2024-01-30T13:30:00".
|
|
1203
|
+
*
|
|
1204
|
+
* Each returned `TimeSlot` in response has a `localStartDate`
|
|
1205
|
+
* within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
|
1206
|
+
*
|
|
1231
1207
|
* Required, unless `cursorPaging`.`cursor` is provided.
|
|
1232
|
-
* > __Note:__: Each returned `TimeSlot` in response has a `localStartDate`
|
|
1233
|
-
* > within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
|
1234
1208
|
*/
|
|
1235
1209
|
fromLocalDate?: string | null;
|
|
1236
1210
|
/**
|
|
1237
1211
|
* Upper boundary for `localStartDate` to include in response, in ISO-8601 format.
|
|
1238
1212
|
* For example, "2024-01-30T14:30:00".
|
|
1213
|
+
*
|
|
1214
|
+
* Each returned `TimeSlot` in response has a `localStartDate`
|
|
1215
|
+
* within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
|
1216
|
+
*
|
|
1239
1217
|
* Required, unless `cursorPaging`.`cursor` is provided.
|
|
1240
|
-
* > __Note:__: Each returned `TimeSlot` in response has a `localStartDate`
|
|
1241
|
-
* > within the provided `fromLocalDate` and `toLocalDate` exclusive.
|
|
1242
|
-
* > The `localEndDate` of the returned `TimeSlot` is the `TimeSlot`'s `localStartDate` + the service duration
|
|
1243
1218
|
*/
|
|
1244
1219
|
toLocalDate?: string | null;
|
|
1245
1220
|
/**
|
|
1246
1221
|
* Time zone, in IANA time zone format.
|
|
1222
|
+
*
|
|
1247
1223
|
* Required, unless `cursorPaging`.`cursor` is provided.
|
|
1248
1224
|
*/
|
|
1249
1225
|
timeZone?: string | null;
|
|
@@ -1252,34 +1228,37 @@ export interface ListAvailabilityTimeSlotsOptions {
|
|
|
1252
1228
|
*
|
|
1253
1229
|
* By default,
|
|
1254
1230
|
* if no locations are provided,
|
|
1255
|
-
* the response contains
|
|
1231
|
+
* the response contains TimeSlots for all locations where the service is available.
|
|
1256
1232
|
*
|
|
1257
1233
|
* You can specify locations or location types for which the time slots will be returned for.
|
|
1258
|
-
*
|
|
1259
|
-
*
|
|
1234
|
+
* If locationType is `BUSINESS`, you __must__ provide a locationId.
|
|
1235
|
+
*
|
|
1236
|
+
* <blockquote class="warning">
|
|
1237
|
+
* <p><strong>warning:</strong><br/>
|
|
1238
|
+
* Supports filtering by location type, or by location ID. </br>
|
|
1239
|
+
* Other fields like <code class="grey-background">name</code> are ignored.</p>
|
|
1240
|
+
* </blockquote>
|
|
1260
1241
|
*/
|
|
1261
1242
|
locations?: Location[];
|
|
1262
1243
|
/**
|
|
1263
1244
|
* Resources to include in response.
|
|
1264
1245
|
*
|
|
1265
1246
|
* If specified,
|
|
1266
|
-
* the returned
|
|
1267
|
-
* Otherwise, the returned
|
|
1268
|
-
* > __Note:__ Not specifying `resourceIds` can be handy in case you want to avoid large response in flows that only
|
|
1269
|
-
* > interested whether the time slots are available or not. [An example for such flow](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/service-availability-time-slots/sample-flows#all-apis_wix-service-availability_service-availability-time-slots_sample-flows_let-your-customers-to-dynamically-select-an-available-time-slot-for-any-of-your-business-services).
|
|
1247
|
+
* the returned TimeSlots will contain __up__ to 10 available resources out of the provided list.
|
|
1248
|
+
* Otherwise, the returned TimeSlots returns with an empty `AvailableResources`.
|
|
1270
1249
|
*/
|
|
1271
1250
|
resourceIds?: string[];
|
|
1272
1251
|
/**
|
|
1273
|
-
* Resource type ID's to include in response, this is in addition to the requested resourceIds
|
|
1252
|
+
* Resource type ID's to include in response, this is in addition to the requested `resourceIds`.
|
|
1274
1253
|
*
|
|
1275
|
-
* If specified in request, the returned
|
|
1254
|
+
* If specified in request, the returned TimeSlots will contain __up__ to 10 `AvailableResources` with `ResourceTypeId`
|
|
1276
1255
|
* out of those specified, each contains __up__ to 10 available resources of this type.
|
|
1277
1256
|
*/
|
|
1278
1257
|
includeResourceTypeIds?: string[];
|
|
1279
1258
|
/**
|
|
1280
1259
|
* Whether the `TimeSlot` is bookable according to the service's booking policies.
|
|
1281
1260
|
*
|
|
1282
|
-
* If booking this
|
|
1261
|
+
* If booking this `TimeSlot` does not violates any of the service's booking policies,
|
|
1283
1262
|
* returns as `true`. Otherwise, returns as `false`.
|
|
1284
1263
|
*
|
|
1285
1264
|
* > __Note:__
|
|
@@ -1299,7 +1278,7 @@ export interface ListAvailabilityTimeSlotsOptions {
|
|
|
1299
1278
|
bookingPolicyViolations?: BookingPolicyViolations;
|
|
1300
1279
|
/**
|
|
1301
1280
|
* Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,
|
|
1302
|
-
* we return at most 3 available
|
|
1281
|
+
* we return at most 3 available TimeSlots for each day within the date range specified in request.
|
|
1303
1282
|
*
|
|
1304
1283
|
* By default,
|
|
1305
1284
|
* if `bookable` filter was not specified,
|
|
@@ -1312,8 +1291,8 @@ export interface ListAvailabilityTimeSlotsOptions {
|
|
|
1312
1291
|
/**
|
|
1313
1292
|
* CursorPaging.
|
|
1314
1293
|
*
|
|
1315
|
-
* Enables you to fetch
|
|
1316
|
-
* by setting a limit on the number of
|
|
1294
|
+
* Enables you to fetch results in smaller, more manageable chunks
|
|
1295
|
+
* by setting a limit on the number of results returned in response.
|
|
1317
1296
|
* This is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.
|
|
1318
1297
|
*
|
|
1319
1298
|
* If there are more results than the specified limit, the response will contain a `cursorPagingMetaData`
|
|
@@ -1321,21 +1300,16 @@ export interface ListAvailabilityTimeSlotsOptions {
|
|
|
1321
1300
|
* returned cursor to the next call as `cursorPaging`.`cursor`.
|
|
1322
1301
|
*
|
|
1323
1302
|
* For the first call, you should only specify the `limit` for the results page.
|
|
1324
|
-
* For each following call, you should only pass the
|
|
1325
|
-
*
|
|
1303
|
+
* For each following call, you should only pass `cursorPaging`.`cursor` with the returned cursor from previous call, and
|
|
1304
|
+
* a `cursorPaging`.`limit`.
|
|
1326
1305
|
* No need to specify any additional parameters.
|
|
1327
1306
|
*
|
|
1328
|
-
* __TODO: This is only describes the current behavior, should be fixed__
|
|
1329
1307
|
* <blockquote class="important">
|
|
1330
1308
|
* <p><strong>Important:</strong><br/>
|
|
1331
|
-
* If you only provide a
|
|
1332
|
-
* the response will contain the default size of results
|
|
1309
|
+
* If you only provide a <code class="grey-background">cursorPaging</code>. <code class="grey-background">cursor</code>,
|
|
1310
|
+
* the response will contain the default size of results which is `1000`.
|
|
1333
1311
|
* </p>
|
|
1334
1312
|
* </blockquote>
|
|
1335
|
-
*
|
|
1336
|
-
* cursorPaging.limit:
|
|
1337
|
-
* Default: 1000
|
|
1338
|
-
* Max: 1000
|
|
1339
1313
|
*/
|
|
1340
1314
|
cursorPaging?: CommonCursorPaging;
|
|
1341
1315
|
}
|
|
@@ -1346,8 +1320,7 @@ export interface ListAvailabilityTimeSlotsOptions {
|
|
|
1346
1320
|
*
|
|
1347
1321
|
* <blockquote class="important">
|
|
1348
1322
|
* <p><strong>Important:</strong><br/>
|
|
1349
|
-
* Currently supported only for services of type
|
|
1350
|
-
* </p>
|
|
1323
|
+
* Currently supported only for services of type <code class="grey-background">APPOINTMENT</code>.</p>
|
|
1351
1324
|
* </blockquote>
|
|
1352
1325
|
*
|
|
1353
1326
|
* By default,
|
|
@@ -1359,8 +1332,14 @@ export interface ListAvailabilityTimeSlotsOptions {
|
|
|
1359
1332
|
* the returned `TimeSlot` will contain only `AvailableResources` with at least one available resource
|
|
1360
1333
|
* which match the given resources filters,
|
|
1361
1334
|
* each contains all available resources out of those requested.
|
|
1335
|
+
*
|
|
1336
|
+
*
|
|
1337
|
+
* <blockquote class="tip">
|
|
1338
|
+
* <p><strong>Tip:</strong><br/>
|
|
1339
|
+
* 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">ListAvailabilityTimeSlots</code> API.</p>
|
|
1340
|
+
* </blockquote>
|
|
1362
1341
|
* @param serviceId - Service ID of the time slot.
|
|
1363
|
-
* Currently
|
|
1342
|
+
* Currently supported only for services of type `APPOINTMENT`.
|
|
1364
1343
|
* @public
|
|
1365
1344
|
* @documentationMaturity preview
|
|
1366
1345
|
* @requiredField options.localEndDate
|
|
@@ -1396,12 +1375,11 @@ export interface GetAvailabilityTimeSlotOptions {
|
|
|
1396
1375
|
* The location of the time slot.
|
|
1397
1376
|
*
|
|
1398
1377
|
* You must provide a specific `locationType`.
|
|
1399
|
-
* If locationType is `BUSINESS`, you __must__ also provide a locationId
|
|
1378
|
+
* If locationType is `BUSINESS`, you __must__ also provide a `locationId`.
|
|
1400
1379
|
*
|
|
1401
|
-
* <blockquote class="
|
|
1402
|
-
* <p
|
|
1403
|
-
*
|
|
1404
|
-
* </p>
|
|
1380
|
+
* <blockquote class="warning">
|
|
1381
|
+
* <p>Supports filtering by location type, or by location ID.
|
|
1382
|
+
* Other fields like <code class="grey-background">name</code> are ignored.</p>
|
|
1405
1383
|
* </blockquote>
|
|
1406
1384
|
*/
|
|
1407
1385
|
location: Location;
|
|
@@ -1409,16 +1387,14 @@ export interface GetAvailabilityTimeSlotOptions {
|
|
|
1409
1387
|
* Resources to include in response.
|
|
1410
1388
|
*
|
|
1411
1389
|
* If specified,
|
|
1412
|
-
* the returned
|
|
1413
|
-
* Otherwise, the returned
|
|
1414
|
-
* > __Note:__ This can be handy in case you want to avoid large response in flows that only
|
|
1415
|
-
* > interested to check the availability of the time slot for specific resources.
|
|
1390
|
+
* the returned `TimeSlot` contains only the available resources out of provided list.
|
|
1391
|
+
* Otherwise, the returned `TimeSlot` returned with all possible `AvailableResources`.
|
|
1416
1392
|
*/
|
|
1417
1393
|
resourceIds?: string[];
|
|
1418
1394
|
/**
|
|
1419
|
-
* Resource type
|
|
1395
|
+
* Resource type IDs to include in response, this is in addition to the requested `resourceIds`.
|
|
1420
1396
|
*
|
|
1421
|
-
* If specified in request, the returned
|
|
1397
|
+
* If specified in request, the returned `TimeSlot` contains only the `AvailableResources` with `ResourceTypeId`
|
|
1422
1398
|
* out of those specified, each contains all the available resources of this type.
|
|
1423
1399
|
*/
|
|
1424
1400
|
includeResourceTypeIds?: string[];
|