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

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