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