@wix/auto_sdk_bookings_multi-service-availability-time-slots 1.0.202 → 1.0.203

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