@wix/auto_sdk_bookings_services 1.0.51 → 1.0.53

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.
Files changed (33) hide show
  1. package/build/cjs/index.typings.d.ts +2 -0
  2. package/build/cjs/src/bookings-services-v2-service-services.context.d.ts +1 -1
  3. package/build/cjs/src/bookings-services-v2-service-services.public.d.ts +3 -3
  4. package/build/cjs/src/bookings-services-v2-service-services.public.js.map +1 -1
  5. package/build/cjs/src/bookings-services-v2-service-services.types.d.ts +252 -201
  6. package/build/cjs/src/bookings-services-v2-service-services.types.js.map +1 -1
  7. package/build/cjs/src/bookings-services-v2-service-services.universal.d.ts +450 -209
  8. package/build/cjs/src/bookings-services-v2-service-services.universal.js.map +1 -1
  9. package/build/es/index.typings.d.ts +2 -0
  10. package/build/es/src/bookings-services-v2-service-services.context.d.ts +1 -1
  11. package/build/es/src/bookings-services-v2-service-services.public.d.ts +3 -3
  12. package/build/es/src/bookings-services-v2-service-services.public.js.map +1 -1
  13. package/build/es/src/bookings-services-v2-service-services.types.d.ts +252 -201
  14. package/build/es/src/bookings-services-v2-service-services.types.js.map +1 -1
  15. package/build/es/src/bookings-services-v2-service-services.universal.d.ts +450 -209
  16. package/build/es/src/bookings-services-v2-service-services.universal.js.map +1 -1
  17. package/build/internal/cjs/index.typings.d.ts +2 -0
  18. package/build/internal/cjs/src/bookings-services-v2-service-services.context.d.ts +1 -1
  19. package/build/internal/cjs/src/bookings-services-v2-service-services.public.d.ts +3 -3
  20. package/build/internal/cjs/src/bookings-services-v2-service-services.public.js.map +1 -1
  21. package/build/internal/cjs/src/bookings-services-v2-service-services.types.d.ts +252 -201
  22. package/build/internal/cjs/src/bookings-services-v2-service-services.types.js.map +1 -1
  23. package/build/internal/cjs/src/bookings-services-v2-service-services.universal.d.ts +450 -209
  24. package/build/internal/cjs/src/bookings-services-v2-service-services.universal.js.map +1 -1
  25. package/build/internal/es/index.typings.d.ts +2 -0
  26. package/build/internal/es/src/bookings-services-v2-service-services.context.d.ts +1 -1
  27. package/build/internal/es/src/bookings-services-v2-service-services.public.d.ts +3 -3
  28. package/build/internal/es/src/bookings-services-v2-service-services.public.js.map +1 -1
  29. package/build/internal/es/src/bookings-services-v2-service-services.types.d.ts +252 -201
  30. package/build/internal/es/src/bookings-services-v2-service-services.types.js.map +1 -1
  31. package/build/internal/es/src/bookings-services-v2-service-services.universal.d.ts +450 -209
  32. package/build/internal/es/src/bookings-services-v2-service-services.universal.js.map +1 -1
  33. package/package.json +3 -3
@@ -1,4 +1,4 @@
1
- import { NonNullablePaths } from '@wix/sdk-types';
1
+ import { Search as SearchSdkType, NonNullablePaths, SearchSpec } from '@wix/sdk-types';
2
2
  /** The `service` object represents an offering that a business provides to its customers. */
3
3
  export interface Service {
4
4
  /**
@@ -12,7 +12,7 @@ export interface Service {
12
12
  * Learn more about *service types*
13
13
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/about-service-types) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/about-service-types)).
14
14
  */
15
- type?: ServiceType;
15
+ type?: ServiceTypeWithLiterals;
16
16
  /**
17
17
  * Order of the service within a *category*
18
18
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/categories/setup) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/categories-v1/category-object)).
@@ -145,6 +145,8 @@ export declare enum ServiceType {
145
145
  /** Course service. */
146
146
  COURSE = "COURSE"
147
147
  }
148
+ /** @enumType */
149
+ export type ServiceTypeWithLiterals = ServiceType | 'APPOINTMENT' | 'CLASS' | 'COURSE';
148
150
  export interface Media {
149
151
  /**
150
152
  * Media items associated with the service.
@@ -217,7 +219,7 @@ export interface Payment extends PaymentRateOneOf {
217
219
  */
218
220
  varied?: VariedPayment;
219
221
  /** The rate the customer is expected to pay for the service. */
220
- rateType?: RateType;
222
+ rateType?: RateTypeWithLiterals;
221
223
  /** The payment options a customer can use to pay for the service. */
222
224
  options?: PaymentOptions;
223
225
  /**
@@ -262,6 +264,8 @@ export declare enum RateType {
262
264
  /** This service is offered free of charge. */
263
265
  NO_FEE = "NO_FEE"
264
266
  }
267
+ /** @enumType */
268
+ export type RateTypeWithLiterals = RateType | 'UNKNOWN_RATE_TYPE' | 'FIXED' | 'CUSTOM' | 'VARIED' | 'NO_FEE';
265
269
  export interface FixedPayment {
266
270
  /**
267
271
  * The fixed price required to book the service.
@@ -378,7 +382,7 @@ export interface Location extends LocationOptionsOneOf {
378
382
  *
379
383
  * Default: `CUSTOM`
380
384
  */
381
- type?: LocationType;
385
+ type?: LocationTypeWithLiterals;
382
386
  /**
383
387
  * Location address. Empty for `{"type": "CUSTOMER"}`.
384
388
  * @readonly
@@ -410,6 +414,8 @@ export declare enum LocationType {
410
414
  */
411
415
  CUSTOMER = "CUSTOMER"
412
416
  }
417
+ /** @enumType */
418
+ export type LocationTypeWithLiterals = LocationType | 'UNKNOWN_LOCATION_TYPE' | 'CUSTOM' | 'BUSINESS' | 'CUSTOMER';
413
419
  export interface CommonAddress extends CommonAddressStreetOneOf {
414
420
  /** Street name and number. */
415
421
  streetAddress?: StreetAddress;
@@ -891,12 +897,11 @@ export interface AvailabilityConstraints {
891
897
  */
892
898
  durations?: Duration[];
893
899
  /**
894
- * List of supported session durations in minutes. Specify `sessionDurations` only
895
- * for appointment-based services. Do not specify it for classes or courses. Note that
896
- * session durations for appointment-based services with varied pricing based on
897
- * session length are retrieved from service *variants*
898
- * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/service-options-and-variants/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction)),
899
- * while this array is ignored.
900
+ * List of supported session durations in minutes.
901
+ *
902
+ * - For appointment-based services, specify `sessionDurations` when creating a service.
903
+ * - 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 ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/service-options-and-variants/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction)).
904
+ * - For classes or courses, don't specify `sessionDurations` when creating a service.
900
905
  *
901
906
  * Min: `1` minute
902
907
  * Max: `44639` minutes (30 days, 23 hours, and 59 minutes)
@@ -1298,7 +1303,7 @@ export interface IdentificationData extends IdentificationDataIdOneOf {
1298
1303
  */
1299
1304
  appId?: string;
1300
1305
  /** @readonly */
1301
- identityType?: WebhookIdentityType;
1306
+ identityType?: WebhookIdentityTypeWithLiterals;
1302
1307
  }
1303
1308
  /** @oneof */
1304
1309
  export interface IdentificationDataIdOneOf {
@@ -1330,6 +1335,174 @@ export declare enum WebhookIdentityType {
1330
1335
  WIX_USER = "WIX_USER",
1331
1336
  APP = "APP"
1332
1337
  }
1338
+ /** @enumType */
1339
+ export type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP';
1340
+ export interface CreateAddOnGroupRequest {
1341
+ /** AddOnGroup to create. */
1342
+ addOnGroup?: AddOnGroup;
1343
+ /**
1344
+ * ID of the service to create the AddOnGroup for.
1345
+ * @format GUID
1346
+ */
1347
+ serviceId?: string | null;
1348
+ }
1349
+ export interface CreateAddOnGroupResponse {
1350
+ /** Created AddOnGroup. */
1351
+ addOnGroup?: AddOnGroup;
1352
+ }
1353
+ export interface DeleteAddOnGroupRequest {
1354
+ /**
1355
+ * ID of the AddOnGroup to delete.
1356
+ * @format GUID
1357
+ */
1358
+ addOnGroupId?: string | null;
1359
+ /**
1360
+ * ID of the service from which to delete the AddOnGroup.
1361
+ * @format GUID
1362
+ */
1363
+ serviceId?: string | null;
1364
+ }
1365
+ export interface DeleteAddOnGroupResponse {
1366
+ }
1367
+ export interface UpdateAddOnGroupRequest {
1368
+ /** AddOnGroup to update. */
1369
+ addOnGroup?: AddOnGroup;
1370
+ /**
1371
+ * ID of the service that contains the AddOnGroup.
1372
+ * @format GUID
1373
+ */
1374
+ serviceId?: string | null;
1375
+ }
1376
+ export interface UpdateAddOnGroupResponse {
1377
+ /** Updated AddOnGroup */
1378
+ addOnGroup?: AddOnGroup;
1379
+ }
1380
+ export interface ListAddOnGroupsByServiceIdRequest {
1381
+ /**
1382
+ * ID of the service to retrieve AddOnGroups for.
1383
+ * @format GUID
1384
+ */
1385
+ serviceId?: string | null;
1386
+ /**
1387
+ * List of group ids to return. If not provided, all groups are returned.
1388
+ * @format GUID
1389
+ * @maxSize 3
1390
+ */
1391
+ groupIds?: string[] | null;
1392
+ }
1393
+ export interface ListAddOnGroupsByServiceIdResponse {
1394
+ /**
1395
+ * List of group IDs and their linked AddOns.
1396
+ * @maxSize 3
1397
+ */
1398
+ addOnGroupsDetails?: AddOnGroupDetail[];
1399
+ }
1400
+ export interface AddOn extends AddOnAddOnInfoOneOf {
1401
+ /** The AddOn description. */
1402
+ durationInMinutes?: number;
1403
+ /** The AddOn max quantity. */
1404
+ maxQuantity?: number;
1405
+ /**
1406
+ * The AddOn ID.
1407
+ * @format GUID
1408
+ */
1409
+ addOnId?: string | null;
1410
+ /**
1411
+ * The AddOn name.
1412
+ * @maxLength 100
1413
+ */
1414
+ name?: string | null;
1415
+ /** The AddOn price. */
1416
+ price?: Money;
1417
+ }
1418
+ /** @oneof */
1419
+ export interface AddOnAddOnInfoOneOf {
1420
+ /** The AddOn description. */
1421
+ durationInMinutes?: number;
1422
+ /** The AddOn max quantity. */
1423
+ maxQuantity?: number;
1424
+ }
1425
+ export interface AddOnGroupDetail {
1426
+ /**
1427
+ * The group ID.
1428
+ * @format GUID
1429
+ */
1430
+ groupId?: string | null;
1431
+ /** The group max number of AddOns. */
1432
+ maxNumberOfAddOns?: number | null;
1433
+ /**
1434
+ * The group name.
1435
+ * @maxLength 100
1436
+ */
1437
+ groupName?: string | null;
1438
+ /**
1439
+ * The AddOns information linked to the group.
1440
+ * @maxSize 7
1441
+ */
1442
+ addOns?: AddOn[];
1443
+ /**
1444
+ * The group prompt.
1445
+ * @maxLength 200
1446
+ */
1447
+ prompt?: string | null;
1448
+ }
1449
+ export interface SetAddOnsForGroupRequest {
1450
+ /**
1451
+ * The service ID to set AddOns for.
1452
+ * @format GUID
1453
+ */
1454
+ serviceId?: string | null;
1455
+ /**
1456
+ * The group ID to set AddOns for.
1457
+ * @format GUID
1458
+ */
1459
+ groupId?: string | null;
1460
+ /**
1461
+ * The IDs of AddOns to set.
1462
+ * @format GUID
1463
+ * @minSize 1
1464
+ * @maxSize 7
1465
+ */
1466
+ addOnIds?: string[] | null;
1467
+ }
1468
+ export interface SetAddOnsForGroupResponse {
1469
+ /** The updated AddOnGroup. */
1470
+ addOnGroup?: AddOnGroup;
1471
+ }
1472
+ export interface ValidateAddOnsSelectionRequest {
1473
+ /**
1474
+ * The service ID to validate AddOns against.
1475
+ * @format GUID
1476
+ */
1477
+ serviceId?: string | null;
1478
+ /**
1479
+ * The group ID to validate AddOns against.
1480
+ * @format GUID
1481
+ */
1482
+ groupId?: string | null;
1483
+ /**
1484
+ * The IDs of AddOns to validate.
1485
+ * @format GUID
1486
+ * @minSize 1
1487
+ * @maxSize 7
1488
+ */
1489
+ addOnIds?: string[] | null;
1490
+ }
1491
+ export interface ValidateAddOnsSelectionResponse {
1492
+ /** The validation result. */
1493
+ result?: ValidationResult;
1494
+ }
1495
+ export interface ValidationResult {
1496
+ /** Whether the AddOns selection is valid. */
1497
+ valid?: boolean | null;
1498
+ /**
1499
+ * A validation error message.
1500
+ * This field should populated when `valid` is `false`.
1501
+ * @minLength 1
1502
+ * @maxLength 300
1503
+ */
1504
+ message?: string | null;
1505
+ }
1333
1506
  export interface CreateServiceRequest {
1334
1507
  /** Service to create. */
1335
1508
  service: Service;
@@ -1430,6 +1603,8 @@ export declare enum V2RequestedFields {
1430
1603
  /** When passed, `service.service_resources.resource_type.name` is returned. */
1431
1604
  RESOURCE_TYPE_DETAILS = "RESOURCE_TYPE_DETAILS"
1432
1605
  }
1606
+ /** @enumType */
1607
+ export type V2RequestedFieldsWithLiterals = V2RequestedFields | 'UNKNOWN_REQUESTED_FIELD' | 'STAFF_MEMBER_DETAILS' | 'RESOURCE_TYPE_DETAILS';
1433
1608
  export interface GetServiceResponse {
1434
1609
  /** Retrieved service. */
1435
1610
  service?: Service;
@@ -1670,12 +1845,14 @@ export interface Sorting {
1670
1845
  */
1671
1846
  fieldName?: string;
1672
1847
  /** Sort order. */
1673
- order?: SortOrder;
1848
+ order?: SortOrderWithLiterals;
1674
1849
  }
1675
1850
  export declare enum SortOrder {
1676
1851
  ASC = "ASC",
1677
1852
  DESC = "DESC"
1678
1853
  }
1854
+ /** @enumType */
1855
+ export type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';
1679
1856
  export interface Paging {
1680
1857
  /** Number of items to load. */
1681
1858
  limit?: number | null;
@@ -1789,7 +1966,7 @@ export interface Aggregation extends AggregationKindOneOf {
1789
1966
  */
1790
1967
  name?: string | null;
1791
1968
  /** Type of aggregation, client must provide matching aggregation field below */
1792
- type?: AggregationType;
1969
+ type?: AggregationTypeWithLiterals;
1793
1970
  /**
1794
1971
  * Field to aggregate by, use dot notation to specify json path
1795
1972
  * @maxLength 200
@@ -1826,14 +2003,20 @@ export declare enum SortType {
1826
2003
  COUNT = "COUNT",
1827
2004
  VALUE = "VALUE"
1828
2005
  }
2006
+ /** @enumType */
2007
+ export type SortTypeWithLiterals = SortType | 'COUNT' | 'VALUE';
1829
2008
  export declare enum SortDirection {
1830
2009
  DESC = "DESC",
1831
2010
  ASC = "ASC"
1832
2011
  }
2012
+ /** @enumType */
2013
+ export type SortDirectionWithLiterals = SortDirection | 'DESC' | 'ASC';
1833
2014
  export declare enum MissingValues {
1834
2015
  EXCLUDE = "EXCLUDE",
1835
2016
  INCLUDE = "INCLUDE"
1836
2017
  }
2018
+ /** @enumType */
2019
+ export type MissingValuesWithLiterals = MissingValues | 'EXCLUDE' | 'INCLUDE';
1837
2020
  export interface IncludeMissingValuesOptions {
1838
2021
  /**
1839
2022
  * can specify custom bucket name. Defaults are [string -> "N/A"], [int -> "0"], [bool -> "false"] ...
@@ -1847,17 +2030,19 @@ export declare enum ScalarType {
1847
2030
  MIN = "MIN",
1848
2031
  MAX = "MAX"
1849
2032
  }
2033
+ /** @enumType */
2034
+ export type ScalarTypeWithLiterals = ScalarType | 'UNKNOWN_SCALAR_TYPE' | 'COUNT_DISTINCT' | 'MIN' | 'MAX';
1850
2035
  export interface ValueAggregation extends ValueAggregationOptionsOneOf {
1851
2036
  /** options for including missing values */
1852
2037
  includeOptions?: IncludeMissingValuesOptions;
1853
2038
  /** Should sort by number of matches or value of the field */
1854
- sortType?: SortType;
2039
+ sortType?: SortTypeWithLiterals;
1855
2040
  /** Should sort in ascending or descending order */
1856
- sortDirection?: SortDirection;
2041
+ sortDirection?: SortDirectionWithLiterals;
1857
2042
  /** How many aggregations would you like to return? Can be between 1 and 250. 10 is the default. */
1858
2043
  limit?: number | null;
1859
2044
  /** should missing values be included or excluded from the aggregation results. Default is EXCLUDE */
1860
- missingValues?: MissingValues;
2045
+ missingValues?: MissingValuesWithLiterals;
1861
2046
  }
1862
2047
  /** @oneof */
1863
2048
  export interface ValueAggregationOptionsOneOf {
@@ -1871,6 +2056,8 @@ export declare enum NestedAggregationType {
1871
2056
  SCALAR = "SCALAR",
1872
2057
  DATE_HISTOGRAM = "DATE_HISTOGRAM"
1873
2058
  }
2059
+ /** @enumType */
2060
+ export type NestedAggregationTypeWithLiterals = NestedAggregationType | 'UNKNOWN_AGGREGATION_TYPE' | 'VALUE' | 'RANGE' | 'SCALAR' | 'DATE_HISTOGRAM';
1874
2061
  export interface RangeAggregation {
1875
2062
  /**
1876
2063
  * Range buckets
@@ -1880,11 +2067,11 @@ export interface RangeAggregation {
1880
2067
  }
1881
2068
  export interface ScalarAggregation {
1882
2069
  /** Define the operator for the scalar aggregation */
1883
- type?: ScalarType;
2070
+ type?: ScalarTypeWithLiterals;
1884
2071
  }
1885
2072
  export interface DateHistogramAggregation {
1886
2073
  /** Interval for date histogram aggregation */
1887
- interval?: Interval;
2074
+ interval?: IntervalWithLiterals;
1888
2075
  }
1889
2076
  export declare enum Interval {
1890
2077
  /** Unknown interval. */
@@ -1904,6 +2091,8 @@ export declare enum Interval {
1904
2091
  /** Second interval. */
1905
2092
  SECOND = "SECOND"
1906
2093
  }
2094
+ /** @enumType */
2095
+ export type IntervalWithLiterals = Interval | 'UNKNOWN_INTERVAL' | 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND';
1907
2096
  export interface NestedAggregationItem extends NestedAggregationItemKindOneOf {
1908
2097
  /** Value aggregation */
1909
2098
  value?: ValueAggregation;
@@ -1919,7 +2108,7 @@ export interface NestedAggregationItem extends NestedAggregationItemKindOneOf {
1919
2108
  */
1920
2109
  name?: string | null;
1921
2110
  /** Type of aggregation, client must provide matching aggregation field below */
1922
- type?: NestedAggregationType;
2111
+ type?: NestedAggregationTypeWithLiterals;
1923
2112
  /**
1924
2113
  * Field to aggregate by, use dont notation to specify json path
1925
2114
  * @maxLength 200
@@ -1945,6 +2134,8 @@ export declare enum AggregationType {
1945
2134
  DATE_HISTOGRAM = "DATE_HISTOGRAM",
1946
2135
  NESTED = "NESTED"
1947
2136
  }
2137
+ /** @enumType */
2138
+ export type AggregationTypeWithLiterals = AggregationType | 'UNKNOWN_AGGREGATION_TYPE' | 'VALUE' | 'RANGE' | 'SCALAR' | 'DATE_HISTOGRAM' | 'NESTED';
1948
2139
  /** nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one */
1949
2140
  export interface NestedAggregation {
1950
2141
  /**
@@ -1975,7 +2166,7 @@ export interface GroupByAggregationKindOneOf {
1975
2166
  }
1976
2167
  export interface SearchDetails {
1977
2168
  /** Boolean search mode */
1978
- mode?: Mode;
2169
+ mode?: ModeWithLiterals;
1979
2170
  /**
1980
2171
  * Search term or expression
1981
2172
  * @maxLength 200
@@ -1996,6 +2187,8 @@ export declare enum Mode {
1996
2187
  /** All */
1997
2188
  AND = "AND"
1998
2189
  }
2190
+ /** @enumType */
2191
+ export type ModeWithLiterals = Mode | 'OR' | 'AND';
1999
2192
  export interface SearchServicesResponse {
2000
2193
  /** The retrieved services. */
2001
2194
  services?: Service[];
@@ -2053,7 +2246,7 @@ export interface NestedAggregationResults extends NestedAggregationResultsResult
2053
2246
  */
2054
2247
  name?: string;
2055
2248
  /** Type of aggregation that matches result */
2056
- type?: AggregationType;
2249
+ type?: AggregationTypeWithLiterals;
2057
2250
  /**
2058
2251
  * Field to aggregate by, matches the one provided in request
2059
2252
  * @maxLength 200
@@ -2085,7 +2278,7 @@ export interface RangeResults {
2085
2278
  }
2086
2279
  export interface AggregationResultsScalarResult {
2087
2280
  /** Type of scalar aggregation */
2088
- type?: ScalarType;
2281
+ type?: ScalarTypeWithLiterals;
2089
2282
  /** Value of the scalar aggregation */
2090
2283
  value?: number;
2091
2284
  }
@@ -2197,7 +2390,7 @@ export interface AggregationResults extends AggregationResultsResultOneOf {
2197
2390
  */
2198
2391
  name?: string;
2199
2392
  /** Type of aggregation that must match provided kind as derived from search request */
2200
- type?: AggregationType;
2393
+ type?: AggregationTypeWithLiterals;
2201
2394
  /**
2202
2395
  * Field to aggregate by as derived from search request
2203
2396
  * @maxLength 200
@@ -2285,7 +2478,7 @@ export interface QueryBookingFormsRequest {
2285
2478
  * Conditional fields to return.
2286
2479
  * @maxSize 1
2287
2480
  */
2288
- conditionalFields?: RequestedFields[];
2481
+ conditionalFields?: RequestedFieldsWithLiterals[];
2289
2482
  }
2290
2483
  export declare enum RequestedFields {
2291
2484
  /** Unknown requested conditional field. */
@@ -2293,6 +2486,8 @@ export declare enum RequestedFields {
2293
2486
  /** Whether to return the site's default booking form. */
2294
2487
  DEFAULT_BOOKING_FORM = "DEFAULT_BOOKING_FORM"
2295
2488
  }
2489
+ /** @enumType */
2490
+ export type RequestedFieldsWithLiterals = RequestedFields | 'UNKNOWN_REQUESTED_FIELD' | 'DEFAULT_BOOKING_FORM';
2296
2491
  export interface QueryBookingFormsResponse {
2297
2492
  /** Retrieved booking forms and information about connected services. */
2298
2493
  bookingForms?: BookingForm[];
@@ -2489,7 +2684,7 @@ export interface RemovedLocationSessionsAction extends RemovedLocationSessionsAc
2489
2684
  */
2490
2685
  moveToLocationOptions?: MoveToNewLocationsOptions;
2491
2686
  /** Information about what to do with future events at the removed location. */
2492
- action?: Action;
2687
+ action?: ActionWithLiterals;
2493
2688
  }
2494
2689
  /** @oneof */
2495
2690
  export interface RemovedLocationSessionsActionActionOptionsOneOf {
@@ -2511,6 +2706,8 @@ export declare enum Action {
2511
2706
  */
2512
2707
  DELETE = "DELETE"
2513
2708
  }
2709
+ /** @enumType */
2710
+ export type ActionWithLiterals = Action | 'UNKNOWN_ACTION_TYPE' | 'KEEP_AT_CURRENT_LOCATION' | 'MOVE_TO_LOCATION' | 'DELETE';
2514
2711
  export interface MoveToNewLocationsOptions {
2515
2712
  /** The new location to move existing sessions currently set to a removed location, used when `action` is `MOVE_TO_LOCATION`. */
2516
2713
  newLocation?: Location;
@@ -2611,7 +2808,7 @@ export interface ValidateSlugResponse {
2611
2808
  * Reasons why the slug is invalid. Available only if `{"valid": false}`.
2612
2809
  * @maxSize 3
2613
2810
  */
2614
- errors?: InvalidSlugError[];
2811
+ errors?: InvalidSlugErrorWithLiterals[];
2615
2812
  }
2616
2813
  export declare enum InvalidSlugError {
2617
2814
  /** Unknown slug error. */
@@ -2621,6 +2818,8 @@ export declare enum InvalidSlugError {
2621
2818
  /** Slug is already associated with another service. */
2622
2819
  SLUG_ALREADY_EXISTS = "SLUG_ALREADY_EXISTS"
2623
2820
  }
2821
+ /** @enumType */
2822
+ export type InvalidSlugErrorWithLiterals = InvalidSlugError | 'UNKNOWN_SLUG_ERROR' | 'SLUG_CONTAINS_ILLEGAL_CHARACTERS' | 'SLUG_ALREADY_EXISTS';
2624
2823
  export interface CloneServiceRequest {
2625
2824
  /**
2626
2825
  * ID of the service to clone.
@@ -2636,7 +2835,7 @@ export interface CloneServiceResponse {
2636
2835
  * future recurring events, the booking form, service variants, and connected
2637
2836
  * pricing plans.
2638
2837
  */
2639
- errors?: CloneErrors[];
2838
+ errors?: CloneErrorsWithLiterals[];
2640
2839
  }
2641
2840
  export declare enum CloneErrors {
2642
2841
  /**
@@ -2647,10 +2846,12 @@ export declare enum CloneErrors {
2647
2846
  /** Failed to clone the original service's *booking form*. */
2648
2847
  FORM = "FORM"
2649
2848
  }
2849
+ /** @enumType */
2850
+ export type CloneErrorsWithLiterals = CloneErrors | 'OPTIONS_AND_VARIANTS' | 'FORM';
2650
2851
  /** An event sent every time a category entity is changed. */
2651
2852
  export interface CategoryNotification {
2652
2853
  category?: Category;
2653
- event?: CategoryNotificationEvent;
2854
+ event?: CategoryNotificationEventWithLiterals;
2654
2855
  }
2655
2856
  /** Categories are used to group multiple services together. A service must be associated with a category in order to be exposed in the Wix Bookings UI. */
2656
2857
  export interface Category {
@@ -2671,7 +2872,7 @@ export interface Category {
2671
2872
  * Default: `CREATED`
2672
2873
  * @readonly
2673
2874
  */
2674
- status?: Status;
2875
+ status?: StatusWithLiterals;
2675
2876
  /** Sort order of the category in the live site and dashboard. */
2676
2877
  sortOrder?: number | null;
2677
2878
  }
@@ -2681,6 +2882,8 @@ export declare enum Status {
2681
2882
  /** The category was deleted. */
2682
2883
  DELETED = "DELETED"
2683
2884
  }
2885
+ /** @enumType */
2886
+ export type StatusWithLiterals = Status | 'CREATED' | 'DELETED';
2684
2887
  export declare enum CategoryNotificationEvent {
2685
2888
  /** Category was updated. */
2686
2889
  Updated = "Updated",
@@ -2689,6 +2892,8 @@ export declare enum CategoryNotificationEvent {
2689
2892
  /** Category was created. */
2690
2893
  Created = "Created"
2691
2894
  }
2895
+ /** @enumType */
2896
+ export type CategoryNotificationEventWithLiterals = CategoryNotificationEvent | 'Updated' | 'Deleted' | 'Created';
2692
2897
  export interface Empty {
2693
2898
  }
2694
2899
  export interface BenefitNotification {
@@ -2707,7 +2912,7 @@ export interface BenefitNotification {
2707
2912
  /** Previous benefit */
2708
2913
  prevBenefit?: Benefit;
2709
2914
  /** Notification event */
2710
- event?: Event;
2915
+ event?: EventWithLiterals;
2711
2916
  }
2712
2917
  export interface Benefit {
2713
2918
  /**
@@ -2717,7 +2922,7 @@ export interface Benefit {
2717
2922
  */
2718
2923
  _id?: string | null;
2719
2924
  /** Benefit Type */
2720
- benefitType?: BenefitType;
2925
+ benefitType?: BenefitTypeWithLiterals;
2721
2926
  /**
2722
2927
  * Resource IDs that serves by this benefit
2723
2928
  * @format GUID
@@ -2776,6 +2981,8 @@ export declare enum BenefitType {
2776
2981
  /** Unlimited benefit type */
2777
2982
  UNLIMITED = "UNLIMITED"
2778
2983
  }
2984
+ /** @enumType */
2985
+ export type BenefitTypeWithLiterals = BenefitType | 'UNDEFINED' | 'LIMITED' | 'UNLIMITED';
2779
2986
  export interface Behavior extends BehaviorBehaviorOneOf {
2780
2987
  /** Entry pass for resources, e.g. a ticket for Bookings service or a ticket for Events. */
2781
2988
  defaultBehavior?: EntryPass;
@@ -2794,9 +3001,11 @@ export declare enum Event {
2794
3001
  Deleted = "Deleted",
2795
3002
  Created = "Created"
2796
3003
  }
3004
+ /** @enumType */
3005
+ export type EventWithLiterals = Event | 'Updated' | 'Deleted' | 'Created';
2797
3006
  export interface UserDomainInfoChangedEvent {
2798
3007
  domainName?: string;
2799
- crudType?: CrudType;
3008
+ crudType?: CrudTypeWithLiterals;
2800
3009
  /** @format GUID */
2801
3010
  metaSiteId?: string | null;
2802
3011
  changeTime?: Date | null;
@@ -2809,6 +3018,8 @@ export declare enum CrudType {
2809
3018
  /** Unfortunately this action is used by hibernate save in wix-war */
2810
3019
  CREATE_OR_UPDATE = "CREATE_OR_UPDATE"
2811
3020
  }
3021
+ /** @enumType */
3022
+ export type CrudTypeWithLiterals = CrudType | 'INVALID_CRUD_TYPE' | 'CREATE' | 'UPDATE' | 'DELETE' | 'CREATE_OR_UPDATE';
2812
3023
  export interface HtmlSitePublished {
2813
3024
  /**
2814
3025
  * Application instance ID
@@ -2978,7 +3189,7 @@ export interface AddressHint {
2978
3189
  /** Extra text displayed next to, or instead of, the actual address. */
2979
3190
  text?: string;
2980
3191
  /** Where the extra text should be displayed. */
2981
- placement?: PlacementType;
3192
+ placement?: PlacementTypeWithLiterals;
2982
3193
  }
2983
3194
  /** Where the extra text should be displayed: before, after or instead of the actual address. */
2984
3195
  export declare enum PlacementType {
@@ -2986,6 +3197,8 @@ export declare enum PlacementType {
2986
3197
  AFTER = "AFTER",
2987
3198
  REPLACE = "REPLACE"
2988
3199
  }
3200
+ /** @enumType */
3201
+ export type PlacementTypeWithLiterals = PlacementType | 'BEFORE' | 'AFTER' | 'REPLACE';
2989
3202
  /** Geocoordinates for a particular address. */
2990
3203
  export interface GeoCoordinates {
2991
3204
  /** Latitude of the location. Must be between -90 and 90. */
@@ -3009,14 +3222,14 @@ export interface BusinessSchedule {
3009
3222
  /** Weekly recurring time periods when the business is regularly open or the service is available. */
3010
3223
  export interface TimePeriod {
3011
3224
  /** Day of the week the period starts on. */
3012
- openDay?: DayOfWeek;
3225
+ openDay?: DayOfWeekWithLiterals;
3013
3226
  /**
3014
3227
  * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents
3015
3228
  * midnight at the end of the specified day.
3016
3229
  */
3017
3230
  openTime?: string;
3018
3231
  /** Day of the week the period ends on. */
3019
- closeDay?: DayOfWeek;
3232
+ closeDay?: DayOfWeekWithLiterals;
3020
3233
  /**
3021
3234
  * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents
3022
3235
  * midnight at the end of the specified day.
@@ -3035,6 +3248,8 @@ export declare enum DayOfWeek {
3035
3248
  SATURDAY = "SATURDAY",
3036
3249
  SUNDAY = "SUNDAY"
3037
3250
  }
3251
+ /** @enumType */
3252
+ export type DayOfWeekWithLiterals = DayOfWeek | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY';
3038
3253
  /** Exception to the business's regular hours. The business can be open or closed during the exception. */
3039
3254
  export interface SpecialHourPeriod {
3040
3255
  /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */
@@ -3069,13 +3284,15 @@ export interface SupportedLanguage {
3069
3284
  /** Language icon. */
3070
3285
  countryCode?: string;
3071
3286
  /** How the language will be resolved. For internal use. */
3072
- resolutionMethod?: ResolutionMethod;
3287
+ resolutionMethod?: ResolutionMethodWithLiterals;
3073
3288
  }
3074
3289
  export declare enum ResolutionMethod {
3075
3290
  QUERY_PARAM = "QUERY_PARAM",
3076
3291
  SUBDOMAIN = "SUBDOMAIN",
3077
3292
  SUBDIRECTORY = "SUBDIRECTORY"
3078
3293
  }
3294
+ /** @enumType */
3295
+ export type ResolutionMethodWithLiterals = ResolutionMethod | 'QUERY_PARAM' | 'SUBDOMAIN' | 'SUBDIRECTORY';
3079
3296
  export interface ConsentPolicy {
3080
3297
  /** Whether the site uses cookies that are essential to site operation. Always `true`. */
3081
3298
  essential?: boolean | null;
@@ -3124,172 +3341,6 @@ export interface SiteCloned {
3124
3341
  /** Origin site id. */
3125
3342
  originMetaSiteId?: string;
3126
3343
  }
3127
- export interface CreateAddOnGroupRequest {
3128
- /** AddOnGroup to create. */
3129
- addOnGroup?: AddOnGroup;
3130
- /**
3131
- * ID of the service to create the AddOnGroup for.
3132
- * @format GUID
3133
- */
3134
- serviceId?: string | null;
3135
- }
3136
- export interface CreateAddOnGroupResponse {
3137
- /** Created AddOnGroup. */
3138
- addOnGroup?: AddOnGroup;
3139
- }
3140
- export interface DeleteAddOnGroupRequest {
3141
- /**
3142
- * ID of the AddOnGroup to delete.
3143
- * @format GUID
3144
- */
3145
- addOnGroupId?: string | null;
3146
- /**
3147
- * ID of the service from which to delete the AddOnGroup.
3148
- * @format GUID
3149
- */
3150
- serviceId?: string | null;
3151
- }
3152
- export interface DeleteAddOnGroupResponse {
3153
- }
3154
- export interface UpdateAddOnGroupRequest {
3155
- /** AddOnGroup to update. */
3156
- addOnGroup?: AddOnGroup;
3157
- /**
3158
- * ID of the service that contains the AddOnGroup.
3159
- * @format GUID
3160
- */
3161
- serviceId?: string | null;
3162
- }
3163
- export interface UpdateAddOnGroupResponse {
3164
- /** Updated AddOnGroup */
3165
- addOnGroup?: AddOnGroup;
3166
- }
3167
- export interface ListAddOnGroupsByServiceIdRequest {
3168
- /**
3169
- * ID of the service to retrieve AddOnGroups for.
3170
- * @format GUID
3171
- */
3172
- serviceId?: string | null;
3173
- /**
3174
- * List of group ids to return. If not provided, all groups are returned.
3175
- * @format GUID
3176
- * @maxSize 3
3177
- */
3178
- groupIds?: string[] | null;
3179
- }
3180
- export interface ListAddOnGroupsByServiceIdResponse {
3181
- /**
3182
- * List of group IDs and their linked AddOns.
3183
- * @maxSize 3
3184
- */
3185
- addOnGroupsDetails?: AddOnGroupDetail[];
3186
- }
3187
- export interface AddOn extends AddOnAddOnInfoOneOf {
3188
- /** The AddOn description. */
3189
- durationInMinutes?: number;
3190
- /** The AddOn max quantity. */
3191
- maxQuantity?: number;
3192
- /**
3193
- * The AddOn ID.
3194
- * @format GUID
3195
- */
3196
- addOnId?: string | null;
3197
- /**
3198
- * The AddOn name.
3199
- * @maxLength 100
3200
- */
3201
- name?: string | null;
3202
- /** The AddOn price. */
3203
- price?: Money;
3204
- }
3205
- /** @oneof */
3206
- export interface AddOnAddOnInfoOneOf {
3207
- /** The AddOn description. */
3208
- durationInMinutes?: number;
3209
- /** The AddOn max quantity. */
3210
- maxQuantity?: number;
3211
- }
3212
- export interface AddOnGroupDetail {
3213
- /**
3214
- * The group ID.
3215
- * @format GUID
3216
- */
3217
- groupId?: string | null;
3218
- /** The group max number of AddOns. */
3219
- maxNumberOfAddOns?: number | null;
3220
- /**
3221
- * The group name.
3222
- * @maxLength 100
3223
- */
3224
- groupName?: string | null;
3225
- /**
3226
- * The AddOns information linked to the group.
3227
- * @maxSize 7
3228
- */
3229
- addOns?: AddOn[];
3230
- /**
3231
- * The group prompt.
3232
- * @maxLength 200
3233
- */
3234
- prompt?: string | null;
3235
- }
3236
- export interface SetAddOnsForGroupRequest {
3237
- /**
3238
- * The service ID to set AddOns for.
3239
- * @format GUID
3240
- */
3241
- serviceId?: string | null;
3242
- /**
3243
- * The group ID to set AddOns for.
3244
- * @format GUID
3245
- */
3246
- groupId?: string | null;
3247
- /**
3248
- * The IDs of AddOns to set.
3249
- * @format GUID
3250
- * @minSize 1
3251
- * @maxSize 7
3252
- */
3253
- addOnIds?: string[] | null;
3254
- }
3255
- export interface SetAddOnsForGroupResponse {
3256
- /** The updated AddOnGroup. */
3257
- addOnGroup?: AddOnGroup;
3258
- }
3259
- export interface ValidateAddOnsSelectionRequest {
3260
- /**
3261
- * The service ID to validate AddOns against.
3262
- * @format GUID
3263
- */
3264
- serviceId?: string | null;
3265
- /**
3266
- * The group ID to validate AddOns against.
3267
- * @format GUID
3268
- */
3269
- groupId?: string | null;
3270
- /**
3271
- * The IDs of AddOns to validate.
3272
- * @format GUID
3273
- * @minSize 1
3274
- * @maxSize 7
3275
- */
3276
- addOnIds?: string[] | null;
3277
- }
3278
- export interface ValidateAddOnsSelectionResponse {
3279
- /** The validation result. */
3280
- result?: ValidationResult;
3281
- }
3282
- export interface ValidationResult {
3283
- /** Whether the AddOns selection is valid. */
3284
- valid?: boolean | null;
3285
- /**
3286
- * A validation error message.
3287
- * This field should populated when `valid` is `false`.
3288
- * @minLength 1
3289
- * @maxLength 300
3290
- */
3291
- message?: string | null;
3292
- }
3293
3344
  export interface BaseEventMetadata {
3294
3345
  /**
3295
3346
  * App instance ID.
@@ -3564,7 +3615,7 @@ export interface UpdateService {
3564
3615
  * Learn more about *service types*
3565
3616
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/about-service-types) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/about-service-types)).
3566
3617
  */
3567
- type?: ServiceType;
3618
+ type?: ServiceTypeWithLiterals;
3568
3619
  /**
3569
3620
  * Order of the service within a *category*
3570
3621
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/categories/setup) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/categories-v1/category-object)).
@@ -3930,19 +3981,19 @@ export interface ServicesQueryBuilder {
3930
3981
  /** @param propertyName - Property whose value is compared with `value`.
3931
3982
  * @param value - Value to compare against.
3932
3983
  */
3933
- ge: (propertyName: 'schedule.firstSessionStart' | 'schedule.lastSessionEnd', value: any) => ServicesQueryBuilder;
3984
+ ge: (propertyName: '_id' | 'name' | 'description' | 'tagLine' | 'category.id' | 'category.name' | 'form.id' | 'locations.business.id' | 'schedule.firstSessionStart' | 'schedule.lastSessionEnd' | 'supportedSlugs.name' | 'mainSlug.name', value: any) => ServicesQueryBuilder;
3934
3985
  /** @param propertyName - Property whose value is compared with `value`.
3935
3986
  * @param value - Value to compare against.
3936
3987
  */
3937
- gt: (propertyName: 'schedule.firstSessionStart' | 'schedule.lastSessionEnd', value: any) => ServicesQueryBuilder;
3988
+ gt: (propertyName: '_id' | 'name' | 'description' | 'tagLine' | 'category.id' | 'category.name' | 'form.id' | 'locations.business.id' | 'schedule.firstSessionStart' | 'schedule.lastSessionEnd' | 'supportedSlugs.name' | 'mainSlug.name', value: any) => ServicesQueryBuilder;
3938
3989
  /** @param propertyName - Property whose value is compared with `value`.
3939
3990
  * @param value - Value to compare against.
3940
3991
  */
3941
- le: (propertyName: 'schedule.firstSessionStart' | 'schedule.lastSessionEnd', value: any) => ServicesQueryBuilder;
3992
+ le: (propertyName: '_id' | 'name' | 'description' | 'tagLine' | 'category.id' | 'category.name' | 'form.id' | 'locations.business.id' | 'schedule.firstSessionStart' | 'schedule.lastSessionEnd' | 'supportedSlugs.name' | 'mainSlug.name', value: any) => ServicesQueryBuilder;
3942
3993
  /** @param propertyName - Property whose value is compared with `value`.
3943
3994
  * @param value - Value to compare against.
3944
3995
  */
3945
- lt: (propertyName: 'schedule.firstSessionStart' | 'schedule.lastSessionEnd', value: any) => ServicesQueryBuilder;
3996
+ lt: (propertyName: '_id' | 'name' | 'description' | 'tagLine' | 'category.id' | 'category.name' | 'form.id' | 'locations.business.id' | 'schedule.firstSessionStart' | 'schedule.lastSessionEnd' | 'supportedSlugs.name' | 'mainSlug.name', value: any) => ServicesQueryBuilder;
3946
3997
  /** @param propertyName - Property whose value is compared with `string`.
3947
3998
  * @param string - String to compare against. Case-insensitive.
3948
3999
  */
@@ -4014,9 +4065,199 @@ export interface ServicesQueryBuilder {
4014
4065
  * @applicableIdentity VISITOR
4015
4066
  * @fqn wix.bookings.services.v2.ServicesService.SearchServices
4016
4067
  */
4017
- export declare function searchServices(search: CursorSearch): Promise<NonNullablePaths<SearchServicesResponse, {
4068
+ export declare function searchServices(search: ServiceSearch): Promise<NonNullablePaths<SearchServicesResponse, {
4018
4069
  [P in ServiceNonNullablePaths]: `services.${number}.${P}`;
4019
4070
  }[ServiceNonNullablePaths] | `aggregationData.results` | `aggregationData.results.${number}.scalar.type` | `aggregationData.results.${number}.scalar.value` | `aggregationData.results.${number}.name` | `aggregationData.results.${number}.type` | `aggregationData.results.${number}.fieldPath`>>;
4071
+ export interface ServiceSearchSpec extends SearchSpec {
4072
+ aggregatable: [
4073
+ '_id',
4074
+ 'addOnDetails.addOnId',
4075
+ 'addOnDetails.durationInMinutes',
4076
+ 'appId',
4077
+ 'category._id',
4078
+ 'category.name',
4079
+ 'category.sortOrder',
4080
+ 'description',
4081
+ 'form._id',
4082
+ 'hidden',
4083
+ 'locations.business._id',
4084
+ 'locations.business.name',
4085
+ 'locations.type',
4086
+ 'mainSlug.name',
4087
+ 'name',
4088
+ 'onlineBooking.enabled',
4089
+ 'payment.options.inPerson',
4090
+ 'payment.options.online',
4091
+ 'payment.options.pricingPlan',
4092
+ 'staffMemberIds',
4093
+ 'supportedSlugs.name',
4094
+ 'tagLine',
4095
+ 'type'
4096
+ ];
4097
+ paging: 'cursor';
4098
+ wql: [
4099
+ {
4100
+ operators: ['$hasAll', '$hasSome'];
4101
+ fields: [
4102
+ 'locations.business._id',
4103
+ 'locations.business.name',
4104
+ 'locations.calculatedAddress.formattedAddress',
4105
+ 'locations.type',
4106
+ 'staffMemberIds',
4107
+ 'supportedSlugs.name'
4108
+ ];
4109
+ sort: 'NONE';
4110
+ },
4111
+ {
4112
+ operators: '*';
4113
+ fields: [
4114
+ '_id',
4115
+ 'addOnDetails.addOnId',
4116
+ 'addOnDetails.durationInMinutes',
4117
+ 'appId',
4118
+ 'category._id',
4119
+ 'category.name',
4120
+ 'category.sortOrder',
4121
+ 'description',
4122
+ 'form._id',
4123
+ 'hidden',
4124
+ 'mainSlug.name',
4125
+ 'name',
4126
+ 'onlineBooking.enabled',
4127
+ 'payment.options.inPerson',
4128
+ 'payment.options.online',
4129
+ 'payment.options.pricingPlan',
4130
+ 'tagLine',
4131
+ 'type'
4132
+ ];
4133
+ sort: 'NONE';
4134
+ }
4135
+ ];
4136
+ }
4137
+ export type CommonSearchWithEntityContext = SearchSdkType<Service, ServiceSearchSpec>;
4138
+ export type ServiceSearch = {
4139
+ /**
4140
+ Cursor pointing to page of results.
4141
+ When requesting 'cursor_paging.cursor', no `filter`, `sort` or `search` can be provided.
4142
+ */
4143
+ cursorPaging?: {
4144
+ /**
4145
+ Number of items to load.
4146
+ @max: 100
4147
+ */
4148
+ limit?: NonNullable<CommonSearchWithEntityContext['cursorPaging']>['limit'] | null;
4149
+ /**
4150
+ Pointer to the next or previous page in the list of results.
4151
+
4152
+ You can get the relevant cursor token
4153
+ from the `pagingMetadata` object in the previous call's response.
4154
+ Not relevant for the first request.
4155
+ @maxLength: 16000
4156
+ */
4157
+ cursor?: NonNullable<CommonSearchWithEntityContext['cursorPaging']>['cursor'] | null;
4158
+ };
4159
+ /**
4160
+ A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf)
4161
+ */
4162
+ filter?: CommonSearchWithEntityContext['filter'] | null;
4163
+ /**
4164
+ Sort object in the form [{"fieldName":"sortField1"},{"fieldName":"sortField2","direction":"DESC"}]
4165
+ @maxSize: 10
4166
+ */
4167
+ sort?: {
4168
+ /**
4169
+ Name of the field to sort by.
4170
+ @maxLength: 512
4171
+ */
4172
+ fieldName?: NonNullable<CommonSearchWithEntityContext['sort']>[number]['fieldName'];
4173
+ /**
4174
+ Sort order.
4175
+ */
4176
+ order?: NonNullable<CommonSearchWithEntityContext['sort']>[number]['order'];
4177
+ }[];
4178
+ /**
4179
+ Aggregations | Faceted search: refers to a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition.
4180
+ @maxSize: 10
4181
+ */
4182
+ aggregations?: {
4183
+ /**
4184
+ Value aggregation
4185
+ */
4186
+ value?: NonNullable<CommonSearchWithEntityContext['aggregations']>[number]['value'];
4187
+ /**
4188
+ Range aggregation
4189
+ */
4190
+ range?: NonNullable<CommonSearchWithEntityContext['aggregations']>[number]['range'];
4191
+ /**
4192
+ Scalar aggregation
4193
+ */
4194
+ scalar?: NonNullable<CommonSearchWithEntityContext['aggregations']>[number]['scalar'];
4195
+ /**
4196
+ Date histogram aggregation
4197
+ */
4198
+ dateHistogram?: NonNullable<CommonSearchWithEntityContext['aggregations']>[number]['dateHistogram'];
4199
+ /**
4200
+ Nested aggregation
4201
+ */
4202
+ nested?: NonNullable<CommonSearchWithEntityContext['aggregations']>[number]['nested'];
4203
+ /**
4204
+ User-defined name of aggregation, should be unique, will appear in aggregation results
4205
+ @maxLength: 100
4206
+ */
4207
+ name?: NonNullable<CommonSearchWithEntityContext['aggregations']>[number]['name'] | null;
4208
+ /**
4209
+ Type of aggregation, client must provide matching aggregation field below
4210
+ */
4211
+ type?: NonNullable<CommonSearchWithEntityContext['aggregations']>[number]['type'];
4212
+ /**
4213
+ Field to aggregate by, use dot notation to specify json path
4214
+ @maxLength: 200
4215
+ */
4216
+ fieldPath?: NonNullable<CommonSearchWithEntityContext['aggregations']>[number]['fieldPath'];
4217
+ /**
4218
+ deprecated, use `nested` instead
4219
+ @deprecated: deprecated, use `nested` instead,
4220
+ @replacedBy: kind.nested,
4221
+ @targetRemovalDate: 2025-01-01
4222
+ */
4223
+ groupBy?: NonNullable<CommonSearchWithEntityContext['aggregations']>[number]['groupBy'];
4224
+ }[];
4225
+ /**
4226
+ Free text to match in searchable fields
4227
+ */
4228
+ search?: {
4229
+ /**
4230
+ Boolean search mode
4231
+ */
4232
+ mode?: NonNullable<CommonSearchWithEntityContext['search']>['mode'];
4233
+ /**
4234
+ Search term or expression
4235
+ @maxLength: 200
4236
+ */
4237
+ expression?: NonNullable<CommonSearchWithEntityContext['search']>['expression'] | null;
4238
+ /**
4239
+ Fields to search in. If empty - server will search in own default fields
4240
+ @maxSize: 10,
4241
+ @maxLength: 200
4242
+ */
4243
+ fields?: NonNullable<CommonSearchWithEntityContext['search']>['fields'];
4244
+ /**
4245
+ Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm)
4246
+ */
4247
+ fuzzy?: NonNullable<CommonSearchWithEntityContext['search']>['fuzzy'];
4248
+ };
4249
+ /**
4250
+ UTC offset or IANA time zone. Valid values are
4251
+ ISO 8601 UTC offsets, such as +02:00 or -06:00,
4252
+ and IANA time zone IDs, such as Europe/Rome
4253
+
4254
+ Affects all filters and aggregations returned values.
4255
+ You may override this behavior in a specific filter by providing
4256
+ timestamps including time zone. e.g. `"2023-12-20T10:52:34.795Z"`
4257
+ @maxLength: 50
4258
+ */
4259
+ timeZone?: CommonSearchWithEntityContext['timeZone'] | null;
4260
+ };
4020
4261
  /**
4021
4262
  * Retrieves a list of up to 100 *booking policies*
4022
4263
  * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/booking-policies/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/policies/booking-policies/introduction)),
@@ -4173,7 +4414,7 @@ export interface QueryBookingFormsOptions {
4173
4414
  * Conditional fields to return.
4174
4415
  * @maxSize 1
4175
4416
  */
4176
- conditionalFields?: RequestedFields[];
4417
+ conditionalFields?: RequestedFieldsWithLiterals[];
4177
4418
  }
4178
4419
  /**
4179
4420
  * Counts how many services match the given filter.