@wix/auto_sdk_bookings_services 1.0.63 → 1.0.64

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.
@@ -1894,61 +1894,48 @@ interface PagingMetadataV2 {
1894
1894
  }
1895
1895
  interface Cursors {
1896
1896
  /**
1897
- * Cursor token for retrieving the next page of results.
1898
- *
1899
- * Use this token in subsequent requests to continue pagination forward.
1900
- * Value is `null` when on the last page of results.
1897
+ * Cursor pointing to next page in the list of results.
1901
1898
  * @maxLength 16000
1902
1899
  */
1903
1900
  next?: string | null;
1904
1901
  /**
1905
- * Cursor token for retrieving the previous page of results.
1906
- *
1907
- * Use this token to navigate backwards through result pages.
1908
- * Value is `null` when on the first page of results.
1902
+ * Cursor pointing to previous page in the list of results.
1909
1903
  * @maxLength 16000
1910
1904
  */
1911
1905
  prev?: string | null;
1912
1906
  }
1913
1907
  interface SearchServicesRequest {
1914
- /**
1915
- * Search criteria including filter, sort, aggregations, and paging options.
1916
- *
1917
- * Refer to the supported filters article ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/supported-filters) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/filtering-and-sorting)) for complete filter and sorting options.
1918
- */
1908
+ /** WQL, search or aggregation expression. */
1919
1909
  search: CursorSearch;
1920
1910
  }
1921
1911
  interface CursorSearch extends CursorSearchPagingMethodOneOf {
1922
1912
  /**
1923
- * Cursor-based paging for result navigation. When requesting `cursor_paging.cursor`,
1924
- * `filter`, `sort`, or `search` can't be specified.
1913
+ * Cursor pointing to page of results.
1914
+ * When requesting 'cursor_paging.cursor', no `filter`, `sort` or `search` can be provided.
1925
1915
  */
1926
1916
  cursorPaging?: CursorPaging;
1927
- /**
1928
- * Filter object for narrowing search results. For example, to return only services with specific payment options: `"filter": {"payment.options.online": true, "payment.options.in_person": false}`.
1929
- *
1930
- * Learn more about the filter format in the supported filters article ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/supported-filters) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/filtering-and-sorting)).
1931
- */
1917
+ /** 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) */
1932
1918
  filter?: Record<string, any> | null;
1933
1919
  /**
1934
- * Array of sort objects specifying result order. For example, to sort by creation date in descending order: `"sort": [{"fieldName": "createdDate", "order": "DESC"}]`.
1935
- *
1936
- * Learn more about the sort format in the supported filters article ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/supported-filters) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/filtering-and-sorting)).
1920
+ * Sort object in the form [{"fieldName":"sortField1"},{"fieldName":"sortField2","direction":"DESC"}]
1937
1921
  * @maxSize 10
1938
1922
  */
1939
1923
  sort?: Sorting[];
1940
1924
  /**
1941
- * Aggregations for grouping data into categories (facets) and providing summaries for each category.
1942
- * For example, use aggregations to categorize search results by service type, payment options, or locations.
1925
+ * 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.
1943
1926
  * @maxSize 10
1944
1927
  */
1945
1928
  aggregations?: Aggregation[];
1946
- /** Free text to match in searchable fields. */
1929
+ /** Free text to match in searchable fields */
1947
1930
  search?: SearchDetails;
1948
1931
  /**
1949
- * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) or [ISO 8601 UTC offset format](https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC) for adjusting time fields in the specified filters and returned aggregation data. For example, `America/New_York`, `UTC`, or `+02:00`.
1932
+ * UTC offset or IANA time zone. Valid values are
1933
+ * ISO 8601 UTC offsets, such as +02:00 or -06:00,
1934
+ * and IANA time zone IDs, such as Europe/Rome
1950
1935
  *
1951
- * Default: Time zone specified in the business [site properties](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties).
1936
+ * Affects all filters and aggregations returned values.
1937
+ * You may override this behavior in a specific filter by providing
1938
+ * timestamps including time zone. e.g. `"2023-12-20T10:52:34.795Z"`
1952
1939
  * @maxLength 50
1953
1940
  */
1954
1941
  timeZone?: string | null;
@@ -1956,37 +1943,37 @@ interface CursorSearch extends CursorSearchPagingMethodOneOf {
1956
1943
  /** @oneof */
1957
1944
  interface CursorSearchPagingMethodOneOf {
1958
1945
  /**
1959
- * Cursor-based paging for result navigation. When requesting `cursor_paging.cursor`,
1960
- * `filter`, `sort`, or `search` can't be specified.
1946
+ * Cursor pointing to page of results.
1947
+ * When requesting 'cursor_paging.cursor', no `filter`, `sort` or `search` can be provided.
1961
1948
  */
1962
1949
  cursorPaging?: CursorPaging;
1963
1950
  }
1964
1951
  interface Aggregation extends AggregationKindOneOf {
1965
- /** Value aggregation configuration. */
1952
+ /** Value aggregation */
1966
1953
  value?: ValueAggregation;
1967
- /** Range aggregation configuration. */
1954
+ /** Range aggregation */
1968
1955
  range?: RangeAggregation;
1969
- /** Scalar aggregation configuration. */
1956
+ /** Scalar aggregation */
1970
1957
  scalar?: ScalarAggregation;
1971
- /** Date histogram aggregation configuration. */
1958
+ /** Date histogram aggregation */
1972
1959
  dateHistogram?: DateHistogramAggregation;
1973
- /** Nested aggregation configuration. */
1960
+ /** Nested aggregation */
1974
1961
  nested?: NestedAggregation;
1975
1962
  /**
1976
- * User-defined name of aggregation. Must be unique and will appear in aggregation results.
1963
+ * User-defined name of aggregation, should be unique, will appear in aggregation results
1977
1964
  * @maxLength 100
1978
1965
  */
1979
1966
  name?: string | null;
1980
- /** Type of aggregation. Client must specify matching aggregation field below. */
1967
+ /** Type of aggregation, client must provide matching aggregation field below */
1981
1968
  type?: AggregationTypeWithLiterals;
1982
1969
  /**
1983
- * Path to the field to aggregate by in dot notation. For example `name` or `paymentOptions.online`.
1970
+ * Field to aggregate by, use dot notation to specify json path
1984
1971
  * @maxLength 200
1985
1972
  */
1986
1973
  fieldPath?: string;
1987
1974
  /**
1988
- * Deprecated, use `nested` instead.
1989
- * @deprecated Deprecated, use `nested` instead.
1975
+ * deprecated, use `nested` instead
1976
+ * @deprecated deprecated, use `nested` instead
1990
1977
  * @replacedBy kind.nested
1991
1978
  * @targetRemovalDate 2025-01-01
1992
1979
  */
@@ -1994,21 +1981,21 @@ interface Aggregation extends AggregationKindOneOf {
1994
1981
  }
1995
1982
  /** @oneof */
1996
1983
  interface AggregationKindOneOf {
1997
- /** Value aggregation configuration. */
1984
+ /** Value aggregation */
1998
1985
  value?: ValueAggregation;
1999
- /** Range aggregation configuration. */
1986
+ /** Range aggregation */
2000
1987
  range?: RangeAggregation;
2001
- /** Scalar aggregation configuration. */
1988
+ /** Scalar aggregation */
2002
1989
  scalar?: ScalarAggregation;
2003
- /** Date histogram aggregation configuration. */
1990
+ /** Date histogram aggregation */
2004
1991
  dateHistogram?: DateHistogramAggregation;
2005
- /** Nested aggregation configuration. */
1992
+ /** Nested aggregation */
2006
1993
  nested?: NestedAggregation;
2007
1994
  }
2008
1995
  interface RangeBucket {
2009
- /** Inclusive lower bound of the range. Required if `to` isn't specified. */
1996
+ /** Inclusive lower bound of the range. Required if to is not given. */
2010
1997
  from?: number | null;
2011
- /** Exclusive upper bound of the range. Required if `from` isn't specified. */
1998
+ /** Exclusive upper bound of the range. Required if from is not given. */
2012
1999
  to?: number | null;
2013
2000
  }
2014
2001
  declare enum SortType {
@@ -2031,80 +2018,58 @@ declare enum MissingValues {
2031
2018
  type MissingValuesWithLiterals = MissingValues | 'EXCLUDE' | 'INCLUDE';
2032
2019
  interface IncludeMissingValuesOptions {
2033
2020
  /**
2034
- * Custom bucket name for missing values.
2035
- *
2036
- * Default values:
2037
- * - string: `N/A`
2038
- * - int: `0`
2039
- * - bool: `false`
2021
+ * can specify custom bucket name. Defaults are [string -> "N/A"], [int -> "0"], [bool -> "false"] ...
2040
2022
  * @maxLength 20
2041
2023
  */
2042
2024
  addToBucket?: string;
2043
2025
  }
2044
2026
  declare enum ScalarType {
2045
2027
  UNKNOWN_SCALAR_TYPE = "UNKNOWN_SCALAR_TYPE",
2046
- /** Total number of distinct values. */
2047
2028
  COUNT_DISTINCT = "COUNT_DISTINCT",
2048
- /** Minimum value. */
2049
2029
  MIN = "MIN",
2050
- /** Maximum value. */
2051
2030
  MAX = "MAX"
2052
2031
  }
2053
2032
  /** @enumType */
2054
2033
  type ScalarTypeWithLiterals = ScalarType | 'UNKNOWN_SCALAR_TYPE' | 'COUNT_DISTINCT' | 'MIN' | 'MAX';
2055
2034
  interface ValueAggregation extends ValueAggregationOptionsOneOf {
2056
- /** Options for including missing values in the aggregation results. */
2035
+ /** options for including missing values */
2057
2036
  includeOptions?: IncludeMissingValuesOptions;
2058
- /** Whether to sort by number of matches or value of the field. */
2037
+ /** Should sort by number of matches or value of the field */
2059
2038
  sortType?: SortTypeWithLiterals;
2060
- /** Whether to sort in ascending or descending order. */
2039
+ /** Should sort in ascending or descending order */
2061
2040
  sortDirection?: SortDirectionWithLiterals;
2062
- /**
2063
- * Number of aggregations to return.
2064
- *
2065
- * Min: `1`
2066
- * Max: `250`
2067
- * Default: `10`
2068
- */
2041
+ /** How many aggregations would you like to return? Can be between 1 and 250. 10 is the default. */
2069
2042
  limit?: number | null;
2070
- /**
2071
- * Whether missing values should be included or excluded from the aggregation results.
2072
- *
2073
- * Default: `EXCLUDE`
2074
- */
2043
+ /** should missing values be included or excluded from the aggregation results. Default is EXCLUDE */
2075
2044
  missingValues?: MissingValuesWithLiterals;
2076
2045
  }
2077
2046
  /** @oneof */
2078
2047
  interface ValueAggregationOptionsOneOf {
2079
- /** Options for including missing values in the aggregation results. */
2048
+ /** options for including missing values */
2080
2049
  includeOptions?: IncludeMissingValuesOptions;
2081
2050
  }
2082
2051
  declare enum NestedAggregationType {
2083
2052
  UNKNOWN_AGGREGATION_TYPE = "UNKNOWN_AGGREGATION_TYPE",
2084
- /** Calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. */
2085
2053
  VALUE = "VALUE",
2086
- /** Calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. */
2087
2054
  RANGE = "RANGE",
2088
- /** Calculates a single numerical value from a dataset, summarizing the dataset into 1 key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */
2089
2055
  SCALAR = "SCALAR",
2090
- /** Calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). */
2091
2056
  DATE_HISTOGRAM = "DATE_HISTOGRAM"
2092
2057
  }
2093
2058
  /** @enumType */
2094
2059
  type NestedAggregationTypeWithLiterals = NestedAggregationType | 'UNKNOWN_AGGREGATION_TYPE' | 'VALUE' | 'RANGE' | 'SCALAR' | 'DATE_HISTOGRAM';
2095
2060
  interface RangeAggregation {
2096
2061
  /**
2097
- * List of range buckets defining the ranges for aggregation. During aggregation, each entity is placed in the first bucket where its value falls within the specified range bounds.
2062
+ * Range buckets
2098
2063
  * @maxSize 50
2099
2064
  */
2100
2065
  buckets?: RangeBucket[];
2101
2066
  }
2102
2067
  interface ScalarAggregation {
2103
- /** Operator for the scalar aggregation, for example `COUNT_DISTINCT`, `MIN`, `MAX`. */
2068
+ /** Define the operator for the scalar aggregation */
2104
2069
  type?: ScalarTypeWithLiterals;
2105
2070
  }
2106
2071
  interface DateHistogramAggregation {
2107
- /** Time interval for date histogram aggregation, for example `DAY`, `HOUR`, `MONTH`. */
2072
+ /** Interval for date histogram aggregation */
2108
2073
  interval?: IntervalWithLiterals;
2109
2074
  }
2110
2075
  declare enum Interval {
@@ -2128,355 +2093,322 @@ declare enum Interval {
2128
2093
  /** @enumType */
2129
2094
  type IntervalWithLiterals = Interval | 'UNKNOWN_INTERVAL' | 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND';
2130
2095
  interface NestedAggregationItem extends NestedAggregationItemKindOneOf {
2131
- /** Value aggregation configuration. Calculates the distribution of field values within the dataset. */
2096
+ /** Value aggregation */
2132
2097
  value?: ValueAggregation;
2133
- /** Range aggregation configuration. Calculates counts within user-defined value ranges. */
2098
+ /** Range aggregation */
2134
2099
  range?: RangeAggregation;
2135
- /** Scalar aggregation configuration. Calculates single numerical metrics like count, min, max, sum, or average. */
2100
+ /** Scalar aggregation */
2136
2101
  scalar?: ScalarAggregation;
2137
- /** Date histogram aggregation configuration. Calculates counts within time intervals. */
2102
+ /** Date histogram aggregation */
2138
2103
  dateHistogram?: DateHistogramAggregation;
2139
2104
  /**
2140
- * User-defined name of aggregation. Must be unique and will appear in aggregation results.
2105
+ * User-defined name of aggregation, should be unique, will appear in aggregation results
2141
2106
  * @maxLength 100
2142
2107
  */
2143
2108
  name?: string | null;
2144
- /** Type of aggregation. Client must specify matching aggregation field below. */
2109
+ /** Type of aggregation, client must provide matching aggregation field below */
2145
2110
  type?: NestedAggregationTypeWithLiterals;
2146
2111
  /**
2147
- * Path to the field to aggregate by in dot notation. For example `name` or `paymentOptions.online`.
2112
+ * Field to aggregate by, use dont notation to specify json path
2148
2113
  * @maxLength 200
2149
2114
  */
2150
2115
  fieldPath?: string;
2151
2116
  }
2152
2117
  /** @oneof */
2153
2118
  interface NestedAggregationItemKindOneOf {
2154
- /** Value aggregation configuration. Calculates the distribution of field values within the dataset. */
2119
+ /** Value aggregation */
2155
2120
  value?: ValueAggregation;
2156
- /** Range aggregation configuration. Calculates counts within user-defined value ranges. */
2121
+ /** Range aggregation */
2157
2122
  range?: RangeAggregation;
2158
- /** Scalar aggregation configuration. Calculates single numerical metrics like count, min, max, sum, or average. */
2123
+ /** Scalar aggregation */
2159
2124
  scalar?: ScalarAggregation;
2160
- /** Date histogram aggregation configuration. Calculates counts within time intervals. */
2125
+ /** Date histogram aggregation */
2161
2126
  dateHistogram?: DateHistogramAggregation;
2162
2127
  }
2163
2128
  declare enum AggregationType {
2164
2129
  UNKNOWN_AGGREGATION_TYPE = "UNKNOWN_AGGREGATION_TYPE",
2165
- /** Calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. */
2166
2130
  VALUE = "VALUE",
2167
- /** Calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. */
2168
2131
  RANGE = "RANGE",
2169
- /** Calculates a single numerical value from a dataset, summarizing the dataset into 1 key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */
2170
2132
  SCALAR = "SCALAR",
2171
- /** Calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). */
2172
2133
  DATE_HISTOGRAM = "DATE_HISTOGRAM",
2173
- /** Flattened list of aggregations, where each aggregation is nested within previous 1. */
2174
2134
  NESTED = "NESTED"
2175
2135
  }
2176
2136
  /** @enumType */
2177
2137
  type AggregationTypeWithLiterals = AggregationType | 'UNKNOWN_AGGREGATION_TYPE' | 'VALUE' | 'RANGE' | 'SCALAR' | 'DATE_HISTOGRAM' | 'NESTED';
2178
- /** Nested aggregation for multi-level faceted search. Allows exploring large amounts of data through multiple levels of categorization, where each subsequent aggregation is nested within the previous aggregation to create hierarchical data summaries. */
2138
+ /** nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one */
2179
2139
  interface NestedAggregation {
2180
2140
  /**
2181
- * Flattened list of aggregations where each next aggregation is nested within the previous 1.
2141
+ * Flattened list of aggregations, where each next aggregation is nested within previous one
2182
2142
  * @minSize 2
2183
2143
  * @maxSize 10
2184
2144
  */
2185
2145
  nestedAggregations?: NestedAggregationItem[];
2186
2146
  }
2187
2147
  interface GroupByAggregation extends GroupByAggregationKindOneOf {
2188
- /** Value aggregation configuration. */
2148
+ /** Value aggregation configuration */
2189
2149
  value?: ValueAggregation;
2190
2150
  /**
2191
- * User-defined name of aggregation. Must be unique and will appear in aggregation results.
2151
+ * User-defined name of aggregation, should be unique, will appear in aggregation results
2192
2152
  * @maxLength 100
2193
2153
  */
2194
2154
  name?: string | null;
2195
2155
  /**
2196
- * Path to the field to aggregate by in dot notation. For example `name` or `paymentOptions.online`.
2156
+ * Field to aggregate by
2197
2157
  * @maxLength 200
2198
2158
  */
2199
2159
  fieldPath?: string;
2200
2160
  }
2201
2161
  /** @oneof */
2202
2162
  interface GroupByAggregationKindOneOf {
2203
- /** Value aggregation configuration. */
2163
+ /** Value aggregation configuration */
2204
2164
  value?: ValueAggregation;
2205
2165
  }
2206
2166
  interface SearchDetails {
2207
- /** Search mode. Defines the search logic for combining multiple terms in the `expression`. */
2167
+ /** Boolean search mode */
2208
2168
  mode?: ModeWithLiterals;
2209
2169
  /**
2210
- * Search term or expression.
2170
+ * Search term or expression
2211
2171
  * @maxLength 200
2212
2172
  */
2213
2173
  expression?: string | null;
2214
2174
  /**
2215
- * Fields to search in. If the array is empty, all searchable fields are searched. Use dot notation to specify a JSON path. For example, `order.address.streetName`.
2175
+ * Fields to search in. If empty - server will search in own default fields
2216
2176
  * @maxSize 10
2217
2177
  * @maxLength 200
2218
2178
  */
2219
2179
  fields?: string[];
2220
- /** Whether to enable the search function to use an algorithm to automatically find results that are close to the search expression, such as typos and declensions. */
2180
+ /** Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */
2221
2181
  fuzzy?: boolean;
2222
2182
  }
2223
2183
  declare enum Mode {
2224
- /** At least 1 of the search terms must be present. */
2184
+ /** Any */
2225
2185
  OR = "OR",
2226
- /** All search terms must be present. */
2186
+ /** All */
2227
2187
  AND = "AND"
2228
2188
  }
2229
2189
  /** @enumType */
2230
2190
  type ModeWithLiterals = Mode | 'OR' | 'AND';
2231
2191
  interface SearchServicesResponse {
2232
- /**
2233
- * Retrieved services that match the search criteria specified in the request.
2234
- *
2235
- * Each service includes all standard service information including name, description,
2236
- * pricing details, location options, schedule information, and payment configuration.
2237
- */
2192
+ /** The retrieved services. */
2238
2193
  services?: Service[];
2239
- /**
2240
- * Cursor-based paging metadata for navigating search results.
2241
- *
2242
- * Contains the current page's cursor information, whether there are more results available,
2243
- * and count details. Use the `next` cursor to retrieve subsequent pages of results.
2244
- */
2194
+ /** Cursor paging metadata */
2245
2195
  pagingMetadata?: CursorPagingMetadata;
2246
- /**
2247
- * Aggregation results based on the aggregations specified in the search request.
2248
- *
2249
- * Provides categorized data summaries such as service counts by type, location distribution,
2250
- * payment method statistics, or custom aggregations. Available only when aggregations
2251
- * are requested in the search criteria.
2252
- */
2196
+ /** Response aggregation data */
2253
2197
  aggregationData?: AggregationData;
2254
2198
  }
2255
2199
  interface CursorPagingMetadata {
2256
- /**
2257
- * Number of items returned in the current response page.
2258
- *
2259
- * This count reflects the actual number of items in the current result set,
2260
- * which may be less than the requested limit if fewer items are available.
2261
- */
2200
+ /** Number of items returned in the response. */
2262
2201
  count?: number | null;
2263
- /**
2264
- * Navigation cursors for moving between result pages.
2265
- *
2266
- * Contains `next` and `prev` cursor tokens for pagination. Use the `next` cursor
2267
- * to retrieve subsequent pages and `prev` cursor to go back to previous pages.
2268
- * Learn more about cursor paging in the [API Query Language guide](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_cursor-paging).
2269
- */
2202
+ /** Use these cursor to paginate between results. [Read more](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_cursor-paging). */
2270
2203
  cursors?: Cursors;
2271
2204
  /**
2272
- * Indicates whether additional results are available beyond the current page.
2273
- *
2274
- * - `true`: More results exist and can be retrieved using the `next` cursor.
2275
- * - `false`: This is the final page of results.
2205
+ * Indicates if there are more results after the current page.
2206
+ * If `true`, another page of results can be retrieved.
2207
+ * If `false`, this is the last page.
2276
2208
  */
2277
2209
  hasNext?: boolean | null;
2278
2210
  }
2279
2211
  interface AggregationData {
2280
2212
  /**
2281
- * Array of aggregation results, each containing the aggregation metadata and its calculated values for the specified search criteria.
2213
+ * key = aggregation name (as derived from search request)
2282
2214
  * @maxSize 10000
2283
2215
  */
2284
2216
  results?: AggregationResults[];
2285
2217
  }
2286
2218
  interface ValueAggregationResult {
2287
2219
  /**
2288
- * Value of the field.
2220
+ * Value of the field
2289
2221
  * @maxLength 100
2290
2222
  */
2291
2223
  value?: string;
2292
- /** Count of entities with this value. */
2224
+ /** Count of entities with this value */
2293
2225
  count?: number;
2294
2226
  }
2295
2227
  interface RangeAggregationResult {
2296
- /** Inclusive lower bound of the range. */
2228
+ /** Inclusive lower bound of the range */
2297
2229
  from?: number | null;
2298
- /** Exclusive upper bound of the range. */
2230
+ /** Exclusive upper bound of the range */
2299
2231
  to?: number | null;
2300
- /** Count of entities in this range. */
2232
+ /** Count of entities in this range */
2301
2233
  count?: number;
2302
2234
  }
2303
2235
  interface NestedAggregationResults extends NestedAggregationResultsResultOneOf {
2304
- /** Value aggregation results. */
2236
+ /** Value aggregation results */
2305
2237
  values?: ValueResults;
2306
- /** Range aggregation results. */
2238
+ /** Range aggregation results */
2307
2239
  ranges?: RangeResults;
2308
- /** Scalar aggregation results. */
2240
+ /** Scalar aggregation results */
2309
2241
  scalar?: AggregationResultsScalarResult;
2310
2242
  /**
2311
- * User-defined name of aggregation, matches the one specified in request.
2243
+ * User-defined name of aggregation, matches the one provided in request
2312
2244
  * @maxLength 100
2313
2245
  */
2314
2246
  name?: string;
2315
- /** Type of aggregation that matches result. */
2247
+ /** Type of aggregation that matches result */
2316
2248
  type?: AggregationTypeWithLiterals;
2317
2249
  /**
2318
- * Path to the field to aggregate by in dot notation. For example `name` or `paymentOptions.online`.
2250
+ * Field to aggregate by, matches the one provided in request
2319
2251
  * @maxLength 200
2320
2252
  */
2321
2253
  fieldPath?: string;
2322
2254
  }
2323
2255
  /** @oneof */
2324
2256
  interface NestedAggregationResultsResultOneOf {
2325
- /** Value aggregation results. */
2257
+ /** Value aggregation results */
2326
2258
  values?: ValueResults;
2327
- /** Range aggregation results. */
2259
+ /** Range aggregation results */
2328
2260
  ranges?: RangeResults;
2329
- /** Scalar aggregation results. */
2261
+ /** Scalar aggregation results */
2330
2262
  scalar?: AggregationResultsScalarResult;
2331
2263
  }
2332
2264
  interface ValueResults {
2333
2265
  /**
2334
- * Array of value aggregation results, each containing a field value and the count of entities with that value.
2266
+ * List of value aggregations
2335
2267
  * @maxSize 250
2336
2268
  */
2337
2269
  results?: ValueAggregationResult[];
2338
2270
  }
2339
2271
  interface RangeResults {
2340
2272
  /**
2341
- * Array of range aggregation results returned in the same order as requested, each containing range bounds and count of entities within that range.
2273
+ * List of ranges returned in same order as requested
2342
2274
  * @maxSize 50
2343
2275
  */
2344
2276
  results?: RangeAggregationResult[];
2345
2277
  }
2346
2278
  interface AggregationResultsScalarResult {
2347
- /** Type of scalar aggregation. */
2279
+ /** Type of scalar aggregation */
2348
2280
  type?: ScalarTypeWithLiterals;
2349
- /** Value of the scalar aggregation. */
2281
+ /** Value of the scalar aggregation */
2350
2282
  value?: number;
2351
2283
  }
2352
2284
  interface NestedValueAggregationResult {
2353
2285
  /**
2354
- * Value of the field.
2286
+ * Value of the field
2355
2287
  * @maxLength 1000
2356
2288
  */
2357
2289
  value?: string;
2358
- /** Nested aggregations. */
2290
+ /** Nested aggregations */
2359
2291
  nestedResults?: NestedAggregationResults;
2360
2292
  }
2361
2293
  interface ValueResult {
2362
2294
  /**
2363
- * Value of the field.
2295
+ * Value of the field
2364
2296
  * @maxLength 1000
2365
2297
  */
2366
2298
  value?: string;
2367
- /** Count of entities with this value. */
2299
+ /** Count of entities with this value */
2368
2300
  count?: number | null;
2369
2301
  }
2370
2302
  interface RangeResult {
2371
- /** Inclusive lower bound of the range. */
2303
+ /** Inclusive lower bound of the range */
2372
2304
  from?: number | null;
2373
- /** Exclusive upper bound of the range. */
2305
+ /** Exclusive upper bound of the range */
2374
2306
  to?: number | null;
2375
- /** Count of entities in this range. */
2307
+ /** Count of entities in this range */
2376
2308
  count?: number | null;
2377
2309
  }
2378
2310
  interface ScalarResult {
2379
- /** Value of the scalar aggregation. */
2311
+ /** Value of the scalar aggregation */
2380
2312
  value?: number;
2381
2313
  }
2382
2314
  interface NestedResultValue extends NestedResultValueResultOneOf {
2383
- /** Value aggregation result. */
2315
+ /** Value aggregation result */
2384
2316
  value?: ValueResult;
2385
- /** Range aggregation result. */
2317
+ /** Range aggregation result */
2386
2318
  range?: RangeResult;
2387
- /** Scalar aggregation result. */
2319
+ /** Scalar aggregation result */
2388
2320
  scalar?: ScalarResult;
2389
- /** Date histogram aggregation result. */
2321
+ /** Date histogram aggregation result */
2390
2322
  dateHistogram?: ValueResult;
2391
2323
  }
2392
2324
  /** @oneof */
2393
2325
  interface NestedResultValueResultOneOf {
2394
- /** Value aggregation result. */
2326
+ /** Value aggregation result */
2395
2327
  value?: ValueResult;
2396
- /** Range aggregation result. */
2328
+ /** Range aggregation result */
2397
2329
  range?: RangeResult;
2398
- /** Scalar aggregation result. */
2330
+ /** Scalar aggregation result */
2399
2331
  scalar?: ScalarResult;
2400
- /** Date histogram aggregation result. */
2332
+ /** Date histogram aggregation result */
2401
2333
  dateHistogram?: ValueResult;
2402
2334
  }
2403
2335
  interface Results {
2404
- /** Map of nested aggregation results, keyed by aggregation name. */
2336
+ /** List of nested aggregations */
2405
2337
  results?: Record<string, NestedResultValue>;
2406
2338
  }
2407
2339
  interface DateHistogramResult {
2408
2340
  /**
2409
- * Date in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).
2341
+ * Date in ISO 8601 format
2410
2342
  * @maxLength 100
2411
2343
  */
2412
2344
  value?: string;
2413
- /** Count of documents in the bucket. */
2345
+ /** Count of documents in the bucket */
2414
2346
  count?: number;
2415
2347
  }
2416
2348
  interface GroupByValueResults {
2417
2349
  /**
2418
- * Array of nested value aggregation results, each containing a field value and the associated nested aggregation data.
2350
+ * List of value aggregations
2419
2351
  * @maxSize 1000
2420
2352
  */
2421
2353
  results?: NestedValueAggregationResult[];
2422
2354
  }
2423
2355
  interface DateHistogramResults {
2424
2356
  /**
2425
- * Array of date histogram aggregation results, each containing a date bucket and its count.
2357
+ * List of date histogram aggregations
2426
2358
  * @maxSize 200
2427
2359
  */
2428
2360
  results?: DateHistogramResult[];
2429
2361
  }
2430
2362
  /**
2431
- * Results of `NESTED` aggregation type in a flattened form.
2432
- * Aggregations in resulting array are keyed by requested aggregation `name`.
2363
+ * results of `NESTED` aggregation type in a flattened form
2364
+ * aggregations in resulting array are keyed by requested aggregation `name`.
2433
2365
  */
2434
2366
  interface NestedResults {
2435
2367
  /**
2436
- * Array of nested aggregation result groups, each containing multiple aggregation results.
2368
+ * List of nested aggregations
2437
2369
  * @maxSize 1000
2438
2370
  */
2439
2371
  results?: Results[];
2440
2372
  }
2441
2373
  interface AggregationResults extends AggregationResultsResultOneOf {
2442
- /** Value aggregation results. */
2374
+ /** Value aggregation results */
2443
2375
  values?: ValueResults;
2444
- /** Range aggregation results. */
2376
+ /** Range aggregation results */
2445
2377
  ranges?: RangeResults;
2446
- /** Scalar aggregation results. */
2378
+ /** Scalar aggregation results */
2447
2379
  scalar?: AggregationResultsScalarResult;
2448
- /** Group by value aggregation results. */
2380
+ /** Group by value aggregation results */
2449
2381
  groupedByValue?: GroupByValueResults;
2450
- /** Date histogram aggregation results. */
2382
+ /** Date histogram aggregation results */
2451
2383
  dateHistogram?: DateHistogramResults;
2452
- /** Nested aggregation results. */
2384
+ /** Nested aggregation results */
2453
2385
  nested?: NestedResults;
2454
2386
  /**
2455
- * User-defined name of aggregation as derived from search request.
2387
+ * User-defined name of aggregation as derived from search request
2456
2388
  * @maxLength 100
2457
2389
  */
2458
2390
  name?: string;
2459
- /** Type of aggregation that must match specified kind as derived from search request. */
2391
+ /** Type of aggregation that must match provided kind as derived from search request */
2460
2392
  type?: AggregationTypeWithLiterals;
2461
2393
  /**
2462
- * Path to the field to aggregate by in dot notation. For example `name` or `paymentOptions.online`.
2394
+ * Field to aggregate by as derived from search request
2463
2395
  * @maxLength 200
2464
2396
  */
2465
2397
  fieldPath?: string;
2466
2398
  }
2467
2399
  /** @oneof */
2468
2400
  interface AggregationResultsResultOneOf {
2469
- /** Value aggregation results. */
2401
+ /** Value aggregation results */
2470
2402
  values?: ValueResults;
2471
- /** Range aggregation results. */
2403
+ /** Range aggregation results */
2472
2404
  ranges?: RangeResults;
2473
- /** Scalar aggregation results. */
2405
+ /** Scalar aggregation results */
2474
2406
  scalar?: AggregationResultsScalarResult;
2475
- /** Group by value aggregation results. */
2407
+ /** Group by value aggregation results */
2476
2408
  groupedByValue?: GroupByValueResults;
2477
- /** Date histogram aggregation results. */
2409
+ /** Date histogram aggregation results */
2478
2410
  dateHistogram?: DateHistogramResults;
2479
- /** Nested aggregation results. */
2411
+ /** Nested aggregation results */
2480
2412
  nested?: NestedResults;
2481
2413
  }
2482
2414
  interface QueryPoliciesRequest {
@@ -3789,8 +3721,8 @@ interface ServiceSearchSpec extends SearchSpec {
3789
3721
  type CommonSearchWithEntityContext = Search<Service, ServiceSearchSpec>;
3790
3722
  type ServiceSearch = {
3791
3723
  /**
3792
- Cursor-based paging for result navigation. When requesting `cursor_paging.cursor`,
3793
- `filter`, `sort`, or `search` can't be specified.
3724
+ Cursor pointing to page of results.
3725
+ When requesting 'cursor_paging.cursor', no `filter`, `sort` or `search` can be provided.
3794
3726
  */
3795
3727
  cursorPaging?: {
3796
3728
  /**
@@ -3809,15 +3741,11 @@ type ServiceSearch = {
3809
3741
  cursor?: NonNullable<CommonSearchWithEntityContext['cursorPaging']>['cursor'] | null;
3810
3742
  };
3811
3743
  /**
3812
- Filter object for narrowing search results. For example, to return only services with specific payment options: `"filter": {"payment.options.online": true, "payment.options.in_person": false}`.
3813
-
3814
- Learn more about the filter format in the supported filters article ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/supported-filters) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/filtering-and-sorting)).
3744
+ 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)
3815
3745
  */
3816
3746
  filter?: CommonSearchWithEntityContext['filter'] | null;
3817
3747
  /**
3818
- Array of sort objects specifying result order. For example, to sort by creation date in descending order: `"sort": [{"fieldName": "createdDate", "order": "DESC"}]`.
3819
-
3820
- Learn more about the sort format in the supported filters article ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/supported-filters) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/filtering-and-sorting)).
3748
+ Sort object in the form [{"fieldName":"sortField1"},{"fieldName":"sortField2","direction":"DESC"}]
3821
3749
  @maxSize: 10
3822
3750
  */
3823
3751
  sort?: {
@@ -3832,81 +3760,84 @@ type ServiceSearch = {
3832
3760
  order?: NonNullable<CommonSearchWithEntityContext['sort']>[number]['order'];
3833
3761
  }[];
3834
3762
  /**
3835
- Aggregations for grouping data into categories (facets) and providing summaries for each category.
3836
- For example, use aggregations to categorize search results by service type, payment options, or locations.
3763
+ 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.
3837
3764
  @maxSize: 10
3838
3765
  */
3839
3766
  aggregations?: {
3840
3767
  /**
3841
- Value aggregation configuration.
3768
+ Value aggregation
3842
3769
  */
3843
3770
  value?: NonNullable<CommonSearchWithEntityContext['aggregations']>[number]['value'];
3844
3771
  /**
3845
- Range aggregation configuration.
3772
+ Range aggregation
3846
3773
  */
3847
3774
  range?: NonNullable<CommonSearchWithEntityContext['aggregations']>[number]['range'];
3848
3775
  /**
3849
- Scalar aggregation configuration.
3776
+ Scalar aggregation
3850
3777
  */
3851
3778
  scalar?: NonNullable<CommonSearchWithEntityContext['aggregations']>[number]['scalar'];
3852
3779
  /**
3853
- Date histogram aggregation configuration.
3780
+ Date histogram aggregation
3854
3781
  */
3855
3782
  dateHistogram?: NonNullable<CommonSearchWithEntityContext['aggregations']>[number]['dateHistogram'];
3856
3783
  /**
3857
- Nested aggregation configuration.
3784
+ Nested aggregation
3858
3785
  */
3859
3786
  nested?: NonNullable<CommonSearchWithEntityContext['aggregations']>[number]['nested'];
3860
3787
  /**
3861
- User-defined name of aggregation. Must be unique and will appear in aggregation results.
3788
+ User-defined name of aggregation, should be unique, will appear in aggregation results
3862
3789
  @maxLength: 100
3863
3790
  */
3864
3791
  name?: NonNullable<CommonSearchWithEntityContext['aggregations']>[number]['name'] | null;
3865
3792
  /**
3866
- Type of aggregation. Client must specify matching aggregation field below.
3793
+ Type of aggregation, client must provide matching aggregation field below
3867
3794
  */
3868
3795
  type?: NonNullable<CommonSearchWithEntityContext['aggregations']>[number]['type'];
3869
3796
  /**
3870
- Path to the field to aggregate by in dot notation. For example `name` or `paymentOptions.online`.
3797
+ Field to aggregate by, use dot notation to specify json path
3871
3798
  @maxLength: 200
3872
3799
  */
3873
3800
  fieldPath?: NonNullable<CommonSearchWithEntityContext['aggregations']>[number]['fieldPath'];
3874
3801
  /**
3875
- Deprecated, use `nested` instead.
3876
- @deprecated: Deprecated, use `nested` instead.,
3802
+ deprecated, use `nested` instead
3803
+ @deprecated: deprecated, use `nested` instead,
3877
3804
  @replacedBy: kind.nested,
3878
3805
  @targetRemovalDate: 2025-01-01
3879
3806
  */
3880
3807
  groupBy?: NonNullable<CommonSearchWithEntityContext['aggregations']>[number]['groupBy'];
3881
3808
  }[];
3882
3809
  /**
3883
- Free text to match in searchable fields.
3810
+ Free text to match in searchable fields
3884
3811
  */
3885
3812
  search?: {
3886
3813
  /**
3887
- Search mode. Defines the search logic for combining multiple terms in the `expression`.
3814
+ Boolean search mode
3888
3815
  */
3889
3816
  mode?: NonNullable<CommonSearchWithEntityContext['search']>['mode'];
3890
3817
  /**
3891
- Search term or expression.
3818
+ Search term or expression
3892
3819
  @maxLength: 200
3893
3820
  */
3894
3821
  expression?: NonNullable<CommonSearchWithEntityContext['search']>['expression'] | null;
3895
3822
  /**
3896
- Fields to search in. If the array is empty, all searchable fields are searched. Use dot notation to specify a JSON path. For example, `order.address.streetName`.
3823
+ Fields to search in. If empty - server will search in own default fields
3897
3824
  @maxSize: 10,
3898
3825
  @maxLength: 200
3899
3826
  */
3900
3827
  fields?: NonNullable<CommonSearchWithEntityContext['search']>['fields'];
3901
3828
  /**
3902
- Whether to enable the search function to use an algorithm to automatically find results that are close to the search expression, such as typos and declensions.
3829
+ Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm)
3903
3830
  */
3904
3831
  fuzzy?: NonNullable<CommonSearchWithEntityContext['search']>['fuzzy'];
3905
3832
  };
3906
3833
  /**
3907
- Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) or [ISO 8601 UTC offset format](https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC) for adjusting time fields in the specified filters and returned aggregation data. For example, `America/New_York`, `UTC`, or `+02:00`.
3834
+ UTC offset or IANA time zone. Valid values are
3835
+ ISO 8601 UTC offsets, such as +02:00 or -06:00,
3836
+ and IANA time zone IDs, such as Europe/Rome
3908
3837
 
3909
- Default: Time zone specified in the business [site properties](https://dev.wix.com/docs/rest/business-management/site-properties/properties/get-site-properties).
3838
+ Affects all filters and aggregations returned values.
3839
+ You may override this behavior in a specific filter by providing
3840
+ timestamps including time zone. e.g. `"2023-12-20T10:52:34.795Z"`
3910
3841
  @maxLength: 50
3911
3842
  */
3912
3843
  timeZone?: CommonSearchWithEntityContext['timeZone'] | null;