@wix/auto_sdk_bookings_multi-service-availability-time-slots 1.0.200 → 1.0.201

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.
@@ -251,40 +251,36 @@ interface NonBookableReasons {
251
251
  /** Whether the related event is cancelled. */
252
252
  eventCancelled?: boolean | null;
253
253
  }
254
- interface ListMultiServiceAvailabilityTimeSlotsRequest {
254
+ interface ListAvailabilityTimeSlotsRequest {
255
255
  /**
256
- * Services for which the multi-service time slots are returned.
257
- * Each service can include its own resource filters.
258
- *
259
- * Required unless you specify `cursorPaging.cursor`.
260
- *
261
- * Min: 2 services
262
- * Max: 8 services
263
- * @maxSize 8
256
+ * Service ID for which to retrieve time slots. You must specify the ID of an appointment-based service.
257
+ * Required, unless you specify `cursorPaging.cursor`.
258
+ * @format GUID
264
259
  */
265
- services?: Service[];
260
+ serviceId?: string | null;
266
261
  /**
267
- * Lower boundary for `localStartDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
268
- * For example, `2026-01-30T13:30:00`.
269
- * Each returned time slot has a `localStartDate` between `fromLocalDate` and `toLocalDate`.
262
+ * Lower boundary for `localStartDate` to include in response.
263
+ * Each returned time slot has a `localStartDate` within the provided `fromLocalDate` and `toLocalDate` exclusive.
264
+ * Required, unless you specify `cursorPaging.cursor`.
270
265
  *
271
- * Required unless you specify `cursorPaging.cursor`.
266
+ * Local start date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
267
+ * For example, `2026-01-30T13:30:00`.
272
268
  * @format LOCAL_DATE_TIME
273
269
  */
274
270
  fromLocalDate?: string | null;
275
271
  /**
276
- * Upper boundary for `localToDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
277
- * For example, `2026-01-30T13:30:00`.
278
- * Each returned time slot has a `localEndDate` between `fromLocalDate` and `toLocalDate`.
272
+ * Upper boundary for `localStartDate` to include in response.
273
+ * Each returned time slot has a `localStartDate` within the provided `fromLocalDate` and `toLocalDate` exclusive.
274
+ * Required, unless you specify `cursorPaging.cursor`.
279
275
  *
280
- * Required unless you specify `cursorPaging.cursor`.
276
+ * Local end date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
277
+ * For example, `2026-01-30T13:30:00`.
281
278
  * @format LOCAL_DATE_TIME
282
279
  */
283
280
  toLocalDate?: string | null;
284
281
  /**
285
- * 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`.
286
- *
287
- * Required unless you specify `cursorPaging.cursor`.
282
+ * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
283
+ * For example, `America/New_York` or `UTC`.
288
284
  *
289
285
  * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
290
286
  * @minLength 1
@@ -292,19 +288,27 @@ interface ListMultiServiceAvailabilityTimeSlotsRequest {
292
288
  */
293
289
  timeZone?: string | null;
294
290
  /**
295
- * Location for which the multi-service time slots are returned. If you filter by `{"type": "BUSINESS"}`, you must also specify a location ID. Filters for `location.name` and `location.formattedAddress` are ignored.
296
- *
297
- * Required unless you specify `cursorPaging.cursor`.
291
+ * Locations to include in response.
292
+ * If not specified, returns time slots for all locations where the service is available.
293
+ * @maxSize 5
298
294
  */
299
- location?: Location;
295
+ locations?: Location[];
300
296
  /**
301
- * Whether the time slot is bookable according to all services' booking policies.
302
- * If not specified, returns both bookable and non-bookable time slots.
297
+ * Resource type IDs to include in the response.
298
+ * If specified, returns up to 10 `availableResources` with matching `resourceTypeId`.
299
+ * This controls which resource details are included in the response but doesn't filter the time slots themselves.
300
+ * @format GUID
301
+ * @maxSize 100
302
+ */
303
+ includeResourceTypeIds?: string[];
304
+ /**
305
+ * Whether the time slot is bookable according to the service's booking policies.
306
+ * If not specified, returns both bookable and un-bookable time slots.
303
307
  */
304
308
  bookable?: boolean | null;
305
309
  /**
306
310
  * Indicators for service's booking policy violations.
307
- * Allows filtering for time slots with specific violation types based on [booking policies](https://dev.wix.com/docs/api-reference/business-solutions/bookings/policies/booking-policies/introduction). When you don't specify `bookingPolicyViolations` filters, all slots are returned regardless of their booking policy status.
311
+ * Allows filtering for time slots with specific violation types based on [booking policies](https://dev.wix.com/docs/api-reference/business-solutions/bookings/policies/booking-policies/introduction)). When you don't specify `bookingPolicyViolations` filters, all slots are returned regardless of their booking policy status.
308
312
  */
309
313
  bookingPolicyViolations?: BookingPolicyViolations;
310
314
  /**
@@ -319,32 +323,11 @@ interface ListMultiServiceAvailabilityTimeSlotsRequest {
319
323
  * When specifying a new `limit` in follow-up requests, the API respects the new value.
320
324
  */
321
325
  cursorPaging?: CursorPaging;
322
- }
323
- interface Service {
324
- /**
325
- * Service ID.
326
- * @format GUID
327
- */
328
- serviceId?: string;
329
326
  /**
330
- * Resource [type IDs](https://dev.wix.com/docs/rest/business-solutions/bookings/resources/resource-types-v2/introduction) to include in returned time slots.
331
- * This is in addition to the specifically requested resources.
332
- *
333
- * <blockquote>
334
- * Currently supported only for Staff Member resource type.
335
- * Staff members belong to resource type ID `1cd44cf8-756f-41c3-bd90-3e2ffcaf1155`.
336
- * </blockquote>
337
- * @format GUID
338
- * @maxSize 100
339
- */
340
- includeResourceTypeIds?: string[];
341
- /**
342
- * Selected customer choices.
343
- * If specified, the selected choices are used to calculate service configuration.
344
- * If not specified, the service default configuration is used.
345
- * Enforcing this field is the responsibility of the service plugin implementer, and not the Time Slots V2 API.
327
+ * Selected customer choices for service configuration.
328
+ * If not specified, uses the service's default configuration.
346
329
  */
347
- customerChoices?: V2CustomerChoices;
330
+ customerChoices?: CustomerChoices;
348
331
  /**
349
332
  * Resource types to filter time slots.
350
333
  * Only returns time slots that have these specific resource types available.
@@ -353,30 +336,46 @@ interface Service {
353
336
  */
354
337
  resourceTypes?: ResourceType[];
355
338
  }
339
+ interface CursorPaging {
340
+ /**
341
+ * Number of results to load.
342
+ *
343
+ * Default: `1000`.
344
+ * Max: `1000`.
345
+ * @max 1000
346
+ */
347
+ limit?: number | null;
348
+ /**
349
+ * Pointer to the next or previous page in the list of results.
350
+ *
351
+ * You can get the relevant cursor token
352
+ * from the `pagingMetadata` object in the previous call's response.
353
+ * Not relevant for the first request.
354
+ */
355
+ cursor?: string | null;
356
+ }
356
357
  /**
357
358
  * Selected customer choices.
358
359
  * These choices are selected by the customer during the booking flow and can be utilized to calculate the corresponding service's configuration properties.
359
360
  */
360
- interface V2CustomerChoices {
361
+ interface CustomerChoices {
361
362
  /**
362
- * Selected customer duration in minutes.
363
- * Min: `1` minute
364
- * Max: `44639` minutes (30 days, 23 hours, and 59 minutes)
365
- * Default: `15` minutes
363
+ * The selected customer duration in minutes.
364
+ * Min: `1 minute`
365
+ * Max: `44639 minutes` (30 days, 23 hours, and 59 minutes)
366
366
  * @min 1
367
367
  * @max 44639
368
368
  */
369
369
  durationInMinutes?: number | null;
370
370
  /**
371
- * Selected add-on IDs.
372
- *
373
- * Max: Calculated as the product of the maximum number of add-on groups multiplied by the maximum number of add-ons per group. Currently 21 (3 groups × 7 add-ons per group), but may change in the future.
371
+ * The selected add-ons IDs.
372
+ * Max: Derived from max amount of Add-On groups * max amount of Add-Ons per group.
374
373
  * @format GUID
375
374
  * @maxSize 21
376
375
  */
377
376
  addOnIds?: string[] | null;
378
377
  /**
379
- * Selected duration choice ID.
378
+ * The selected duration choice ID.
380
379
  * @format GUID
381
380
  */
382
381
  durationChoiceId?: string | null;
@@ -405,25 +404,7 @@ interface ResourceType {
405
404
  */
406
405
  sorted?: boolean | null;
407
406
  }
408
- interface CursorPaging {
409
- /**
410
- * Number of results to load.
411
- *
412
- * Default: `1000`.
413
- * Max: `1000`.
414
- * @max 1000
415
- */
416
- limit?: number | null;
417
- /**
418
- * Pointer to the next or previous page in the list of results.
419
- *
420
- * You can get the relevant cursor token
421
- * from the `pagingMetadata` object in the previous call's response.
422
- * Not relevant for the first request.
423
- */
424
- cursor?: string | null;
425
- }
426
- interface ListMultiServiceAvailabilityTimeSlotsResponse {
407
+ interface ListAvailabilityTimeSlotsResponse {
427
408
  /**
428
409
  * Retrieved time slots.
429
410
  * Sorted by `localStartDate` in ascending order. When multiple slots have the same start time, no specific secondary sorting is guaranteed.
@@ -433,6 +414,7 @@ interface ListMultiServiceAvailabilityTimeSlotsResponse {
433
414
  /**
434
415
  * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
435
416
  * For example, `America/New_York` or `UTC`.
417
+ *
436
418
  * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
437
419
  * @minLength 1
438
420
  * @maxLength 150
@@ -460,28 +442,27 @@ interface Cursors {
460
442
  /** Cursor pointing to previous page in the list of results. */
461
443
  prev?: string | null;
462
444
  }
463
- interface GetMultiServiceAvailabilityTimeSlotRequest {
445
+ interface GetAvailabilityTimeSlotRequest {
464
446
  /**
465
- * Services for which the multi-service time slots are returned.
466
- * You can specify resource filters for each service.
467
- * @minSize 2
468
- * @maxSize 8
447
+ * Service ID of the time slot.
448
+ * You must specify the ID of an appointment-based service.
449
+ * @format GUID
469
450
  */
470
- services: Service[];
451
+ serviceId?: string;
471
452
  /**
472
453
  * Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
473
454
  * For example, `2026-01-30T13:30:00`.
474
455
  * @format LOCAL_DATE_TIME
475
456
  */
476
- localStartDate: string;
457
+ localStartDate?: string;
477
458
  /**
478
459
  * Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
479
460
  * For example, `2026-01-30T13:30:00`.
480
461
  * @format LOCAL_DATE_TIME
481
462
  */
482
- localEndDate: string;
463
+ localEndDate?: string;
483
464
  /**
484
- * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.
465
+ * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
485
466
  * For example, `America/New_York` or `UTC`.
486
467
  *
487
468
  * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
@@ -490,54 +471,87 @@ interface GetMultiServiceAvailabilityTimeSlotRequest {
490
471
  */
491
472
  timeZone?: string | null;
492
473
  /**
493
- * 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.
474
+ * Location to filter time slots by.
494
475
  *
495
- * Required unless you specify `cursorPaging.cursor`.
476
+ * For business locations, you must specify a location ID.
477
+ * When specifying a location ID, all other location field filters are ignored.
496
478
  */
497
- location: Location;
479
+ location?: Location;
480
+ /**
481
+ * IDs of the [resource types](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction) to check availability for.
482
+ * @format GUID
483
+ * @maxSize 100
484
+ */
485
+ includeResourceTypeIds?: string[];
486
+ /**
487
+ * Resource types to filter time slots.
488
+ * Only returns time slots that have these specific resource types available.
489
+ * This filters the time slots themselves, unlike `includeResourceTypeIds` which only controls response details.
490
+ * @maxSize 3
491
+ */
492
+ resourceTypes?: ResourceType[];
498
493
  }
499
- interface GetMultiServiceAvailabilityTimeSlotResponse {
494
+ interface GetAvailabilityTimeSlotRequestCustomerChoices {
495
+ /**
496
+ * Selected add-on IDs.
497
+ * Max: Derived from max amount of Add-On groups * max amount of Add-Ons per group.
498
+ * @format GUID
499
+ * @maxSize 21
500
+ */
501
+ addOnIds?: string[] | null;
502
+ /**
503
+ * Selected duration choice ID.
504
+ * @format GUID
505
+ */
506
+ durationChoiceId?: string | null;
507
+ }
508
+ interface GetAvailabilityTimeSlotResponse {
500
509
  /** Retrieved time slot. */
501
510
  timeSlot?: TimeSlot;
502
511
  /**
503
512
  * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
504
513
  * For example, `America/New_York` or `UTC`.
514
+ *
505
515
  * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
506
516
  * @minLength 1
507
517
  * @maxLength 150
508
518
  */
509
519
  timeZone?: string | null;
510
520
  }
511
- interface ListAvailabilityTimeSlotsRequest {
521
+ interface ListMultiServiceAvailabilityTimeSlotsRequest {
512
522
  /**
513
- * Service ID for which to retrieve time slots. You must specify the ID of an appointment-based service.
514
- * Required, unless you specify `cursorPaging.cursor`.
515
- * @format GUID
523
+ * Services for which the multi-service time slots are returned.
524
+ * Each service can include its own resource filters.
525
+ *
526
+ * Required unless you specify `cursorPaging.cursor`.
527
+ *
528
+ * Min: 2 services
529
+ * Max: 8 services
530
+ * @maxSize 8
516
531
  */
517
- serviceId?: string | null;
532
+ services?: Service[];
518
533
  /**
519
- * Lower boundary for `localStartDate` to include in response.
520
- * Each returned time slot has a `localStartDate` within the provided `fromLocalDate` and `toLocalDate` exclusive.
521
- * Required, unless you specify `cursorPaging.cursor`.
522
- *
523
- * Local start date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
534
+ * Lower boundary for `localStartDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
524
535
  * For example, `2026-01-30T13:30:00`.
536
+ * Each returned time slot has a `localStartDate` between `fromLocalDate` and `toLocalDate`.
537
+ *
538
+ * Required unless you specify `cursorPaging.cursor`.
525
539
  * @format LOCAL_DATE_TIME
526
540
  */
527
541
  fromLocalDate?: string | null;
528
542
  /**
529
- * Upper boundary for `localStartDate` to include in response.
530
- * Each returned time slot has a `localStartDate` within the provided `fromLocalDate` and `toLocalDate` exclusive.
531
- * Required, unless you specify `cursorPaging.cursor`.
532
- *
533
- * Local end date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
543
+ * Upper boundary for `localToDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
534
544
  * For example, `2026-01-30T13:30:00`.
545
+ * Each returned time slot has a `localEndDate` between `fromLocalDate` and `toLocalDate`.
546
+ *
547
+ * Required unless you specify `cursorPaging.cursor`.
535
548
  * @format LOCAL_DATE_TIME
536
549
  */
537
550
  toLocalDate?: string | null;
538
551
  /**
539
- * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
540
- * For example, `America/New_York` or `UTC`.
552
+ * 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`.
553
+ *
554
+ * Required unless you specify `cursorPaging.cursor`.
541
555
  *
542
556
  * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
543
557
  * @minLength 1
@@ -545,27 +559,19 @@ interface ListAvailabilityTimeSlotsRequest {
545
559
  */
546
560
  timeZone?: string | null;
547
561
  /**
548
- * Locations to include in response.
549
- * If not specified, returns time slots for all locations where the service is available.
550
- * @maxSize 5
551
- */
552
- locations?: Location[];
553
- /**
554
- * Resource type IDs to include in the response.
555
- * If specified, returns up to 10 `availableResources` with matching `resourceTypeId`.
556
- * This controls which resource details are included in the response but doesn't filter the time slots themselves.
557
- * @format GUID
558
- * @maxSize 100
562
+ * Location for which the multi-service time slots are returned. If you filter by `{"type": "BUSINESS"}`, you must also specify a location ID. Filters for `location.name` and `location.formattedAddress` are ignored.
563
+ *
564
+ * Required unless you specify `cursorPaging.cursor`.
559
565
  */
560
- includeResourceTypeIds?: string[];
566
+ location?: Location;
561
567
  /**
562
- * Whether the time slot is bookable according to the service's booking policies.
563
- * If not specified, returns both bookable and un-bookable time slots.
568
+ * Whether the time slot is bookable according to all services' booking policies.
569
+ * If not specified, returns both bookable and non-bookable time slots.
564
570
  */
565
571
  bookable?: boolean | null;
566
572
  /**
567
573
  * Indicators for service's booking policy violations.
568
- * Allows filtering for time slots with specific violation types based on [booking policies](https://dev.wix.com/docs/api-reference/business-solutions/bookings/policies/booking-policies/introduction)). When you don't specify `bookingPolicyViolations` filters, all slots are returned regardless of their booking policy status.
574
+ * Allows filtering for time slots with specific violation types based on [booking policies](https://dev.wix.com/docs/api-reference/business-solutions/bookings/policies/booking-policies/introduction). When you don't specify `bookingPolicyViolations` filters, all slots are returned regardless of their booking policy status.
569
575
  */
570
576
  bookingPolicyViolations?: BookingPolicyViolations;
571
577
  /**
@@ -580,11 +586,32 @@ interface ListAvailabilityTimeSlotsRequest {
580
586
  * When specifying a new `limit` in follow-up requests, the API respects the new value.
581
587
  */
582
588
  cursorPaging?: CursorPaging;
589
+ }
590
+ interface Service {
583
591
  /**
584
- * Selected customer choices for service configuration.
585
- * If not specified, uses the service's default configuration.
592
+ * Service ID.
593
+ * @format GUID
586
594
  */
587
- customerChoices?: CustomerChoices;
595
+ serviceId?: string;
596
+ /**
597
+ * Resource [type IDs](https://dev.wix.com/docs/rest/business-solutions/bookings/resources/resource-types-v2/introduction) to include in returned time slots.
598
+ * This is in addition to the specifically requested resources.
599
+ *
600
+ * <blockquote>
601
+ * Currently supported only for Staff Member resource type.
602
+ * Staff members belong to resource type ID `1cd44cf8-756f-41c3-bd90-3e2ffcaf1155`.
603
+ * </blockquote>
604
+ * @format GUID
605
+ * @maxSize 100
606
+ */
607
+ includeResourceTypeIds?: string[];
608
+ /**
609
+ * Selected customer choices.
610
+ * If specified, the selected choices are used to calculate service configuration.
611
+ * If not specified, the service default configuration is used.
612
+ * Enforcing this field is the responsibility of the service plugin implementer, and not the Time Slots V2 API.
613
+ */
614
+ customerChoices?: V2CustomerChoices;
588
615
  /**
589
616
  * Resource types to filter time slots.
590
617
  * Only returns time slots that have these specific resource types available.
@@ -597,29 +624,31 @@ interface ListAvailabilityTimeSlotsRequest {
597
624
  * Selected customer choices.
598
625
  * These choices are selected by the customer during the booking flow and can be utilized to calculate the corresponding service's configuration properties.
599
626
  */
600
- interface CustomerChoices {
627
+ interface V2CustomerChoices {
601
628
  /**
602
- * The selected customer duration in minutes.
603
- * Min: `1 minute`
604
- * Max: `44639 minutes` (30 days, 23 hours, and 59 minutes)
629
+ * Selected customer duration in minutes.
630
+ * Min: `1` minute
631
+ * Max: `44639` minutes (30 days, 23 hours, and 59 minutes)
632
+ * Default: `15` minutes
605
633
  * @min 1
606
634
  * @max 44639
607
635
  */
608
636
  durationInMinutes?: number | null;
609
637
  /**
610
- * The selected add-ons IDs.
611
- * Max: Derived from max amount of Add-On groups * max amount of Add-Ons per group.
638
+ * Selected add-on IDs.
639
+ *
640
+ * Max: Calculated as the product of the maximum number of add-on groups multiplied by the maximum number of add-ons per group. Currently 21 (3 groups × 7 add-ons per group), but may change in the future.
612
641
  * @format GUID
613
642
  * @maxSize 21
614
643
  */
615
644
  addOnIds?: string[] | null;
616
645
  /**
617
- * The selected duration choice ID.
646
+ * Selected duration choice ID.
618
647
  * @format GUID
619
648
  */
620
649
  durationChoiceId?: string | null;
621
650
  }
622
- interface ListAvailabilityTimeSlotsResponse {
651
+ interface ListMultiServiceAvailabilityTimeSlotsResponse {
623
652
  /**
624
653
  * Retrieved time slots.
625
654
  * Sorted by `localStartDate` in ascending order. When multiple slots have the same start time, no specific secondary sorting is guaranteed.
@@ -629,7 +658,6 @@ interface ListAvailabilityTimeSlotsResponse {
629
658
  /**
630
659
  * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
631
660
  * For example, `America/New_York` or `UTC`.
632
- *
633
661
  * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
634
662
  * @minLength 1
635
663
  * @maxLength 150
@@ -641,27 +669,28 @@ interface ListAvailabilityTimeSlotsResponse {
641
669
  */
642
670
  cursorPagingMetadata?: CursorPagingMetadata;
643
671
  }
644
- interface GetAvailabilityTimeSlotRequest {
672
+ interface GetMultiServiceAvailabilityTimeSlotRequest {
645
673
  /**
646
- * Service ID of the time slot.
647
- * You must specify the ID of an appointment-based service.
648
- * @format GUID
674
+ * Services for which the multi-service time slots are returned.
675
+ * You can specify resource filters for each service.
676
+ * @minSize 2
677
+ * @maxSize 8
649
678
  */
650
- serviceId?: string;
679
+ services: Service[];
651
680
  /**
652
681
  * Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
653
682
  * For example, `2026-01-30T13:30:00`.
654
683
  * @format LOCAL_DATE_TIME
655
684
  */
656
- localStartDate?: string;
685
+ localStartDate: string;
657
686
  /**
658
687
  * Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
659
688
  * For example, `2026-01-30T13:30:00`.
660
689
  * @format LOCAL_DATE_TIME
661
690
  */
662
- localEndDate?: string;
691
+ localEndDate: string;
663
692
  /**
664
- * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
693
+ * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.
665
694
  * For example, `America/New_York` or `UTC`.
666
695
  *
667
696
  * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
@@ -670,47 +699,18 @@ interface GetAvailabilityTimeSlotRequest {
670
699
  */
671
700
  timeZone?: string | null;
672
701
  /**
673
- * Location to filter time slots by.
702
+ * 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.
674
703
  *
675
- * For business locations, you must specify a location ID.
676
- * When specifying a location ID, all other location field filters are ignored.
677
- */
678
- location?: Location;
679
- /**
680
- * IDs of the [resource types](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction) to check availability for.
681
- * @format GUID
682
- * @maxSize 100
683
- */
684
- includeResourceTypeIds?: string[];
685
- /**
686
- * Resource types to filter time slots.
687
- * Only returns time slots that have these specific resource types available.
688
- * This filters the time slots themselves, unlike `includeResourceTypeIds` which only controls response details.
689
- * @maxSize 3
690
- */
691
- resourceTypes?: ResourceType[];
692
- }
693
- interface GetAvailabilityTimeSlotRequestCustomerChoices {
694
- /**
695
- * Selected add-on IDs.
696
- * Max: Derived from max amount of Add-On groups * max amount of Add-Ons per group.
697
- * @format GUID
698
- * @maxSize 21
699
- */
700
- addOnIds?: string[] | null;
701
- /**
702
- * Selected duration choice ID.
703
- * @format GUID
704
+ * Required unless you specify `cursorPaging.cursor`.
704
705
  */
705
- durationChoiceId?: string | null;
706
+ location: Location;
706
707
  }
707
- interface GetAvailabilityTimeSlotResponse {
708
+ interface GetMultiServiceAvailabilityTimeSlotResponse {
708
709
  /** Retrieved time slot. */
709
710
  timeSlot?: TimeSlot;
710
711
  /**
711
712
  * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
712
713
  * For example, `America/New_York` or `UTC`.
713
- *
714
714
  * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
715
715
  * @minLength 1
716
716
  * @maxLength 150