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

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