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