@wix/auto_sdk_bookings_catalog-search 1.0.9 → 1.0.11

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.
@@ -385,8 +385,18 @@ interface Service {
385
385
  addOnDetails?: AddOnDetails[];
386
386
  /** Taxable address used to calculate tax */
387
387
  taxableAddress?: TaxableAddress;
388
- /** Whether to inherit resource locations for availability resolution. */
389
- inheritResourceLocations?: boolean | null;
388
+ /**
389
+ * ID of the [resource type](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction)
390
+ * that serves as the primary resource for this appointment service. The primary resource type
391
+ * determines which resources drive slot assignment and availability resolution.
392
+ *
393
+ * For example, when set to a "Meeting Rooms" resource type, availability is calculated
394
+ * based on the rooms' schedules rather than staff schedules.
395
+ *
396
+ * Default: The staff resource type.
397
+ * @format GUID
398
+ */
399
+ primaryResourceType?: string | null;
390
400
  }
391
401
  declare enum ServiceType {
392
402
  /** Appointment-based service. */
@@ -1395,6 +1405,26 @@ declare enum CompletionRequirement {
1395
1405
  }
1396
1406
  /** @enumType */
1397
1407
  type CompletionRequirementWithLiterals = CompletionRequirement | 'OPTIONAL' | 'REQUIRED_BEFORE_BOOKING';
1408
+ /** Rule restricting how frequently a customer can rebook the same service. */
1409
+ interface RebookingFrequencyPolicy {
1410
+ /**
1411
+ * Whether rebooking restrictions are enabled for the service. When `false`, customers can rebook immediately.
1412
+ *
1413
+ * Default: `false`
1414
+ */
1415
+ enabled?: boolean;
1416
+ /**
1417
+ * Whether customers can never rebook the same service. Only evaluated when `enabled` is `true`.
1418
+ *
1419
+ * Default: `false`
1420
+ */
1421
+ permanentBlock?: boolean;
1422
+ /**
1423
+ * Minimum number of minutes between the start times of bookings for the same service by the same customer.
1424
+ * Only enforced when `enabled` is `true` and `permanent_block` is `false`.
1425
+ */
1426
+ minTimeBetweenRebookingsMinutes?: number | null;
1427
+ }
1398
1428
  interface Schedule {
1399
1429
  /**
1400
1430
  * ID of the [schedule](https://dev.wix.com/docs/api-reference/business-management/calendar/schedules-v3/introduction)
@@ -1436,9 +1466,6 @@ interface AvailabilityConstraints {
1436
1466
  * - For appointment-based services, specify `sessionDurations` when creating a service.
1437
1467
  * - For appointment-based services with varied pricing by session length, you must still specify `sessionDurations`, but the values are ignored. Actual durations are taken from the [service variants](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/service-options-and-variants/introduction).
1438
1468
  * - For classes or courses, don't specify `sessionDurations` when creating a service.
1439
- *
1440
- * Min: `1` minute
1441
- * Max: `44639` minutes (30 days, 23 hours, and 59 minutes)
1442
1469
  * @min 1
1443
1470
  * @max 44639
1444
1471
  * @maxSize 50
@@ -1446,83 +1473,89 @@ interface AvailabilityConstraints {
1446
1473
  sessionDurations?: number[];
1447
1474
  /**
1448
1475
  * The number of minutes between the end of a session and the start of the next.
1449
- *
1450
- *
1451
- * Min: `0` minutes
1452
- * Max: `720` minutes
1453
1476
  * @max 720
1454
1477
  */
1455
1478
  timeBetweenSessions?: number;
1479
+ /**
1480
+ * Duration range for the service. When set, the customer picks a duration
1481
+ * within the configured min/max range instead of a fixed session duration.
1482
+ * Mutually exclusive with `sessionDurations`. A service uses one or the other.
1483
+ * Can't be combined with `workingHours`.
1484
+ *
1485
+ * Use `durationRange` for services where the customer chooses how long to book,
1486
+ * such as equipment or space rentals. The `unitType` determines whether the range
1487
+ * is measured in hours or days.
1488
+ */
1489
+ durationRange?: DurationRange;
1456
1490
  }
1457
1491
  interface Duration {
1458
1492
  /**
1459
1493
  * The duration of the service in minutes.
1460
- *
1461
- * Min: `1` minute
1462
- * Max: `44639` minutes (30 days, 23 hours, and 59 minutes)
1463
1494
  * @min 1
1464
1495
  * @max 44639
1465
1496
  */
1466
1497
  minutes?: number;
1467
1498
  }
1468
- /** Duration range configuration for a service. */
1499
+ /**
1500
+ * Duration range configuration for a service. Defines the minimum and maximum
1501
+ * booking duration a customer can select, and the unit of measurement.
1502
+ *
1503
+ * For hourly services, durations are configured in minutes via `hourOptions`.
1504
+ * For daily services, durations are configured in days via `dayOptions`.
1505
+ */
1469
1506
  interface DurationRange extends DurationRangeConfigOneOf {
1470
- /** Configuration for hourly duration. Set when `unit_type` is `HOUR`. */
1507
+ /** Configuration for hourly duration ranges. Set when `unitType` is `HOUR`. */
1471
1508
  hourOptions?: HourlyConfig;
1472
- /** Configuration for daily duration. Set when `unit_type` is `DAY`. */
1509
+ /** Configuration for daily duration ranges. Set when `unitType` is `DAY`. */
1473
1510
  dayOptions?: DailyConfig;
1474
- /** The unit type for this duration range. */
1511
+ /** The unit type for this duration range. Determines which configuration to use in the `config` union. */
1475
1512
  unitType?: UnitTypeWithLiterals;
1476
1513
  }
1477
1514
  /** @oneof */
1478
1515
  interface DurationRangeConfigOneOf {
1479
- /** Configuration for hourly duration. Set when `unit_type` is `HOUR`. */
1516
+ /** Configuration for hourly duration ranges. Set when `unitType` is `HOUR`. */
1480
1517
  hourOptions?: HourlyConfig;
1481
- /** Configuration for daily duration. Set when `unit_type` is `DAY`. */
1518
+ /** Configuration for daily duration ranges. Set when `unitType` is `DAY`. */
1482
1519
  dayOptions?: DailyConfig;
1483
1520
  }
1484
1521
  /** The booking unit for the duration range. */
1485
1522
  declare enum UnitType {
1523
+ /** Hourly booking unit. Durations are configured in minutes via `hourOptions`. */
1524
+ HOUR = "HOUR",
1525
+ /** Daily booking unit. Durations are configured in days via `dayOptions`. */
1526
+ DAY = "DAY"
1486
1527
  }
1487
1528
  /** @enumType */
1488
- type UnitTypeWithLiterals = UnitType;
1489
- /** Hourly duration configuration. Values are in minutes. */
1529
+ type UnitTypeWithLiterals = UnitType | 'HOUR' | 'DAY';
1530
+ /** Hourly duration configuration. Durations are specified in minutes. */
1490
1531
  interface HourlyConfig {
1491
1532
  /**
1492
- * Minimum bookable duration in minutes.
1493
- *
1494
- * Min: `30` minutes
1495
- * Max: `1440` minutes (24 hours)
1533
+ * Minimum bookable duration in minutes. The customer can't book for less than this duration.
1496
1534
  * @min 30
1497
1535
  * @max 1440
1498
1536
  */
1499
1537
  minDurationInMinutes?: number;
1500
1538
  /**
1501
- * Maximum bookable duration in minutes.
1539
+ * Maximum bookable duration in minutes. The customer can't book for more than this duration.
1502
1540
  *
1503
- * Min: `30` minutes
1504
- * Max: `1440` minutes (24 hours)
1541
+ * Must be greater than or equal to `minDurationInMinutes`.
1505
1542
  * @min 30
1506
1543
  * @max 1440
1507
1544
  */
1508
1545
  maxDurationInMinutes?: number;
1509
1546
  }
1510
- /** Daily duration configuration. Values are in days. */
1547
+ /** Daily duration configuration. Durations are specified in days. */
1511
1548
  interface DailyConfig {
1512
1549
  /**
1513
- * Minimum bookable duration in days.
1514
- *
1515
- * Min: `1` day
1516
- * Max: `8` days
1550
+ * Minimum bookable duration in days. The customer can't book for less than this number of days.
1517
1551
  * @min 1
1518
1552
  * @max 8
1519
1553
  */
1520
1554
  minDurationInDays?: number;
1521
1555
  /**
1522
- * Maximum bookable duration in days.
1556
+ * Maximum bookable duration in days. The customer can't book for more than this number of days.
1523
1557
  *
1524
- * Min: `1` day
1525
- * Max: `8` days
1558
+ * Must be greater than or equal to `minDurationInDays`.
1526
1559
  * @min 1
1527
1560
  * @max 8
1528
1561
  */
@@ -1636,11 +1669,27 @@ interface ResourceIds {
1636
1669
  values?: string[];
1637
1670
  }
1638
1671
  interface ServiceResource extends ServiceResourceSelectionOneOf {
1672
+ /**
1673
+ * IDs of specific [resources](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resources-v2/introduction)
1674
+ * assigned to this service resource. Each ID must reference a resource within the specified `resourceType`.
1675
+ *
1676
+ * When set, only these resources are considered for availability and booking.
1677
+ * When not set, all resources of the specified resource type are eligible.
1678
+ */
1679
+ resourceIds?: ResourceIds;
1639
1680
  /** Details about the required [resource type](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction). */
1640
1681
  resourceType?: ResourceType;
1641
1682
  }
1642
1683
  /** @oneof */
1643
1684
  interface ServiceResourceSelectionOneOf {
1685
+ /**
1686
+ * IDs of specific [resources](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resources-v2/introduction)
1687
+ * assigned to this service resource. Each ID must reference a resource within the specified `resourceType`.
1688
+ *
1689
+ * When set, only these resources are considered for availability and booking.
1690
+ * When not set, all resources of the specified resource type are eligible.
1691
+ */
1692
+ resourceIds?: ResourceIds;
1644
1693
  }
1645
1694
  interface ResourceType {
1646
1695
  /**
@@ -1877,4 +1926,4 @@ interface QueryServicesByFiltersOptions {
1877
1926
  serviceFilters?: ServiceFilters;
1878
1927
  }
1879
1928
 
1880
- export { type AddOnDetails, type AddOnGroup, AddOnPaymentOptions, type AddOnPaymentOptionsWithLiterals, type Address, type AddressLocation, type AddressStreetOneOf, type Attribute, type AttributeValueOneOf, type AvailabilityConstraints, type BookAfterStartPolicy, type BookingPolicy, type BusinessLocationOptions, type CancellationFeePolicy, type CancellationPolicy, type CancellationWindow, type CancellationWindowFeeOneOf, type CatalogSearchResult, type Category, CompletionRequirement, type CompletionRequirementWithLiterals, type Conferencing, type CursorPaging, type CursorPagingMetadata, type Cursors, type CustomLocationOptions, type CustomOptions, type CustomPayment, type DailyConfig, type DiscountInfo, type Duration, type DurationRange, type DurationRangeConfigOneOf, type ExtendedFields, FirstChargeDateType, type FirstChargeDateTypeWithLiterals, type FixedPayment, type Form, type FormSettings, FrequencyType, type FrequencyTypeWithLiterals, type FullUpfrontPayment, type HourlyConfig, type IntakeFormPolicy, type Keyword, type LimitEarlyBookingPolicy, type LimitLateBookingPolicy, type Location, type LocationOptionsOneOf, LocationType, type LocationTypeWithLiterals, type Media, type MediaItem, type MediaItemItemOneOf, Mode, type ModeWithLiterals, type Money, type NumberRange, type NumberValues, type OnlineBooking, type Paging, type ParticipantsPolicy, type Payment, type PaymentOptions, type PaymentRateOneOf, type PhoneCall, type PolicyDescription, type QueryServicesByFiltersOptions, type QueryServicesByFiltersRequest, type QueryServicesByFiltersResponse, type QueryV2, type QueryV2PagingMethodOneOf, type RankingOptions, RankingOrder, type RankingOrderWithLiterals, RateType, type RateTypeWithLiterals, type ReschedulePolicy, type ResourceDetails, type ResourceGroup, type ResourceIds, type ResourceInfo, type ResourceType, type ResourcesPolicy, type SaveCreditCardPolicy, type Schedule, type SeoSchema, type Service, type ServiceFilters, type ServiceResource, type ServiceResourceSelectionOneOf, ServiceType, type ServiceTypeWithLiterals, type ServiceWithAvailability, type Settings, type Slug, SortOrder, type SortOrderWithLiterals, type Sorting, SortingMethodType, type SortingMethodTypeWithLiterals, type StaffMediaItem, type StaffMediaItemItemOneOf, type StaffMember, type StaffMemberDetails, type StaffSortingPolicy, type StaffSortingPolicyOptionsOneOf, type StreetAddress, type SubscriptionPayment, type Tag, type TaxableAddress, TaxableAddressType, type TaxableAddressTypeWithLiterals, Timing, type TimingWithLiterals, type URLs, UnitType, type UnitTypeWithLiterals, type VariedPayment, type WaitlistPolicy, type WorkingHours, type WorkingHoursLocationCoverage };
1929
+ export { type AddOnDetails, type AddOnGroup, AddOnPaymentOptions, type AddOnPaymentOptionsWithLiterals, type Address, type AddressLocation, type AddressStreetOneOf, type Attribute, type AttributeValueOneOf, type AvailabilityConstraints, type BookAfterStartPolicy, type BookingPolicy, type BusinessLocationOptions, type CancellationFeePolicy, type CancellationPolicy, type CancellationWindow, type CancellationWindowFeeOneOf, type CatalogSearchResult, type Category, CompletionRequirement, type CompletionRequirementWithLiterals, type Conferencing, type CursorPaging, type CursorPagingMetadata, type Cursors, type CustomLocationOptions, type CustomOptions, type CustomPayment, type DailyConfig, type DiscountInfo, type Duration, type DurationRange, type DurationRangeConfigOneOf, type ExtendedFields, FirstChargeDateType, type FirstChargeDateTypeWithLiterals, type FixedPayment, type Form, type FormSettings, FrequencyType, type FrequencyTypeWithLiterals, type FullUpfrontPayment, type HourlyConfig, type IntakeFormPolicy, type Keyword, type LimitEarlyBookingPolicy, type LimitLateBookingPolicy, type Location, type LocationOptionsOneOf, LocationType, type LocationTypeWithLiterals, type Media, type MediaItem, type MediaItemItemOneOf, Mode, type ModeWithLiterals, type Money, type NumberRange, type NumberValues, type OnlineBooking, type Paging, type ParticipantsPolicy, type Payment, type PaymentOptions, type PaymentRateOneOf, type PhoneCall, type PolicyDescription, type QueryServicesByFiltersOptions, type QueryServicesByFiltersRequest, type QueryServicesByFiltersResponse, type QueryV2, type QueryV2PagingMethodOneOf, type RankingOptions, RankingOrder, type RankingOrderWithLiterals, RateType, type RateTypeWithLiterals, type RebookingFrequencyPolicy, type ReschedulePolicy, type ResourceDetails, type ResourceGroup, type ResourceIds, type ResourceInfo, type ResourceType, type ResourcesPolicy, type SaveCreditCardPolicy, type Schedule, type SeoSchema, type Service, type ServiceFilters, type ServiceResource, type ServiceResourceSelectionOneOf, ServiceType, type ServiceTypeWithLiterals, type ServiceWithAvailability, type Settings, type Slug, SortOrder, type SortOrderWithLiterals, type Sorting, SortingMethodType, type SortingMethodTypeWithLiterals, type StaffMediaItem, type StaffMediaItemItemOneOf, type StaffMember, type StaffMemberDetails, type StaffSortingPolicy, type StaffSortingPolicyOptionsOneOf, type StreetAddress, type SubscriptionPayment, type Tag, type TaxableAddress, TaxableAddressType, type TaxableAddressTypeWithLiterals, Timing, type TimingWithLiterals, type URLs, UnitType, type UnitTypeWithLiterals, type VariedPayment, type WaitlistPolicy, type WorkingHours, type WorkingHoursLocationCoverage };