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