@wix/auto_sdk_bookings_multi-service-availability-time-slots 1.0.195 → 1.0.197

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
- /**
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
326
  /**
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,6 +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 {
591
+ /**
592
+ * Service ID.
593
+ * @format GUID
594
+ */
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;
583
615
  /**
584
616
  * Resource types to filter time slots.
585
617
  * Only returns time slots that have these specific resource types available.
@@ -592,29 +624,31 @@ interface ListAvailabilityTimeSlotsRequest {
592
624
  * Selected customer choices.
593
625
  * These choices are selected by the customer during the booking flow and can be utilized to calculate the corresponding service's configuration properties.
594
626
  */
595
- interface CustomerChoices {
627
+ interface V2CustomerChoices {
596
628
  /**
597
- * The selected customer duration in minutes.
598
- * Min: `1 minute`
599
- * 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
600
633
  * @min 1
601
634
  * @max 44639
602
635
  */
603
636
  durationInMinutes?: number | null;
604
637
  /**
605
- * The selected add-ons IDs.
606
- * 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.
607
641
  * @format GUID
608
642
  * @maxSize 21
609
643
  */
610
644
  addOnIds?: string[] | null;
611
645
  /**
612
- * The selected duration choice ID.
646
+ * Selected duration choice ID.
613
647
  * @format GUID
614
648
  */
615
649
  durationChoiceId?: string | null;
616
650
  }
617
- interface ListAvailabilityTimeSlotsResponse {
651
+ interface ListMultiServiceAvailabilityTimeSlotsResponse {
618
652
  /**
619
653
  * Retrieved time slots.
620
654
  * Sorted by `localStartDate` in ascending order. When multiple slots have the same start time, no specific secondary sorting is guaranteed.
@@ -624,7 +658,6 @@ interface ListAvailabilityTimeSlotsResponse {
624
658
  /**
625
659
  * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
626
660
  * For example, `America/New_York` or `UTC`.
627
- *
628
661
  * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
629
662
  * @minLength 1
630
663
  * @maxLength 150
@@ -636,27 +669,28 @@ interface ListAvailabilityTimeSlotsResponse {
636
669
  */
637
670
  cursorPagingMetadata?: CursorPagingMetadata;
638
671
  }
639
- interface GetAvailabilityTimeSlotRequest {
672
+ interface GetMultiServiceAvailabilityTimeSlotRequest {
640
673
  /**
641
- * Service ID of the time slot.
642
- * You must specify the ID of an appointment-based service.
643
- * @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
644
678
  */
645
- serviceId?: string;
679
+ services: Service[];
646
680
  /**
647
681
  * Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
648
682
  * For example, `2026-01-30T13:30:00`.
649
683
  * @format LOCAL_DATE_TIME
650
684
  */
651
- localStartDate?: string;
685
+ localStartDate: string;
652
686
  /**
653
687
  * Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
654
688
  * For example, `2026-01-30T13:30:00`.
655
689
  * @format LOCAL_DATE_TIME
656
690
  */
657
- localEndDate?: string;
691
+ localEndDate: string;
658
692
  /**
659
- * 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.
660
694
  * For example, `America/New_York` or `UTC`.
661
695
  *
662
696
  * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
@@ -665,47 +699,18 @@ interface GetAvailabilityTimeSlotRequest {
665
699
  */
666
700
  timeZone?: string | null;
667
701
  /**
668
- * 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.
669
703
  *
670
- * For business locations, you must specify a location ID.
671
- * When specifying a location ID, all other location field filters are ignored.
672
- */
673
- location?: Location;
674
- /**
675
- * IDs of the [resource types](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction) to check availability for.
676
- * @format GUID
677
- * @maxSize 100
678
- */
679
- includeResourceTypeIds?: string[];
680
- /**
681
- * Resource types to filter time slots.
682
- * Only returns time slots that have these specific resource types available.
683
- * This filters the time slots themselves, unlike `includeResourceTypeIds` which only controls response details.
684
- * @maxSize 3
685
- */
686
- resourceTypes?: ResourceType[];
687
- }
688
- interface GetAvailabilityTimeSlotRequestCustomerChoices {
689
- /**
690
- * Selected add-on IDs.
691
- * Max: Derived from max amount of Add-On groups * max amount of Add-Ons per group.
692
- * @format GUID
693
- * @maxSize 21
694
- */
695
- addOnIds?: string[] | null;
696
- /**
697
- * Selected duration choice ID.
698
- * @format GUID
704
+ * Required unless you specify `cursorPaging.cursor`.
699
705
  */
700
- durationChoiceId?: string | null;
706
+ location: Location;
701
707
  }
702
- interface GetAvailabilityTimeSlotResponse {
708
+ interface GetMultiServiceAvailabilityTimeSlotResponse {
703
709
  /** Retrieved time slot. */
704
710
  timeSlot?: TimeSlot;
705
711
  /**
706
712
  * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
707
713
  * For example, `America/New_York` or `UTC`.
708
- *
709
714
  * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
710
715
  * @minLength 1
711
716
  * @maxLength 150