@wix/auto_sdk_bookings_availability-time-slots 1.0.280 → 1.0.281

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.
@@ -514,6 +514,278 @@ interface GetEventTimeSlotResponse {
514
514
  */
515
515
  timeZone?: string | null;
516
516
  }
517
+ interface ListMultiServiceAvailabilityTimeSlotsRequest {
518
+ /**
519
+ * Services for which the multi-service time slots are returned.
520
+ * Each service can include its own resource filters.
521
+ *
522
+ * Required unless you specify `cursorPaging.cursor`.
523
+ *
524
+ * Min: 2 services
525
+ * Max: 40 services
526
+ * @maxSize 40
527
+ */
528
+ services?: Service[];
529
+ /**
530
+ * Lower boundary for `localStartDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
531
+ * For example, `2026-01-30T13:30:00`.
532
+ * Each returned time slot has a `localStartDate` between `fromLocalDate` and `toLocalDate`.
533
+ *
534
+ * Required unless you specify `cursorPaging.cursor`.
535
+ * @format LOCAL_DATE_TIME
536
+ */
537
+ fromLocalDate?: string | null;
538
+ /**
539
+ * Upper boundary for `localToDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
540
+ * For example, `2026-01-30T13:30:00`.
541
+ * Each returned time slot has a `localEndDate` between `fromLocalDate` and `toLocalDate`.
542
+ *
543
+ * Required unless you specify `cursorPaging.cursor`.
544
+ * @format LOCAL_DATE_TIME
545
+ */
546
+ toLocalDate?: string | null;
547
+ /**
548
+ * 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`.
549
+ *
550
+ * Required unless you specify `cursorPaging.cursor`.
551
+ *
552
+ * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
553
+ * @minLength 1
554
+ * @maxLength 150
555
+ */
556
+ timeZone?: string | null;
557
+ /**
558
+ * 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.
559
+ *
560
+ * Required unless you specify `cursorPaging.cursor`.
561
+ */
562
+ location?: Location;
563
+ /**
564
+ * Whether the time slot is bookable according to all services' booking policies.
565
+ * If not specified, returns both bookable and non-bookable time slots.
566
+ */
567
+ bookable?: boolean | null;
568
+ /**
569
+ * Indicators for service's booking policy violations.
570
+ * 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.
571
+ */
572
+ bookingPolicyViolations?: BookingPolicyViolations;
573
+ /**
574
+ * Maximum number of slots to return for each day in the specified time range.
575
+ * If `bookable` filter isn't specified, bookable slots are returned first.
576
+ */
577
+ timeSlotsPerDay?: number | null;
578
+ /**
579
+ * Cursor-based paging configuration.
580
+ * Enables fetching results in smaller chunks by setting a limit on the number of results.
581
+ * For consistent pagination behavior, use the same `limit` value throughout a pagination sequence.
582
+ * When specifying a new `limit` in follow-up requests, the API respects the new value.
583
+ */
584
+ cursorPaging?: CursorPaging;
585
+ }
586
+ interface Service {
587
+ /**
588
+ * Service ID.
589
+ * @format GUID
590
+ */
591
+ serviceId?: string;
592
+ /**
593
+ * ID of the [resources](https://dev.wix.com/docs/rest/business-solutions/bookings/resources/resources-v2/introduction) to include in response.
594
+ * Takes precedence over `resourceTypes`.
595
+ * @internal
596
+ * @format GUID
597
+ * @maxSize 135
598
+ * @deprecated ID of the [resources](https://dev.wix.com/docs/rest/business-solutions/bookings/resources/resources-v2/introduction) to include in response.
599
+ * Takes precedence over `resourceTypes`.
600
+ * @replacedBy resource_types
601
+ * @targetRemovalDate 2025-09-01
602
+ */
603
+ resourceIds?: string[];
604
+ /**
605
+ * Resource [type IDs](https://dev.wix.com/docs/rest/business-solutions/bookings/resources/resource-types-v2/introduction) to include in returned time slots.
606
+ * This is in addition to the specifically requested resources.
607
+ *
608
+ * <blockquote>
609
+ * Currently supported only for Staff Member resource type.
610
+ * Staff members belong to resource type ID `1cd44cf8-756f-41c3-bd90-3e2ffcaf1155`.
611
+ * </blockquote>
612
+ * @format GUID
613
+ * @maxSize 100
614
+ */
615
+ includeResourceTypeIds?: string[];
616
+ /**
617
+ * Selected customer choices.
618
+ * If specified, the selected choices are used to calculate service configuration.
619
+ * If not specified, the service default configuration is used.
620
+ * Enforcing this field is the responsibility of the service plugin implementer, and not the Time Slots V2 API.
621
+ *
622
+ * 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.
623
+ */
624
+ customerChoices?: V2CustomerChoices;
625
+ /**
626
+ * Resource types to filter time slots.
627
+ * Only returns time slots that have these specific resource types available.
628
+ * This filters the time slots themselves, unlike `includeResourceTypeIds` which only controls response details.
629
+ * @maxSize 8
630
+ */
631
+ resourceTypes?: ResourceType[];
632
+ }
633
+ /**
634
+ * Selected customer choices.
635
+ *
636
+ * These choices are selected by the customer during the book flow and used to calculate the service's availability configuration.
637
+ */
638
+ interface V2CustomerChoices {
639
+ /**
640
+ * 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.
641
+ * 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.
642
+ *
643
+ * Min: `1` minute
644
+ * Max: `57600` minutes (40 days)
645
+ * Default: `15` minutes
646
+ * @min 1
647
+ * @max 57600
648
+ */
649
+ durationInMinutes?: number | null;
650
+ /**
651
+ * Selected [add-on](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction) IDs.
652
+ * 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.
653
+ *
654
+ * Max: 21 (3 add-on groups × 7 add-ons per group).
655
+ * @format GUID
656
+ * @maxSize 21
657
+ */
658
+ addOnIds?: string[] | null;
659
+ /**
660
+ * Selected duration choice ID.
661
+ * @format GUID
662
+ */
663
+ durationChoiceId?: string | null;
664
+ /**
665
+ * Gender the customer narrowed an "any staff member" selection to.
666
+ * Only time slots served by staff members of that gender are returned.
667
+ * Omit to keep "any staff member" unnarrowed.
668
+ *
669
+ * Requires `genderPubliclyAccessible` to be enabled in the business's [staff member settings](https://dev.wix.com/docs/api-reference/business-solutions/bookings/staff-members/staff-member-settings/introduction). The call fails with `REQUESTED_GENDER_NOT_ALLOWED` when it's disabled.
670
+ */
671
+ requestedGender?: V2RequestedGenderValue;
672
+ }
673
+ /** Gender narrowing for an "any staff member" selection. */
674
+ interface V2RequestedGenderValue {
675
+ /** Gender the customer narrowed "any staff member" to. */
676
+ gender?: RequestedGenderValueRequestedGenderWithLiterals;
677
+ }
678
+ /**
679
+ * Selectable genders. Staff members of any other gender are reachable
680
+ * through plain "any staff member" or by name.
681
+ */
682
+ declare enum RequestedGenderValueRequestedGender {
683
+ /**
684
+ * Any male staff member.
685
+ * @documentationMaturity preview
686
+ */
687
+ ANY_MALE = "ANY_MALE",
688
+ /**
689
+ * Any female staff member.
690
+ * @documentationMaturity preview
691
+ */
692
+ ANY_FEMALE = "ANY_FEMALE"
693
+ }
694
+ /** @enumType */
695
+ type RequestedGenderValueRequestedGenderWithLiterals = RequestedGenderValueRequestedGender | 'ANY_MALE' | 'ANY_FEMALE';
696
+ interface ResourceType {
697
+ /**
698
+ * [Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).
699
+ * @format GUID
700
+ */
701
+ resourceTypeId?: string | null;
702
+ /**
703
+ * Resource IDs.
704
+ * Available only if there is at least 1 resource available for the slot.
705
+ * @format GUID
706
+ * @maxSize 135
707
+ */
708
+ resourceIds?: string[] | null;
709
+ /**
710
+ * Whether to return resources of this type in a sorted order.
711
+ * + `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).
712
+ * + `false`: Resources are returned in an unpredictable, but not entirely random, order.
713
+ * 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.
714
+ *
715
+ * Default: `false`
716
+ * @internal
717
+ */
718
+ sorted?: boolean | null;
719
+ }
720
+ interface ListMultiServiceAvailabilityTimeSlotsResponse {
721
+ /**
722
+ * Retrieved time slots.
723
+ * Sorted by `localStartDate` in ascending order. When multiple slots have the same start time, no specific secondary sorting is guaranteed.
724
+ * @maxSize 1000
725
+ */
726
+ timeSlots?: TimeSlot[];
727
+ /**
728
+ * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
729
+ * For example, `America/New_York` or `UTC`.
730
+ * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
731
+ * @minLength 1
732
+ * @maxLength 150
733
+ */
734
+ timeZone?: string | null;
735
+ /**
736
+ * Paging metadata for the next page of results.
737
+ * Contains a cursor if there are more than 1000 results.
738
+ */
739
+ cursorPagingMetadata?: CursorPagingMetadata;
740
+ }
741
+ interface GetMultiServiceAvailabilityTimeSlotRequest {
742
+ /**
743
+ * Services for which the multi-service time slots are returned.
744
+ * You can specify resource filters for each service.
745
+ * @minSize 2
746
+ * @maxSize 40
747
+ */
748
+ services?: Service[];
749
+ /**
750
+ * Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
751
+ * For example, `2026-01-30T13:30:00`.
752
+ * @format LOCAL_DATE_TIME
753
+ */
754
+ localStartDate?: string;
755
+ /**
756
+ * Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
757
+ * For example, `2026-01-30T13:30:00`.
758
+ * @format LOCAL_DATE_TIME
759
+ */
760
+ localEndDate?: string;
761
+ /**
762
+ * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.
763
+ * For example, `America/New_York` or `UTC`.
764
+ *
765
+ * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
766
+ * @minLength 1
767
+ * @maxLength 150
768
+ */
769
+ timeZone?: string | null;
770
+ /**
771
+ * 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.
772
+ *
773
+ * Required unless you specify `cursorPaging.cursor`.
774
+ */
775
+ location?: Location;
776
+ }
777
+ interface GetMultiServiceAvailabilityTimeSlotResponse {
778
+ /** Retrieved time slot. */
779
+ timeSlot?: TimeSlot;
780
+ /**
781
+ * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
782
+ * For example, `America/New_York` or `UTC`.
783
+ * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
784
+ * @minLength 1
785
+ * @maxLength 150
786
+ */
787
+ timeZone?: string | null;
788
+ }
517
789
  interface ListAvailabilityTimeSlotsRequest {
518
790
  /**
519
791
  * Service ID for which to retrieve time slots. You must specify the ID of an appointment-based service.
@@ -668,39 +940,15 @@ declare enum RequestedGender {
668
940
  * Any male staff member.
669
941
  * @documentationMaturity preview
670
942
  */
671
- ANY_MALE = "ANY_MALE",
672
- /**
673
- * Any female staff member.
674
- * @documentationMaturity preview
675
- */
676
- ANY_FEMALE = "ANY_FEMALE"
677
- }
678
- /** @enumType */
679
- type RequestedGenderWithLiterals = RequestedGender | 'ANY_MALE' | 'ANY_FEMALE';
680
- interface ResourceType {
681
- /**
682
- * [Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).
683
- * @format GUID
684
- */
685
- resourceTypeId?: string | null;
686
- /**
687
- * Resource IDs.
688
- * Available only if there is at least 1 resource available for the slot.
689
- * @format GUID
690
- * @maxSize 135
691
- */
692
- resourceIds?: string[] | null;
693
- /**
694
- * Whether to return resources of this type in a sorted order.
695
- * + `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).
696
- * + `false`: Resources are returned in an unpredictable, but not entirely random, order.
697
- * 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.
698
- *
699
- * Default: `false`
700
- * @internal
943
+ ANY_MALE = "ANY_MALE",
944
+ /**
945
+ * Any female staff member.
946
+ * @documentationMaturity preview
701
947
  */
702
- sorted?: boolean | null;
948
+ ANY_FEMALE = "ANY_FEMALE"
703
949
  }
950
+ /** @enumType */
951
+ type RequestedGenderWithLiterals = RequestedGender | 'ANY_MALE' | 'ANY_FEMALE';
704
952
  interface ListAvailabilityTimeSlotsResponse {
705
953
  /**
706
954
  * Retrieved time slots.
@@ -841,29 +1089,6 @@ interface GetAvailabilityTimeSlotRequest {
841
1089
  */
842
1090
  resourceTypes?: ResourceType[];
843
1091
  }
844
- /** Gender narrowing for an "any staff member" selection. */
845
- interface V2RequestedGenderValue {
846
- /** Gender the customer narrowed "any staff member" to. */
847
- gender?: RequestedGenderValueRequestedGenderWithLiterals;
848
- }
849
- /**
850
- * Selectable genders. Staff members of any other gender are reachable
851
- * through plain "any staff member" or by name.
852
- */
853
- declare enum RequestedGenderValueRequestedGender {
854
- /**
855
- * Any male staff member.
856
- * @documentationMaturity preview
857
- */
858
- ANY_MALE = "ANY_MALE",
859
- /**
860
- * Any female staff member.
861
- * @documentationMaturity preview
862
- */
863
- ANY_FEMALE = "ANY_FEMALE"
864
- }
865
- /** @enumType */
866
- type RequestedGenderValueRequestedGenderWithLiterals = RequestedGenderValueRequestedGender | 'ANY_MALE' | 'ANY_FEMALE';
867
1092
  interface GetAvailabilityTimeSlotRequestCustomerChoices {
868
1093
  /**
869
1094
  * Selected add-on IDs.
@@ -1242,231 +1467,6 @@ interface BulkActionMetadata {
1242
1467
  /** Number of failures without details because detailed failure threshold was exceeded. */
1243
1468
  undetailedFailures?: number;
1244
1469
  }
1245
- interface ListMultiServiceAvailabilityTimeSlotsRequest {
1246
- /**
1247
- * Services for which the multi-service time slots are returned.
1248
- * Each service can include its own resource filters.
1249
- *
1250
- * Required unless you specify `cursorPaging.cursor`.
1251
- *
1252
- * Min: 2 services
1253
- * Max: 40 services
1254
- * @maxSize 40
1255
- */
1256
- services?: Service[];
1257
- /**
1258
- * Lower boundary for `localStartDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
1259
- * For example, `2026-01-30T13:30:00`.
1260
- * Each returned time slot has a `localStartDate` between `fromLocalDate` and `toLocalDate`.
1261
- *
1262
- * Required unless you specify `cursorPaging.cursor`.
1263
- * @format LOCAL_DATE_TIME
1264
- */
1265
- fromLocalDate?: string | null;
1266
- /**
1267
- * Upper boundary for `localToDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
1268
- * For example, `2026-01-30T13:30:00`.
1269
- * Each returned time slot has a `localEndDate` between `fromLocalDate` and `toLocalDate`.
1270
- *
1271
- * Required unless you specify `cursorPaging.cursor`.
1272
- * @format LOCAL_DATE_TIME
1273
- */
1274
- toLocalDate?: string | null;
1275
- /**
1276
- * 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`.
1277
- *
1278
- * Required unless you specify `cursorPaging.cursor`.
1279
- *
1280
- * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
1281
- * @minLength 1
1282
- * @maxLength 150
1283
- */
1284
- timeZone?: string | null;
1285
- /**
1286
- * 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.
1287
- *
1288
- * Required unless you specify `cursorPaging.cursor`.
1289
- */
1290
- location?: Location;
1291
- /**
1292
- * Whether the time slot is bookable according to all services' booking policies.
1293
- * If not specified, returns both bookable and non-bookable time slots.
1294
- */
1295
- bookable?: boolean | null;
1296
- /**
1297
- * Indicators for service's booking policy violations.
1298
- * 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.
1299
- */
1300
- bookingPolicyViolations?: BookingPolicyViolations;
1301
- /**
1302
- * Maximum number of slots to return for each day in the specified time range.
1303
- * If `bookable` filter isn't specified, bookable slots are returned first.
1304
- */
1305
- timeSlotsPerDay?: number | null;
1306
- /**
1307
- * Cursor-based paging configuration.
1308
- * Enables fetching results in smaller chunks by setting a limit on the number of results.
1309
- * For consistent pagination behavior, use the same `limit` value throughout a pagination sequence.
1310
- * When specifying a new `limit` in follow-up requests, the API respects the new value.
1311
- */
1312
- cursorPaging?: CursorPaging;
1313
- }
1314
- interface Service {
1315
- /**
1316
- * Service ID.
1317
- * @format GUID
1318
- */
1319
- serviceId?: string;
1320
- /**
1321
- * ID of the [resources](https://dev.wix.com/docs/rest/business-solutions/bookings/resources/resources-v2/introduction) to include in response.
1322
- * Takes precedence over `resourceTypes`.
1323
- * @internal
1324
- * @format GUID
1325
- * @maxSize 135
1326
- * @deprecated ID of the [resources](https://dev.wix.com/docs/rest/business-solutions/bookings/resources/resources-v2/introduction) to include in response.
1327
- * Takes precedence over `resourceTypes`.
1328
- * @replacedBy resource_types
1329
- * @targetRemovalDate 2025-09-01
1330
- */
1331
- resourceIds?: string[];
1332
- /**
1333
- * Resource [type IDs](https://dev.wix.com/docs/rest/business-solutions/bookings/resources/resource-types-v2/introduction) to include in returned time slots.
1334
- * This is in addition to the specifically requested resources.
1335
- *
1336
- * <blockquote>
1337
- * Currently supported only for Staff Member resource type.
1338
- * Staff members belong to resource type ID `1cd44cf8-756f-41c3-bd90-3e2ffcaf1155`.
1339
- * </blockquote>
1340
- * @format GUID
1341
- * @maxSize 100
1342
- */
1343
- includeResourceTypeIds?: string[];
1344
- /**
1345
- * Selected customer choices.
1346
- * If specified, the selected choices are used to calculate service configuration.
1347
- * If not specified, the service default configuration is used.
1348
- * Enforcing this field is the responsibility of the service plugin implementer, and not the Time Slots V2 API.
1349
- *
1350
- * 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.
1351
- */
1352
- customerChoices?: V2CustomerChoices;
1353
- /**
1354
- * Resource types to filter time slots.
1355
- * Only returns time slots that have these specific resource types available.
1356
- * This filters the time slots themselves, unlike `includeResourceTypeIds` which only controls response details.
1357
- * @maxSize 8
1358
- */
1359
- resourceTypes?: ResourceType[];
1360
- }
1361
- /**
1362
- * Selected customer choices.
1363
- *
1364
- * These choices are selected by the customer during the book flow and used to calculate the service's availability configuration.
1365
- */
1366
- interface V2CustomerChoices {
1367
- /**
1368
- * 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.
1369
- * 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.
1370
- *
1371
- * Min: `1` minute
1372
- * Max: `57600` minutes (40 days)
1373
- * Default: `15` minutes
1374
- * @min 1
1375
- * @max 57600
1376
- */
1377
- durationInMinutes?: number | null;
1378
- /**
1379
- * Selected [add-on](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction) IDs.
1380
- * 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.
1381
- *
1382
- * Max: 21 (3 add-on groups × 7 add-ons per group).
1383
- * @format GUID
1384
- * @maxSize 21
1385
- */
1386
- addOnIds?: string[] | null;
1387
- /**
1388
- * Selected duration choice ID.
1389
- * @format GUID
1390
- */
1391
- durationChoiceId?: string | null;
1392
- /**
1393
- * Gender the customer narrowed an "any staff member" selection to.
1394
- * Only time slots served by staff members of that gender are returned.
1395
- * Omit to keep "any staff member" unnarrowed.
1396
- *
1397
- * Requires `genderPubliclyAccessible` to be enabled in the business's [staff member settings](https://dev.wix.com/docs/api-reference/business-solutions/bookings/staff-members/staff-member-settings/introduction). The call fails with `REQUESTED_GENDER_NOT_ALLOWED` when it's disabled.
1398
- */
1399
- requestedGender?: V2RequestedGenderValue;
1400
- }
1401
- interface ListMultiServiceAvailabilityTimeSlotsResponse {
1402
- /**
1403
- * Retrieved time slots.
1404
- * Sorted by `localStartDate` in ascending order. When multiple slots have the same start time, no specific secondary sorting is guaranteed.
1405
- * @maxSize 1000
1406
- */
1407
- timeSlots?: TimeSlot[];
1408
- /**
1409
- * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
1410
- * For example, `America/New_York` or `UTC`.
1411
- * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
1412
- * @minLength 1
1413
- * @maxLength 150
1414
- */
1415
- timeZone?: string | null;
1416
- /**
1417
- * Paging metadata for the next page of results.
1418
- * Contains a cursor if there are more than 1000 results.
1419
- */
1420
- cursorPagingMetadata?: CursorPagingMetadata;
1421
- }
1422
- interface GetMultiServiceAvailabilityTimeSlotRequest {
1423
- /**
1424
- * Services for which the multi-service time slots are returned.
1425
- * You can specify resource filters for each service.
1426
- * @minSize 2
1427
- * @maxSize 40
1428
- */
1429
- services?: Service[];
1430
- /**
1431
- * Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
1432
- * For example, `2026-01-30T13:30:00`.
1433
- * @format LOCAL_DATE_TIME
1434
- */
1435
- localStartDate?: string;
1436
- /**
1437
- * Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).
1438
- * For example, `2026-01-30T13:30:00`.
1439
- * @format LOCAL_DATE_TIME
1440
- */
1441
- localEndDate?: string;
1442
- /**
1443
- * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.
1444
- * For example, `America/New_York` or `UTC`.
1445
- *
1446
- * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
1447
- * @minLength 1
1448
- * @maxLength 150
1449
- */
1450
- timeZone?: string | null;
1451
- /**
1452
- * 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.
1453
- *
1454
- * Required unless you specify `cursorPaging.cursor`.
1455
- */
1456
- location?: Location;
1457
- }
1458
- interface GetMultiServiceAvailabilityTimeSlotResponse {
1459
- /** Retrieved time slot. */
1460
- timeSlot?: TimeSlot;
1461
- /**
1462
- * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.
1463
- * For example, `America/New_York` or `UTC`.
1464
- * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).
1465
- * @minLength 1
1466
- * @maxLength 150
1467
- */
1468
- timeZone?: string | null;
1469
- }
1470
1470
  /** @docsIgnore */
1471
1471
  type ListAvailabilityTimeSlotsApplicationErrors = {
1472
1472
  code?: 'NO_IMPLEMENTERS_FOUND';