@wix/auto_sdk_bookings_availability-time-slots 1.0.254 → 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,225 +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
- interface ListMultiServiceAvailabilityTimeSlotsResponse {
597
- /**
598
- * Retrieved time slots.
599
- * Sorted by `localStartDate` in ascending order. When multiple slots have the same start time, no specific secondary sorting is guaranteed.
600
- * @maxSize 1000
601
- */
602
- timeSlots?: TimeSlot[];
603
- /**
604
- * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
605
- * For example, `America/New_York` or `UTC`.
606
- * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
607
- * @minLength 1
608
- * @maxLength 150
609
- */
610
- timeZone?: string | null;
611
- /**
612
- * Paging metadata for the next page of results.
613
- * Contains a cursor if there are more than 1000 results.
614
- */
615
- cursorPagingMetadata?: CursorPagingMetadata;
616
- }
617
- interface GetMultiServiceAvailabilityTimeSlotRequest {
618
- /**
619
- * Services for which the multi-service time slots are returned.
620
- * You can specify resource filters for each service.
621
- * @minSize 2
622
- * @maxSize 8
623
- */
624
- services?: Service[];
625
- /**
626
- * Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
627
- * For example, `2026-01-30T13:30:00`.
628
- * @format LOCAL_DATE_TIME
629
- */
630
- localStartDate?: string;
631
- /**
632
- * Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
633
- * For example, `2026-01-30T13:30:00`.
634
- * @format LOCAL_DATE_TIME
635
- */
636
- localEndDate?: string;
637
- /**
638
- * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.
639
- * For example, `America/New_York` or `UTC`.
640
- *
641
- * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
642
- * @minLength 1
643
- * @maxLength 150
644
- */
645
- timeZone?: string | null;
646
- /**
647
- * 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.
648
- *
649
- * Required unless you specify `cursorPaging.cursor`.
650
- */
651
- location?: Location;
652
- }
653
- interface GetMultiServiceAvailabilityTimeSlotResponse {
654
- /** Retrieved time slot. */
655
- timeSlot?: TimeSlot;
656
- /**
657
- * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
658
- * For example, `America/New_York` or `UTC`.
659
- * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
660
- * @minLength 1
661
- * @maxLength 150
662
- */
663
- timeZone?: string | null;
664
- }
665
446
  interface ListAvailabilityTimeSlotsRequest {
666
447
  /**
667
448
  * Service ID for which to retrieve time slots. You must specify the ID of an appointment-based service.
@@ -773,6 +554,20 @@ interface CustomerChoices {
773
554
  */
774
555
  durationChoiceId?: string | null;
775
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
+ }
776
571
  interface ListAvailabilityTimeSlotsResponse {
777
572
  /**
778
573
  * Retrieved time slots.
@@ -1078,6 +873,383 @@ interface ResolvedContext {
1078
873
  */
1079
874
  timeZone?: string | null;
1080
875
  }
876
+ interface BulkListAvailabilityTimeSlotsRequest {
877
+ /**
878
+ * IDs of the appointment-based services to retrieve time slots for.
879
+ * Non-appointment services and IDs that don't exist are returned as failed entries in `results`.
880
+ * @format GUID
881
+ * @minSize 1
882
+ * @maxSize 100
883
+ */
884
+ serviceIds?: string[];
885
+ /**
886
+ * Lower boundary for `localStartDate` to include, applied to every service.
887
+ * Each returned time slot has a `localStartDate` within the provided `fromLocalDate` and `toLocalDate` exclusive.
888
+ *
889
+ * Local start date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
890
+ * For example, `2026-01-30T13:30:00`.
891
+ * @format LOCAL_DATE_TIME
892
+ */
893
+ fromLocalDate?: string | null;
894
+ /**
895
+ * Upper boundary for `localStartDate` to include, applied to every service.
896
+ * Each returned time slot has a `localStartDate` within the provided `fromLocalDate` and `toLocalDate` exclusive.
897
+ *
898
+ * Local end date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
899
+ * For example, `2026-01-30T13:30:00`.
900
+ * @format LOCAL_DATE_TIME
901
+ */
902
+ toLocalDate?: string | null;
903
+ /**
904
+ * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
905
+ * For example, `America/New_York` or `UTC`.
906
+ *
907
+ * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
908
+ * @minLength 1
909
+ * @maxLength 150
910
+ */
911
+ timeZone?: string | null;
912
+ /**
913
+ * Whether the time slot is bookable according to each service's booking policies.
914
+ * If not specified, returns both bookable and un-bookable time slots.
915
+ */
916
+ bookable?: boolean | null;
917
+ /**
918
+ * Maximum number of slots to return per service for each day in the specified time range.
919
+ * If `bookable` filter isn't specified, bookable slots are returned first.
920
+ *
921
+ * Min: `1`.
922
+ * @min 1
923
+ */
924
+ timeSlotsPerDay?: number | null;
925
+ /**
926
+ * Maximum number of time slots to return per service.
927
+ *
928
+ * Min: `1`. Max: `1000`.
929
+ *
930
+ * Default: `1000`.
931
+ * @min 1
932
+ * @max 1000
933
+ */
934
+ limitPerService?: number | null;
935
+ /**
936
+ * Locations to include in response, applied to every service.
937
+ * If not specified, returns time slots for all locations where each service is available.
938
+ * @maxSize 5
939
+ */
940
+ locations?: Location[];
941
+ /**
942
+ * Resource type IDs to include in the response, applied to every service.
943
+ * If specified, returns up to 10 `availableResources` with matching `resourceTypeId`.
944
+ * This controls which resource details are included in the response but doesn't filter the time slots themselves.
945
+ * @format GUID
946
+ * @maxSize 100
947
+ */
948
+ includeResourceTypeIds?: string[];
949
+ /**
950
+ * Indicators for services' booking policy violations, applied to every service.
951
+ * 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.
952
+ */
953
+ bookingPolicyViolations?: BookingPolicyViolations;
954
+ /**
955
+ * Selected customer choices for service configuration, applied to every service.
956
+ * If not specified, uses each service's default configuration.
957
+ *
958
+ * Not supported for services configured with a duration range (`availabilityConstraints.durationRange`).
959
+ *
960
+ * 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.
961
+ */
962
+ customerChoices?: CustomerChoices;
963
+ /**
964
+ * Resource types to filter time slots, applied to every service.
965
+ * Only returns time slots that have these specific resource types available.
966
+ * This filters the time slots themselves, unlike `includeResourceTypeIds` which only controls response details.
967
+ * @maxSize 3
968
+ */
969
+ resourceTypes?: ResourceType[];
970
+ }
971
+ interface BulkListAvailabilityTimeSlotsResponse {
972
+ /**
973
+ * Per-service results, one entry per requested `serviceId`.
974
+ * Each entry carries `itemMetadata` with the outcome, and `serviceTimeSlots` on success.
975
+ * Order isn't guaranteed to match the request; correlate via `itemMetadata.id` or `itemMetadata.originalIndex`.
976
+ * @maxSize 100
977
+ */
978
+ results?: BulkServiceTimeSlotsResult[];
979
+ /**
980
+ * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) used for all services.
981
+ * For example, `America/New_York` or `UTC`.
982
+ *
983
+ * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
984
+ * @minLength 1
985
+ * @maxLength 150
986
+ */
987
+ timeZone?: string | null;
988
+ /** Success and failure totals across all requested services. */
989
+ bulkActionMetadata?: BulkActionMetadata;
990
+ }
991
+ interface BulkServiceTimeSlotsResult {
992
+ /**
993
+ * Outcome for a single requested service.
994
+ * `id` echoes the `serviceId`, `originalIndex` is the service's position in the request, and
995
+ * `success`/`error` describe whether availability could be computed.
996
+ */
997
+ itemMetadata?: ItemMetadata;
998
+ /** Time slots for the service. Populated only when `itemMetadata.success` is `true`. */
999
+ serviceTimeSlots?: ServiceTimeSlots;
1000
+ }
1001
+ interface ItemMetadata {
1002
+ /**
1003
+ * Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).
1004
+ * @format GUID
1005
+ */
1006
+ _id?: string | null;
1007
+ /** Index of the item within the request array. Allows for correlation between request and response items. */
1008
+ originalIndex?: number;
1009
+ /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */
1010
+ success?: boolean;
1011
+ /** Details about the error in case of failure. */
1012
+ error?: ApplicationError;
1013
+ }
1014
+ interface ApplicationError {
1015
+ /** Error code. */
1016
+ code?: string;
1017
+ /** Description of the error. */
1018
+ description?: string;
1019
+ /** Data related to the error. */
1020
+ data?: Record<string, any> | null;
1021
+ }
1022
+ interface ServiceTimeSlots {
1023
+ /**
1024
+ * Service the time slots belong to.
1025
+ * @format GUID
1026
+ */
1027
+ serviceId?: string;
1028
+ /**
1029
+ * Retrieved time slots for the service.
1030
+ * Sorted by `localStartDate` in ascending order. When multiple slots have the same start time, no specific secondary sorting is guaranteed.
1031
+ * @maxSize 1000
1032
+ */
1033
+ timeSlots?: TimeSlot[];
1034
+ /**
1035
+ * Paging metadata for the service's remaining slots.
1036
+ * To fetch more slots for this service, pass `cursors.next` to `ListAvailabilityTimeSlots`.
1037
+ */
1038
+ cursorPagingMetadata?: CursorPagingMetadata;
1039
+ }
1040
+ interface BulkActionMetadata {
1041
+ /** Number of items that were successfully processed. */
1042
+ totalSuccesses?: number;
1043
+ /** Number of items that couldn't be processed. */
1044
+ totalFailures?: number;
1045
+ /** Number of failures without details because detailed failure threshold was exceeded. */
1046
+ undetailedFailures?: number;
1047
+ }
1048
+ interface ListMultiServiceAvailabilityTimeSlotsRequest {
1049
+ /**
1050
+ * Services for which the multi-service time slots are returned.
1051
+ * Each service can include its own resource filters.
1052
+ *
1053
+ * Required unless you specify `cursorPaging.cursor`.
1054
+ *
1055
+ * Min: 2 services
1056
+ * Max: 8 services
1057
+ * @maxSize 8
1058
+ */
1059
+ services?: Service[];
1060
+ /**
1061
+ * Lower boundary for `localStartDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
1062
+ * For example, `2026-01-30T13:30:00`.
1063
+ * Each returned time slot has a `localStartDate` between `fromLocalDate` and `toLocalDate`.
1064
+ *
1065
+ * Required unless you specify `cursorPaging.cursor`.
1066
+ * @format LOCAL_DATE_TIME
1067
+ */
1068
+ fromLocalDate?: string | null;
1069
+ /**
1070
+ * Upper boundary for `localToDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
1071
+ * For example, `2026-01-30T13:30:00`.
1072
+ * Each returned time slot has a `localEndDate` between `fromLocalDate` and `toLocalDate`.
1073
+ *
1074
+ * Required unless you specify `cursorPaging.cursor`.
1075
+ * @format LOCAL_DATE_TIME
1076
+ */
1077
+ toLocalDate?: string | null;
1078
+ /**
1079
+ * 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`.
1080
+ *
1081
+ * Required unless you specify `cursorPaging.cursor`.
1082
+ *
1083
+ * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
1084
+ * @minLength 1
1085
+ * @maxLength 150
1086
+ */
1087
+ timeZone?: string | null;
1088
+ /**
1089
+ * 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.
1090
+ *
1091
+ * Required unless you specify `cursorPaging.cursor`.
1092
+ */
1093
+ location?: Location;
1094
+ /**
1095
+ * Whether the time slot is bookable according to all services' booking policies.
1096
+ * If not specified, returns both bookable and non-bookable time slots.
1097
+ */
1098
+ bookable?: boolean | null;
1099
+ /**
1100
+ * Indicators for service's booking policy violations.
1101
+ * 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.
1102
+ */
1103
+ bookingPolicyViolations?: BookingPolicyViolations;
1104
+ /**
1105
+ * Maximum number of slots to return for each day in the specified time range.
1106
+ * If `bookable` filter isn't specified, bookable slots are returned first.
1107
+ */
1108
+ timeSlotsPerDay?: number | null;
1109
+ /**
1110
+ * Cursor-based paging configuration.
1111
+ * Enables fetching results in smaller chunks by setting a limit on the number of results.
1112
+ * For consistent pagination behavior, use the same `limit` value throughout a pagination sequence.
1113
+ * When specifying a new `limit` in follow-up requests, the API respects the new value.
1114
+ */
1115
+ cursorPaging?: CursorPaging;
1116
+ }
1117
+ interface Service {
1118
+ /**
1119
+ * Service ID.
1120
+ * @format GUID
1121
+ */
1122
+ serviceId?: string;
1123
+ /**
1124
+ * Resource [type IDs](https://dev.wix.com/docs/rest/business-solutions/bookings/resources/resource-types-v2/introduction) to include in returned time slots.
1125
+ * This is in addition to the specifically requested resources.
1126
+ *
1127
+ * <blockquote>
1128
+ * Currently supported only for Staff Member resource type.
1129
+ * Staff members belong to resource type ID `1cd44cf8-756f-41c3-bd90-3e2ffcaf1155`.
1130
+ * </blockquote>
1131
+ * @format GUID
1132
+ * @maxSize 100
1133
+ */
1134
+ includeResourceTypeIds?: string[];
1135
+ /**
1136
+ * Selected customer choices.
1137
+ * If specified, the selected choices are used to calculate service configuration.
1138
+ * If not specified, the service default configuration is used.
1139
+ * Enforcing this field is the responsibility of the service plugin implementer, and not the Time Slots V2 API.
1140
+ *
1141
+ * 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.
1142
+ */
1143
+ customerChoices?: V2CustomerChoices;
1144
+ /**
1145
+ * Resource types to filter time slots.
1146
+ * Only returns time slots that have these specific resource types available.
1147
+ * This filters the time slots themselves, unlike `includeResourceTypeIds` which only controls response details.
1148
+ * @maxSize 3
1149
+ */
1150
+ resourceTypes?: ResourceType[];
1151
+ }
1152
+ /**
1153
+ * Selected customer choices.
1154
+ *
1155
+ * These choices are selected by the customer during the book flow and used to calculate the service's availability configuration.
1156
+ */
1157
+ interface V2CustomerChoices {
1158
+ /**
1159
+ * 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.
1160
+ * 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.
1161
+ *
1162
+ * Min: `1` minute
1163
+ * Max: `44639` minutes (30 days, 23 hours, and 59 minutes)
1164
+ * Default: `15` minutes
1165
+ * @min 1
1166
+ * @max 44639
1167
+ */
1168
+ durationInMinutes?: number | null;
1169
+ /**
1170
+ * Selected [add-on](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction) IDs.
1171
+ * 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.
1172
+ *
1173
+ * Max: 21 (3 add-on groups × 7 add-ons per group).
1174
+ * @format GUID
1175
+ * @maxSize 21
1176
+ */
1177
+ addOnIds?: string[] | null;
1178
+ /**
1179
+ * Selected duration choice ID.
1180
+ * @format GUID
1181
+ */
1182
+ durationChoiceId?: string | null;
1183
+ }
1184
+ interface ListMultiServiceAvailabilityTimeSlotsResponse {
1185
+ /**
1186
+ * Retrieved time slots.
1187
+ * Sorted by `localStartDate` in ascending order. When multiple slots have the same start time, no specific secondary sorting is guaranteed.
1188
+ * @maxSize 1000
1189
+ */
1190
+ timeSlots?: TimeSlot[];
1191
+ /**
1192
+ * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
1193
+ * For example, `America/New_York` or `UTC`.
1194
+ * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
1195
+ * @minLength 1
1196
+ * @maxLength 150
1197
+ */
1198
+ timeZone?: string | null;
1199
+ /**
1200
+ * Paging metadata for the next page of results.
1201
+ * Contains a cursor if there are more than 1000 results.
1202
+ */
1203
+ cursorPagingMetadata?: CursorPagingMetadata;
1204
+ }
1205
+ interface GetMultiServiceAvailabilityTimeSlotRequest {
1206
+ /**
1207
+ * Services for which the multi-service time slots are returned.
1208
+ * You can specify resource filters for each service.
1209
+ * @minSize 2
1210
+ * @maxSize 8
1211
+ */
1212
+ services?: Service[];
1213
+ /**
1214
+ * Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
1215
+ * For example, `2026-01-30T13:30:00`.
1216
+ * @format LOCAL_DATE_TIME
1217
+ */
1218
+ localStartDate?: string;
1219
+ /**
1220
+ * Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
1221
+ * For example, `2026-01-30T13:30:00`.
1222
+ * @format LOCAL_DATE_TIME
1223
+ */
1224
+ localEndDate?: string;
1225
+ /**
1226
+ * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.
1227
+ * For example, `America/New_York` or `UTC`.
1228
+ *
1229
+ * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
1230
+ * @minLength 1
1231
+ * @maxLength 150
1232
+ */
1233
+ timeZone?: string | null;
1234
+ /**
1235
+ * 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.
1236
+ *
1237
+ * Required unless you specify `cursorPaging.cursor`.
1238
+ */
1239
+ location?: Location;
1240
+ }
1241
+ interface GetMultiServiceAvailabilityTimeSlotResponse {
1242
+ /** Retrieved time slot. */
1243
+ timeSlot?: TimeSlot;
1244
+ /**
1245
+ * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
1246
+ * For example, `America/New_York` or `UTC`.
1247
+ * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
1248
+ * @minLength 1
1249
+ * @maxLength 150
1250
+ */
1251
+ timeZone?: string | null;
1252
+ }
1081
1253
  /** @docsIgnore */
1082
1254
  type ListAvailabilityTimeSlotsApplicationErrors = {
1083
1255
  code?: 'NO_IMPLEMENTERS_FOUND';
@@ -1453,4 +1625,4 @@ interface GetAvailabilityTimeSlotOptions {
1453
1625
  resourceTypes?: ResourceType[];
1454
1626
  }
1455
1627
 
1456
- 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 };
1628
+ 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 };