@wix/auto_sdk_bookings_availability-time-slots 1.0.253 → 1.0.255

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.
@@ -443,235 +443,6 @@ interface GetEventTimeSlotResponse {
443
443
  */
444
444
  timeZone?: string | null;
445
445
  }
446
- interface ListMultiServiceAvailabilityTimeSlotsRequest {
447
- /**
448
- * Services for which the multi-service time slots are returned.
449
- * Each service can include its own resource filters.
450
- *
451
- * Required unless you specify `cursorPaging.cursor`.
452
- *
453
- * Min: 2 services
454
- * Max: 8 services
455
- * @maxSize 8
456
- */
457
- services?: Service[];
458
- /**
459
- * Lower boundary for `localStartDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
460
- * For example, `2026-01-30T13:30:00`.
461
- * Each returned time slot has a `localStartDate` between `fromLocalDate` and `toLocalDate`.
462
- *
463
- * Required unless you specify `cursorPaging.cursor`.
464
- * @format LOCAL_DATE_TIME
465
- */
466
- fromLocalDate?: string | null;
467
- /**
468
- * Upper boundary for `localToDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
469
- * For example, `2026-01-30T13:30:00`.
470
- * Each returned time slot has a `localEndDate` between `fromLocalDate` and `toLocalDate`.
471
- *
472
- * Required unless you specify `cursorPaging.cursor`.
473
- * @format LOCAL_DATE_TIME
474
- */
475
- toLocalDate?: string | null;
476
- /**
477
- * 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`.
478
- *
479
- * Required unless you specify `cursorPaging.cursor`.
480
- *
481
- * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
482
- * @minLength 1
483
- * @maxLength 150
484
- */
485
- timeZone?: string | null;
486
- /**
487
- * 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.
488
- *
489
- * Required unless you specify `cursorPaging.cursor`.
490
- */
491
- location?: Location;
492
- /**
493
- * Whether the time slot is bookable according to all services' booking policies.
494
- * If not specified, returns both bookable and non-bookable time slots.
495
- */
496
- bookable?: boolean | null;
497
- /**
498
- * Indicators for service's booking policy violations.
499
- * 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.
500
- */
501
- bookingPolicyViolations?: BookingPolicyViolations;
502
- /**
503
- * Maximum number of slots to return for each day in the specified time range.
504
- * If `bookable` filter isn't specified, bookable slots are returned first.
505
- */
506
- timeSlotsPerDay?: number | null;
507
- /**
508
- * Cursor-based paging configuration.
509
- * Enables fetching results in smaller chunks by setting a limit on the number of results.
510
- * For consistent pagination behavior, use the same `limit` value throughout a pagination sequence.
511
- * When specifying a new `limit` in follow-up requests, the API respects the new value.
512
- */
513
- cursorPaging?: CursorPaging;
514
- }
515
- interface Service {
516
- /**
517
- * Service ID.
518
- * @format GUID
519
- */
520
- serviceId?: string;
521
- /**
522
- * Resource [type IDs](https://dev.wix.com/docs/rest/business-solutions/bookings/resources/resource-types-v2/introduction) to include in returned time slots.
523
- * This is in addition to the specifically requested resources.
524
- *
525
- * <blockquote>
526
- * Currently supported only for Staff Member resource type.
527
- * Staff members belong to resource type ID `1cd44cf8-756f-41c3-bd90-3e2ffcaf1155`.
528
- * </blockquote>
529
- * @format GUID
530
- * @maxSize 100
531
- */
532
- includeResourceTypeIds?: string[];
533
- /**
534
- * Selected customer choices.
535
- * If specified, the selected choices are used to calculate service configuration.
536
- * If not specified, the service default configuration is used.
537
- * Enforcing this field is the responsibility of the service plugin implementer, and not the Time Slots V2 API.
538
- *
539
- * When using [add-ons](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction), we recommend passing only `addOnIds` and omitting `durationInMinutes`. Wix Bookings then calculates the total duration automatically. If you specify both `addOnIds` and `durationInMinutes`, `durationInMinutes` must equal the service duration plus all selected add-on durations.
540
- */
541
- customerChoices?: V2CustomerChoices;
542
- /**
543
- * Resource types to filter time slots.
544
- * Only returns time slots that have these specific resource types available.
545
- * This filters the time slots themselves, unlike `includeResourceTypeIds` which only controls response details.
546
- * @maxSize 3
547
- */
548
- resourceTypes?: ResourceType[];
549
- }
550
- /**
551
- * Selected customer choices.
552
- *
553
- * These choices are selected by the customer during the book flow and used to calculate the service's availability configuration.
554
- */
555
- interface V2CustomerChoices {
556
- /**
557
- * Selected duration in minutes, based on a [service variant](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/service-options-and-variants/introduction) the customer chose.
558
- * When using [add-ons](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction), we recommend passing only `addOnIds` instead of `durationInMinutes`. Wix Bookings then calculates the total duration automatically. If you specify both `addOnIds` and `durationInMinutes`, `durationInMinutes` must equal the service duration plus all selected add-on durations.
559
- *
560
- * Min: `1` minute
561
- * Max: `44639` minutes (30 days, 23 hours, and 59 minutes)
562
- * Default: `15` minutes
563
- * @min 1
564
- * @max 44639
565
- */
566
- durationInMinutes?: number | null;
567
- /**
568
- * Selected [add-on](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction) IDs.
569
- * When specifying this field, we recommend omitting `durationInMinutes`. Wix Bookings then calculates the total duration based on the service duration plus all selected add-on durations.
570
- *
571
- * Max: 21 (3 add-on groups × 7 add-ons per group).
572
- * @format GUID
573
- * @maxSize 21
574
- */
575
- addOnIds?: string[] | null;
576
- /**
577
- * Selected duration choice ID.
578
- * @format GUID
579
- */
580
- durationChoiceId?: string | null;
581
- }
582
- interface ResourceType {
583
- /**
584
- * [Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).
585
- * @format GUID
586
- */
587
- resourceTypeId?: string | null;
588
- /**
589
- * Resource IDs.
590
- * Available only if there is at least 1 resource available for the slot.
591
- * @format GUID
592
- * @maxSize 135
593
- */
594
- resourceIds?: string[] | null;
595
- /**
596
- * Whether to return resources of this type in a sorted order.
597
- * + `true`: Resources are sorted using the relevant implementor of the [Resource Sorting service plugin](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-sorting-service-plugin/introduction).
598
- * + `false`: Resources are returned in an unpredictable, but not entirely random, order.
599
- * Sorting is not supported in the [List Availability Time Slots](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/list-availability-time-slots) and [List Multi Service Availability Time Slots](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/list-multi-service-availability-time-slots) methods.
600
- *
601
- * Default: `false`
602
- * @internal
603
- */
604
- sorted?: boolean | null;
605
- }
606
- interface ListMultiServiceAvailabilityTimeSlotsResponse {
607
- /**
608
- * Retrieved time slots.
609
- * Sorted by `localStartDate` in ascending order. When multiple slots have the same start time, no specific secondary sorting is guaranteed.
610
- * @maxSize 1000
611
- */
612
- timeSlots?: TimeSlot[];
613
- /**
614
- * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
615
- * For example, `America/New_York` or `UTC`.
616
- * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
617
- * @minLength 1
618
- * @maxLength 150
619
- */
620
- timeZone?: string | null;
621
- /**
622
- * Paging metadata for the next page of results.
623
- * Contains a cursor if there are more than 1000 results.
624
- */
625
- cursorPagingMetadata?: CursorPagingMetadata;
626
- }
627
- interface GetMultiServiceAvailabilityTimeSlotRequest {
628
- /**
629
- * Services for which the multi-service time slots are returned.
630
- * You can specify resource filters for each service.
631
- * @minSize 2
632
- * @maxSize 8
633
- */
634
- services?: Service[];
635
- /**
636
- * Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
637
- * For example, `2026-01-30T13:30:00`.
638
- * @format LOCAL_DATE_TIME
639
- */
640
- localStartDate?: string;
641
- /**
642
- * Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
643
- * For example, `2026-01-30T13:30:00`.
644
- * @format LOCAL_DATE_TIME
645
- */
646
- localEndDate?: string;
647
- /**
648
- * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.
649
- * For example, `America/New_York` or `UTC`.
650
- *
651
- * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
652
- * @minLength 1
653
- * @maxLength 150
654
- */
655
- timeZone?: string | null;
656
- /**
657
- * 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.
658
- *
659
- * Required unless you specify `cursorPaging.cursor`.
660
- */
661
- location?: Location;
662
- }
663
- interface GetMultiServiceAvailabilityTimeSlotResponse {
664
- /** Retrieved time slot. */
665
- timeSlot?: TimeSlot;
666
- /**
667
- * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
668
- * For example, `America/New_York` or `UTC`.
669
- * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
670
- * @minLength 1
671
- * @maxLength 150
672
- */
673
- timeZone?: string | null;
674
- }
675
446
  interface ListAvailabilityTimeSlotsRequest {
676
447
  /**
677
448
  * Service ID for which to retrieve time slots. You must specify the ID of an appointment-based service.
@@ -783,6 +554,30 @@ interface CustomerChoices {
783
554
  */
784
555
  durationChoiceId?: string | null;
785
556
  }
557
+ interface ResourceType {
558
+ /**
559
+ * [Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).
560
+ * @format GUID
561
+ */
562
+ resourceTypeId?: string | null;
563
+ /**
564
+ * Resource IDs.
565
+ * Available only if there is at least 1 resource available for the slot.
566
+ * @format GUID
567
+ * @maxSize 135
568
+ */
569
+ resourceIds?: string[] | null;
570
+ /**
571
+ * Whether to return resources of this type in a sorted order.
572
+ * + `true`: Resources are sorted using the relevant implementor of the [Resource Sorting service plugin](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-sorting-service-plugin/introduction).
573
+ * + `false`: Resources are returned in an unpredictable, but not entirely random, order.
574
+ * Sorting is not supported in the [List Availability Time Slots](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/list-availability-time-slots) and [List Multi Service Availability Time Slots](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/list-multi-service-availability-time-slots) methods.
575
+ *
576
+ * Default: `false`
577
+ * @internal
578
+ */
579
+ sorted?: boolean | null;
580
+ }
786
581
  interface ListAvailabilityTimeSlotsResponse {
787
582
  /**
788
583
  * Retrieved time slots.
@@ -965,11 +760,11 @@ interface DiagnoseAvailabilityRequest {
965
760
  locations?: Location[];
966
761
  /**
967
762
  * Whether to run a deeper diagnosis. Optional; defaults to `false` — the fast, deterministic
968
- * configuration/setup checks (resource-availability-window checks are added to this path as they
969
- * roll out). Set `true` only when the default result is inconclusive (no reasons) and you need to
970
- * know *why* specific resources have no availability at specific times it samples resource
971
- * availability to attribute an empty window to a working-hours gap vs. blocked time, at extra
972
- * latency. Not supported yet `true` currently returns `DIAGNOSTIC_DEPTH_NOT_SUPPORTED`.
763
+ * configuration/setup and resource-availability-window checks. Set `true` to learn *why* resources
764
+ * have no availability windows: when the fast checks find none, it samples resource availability to
765
+ * attribute the empty result to a working-hours gap (`RESOURCE_NOT_IN_WORKING_HOURS`) vs. blocked time
766
+ * (`RESOURCE_BLOCKED`), at extra latency, falling back to `NO_RESOURCE_AVAILABILITY_WINDOWS` when
767
+ * sampling is inconclusive. Requires `serviceId`; otherwise returns `MISSING_ARGUMENTS`.
973
768
  */
974
769
  deep?: boolean;
975
770
  }
@@ -1094,6 +889,383 @@ interface ResolvedContext {
1094
889
  */
1095
890
  timeZone?: string | null;
1096
891
  }
892
+ interface BulkListAvailabilityTimeSlotsRequest {
893
+ /**
894
+ * IDs of the appointment-based services to retrieve time slots for.
895
+ * Non-appointment services and IDs that don't exist are returned as failed entries in `results`.
896
+ * @format GUID
897
+ * @minSize 1
898
+ * @maxSize 100
899
+ */
900
+ serviceIds?: string[];
901
+ /**
902
+ * Lower boundary for `localStartDate` to include, applied to every service.
903
+ * Each returned time slot has a `localStartDate` within the provided `fromLocalDate` and `toLocalDate` exclusive.
904
+ *
905
+ * Local start date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
906
+ * For example, `2026-01-30T13:30:00`.
907
+ * @format LOCAL_DATE_TIME
908
+ */
909
+ fromLocalDate?: string | null;
910
+ /**
911
+ * Upper boundary for `localStartDate` to include, applied to every service.
912
+ * Each returned time slot has a `localStartDate` within the provided `fromLocalDate` and `toLocalDate` exclusive.
913
+ *
914
+ * Local end date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
915
+ * For example, `2026-01-30T13:30:00`.
916
+ * @format LOCAL_DATE_TIME
917
+ */
918
+ toLocalDate?: string | null;
919
+ /**
920
+ * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
921
+ * For example, `America/New_York` or `UTC`.
922
+ *
923
+ * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
924
+ * @minLength 1
925
+ * @maxLength 150
926
+ */
927
+ timeZone?: string | null;
928
+ /**
929
+ * Whether the time slot is bookable according to each service's booking policies.
930
+ * If not specified, returns both bookable and un-bookable time slots.
931
+ */
932
+ bookable?: boolean | null;
933
+ /**
934
+ * Maximum number of slots to return per service for each day in the specified time range.
935
+ * If `bookable` filter isn't specified, bookable slots are returned first.
936
+ *
937
+ * Min: `1`.
938
+ * @min 1
939
+ */
940
+ timeSlotsPerDay?: number | null;
941
+ /**
942
+ * Maximum number of time slots to return per service.
943
+ *
944
+ * Min: `1`. Max: `1000`.
945
+ *
946
+ * Default: `1000`.
947
+ * @min 1
948
+ * @max 1000
949
+ */
950
+ limitPerService?: number | null;
951
+ /**
952
+ * Locations to include in response, applied to every service.
953
+ * If not specified, returns time slots for all locations where each service is available.
954
+ * @maxSize 5
955
+ */
956
+ locations?: Location[];
957
+ /**
958
+ * Resource type IDs to include in the response, applied to every service.
959
+ * If specified, returns up to 10 `availableResources` with matching `resourceTypeId`.
960
+ * This controls which resource details are included in the response but doesn't filter the time slots themselves.
961
+ * @format GUID
962
+ * @maxSize 100
963
+ */
964
+ includeResourceTypeIds?: string[];
965
+ /**
966
+ * Indicators for services' booking policy violations, applied to every service.
967
+ * 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.
968
+ */
969
+ bookingPolicyViolations?: BookingPolicyViolations;
970
+ /**
971
+ * Selected customer choices for service configuration, applied to every service.
972
+ * If not specified, uses each service's default configuration.
973
+ *
974
+ * Not supported for services configured with a duration range (`availabilityConstraints.durationRange`).
975
+ *
976
+ * When using [add-ons](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction), we recommend passing only `addOnIds` and omitting `durationInMinutes`. Wix Bookings then calculates the total duration automatically. If you specify both `addOnIds` and `durationInMinutes`, `durationInMinutes` must equal the service duration plus all selected add-on durations.
977
+ */
978
+ customerChoices?: CustomerChoices;
979
+ /**
980
+ * Resource types to filter time slots, applied to every service.
981
+ * Only returns time slots that have these specific resource types available.
982
+ * This filters the time slots themselves, unlike `includeResourceTypeIds` which only controls response details.
983
+ * @maxSize 3
984
+ */
985
+ resourceTypes?: ResourceType[];
986
+ }
987
+ interface BulkListAvailabilityTimeSlotsResponse {
988
+ /**
989
+ * Per-service results, one entry per requested `serviceId`.
990
+ * Each entry carries `itemMetadata` with the outcome, and `serviceTimeSlots` on success.
991
+ * Order isn't guaranteed to match the request; correlate via `itemMetadata.id` or `itemMetadata.originalIndex`.
992
+ * @maxSize 100
993
+ */
994
+ results?: BulkServiceTimeSlotsResult[];
995
+ /**
996
+ * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) used for all services.
997
+ * For example, `America/New_York` or `UTC`.
998
+ *
999
+ * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
1000
+ * @minLength 1
1001
+ * @maxLength 150
1002
+ */
1003
+ timeZone?: string | null;
1004
+ /** Success and failure totals across all requested services. */
1005
+ bulkActionMetadata?: BulkActionMetadata;
1006
+ }
1007
+ interface BulkServiceTimeSlotsResult {
1008
+ /**
1009
+ * Outcome for a single requested service.
1010
+ * `id` echoes the `serviceId`, `originalIndex` is the service's position in the request, and
1011
+ * `success`/`error` describe whether availability could be computed.
1012
+ */
1013
+ itemMetadata?: ItemMetadata;
1014
+ /** Time slots for the service. Populated only when `itemMetadata.success` is `true`. */
1015
+ serviceTimeSlots?: ServiceTimeSlots;
1016
+ }
1017
+ interface ItemMetadata {
1018
+ /**
1019
+ * Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).
1020
+ * @format GUID
1021
+ */
1022
+ _id?: string | null;
1023
+ /** Index of the item within the request array. Allows for correlation between request and response items. */
1024
+ originalIndex?: number;
1025
+ /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */
1026
+ success?: boolean;
1027
+ /** Details about the error in case of failure. */
1028
+ error?: ApplicationError;
1029
+ }
1030
+ interface ApplicationError {
1031
+ /** Error code. */
1032
+ code?: string;
1033
+ /** Description of the error. */
1034
+ description?: string;
1035
+ /** Data related to the error. */
1036
+ data?: Record<string, any> | null;
1037
+ }
1038
+ interface ServiceTimeSlots {
1039
+ /**
1040
+ * Service the time slots belong to.
1041
+ * @format GUID
1042
+ */
1043
+ serviceId?: string;
1044
+ /**
1045
+ * Retrieved time slots for the service.
1046
+ * Sorted by `localStartDate` in ascending order. When multiple slots have the same start time, no specific secondary sorting is guaranteed.
1047
+ * @maxSize 1000
1048
+ */
1049
+ timeSlots?: TimeSlot[];
1050
+ /**
1051
+ * Paging metadata for the service's remaining slots.
1052
+ * To fetch more slots for this service, pass `cursors.next` to `ListAvailabilityTimeSlots`.
1053
+ */
1054
+ cursorPagingMetadata?: CursorPagingMetadata;
1055
+ }
1056
+ interface BulkActionMetadata {
1057
+ /** Number of items that were successfully processed. */
1058
+ totalSuccesses?: number;
1059
+ /** Number of items that couldn't be processed. */
1060
+ totalFailures?: number;
1061
+ /** Number of failures without details because detailed failure threshold was exceeded. */
1062
+ undetailedFailures?: number;
1063
+ }
1064
+ interface ListMultiServiceAvailabilityTimeSlotsRequest {
1065
+ /**
1066
+ * Services for which the multi-service time slots are returned.
1067
+ * Each service can include its own resource filters.
1068
+ *
1069
+ * Required unless you specify `cursorPaging.cursor`.
1070
+ *
1071
+ * Min: 2 services
1072
+ * Max: 8 services
1073
+ * @maxSize 8
1074
+ */
1075
+ services?: Service[];
1076
+ /**
1077
+ * Lower boundary for `localStartDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
1078
+ * For example, `2026-01-30T13:30:00`.
1079
+ * Each returned time slot has a `localStartDate` between `fromLocalDate` and `toLocalDate`.
1080
+ *
1081
+ * Required unless you specify `cursorPaging.cursor`.
1082
+ * @format LOCAL_DATE_TIME
1083
+ */
1084
+ fromLocalDate?: string | null;
1085
+ /**
1086
+ * Upper boundary for `localToDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
1087
+ * For example, `2026-01-30T13:30:00`.
1088
+ * Each returned time slot has a `localEndDate` between `fromLocalDate` and `toLocalDate`.
1089
+ *
1090
+ * Required unless you specify `cursorPaging.cursor`.
1091
+ * @format LOCAL_DATE_TIME
1092
+ */
1093
+ toLocalDate?: string | null;
1094
+ /**
1095
+ * 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`.
1096
+ *
1097
+ * Required unless you specify `cursorPaging.cursor`.
1098
+ *
1099
+ * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
1100
+ * @minLength 1
1101
+ * @maxLength 150
1102
+ */
1103
+ timeZone?: string | null;
1104
+ /**
1105
+ * 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.
1106
+ *
1107
+ * Required unless you specify `cursorPaging.cursor`.
1108
+ */
1109
+ location?: Location;
1110
+ /**
1111
+ * Whether the time slot is bookable according to all services' booking policies.
1112
+ * If not specified, returns both bookable and non-bookable time slots.
1113
+ */
1114
+ bookable?: boolean | null;
1115
+ /**
1116
+ * Indicators for service's booking policy violations.
1117
+ * 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.
1118
+ */
1119
+ bookingPolicyViolations?: BookingPolicyViolations;
1120
+ /**
1121
+ * Maximum number of slots to return for each day in the specified time range.
1122
+ * If `bookable` filter isn't specified, bookable slots are returned first.
1123
+ */
1124
+ timeSlotsPerDay?: number | null;
1125
+ /**
1126
+ * Cursor-based paging configuration.
1127
+ * Enables fetching results in smaller chunks by setting a limit on the number of results.
1128
+ * For consistent pagination behavior, use the same `limit` value throughout a pagination sequence.
1129
+ * When specifying a new `limit` in follow-up requests, the API respects the new value.
1130
+ */
1131
+ cursorPaging?: CursorPaging;
1132
+ }
1133
+ interface Service {
1134
+ /**
1135
+ * Service ID.
1136
+ * @format GUID
1137
+ */
1138
+ serviceId?: string;
1139
+ /**
1140
+ * Resource [type IDs](https://dev.wix.com/docs/rest/business-solutions/bookings/resources/resource-types-v2/introduction) to include in returned time slots.
1141
+ * This is in addition to the specifically requested resources.
1142
+ *
1143
+ * <blockquote>
1144
+ * Currently supported only for Staff Member resource type.
1145
+ * Staff members belong to resource type ID `1cd44cf8-756f-41c3-bd90-3e2ffcaf1155`.
1146
+ * </blockquote>
1147
+ * @format GUID
1148
+ * @maxSize 100
1149
+ */
1150
+ includeResourceTypeIds?: string[];
1151
+ /**
1152
+ * Selected customer choices.
1153
+ * If specified, the selected choices are used to calculate service configuration.
1154
+ * If not specified, the service default configuration is used.
1155
+ * Enforcing this field is the responsibility of the service plugin implementer, and not the Time Slots V2 API.
1156
+ *
1157
+ * When using [add-ons](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction), we recommend passing only `addOnIds` and omitting `durationInMinutes`. Wix Bookings then calculates the total duration automatically. If you specify both `addOnIds` and `durationInMinutes`, `durationInMinutes` must equal the service duration plus all selected add-on durations.
1158
+ */
1159
+ customerChoices?: V2CustomerChoices;
1160
+ /**
1161
+ * Resource types to filter time slots.
1162
+ * Only returns time slots that have these specific resource types available.
1163
+ * This filters the time slots themselves, unlike `includeResourceTypeIds` which only controls response details.
1164
+ * @maxSize 3
1165
+ */
1166
+ resourceTypes?: ResourceType[];
1167
+ }
1168
+ /**
1169
+ * Selected customer choices.
1170
+ *
1171
+ * These choices are selected by the customer during the book flow and used to calculate the service's availability configuration.
1172
+ */
1173
+ interface V2CustomerChoices {
1174
+ /**
1175
+ * Selected duration in minutes, based on a [service variant](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/service-options-and-variants/introduction) the customer chose.
1176
+ * When using [add-ons](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction), we recommend passing only `addOnIds` instead of `durationInMinutes`. Wix Bookings then calculates the total duration automatically. If you specify both `addOnIds` and `durationInMinutes`, `durationInMinutes` must equal the service duration plus all selected add-on durations.
1177
+ *
1178
+ * Min: `1` minute
1179
+ * Max: `44639` minutes (30 days, 23 hours, and 59 minutes)
1180
+ * Default: `15` minutes
1181
+ * @min 1
1182
+ * @max 44639
1183
+ */
1184
+ durationInMinutes?: number | null;
1185
+ /**
1186
+ * Selected [add-on](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction) IDs.
1187
+ * When specifying this field, we recommend omitting `durationInMinutes`. Wix Bookings then calculates the total duration based on the service duration plus all selected add-on durations.
1188
+ *
1189
+ * Max: 21 (3 add-on groups × 7 add-ons per group).
1190
+ * @format GUID
1191
+ * @maxSize 21
1192
+ */
1193
+ addOnIds?: string[] | null;
1194
+ /**
1195
+ * Selected duration choice ID.
1196
+ * @format GUID
1197
+ */
1198
+ durationChoiceId?: string | null;
1199
+ }
1200
+ interface ListMultiServiceAvailabilityTimeSlotsResponse {
1201
+ /**
1202
+ * Retrieved time slots.
1203
+ * Sorted by `localStartDate` in ascending order. When multiple slots have the same start time, no specific secondary sorting is guaranteed.
1204
+ * @maxSize 1000
1205
+ */
1206
+ timeSlots?: TimeSlot[];
1207
+ /**
1208
+ * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
1209
+ * For example, `America/New_York` or `UTC`.
1210
+ * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
1211
+ * @minLength 1
1212
+ * @maxLength 150
1213
+ */
1214
+ timeZone?: string | null;
1215
+ /**
1216
+ * Paging metadata for the next page of results.
1217
+ * Contains a cursor if there are more than 1000 results.
1218
+ */
1219
+ cursorPagingMetadata?: CursorPagingMetadata;
1220
+ }
1221
+ interface GetMultiServiceAvailabilityTimeSlotRequest {
1222
+ /**
1223
+ * Services for which the multi-service time slots are returned.
1224
+ * You can specify resource filters for each service.
1225
+ * @minSize 2
1226
+ * @maxSize 8
1227
+ */
1228
+ services?: Service[];
1229
+ /**
1230
+ * Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
1231
+ * For example, `2026-01-30T13:30:00`.
1232
+ * @format LOCAL_DATE_TIME
1233
+ */
1234
+ localStartDate?: string;
1235
+ /**
1236
+ * Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
1237
+ * For example, `2026-01-30T13:30:00`.
1238
+ * @format LOCAL_DATE_TIME
1239
+ */
1240
+ localEndDate?: string;
1241
+ /**
1242
+ * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.
1243
+ * For example, `America/New_York` or `UTC`.
1244
+ *
1245
+ * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
1246
+ * @minLength 1
1247
+ * @maxLength 150
1248
+ */
1249
+ timeZone?: string | null;
1250
+ /**
1251
+ * 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.
1252
+ *
1253
+ * Required unless you specify `cursorPaging.cursor`.
1254
+ */
1255
+ location?: Location;
1256
+ }
1257
+ interface GetMultiServiceAvailabilityTimeSlotResponse {
1258
+ /** Retrieved time slot. */
1259
+ timeSlot?: TimeSlot;
1260
+ /**
1261
+ * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
1262
+ * For example, `America/New_York` or `UTC`.
1263
+ * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
1264
+ * @minLength 1
1265
+ * @maxLength 150
1266
+ */
1267
+ timeZone?: string | null;
1268
+ }
1097
1269
  /** @docsIgnore */
1098
1270
  type ListAvailabilityTimeSlotsApplicationErrors = {
1099
1271
  code?: 'NO_IMPLEMENTERS_FOUND';
@@ -1469,4 +1641,4 @@ interface GetAvailabilityTimeSlotOptions {
1469
1641
  resourceTypes?: ResourceType[];
1470
1642
  }
1471
1643
 
1472
- export { type AvailableResources, type BookingPolicyViolations, type CursorPaging, type CursorPagingMetadata, type Cursors, type CustomerChoices, type DiagnoseAvailabilityRequest, type DiagnoseAvailabilityResponse, type DiagnosisReason, type EventInfo, type GetAvailabilityTimeSlotApplicationErrors, type GetAvailabilityTimeSlotOptions, type GetAvailabilityTimeSlotRequest, type GetAvailabilityTimeSlotRequestCustomerChoices, type GetAvailabilityTimeSlotResponse, type GetEventTimeSlotRequest, type GetEventTimeSlotResponse, type GetMultiServiceAvailabilityTimeSlotRequest, type GetMultiServiceAvailabilityTimeSlotResponse, type ListAvailabilityTimeSlotEndOptions, type ListAvailabilityTimeSlotEndOptionsApplicationErrors, type ListAvailabilityTimeSlotEndOptionsRequest, type ListAvailabilityTimeSlotEndOptionsResponse, type ListAvailabilityTimeSlotsApplicationErrors, type ListAvailabilityTimeSlotsOptions, type ListAvailabilityTimeSlotsRequest, type ListAvailabilityTimeSlotsResponse, type ListEventTimeSlotsRequest, type ListEventTimeSlotsResponse, type ListMultiServiceAvailabilityTimeSlotsRequest, type ListMultiServiceAvailabilityTimeSlotsResponse, type Location, LocationType, type LocationTypeWithLiterals, type NestedTimeSlot, type NonBookableReasons, ReasonCode, type ReasonCodeWithLiterals, type ResolvedContext, type Resource, type ResourceType, type Service, SuggestedAction, type SuggestedActionWithLiterals, type TimeSlot, type V2CustomerChoices, type WaitingList, getAvailabilityTimeSlot, listAvailabilityTimeSlotEndOptions, listAvailabilityTimeSlots };
1644
+ export { type ApplicationError, type AvailableResources, type BookingPolicyViolations, type BulkActionMetadata, type BulkListAvailabilityTimeSlotsRequest, type BulkListAvailabilityTimeSlotsResponse, type BulkServiceTimeSlotsResult, type CursorPaging, type CursorPagingMetadata, type Cursors, type CustomerChoices, type DiagnoseAvailabilityRequest, type DiagnoseAvailabilityResponse, type DiagnosisReason, type EventInfo, type GetAvailabilityTimeSlotApplicationErrors, type GetAvailabilityTimeSlotOptions, type GetAvailabilityTimeSlotRequest, type GetAvailabilityTimeSlotRequestCustomerChoices, type GetAvailabilityTimeSlotResponse, type GetEventTimeSlotRequest, type GetEventTimeSlotResponse, type GetMultiServiceAvailabilityTimeSlotRequest, type GetMultiServiceAvailabilityTimeSlotResponse, type ItemMetadata, type ListAvailabilityTimeSlotEndOptions, type ListAvailabilityTimeSlotEndOptionsApplicationErrors, type ListAvailabilityTimeSlotEndOptionsRequest, type ListAvailabilityTimeSlotEndOptionsResponse, type ListAvailabilityTimeSlotsApplicationErrors, type ListAvailabilityTimeSlotsOptions, type ListAvailabilityTimeSlotsRequest, type ListAvailabilityTimeSlotsResponse, type ListEventTimeSlotsRequest, type ListEventTimeSlotsResponse, type ListMultiServiceAvailabilityTimeSlotsRequest, type ListMultiServiceAvailabilityTimeSlotsResponse, type Location, LocationType, type LocationTypeWithLiterals, type NestedTimeSlot, type NonBookableReasons, ReasonCode, type ReasonCodeWithLiterals, type ResolvedContext, type Resource, type ResourceType, type Service, type ServiceTimeSlots, SuggestedAction, type SuggestedActionWithLiterals, type TimeSlot, type V2CustomerChoices, type WaitingList, getAvailabilityTimeSlot, listAvailabilityTimeSlotEndOptions, listAvailabilityTimeSlots };