@wix/table-reservations 1.0.102 → 1.0.104

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.
@@ -167,6 +167,16 @@ interface ReservedBy {
167
167
  */
168
168
  contactId?: string | null;
169
169
  }
170
+ /** Migration note. */
171
+ interface MigrationNote {
172
+ }
173
+ /** Table with reservation conflicts. */
174
+ interface TableWithReservationConflicts {
175
+ /** Table id. */
176
+ tableId?: string;
177
+ /** List of reservation ids. */
178
+ reservationIds?: string[];
179
+ }
170
180
  declare enum PaymentStatus {
171
181
  UNKNOWN = "UNKNOWN",
172
182
  /** A reservation is free of charge. */
@@ -182,22 +192,145 @@ declare enum PaymentStatus {
182
192
  /** A corresponding to reservation order was partially payed. */
183
193
  PARTIALLY_PAID = "PARTIALLY_PAID"
184
194
  }
185
- declare enum TableCombinationConflictType {
195
+ interface ReservationDelayedDomainEvent extends ReservationDelayedDomainEventBodyTypeOneOf {
196
+ /** Body of a created reservation event. */
197
+ reservationCreated?: ReservationCreated;
198
+ /** Body of a updated reservation event. */
199
+ reservationUpdated?: ReservationUpdated;
200
+ /** Body of a canceled reservation event. */
201
+ reservationCanceled?: ReservationDelayedDomainEventReservationCanceled;
202
+ }
203
+ /** @oneof */
204
+ interface ReservationDelayedDomainEventBodyTypeOneOf {
205
+ /** Body of a created reservation event. */
206
+ reservationCreated?: ReservationCreated;
207
+ /** Body of a updated reservation event. */
208
+ reservationUpdated?: ReservationUpdated;
209
+ /** Body of a canceled reservation event. */
210
+ reservationCanceled?: ReservationDelayedDomainEventReservationCanceled;
211
+ }
212
+ interface ReservationCreated {
213
+ /** Created reservation. */
214
+ createdReservation?: Reservation;
215
+ }
216
+ interface ReservationUpdated {
217
+ /** Updated reservation. */
218
+ updatedReservation?: Reservation;
219
+ /** Modified fields of previous entity */
220
+ modifiedFields?: Record<string, any>;
221
+ }
222
+ interface ReservationDelayedDomainEventReservationCanceled {
223
+ /** Canceled reservation. */
224
+ canceledReservation?: Reservation;
225
+ }
226
+ interface CreateReservationRequest {
227
+ /** Reservation details. */
228
+ reservation: Reservation;
229
+ /**
230
+ * Ignore table combination conflicts of the types included in the array. This ensures that the reservation is created even if the given conflicts would normally prevent it.
231
+ *
232
+ * Possible values:
233
+ * * `"RESERVED"`: One or more of the chosen tables are already reserved.
234
+ * * `"TOO_BIG"`: The party is too big for the selected table.
235
+ * * `"TOO_SMALL"`: The party is too small for the selected table.
236
+ * * `"OFFLINE_ONLY"`: The restaurant does not allow online reservations.
237
+ */
238
+ ignoreTableCombinationConflicts?: TableCombinationConflictType$1[];
239
+ /**
240
+ * Ignored reservation location conflicts of the types included in the array. This ensures that the reservation is created even if the given conflicts would normally prevent it.
241
+ *
242
+ * Possible values:
243
+ * * `"PARTY_PACING"`: The restaurant cannot accommodate a party of the given size according to party pacing settings.
244
+ * * `"SEAT_PACING"`: The required number of seats are unavailable according to seat pacing settings.
245
+ */
246
+ ignoreReservationLocationConflicts?: Type$1[];
247
+ }
248
+ declare enum TableCombinationConflictType$1 {
186
249
  UNKNOWN = "UNKNOWN",
187
250
  RESERVED = "RESERVED",
188
251
  TOO_BIG = "TOO_BIG",
189
252
  TOO_SMALL = "TOO_SMALL",
190
253
  OFFLINE_ONLY = "OFFLINE_ONLY"
191
254
  }
192
- declare enum Type {
255
+ declare enum Type$1 {
193
256
  UNKNOWN = "UNKNOWN",
194
257
  PARTY_PACING = "PARTY_PACING",
195
258
  SEAT_PACING = "SEAT_PACING"
196
259
  }
260
+ interface CreateReservationResponse {
261
+ /** Reservation. */
262
+ reservation?: Reservation;
263
+ }
264
+ interface ReservationDetailsConflicts {
265
+ /** Table combinations conflicts. */
266
+ tableCombinationConflicts?: TableCombinationConflict$1[];
267
+ /** Reservation location conflicts. */
268
+ reservationLocationConflicts?: ReservationLocationConflict$1[];
269
+ }
270
+ interface TableCombinationConflict$1 {
271
+ /** Conflict type. */
272
+ type?: TableCombinationConflictType$1;
273
+ }
274
+ interface ReservationLocationConflict$1 {
275
+ /** Reservation location conflict type. */
276
+ type?: Type$1;
277
+ }
278
+ interface GetReservationRequest {
279
+ /** Reservation ID. */
280
+ reservationId: string;
281
+ /**
282
+ * Array of named, predefined sets of projected fields to be returned.
283
+ *
284
+ * Supported values: `PUBLIC`, `FULL`.
285
+ *
286
+ * Calling this method with `fieldsets` set to `FULL` requires additional permissions. See this API's Introduction article for more information.
287
+ */
288
+ fieldsets?: Set$1[];
289
+ }
197
290
  declare enum Set$1 {
198
291
  PUBLIC = "PUBLIC",
199
292
  FULL = "FULL"
200
293
  }
294
+ interface GetReservationResponse {
295
+ /** Reservation. */
296
+ reservation?: Reservation;
297
+ }
298
+ interface UpdateReservationRequest {
299
+ /** Reservation information to update. */
300
+ reservation: Reservation;
301
+ /**
302
+ * Ignore table combination conflicts of the types included in the array. This ensures that the reservation is updated even if the given conflicts would normally prevent it.
303
+ *
304
+ * Possible values:
305
+ * * `"RESERVED"`: One or more of the chosen tables are already reserved.
306
+ * * `"TOO_BIG"`: The party is too big for the selected table.
307
+ * * `"TOO_SMALL"`: The party is too small for the selected table.
308
+ * * `"OFFLINE_ONLY"`: The restaurant does not allow online reservations.
309
+ */
310
+ ignoreTableCombinationConflicts?: TableCombinationConflictType$1[];
311
+ /**
312
+ * Ignored reservation location conflicts of the types included in the array. This ensures that the reservation is updated even if the given conflicts would normally prevent it.
313
+ *
314
+ * Possible values:
315
+ * * `"PARTY_PACING"`: The restaurant cannot accommodate a party of the given size according to party pacing settings.
316
+ * * `"SEAT_PACING"`: The required number of seats are unavailable according to seat pacing settings.
317
+ */
318
+ ignoreReservationLocationConflicts?: Type$1[];
319
+ }
320
+ interface UpdateReservationResponse {
321
+ /** Reservation. */
322
+ reservation?: Reservation;
323
+ }
324
+ interface ReservationDataUpdated {
325
+ /** Reserved reservation. */
326
+ reservation?: Reservation;
327
+ /** Old reservation. */
328
+ oldReservation?: Reservation;
329
+ }
330
+ interface CreateHeldReservationRequest {
331
+ /** Held reservation information to update. */
332
+ reservationDetails: HeldReservationDetails;
333
+ }
201
334
  /** Reservation details when create reservation in status HELD. */
202
335
  interface HeldReservationDetails {
203
336
  /** ID of the reservation location where the reservation is made. */
@@ -211,14 +344,77 @@ interface CreateHeldReservationResponse {
211
344
  /** Reservation. */
212
345
  reservation?: Reservation;
213
346
  }
347
+ interface ReserveReservationRequest {
348
+ /** Reservation ID. */
349
+ reservationId: string;
350
+ /** Reservee details. */
351
+ reservee: Reservee;
352
+ /**
353
+ * Revision number.
354
+ *
355
+ * Include the existing `revision` to prevent conflicting updates to reservations.
356
+ */
357
+ revision: string | null;
358
+ }
214
359
  interface ReserveReservationResponse {
215
360
  /** Reservation. */
216
361
  reservation?: Reservation;
217
362
  }
363
+ interface CancelReservationRequest {
364
+ /** Reservation ID. */
365
+ reservationId: string;
366
+ /**
367
+ * Revision number.
368
+ *
369
+ * Include the existing `revision` to prevent conflicting updates to reservations.
370
+ */
371
+ revision: string | null;
372
+ /**
373
+ * The phone number that was provided when the reservation was created.
374
+ *
375
+ * This is required for reservations with any `source` other than `WALK_IN`.
376
+ *
377
+ * This requirement provides additional security by ensuring that the canceling party knows both the reservation's `reservationId` and the reservee's `phone`.
378
+ */
379
+ phone?: string | null;
380
+ }
218
381
  interface CancelReservationResponse {
219
382
  /** Reservation. */
220
383
  reservation?: Reservation;
221
384
  }
385
+ interface ReservationCanceled {
386
+ /** Reserved reservation. */
387
+ reservation?: Reservation;
388
+ }
389
+ interface DeleteReservationRequest {
390
+ /** Reservation ID. */
391
+ reservationId: string;
392
+ }
393
+ interface DeleteReservationResponse {
394
+ }
395
+ interface ListReservationsRequest {
396
+ /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
397
+ paging?: CursorPaging$1;
398
+ /** Defines how reservations in the response are sorted. */
399
+ sort?: Sorting$1;
400
+ /** Only reservations starting after this date are returned. */
401
+ startDateFrom?: Date;
402
+ /** Only reservations starting before this date are returned. */
403
+ startDateTo?: Date;
404
+ /**
405
+ * Only reservations with this status are returned.
406
+ *
407
+ * * `HELD`: The reservation is temporary and will expire in 10 minutes if its status isn’t changed. This phase temporarily reserves the required number of seats and tables for a given party size at a chosen time while a customer enters details and/or confirms their reservation request.
408
+ * * `REQUESTED`: A customer finished requesting this reservation, meaning they have added all necessary details and confirmed the request. Restaurant staff can now either approve or decline the reservation request.
409
+ * * `DECLINED`: The restaurant’s owner or staff declined the customer’s request to make the reservation.
410
+ * * `RESERVED`: The reservation is confirmed.
411
+ * * `SEATED`: The customer is currently occupying the table.
412
+ * * `CANCELED`: The reservation is canceled.
413
+ * * `NO_SHOW`: The customer didn't show up for their reservation.
414
+ * * `FINISHED`: The reservation completed successfully.
415
+ */
416
+ status?: Status$1;
417
+ }
222
418
  interface CursorPaging$1 {
223
419
  /** Number of items to load. */
224
420
  limit?: number | null;
@@ -269,103 +465,198 @@ interface Cursors$1 {
269
465
  /** Cursor pointing to previous page in the list of results. */
270
466
  prev?: string | null;
271
467
  }
468
+ interface QueryReservationsRequest {
469
+ /** Query to select reservations. */
470
+ query: CursorQuery;
471
+ }
472
+ interface CursorQuery extends CursorQueryPagingMethodOneOf {
473
+ /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
474
+ cursorPaging?: CursorPaging$1;
475
+ /**
476
+ * Filter object in the following format:
477
+ * `"filter" : {
478
+ * "fieldName1": "value1",
479
+ * "fieldName2":{"$operator":"value2"}
480
+ * }`
481
+ *
482
+ * For a detailed list of supported operations, see the [Supported Filters and Sorting](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/reservations/reservations/sorting-filtering-and-search) article.
483
+ * To learn how to query reservations, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).
484
+ */
485
+ filter?: Record<string, any> | null;
486
+ /**
487
+ * Sort object in the following format:
488
+ * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`
489
+ */
490
+ sort?: Sorting$1[];
491
+ }
492
+ /** @oneof */
493
+ interface CursorQueryPagingMethodOneOf {
494
+ /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
495
+ cursorPaging?: CursorPaging$1;
496
+ }
497
+ interface QueryReservationsResponse {
498
+ /** List of reservations. */
499
+ reservations?: Reservation[];
500
+ /** Metadata for the paginated results. */
501
+ pagingMetadata?: CursorPagingMetadata$1;
502
+ }
503
+ interface SearchReservationsRequest {
504
+ /** Search query. */
505
+ search: CursorSearch;
506
+ }
272
507
  interface CursorSearch extends CursorSearchPagingMethodOneOf {
273
- /** Cursor pointing to page of results. Can't be used together with 'paging'. 'cursor_paging.cursor' can not be used together with 'filter' or 'sort' */
508
+ /** Cursor pointing to a page of results. Can't be used together with 'paging'. 'cursor_paging.cursor' can't be used together with 'filter' or 'sort'. */
274
509
  cursorPaging?: CursorPaging$1;
275
- /** A filter object. See the filter section [here](https://dev.wix.com/docs/rnd-general/articles/p13n-guidelines-aips/guidance-aips/wix-api-basics/1011-wql-wix-query-language) */
510
+ /**
511
+ * Filter object in the following format:
512
+ * `"filter" : {
513
+ * "fieldName1": "value1",
514
+ * "fieldName2":{"$operator":"value2"}
515
+ * }`
516
+ * For a detailed list of supported operations, see the [Supported Filters and Sorting](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/reservations/reservations/sorting-filtering-and-search) article.
517
+ */
276
518
  filter?: Record<string, any> | null;
277
- /** Sort object in the form [{"fieldName":"sortField1"},{"fieldName":"sortField2","direction":"DESC"}] */
519
+ /**
520
+ * Sort object in the following format:
521
+ * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`
522
+ */
278
523
  sort?: Sorting$1[];
279
- /** 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. */
524
+ /**
525
+ * A search method for grouping data into various categories (facets) and providing summaries for each category.
526
+ * For example, use aggregations to allow site visitors to narrow down their search results by selecting specific reservation statuses, party sizes, etc.
527
+ */
280
528
  aggregations?: Aggregation[];
281
- /** free text to match in searchable fields */
529
+ /** Free text to match in searchable fields. */
282
530
  search?: SearchDetails;
283
531
  /** Time zone to adjust date-time-based filters and aggregations. ISO 8601 or IANA time zone database format. */
284
532
  timeZone?: string | null;
285
533
  }
286
534
  /** @oneof */
287
535
  interface CursorSearchPagingMethodOneOf {
288
- /** Cursor pointing to page of results. Can't be used together with 'paging'. 'cursor_paging.cursor' can not be used together with 'filter' or 'sort' */
536
+ /** Cursor pointing to a page of results. Can't be used together with 'paging'. 'cursor_paging.cursor' can't be used together with 'filter' or 'sort'. */
289
537
  cursorPaging?: CursorPaging$1;
290
538
  }
291
539
  interface Aggregation extends AggregationKindOneOf {
540
+ /** A value aggregation calculates metrics such as "count" for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of reservations (count) of each status that have been made on the site. */
292
541
  value?: ValueAggregation;
542
+ /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */
293
543
  range?: RangeAggregation;
544
+ /** A scalar aggregation calculates a single numerical value from a dataset, such as the total sum, average, min, or max, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the average part size of reservations made on a site. */
294
545
  scalar?: ScalarAggregation;
546
+ /** A date histogram 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.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */
295
547
  dateHistogram?: DateHistogramAggregation;
548
+ /**
549
+ * A nested aggregation is applied within the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. It allows for more complex analyses where you can summarize data at different levels of detail or hierarchy.
550
+ * For example, to get the number of reservations by party size for each week, first perform a date histogram aggregation on `details.startDate` with the interval `WEEK`, and a second value aggregation on `details.partySize`.
551
+ */
296
552
  nested?: NestedAggregation;
297
553
  name?: string | null;
298
554
  type?: AggregationType;
299
555
  fieldPath?: string;
300
- groupBy?: GroupByAggregation;
301
556
  }
302
557
  /** @oneof */
303
558
  interface AggregationKindOneOf {
559
+ /** A value aggregation calculates metrics such as "count" for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of reservations (count) of each status that have been made on the site. */
304
560
  value?: ValueAggregation;
561
+ /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */
305
562
  range?: RangeAggregation;
563
+ /** A scalar aggregation calculates a single numerical value from a dataset, such as the total sum, average, min, or max, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the average part size of reservations made on a site. */
306
564
  scalar?: ScalarAggregation;
565
+ /** A date histogram 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.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */
307
566
  dateHistogram?: DateHistogramAggregation;
567
+ /**
568
+ * A nested aggregation is applied within the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. It allows for more complex analyses where you can summarize data at different levels of detail or hierarchy.
569
+ * For example, to get the number of reservations by party size for each week, first perform a date histogram aggregation on `details.startDate` with the interval `WEEK`, and a second value aggregation on `details.partySize`.
570
+ */
308
571
  nested?: NestedAggregation;
309
572
  }
310
573
  interface RangeBucket {
311
- /** Inclusive lower bound of the range. Required if to is not given. */
574
+ /** Inclusive lower bound of the range. Required if `to` is not provided. */
312
575
  from?: number | null;
313
- /** Exclusive upper bound of the range. Required if from is not given. */
576
+ /** Exclusive upper bound of the range. Required if `from` is not provided. */
314
577
  to?: number | null;
315
578
  }
316
579
  declare enum SortType {
580
+ /** Sort by number of matches. */
317
581
  COUNT = "COUNT",
582
+ /** Sort by value of the field alphabetically. */
318
583
  VALUE = "VALUE"
319
584
  }
320
585
  declare enum SortDirection {
586
+ /** Sort in descending order. */
321
587
  DESC = "DESC",
588
+ /** Sort in ascending order. */
322
589
  ASC = "ASC"
323
590
  }
324
591
  declare enum MissingValues {
592
+ /** Exclude missing values from the aggregation results */
325
593
  EXCLUDE = "EXCLUDE",
594
+ /** Include missing values in the aggregation results */
326
595
  INCLUDE = "INCLUDE"
327
596
  }
328
597
  interface IncludeMissingValuesOptions {
329
- /** can specify custom bucket name. Defaults are [string -> "N/A"], [int -> "0"], [bool -> "false"] ... */
598
+ /** Specify a custom name for the bucket containing the missing values. Defaults are "N/A" for strings, "0" for integers, and "false" for booleans. */
330
599
  addToBucket?: string;
331
600
  }
332
601
  declare enum ScalarType {
333
602
  UNKNOWN_SCALAR_TYPE = "UNKNOWN_SCALAR_TYPE",
603
+ /** Count of distinct values. */
334
604
  COUNT_DISTINCT = "COUNT_DISTINCT",
605
+ /** Minimum value. */
335
606
  MIN = "MIN",
607
+ /** Maximum value. */
336
608
  MAX = "MAX",
609
+ /** Sum of values. */
337
610
  SUM = "SUM",
611
+ /** Average of values. */
338
612
  AVG = "AVG"
339
613
  }
614
+ declare enum NestedAggregationType {
615
+ UNKNOWN_AGGREGATION_TYPE = "UNKNOWN_AGGREGATION_TYPE",
616
+ /** An aggregation where result buckets are dynamically built - one per unique value. */
617
+ VALUE = "VALUE",
618
+ /** An aggregation where you can define a set of ranges - each representing a bucket. */
619
+ RANGE = "RANGE",
620
+ /** A single-value metric aggregation - e.g. min, max, sum, avg. */
621
+ SCALAR = "SCALAR",
622
+ /** An aggregation where result buckets are dynamically built - one per time interval (hour, day, week, etc.) */
623
+ DATE_HISTOGRAM = "DATE_HISTOGRAM"
624
+ }
340
625
  interface ValueAggregation extends ValueAggregationOptionsOneOf {
341
- /** options for including missing values */
626
+ /** Options for including missing values in results. */
342
627
  includeOptions?: IncludeMissingValuesOptions;
628
+ /** Whether to sort by the number of matches or the value of the field. */
343
629
  sortType?: SortType;
630
+ /** Whether to sort in ascending or descending order. */
344
631
  sortDirection?: SortDirection;
345
- /** How many aggregations would you like to return? Can be between 1 and 250. 10 is the default. */
632
+ /**
633
+ * Number of aggregation results to return.
634
+ * Min: `1`
635
+ * Max: `250`
636
+ * Default: `10`
637
+ */
346
638
  limit?: number | null;
347
- /** should missing values be included or excluded from the aggregation results. Default is EXCLUDE */
639
+ /**
640
+ * Whether missing values should be included or excluded from the aggregation results.
641
+ * Default: `EXCLUDE`.
642
+ */
348
643
  missingValues?: MissingValues;
349
644
  }
350
645
  /** @oneof */
351
646
  interface ValueAggregationOptionsOneOf {
352
- /** options for including missing values */
647
+ /** Options for including missing values in results. */
353
648
  includeOptions?: IncludeMissingValuesOptions;
354
649
  }
355
- declare enum NestedAggregationType {
356
- UNKNOWN_AGGREGATION_TYPE = "UNKNOWN_AGGREGATION_TYPE",
357
- VALUE = "VALUE",
358
- RANGE = "RANGE",
359
- SCALAR = "SCALAR",
360
- DATE_HISTOGRAM = "DATE_HISTOGRAM"
361
- }
362
650
  interface RangeAggregation {
651
+ /** List of range buckets. During aggregation each entity will be placed in the first bucket its value falls into based on the provided range bounds. */
363
652
  buckets?: RangeBucket[];
364
653
  }
365
654
  interface ScalarAggregation {
655
+ /** Operation type for the scalar aggregation. */
366
656
  type?: ScalarType;
367
657
  }
368
658
  interface DateHistogramAggregation {
659
+ /** Interval for date histogram aggregation. */
369
660
  interval?: Interval;
370
661
  }
371
662
  declare enum Interval {
@@ -379,55 +670,72 @@ declare enum Interval {
379
670
  SECOND = "SECOND"
380
671
  }
381
672
  interface NestedAggregationItem extends NestedAggregationItemKindOneOf {
673
+ /** A value aggregation calculates metrics such as "count" for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of reservations (count) of each status that have been made on the site. */
382
674
  value?: ValueAggregation;
675
+ /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */
383
676
  range?: RangeAggregation;
677
+ /** A scalar aggregation calculates a single numerical value from a dataset, such as the total sum, average, min, or max, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the average part size of reservations made on a site. */
384
678
  scalar?: ScalarAggregation;
679
+ /** A date histogram 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.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */
385
680
  dateHistogram?: DateHistogramAggregation;
681
+ /** Aggregation name displayed in the return. */
386
682
  name?: string | null;
683
+ /** Type of aggregation to perform. */
387
684
  type?: NestedAggregationType;
685
+ /** Field to aggregate by. */
388
686
  fieldPath?: string;
389
687
  }
390
688
  /** @oneof */
391
689
  interface NestedAggregationItemKindOneOf {
690
+ /** A value aggregation calculates metrics such as "count" for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of reservations (count) of each status that have been made on the site. */
392
691
  value?: ValueAggregation;
692
+ /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */
393
693
  range?: RangeAggregation;
694
+ /** A scalar aggregation calculates a single numerical value from a dataset, such as the total sum, average, min, or max, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the average part size of reservations made on a site. */
394
695
  scalar?: ScalarAggregation;
696
+ /** A date histogram 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.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */
395
697
  dateHistogram?: DateHistogramAggregation;
396
698
  }
397
699
  declare enum AggregationType {
398
700
  UNKNOWN_AGGREGATION_TYPE = "UNKNOWN_AGGREGATION_TYPE",
701
+ /** An aggregation where result buckets are dynamically built - one per unique value. */
399
702
  VALUE = "VALUE",
703
+ /** An aggregation where you can define a set of ranges - each representing a bucket. */
400
704
  RANGE = "RANGE",
705
+ /** A single-value metric aggregation - e.g. min, max, sum, avg. */
401
706
  SCALAR = "SCALAR",
707
+ /** An aggregation where result buckets are dynamically built - one per time interval (hour, day, week, etc.) */
402
708
  DATE_HISTOGRAM = "DATE_HISTOGRAM",
709
+ /** Multi-level aggregation, where each next aggregation is nested within the previous one. */
403
710
  NESTED = "NESTED"
404
711
  }
405
712
  interface NestedAggregation {
713
+ /** Flattened list of aggregations, where each aggregation is nested within the previous one. */
406
714
  nestedAggregations?: NestedAggregationItem[];
407
715
  }
408
- interface GroupByAggregation extends GroupByAggregationKindOneOf {
409
- value?: ValueAggregation;
410
- name?: string | null;
411
- fieldPath?: string;
412
- }
413
- /** @oneof */
414
- interface GroupByAggregationKindOneOf {
415
- value?: ValueAggregation;
416
- }
417
716
  interface SearchDetails {
418
- /** boolean search mode */
419
- mode?: Mode;
420
- /** search term or expression */
717
+ /** Boolean search mode. Defines how separate search terms in the `expression` are combined. */
718
+ mode?: Mode$1;
719
+ /** Search term or expression. */
421
720
  expression?: string | null;
422
- /** fields to search in. if empty - server will search in own default fields */
721
+ /**
722
+ * Fields to search in.
723
+ *
724
+ * Searchable fields are `reservee.first_name`, `reservee.last_name`, `reservee.phone`, and `reservee.email`.
725
+ *
726
+ * If the array is empty, all fields are searched.
727
+ */
423
728
  fields?: string[];
424
- /** flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */
729
+ /**
730
+ * Whether to allow the search function to automatically correct typos or minor mistakes in the search expression.
731
+ * The search function uses an algorithm to find results that are close to what the site visitor typed.
732
+ */
425
733
  fuzzy?: boolean;
426
734
  }
427
- declare enum Mode {
428
- /** any */
735
+ declare enum Mode$1 {
736
+ /** Returns instances where any terms in the expression occur. */
429
737
  OR = "OR",
430
- /** all */
738
+ /** Returns instances where all the terms in the expression occur. */
431
739
  AND = "AND"
432
740
  }
433
741
  interface SearchReservationsResponse {
@@ -439,40 +747,58 @@ interface SearchReservationsResponse {
439
747
  aggregationData?: AggregationData;
440
748
  }
441
749
  interface AggregationData {
442
- /** key = aggregation name (as derived from search request) */
750
+ /** List of the aggregated data results. */
443
751
  results?: AggregationResults[];
444
752
  }
445
753
  interface ValueAggregationResult {
754
+ /** Value of the field */
446
755
  value?: string;
756
+ /** Count of entities with this value */
447
757
  count?: number;
448
758
  }
449
759
  interface RangeAggregationResult {
760
+ /** Inclusive lower bound of the range. */
450
761
  from?: number | null;
762
+ /** Exclusive upper bound of the range. */
451
763
  to?: number | null;
764
+ /** Count of entities in the range. */
452
765
  count?: number;
453
766
  }
454
767
  interface NestedAggregationResults extends NestedAggregationResultsResultOneOf {
768
+ /** List of the value aggregation results. */
455
769
  values?: ValueResults;
770
+ /** List of the range aggregation results. */
456
771
  ranges?: RangeResults;
772
+ /** List of the scalar aggregation results. */
457
773
  scalar?: AggregationResultsScalarResult;
774
+ /** Aggregation name defined in the request. */
458
775
  name?: string;
776
+ /** Type of aggregation performed. */
459
777
  type?: AggregationType;
778
+ /** Field the data was aggregated by. */
460
779
  fieldPath?: string;
461
780
  }
462
781
  /** @oneof */
463
782
  interface NestedAggregationResultsResultOneOf {
783
+ /** List of the value aggregation results. */
464
784
  values?: ValueResults;
785
+ /** List of the range aggregation results. */
465
786
  ranges?: RangeResults;
787
+ /** List of the scalar aggregation results. */
466
788
  scalar?: AggregationResultsScalarResult;
467
789
  }
468
790
  interface ValueResults {
791
+ /** List of value aggregations. */
469
792
  results?: ValueAggregationResult[];
470
793
  }
471
794
  interface RangeResults {
795
+ /** List of ranges returned in same order as requested. */
472
796
  results?: RangeAggregationResult[];
473
797
  }
474
798
  interface AggregationResultsScalarResult {
799
+ /** Type of scalar aggregation. */
475
800
  type?: ScalarType;
801
+ /** Value of the scalar aggregation. */
476
802
  value?: number;
477
803
  }
478
804
  interface NestedValueAggregationResult {
@@ -480,208 +806,112 @@ interface NestedValueAggregationResult {
480
806
  nestedResults?: NestedAggregationResults;
481
807
  }
482
808
  interface ValueResult {
809
+ /** Value of the field. */
483
810
  value?: string;
811
+ /** Count of entities with this value. */
484
812
  count?: number | null;
485
813
  }
486
814
  interface RangeResult {
815
+ /** Inclusive lower bound of the range. */
487
816
  from?: number | null;
817
+ /** Exclusive upper bound of the range. */
488
818
  to?: number | null;
819
+ /** Count of entities in the range. */
489
820
  count?: number | null;
490
821
  }
491
822
  interface ScalarResult {
823
+ /** Scalar aggregation results. */
492
824
  value?: number;
493
825
  }
494
826
  interface NestedResultValue extends NestedResultValueResultOneOf {
827
+ /** Value aggregation results. */
495
828
  value?: ValueResult;
829
+ /** Range aggregation results. */
496
830
  range?: RangeResult;
831
+ /** Scalar aggregation results. */
497
832
  scalar?: ScalarResult;
833
+ /** Date histogram aggregation results. */
498
834
  dateHistogram?: ValueResult;
499
835
  }
500
836
  /** @oneof */
501
837
  interface NestedResultValueResultOneOf {
838
+ /** Value aggregation results. */
502
839
  value?: ValueResult;
840
+ /** Range aggregation results. */
503
841
  range?: RangeResult;
842
+ /** Scalar aggregation results. */
504
843
  scalar?: ScalarResult;
844
+ /** Date histogram aggregation results. */
505
845
  dateHistogram?: ValueResult;
506
846
  }
507
847
  interface Results {
848
+ /** List of nested aggregation results. */
508
849
  results?: Record<string, NestedResultValue>;
509
850
  }
510
851
  interface DateHistogramResult {
852
+ /** Date in ISO 8601 format. */
511
853
  value?: string;
854
+ /** Count of entities in the interval. */
512
855
  count?: number;
513
856
  }
857
+ /** deprecated */
514
858
  interface GroupByValueResults {
515
859
  results?: NestedValueAggregationResult[];
516
860
  }
517
861
  interface DateHistogramResults {
862
+ /** List of date histogram aggregations. */
518
863
  results?: DateHistogramResult[];
519
864
  }
865
+ /**
866
+ * Results of `NESTED` aggregation type in a flattened form.
867
+ * Aggregations in the resulting array are keyed by the requested aggregation `name`.
868
+ */
520
869
  interface NestedResults {
870
+ /** List of nested aggregation results. */
521
871
  results?: Results[];
522
872
  }
523
873
  interface AggregationResults extends AggregationResultsResultOneOf {
874
+ /** Value aggregation results. */
524
875
  values?: ValueResults;
876
+ /** Range aggregation results. */
525
877
  ranges?: RangeResults;
878
+ /** Scalar aggregation results. */
526
879
  scalar?: AggregationResultsScalarResult;
880
+ /** deprecated */
527
881
  groupedByValue?: GroupByValueResults;
882
+ /** Date histogram aggregation results. */
528
883
  dateHistogram?: DateHistogramResults;
884
+ /** Nested aggregation results. */
529
885
  nested?: NestedResults;
886
+ /** Aggregation name defined in the request. */
530
887
  name?: string;
888
+ /** Type of aggregation that was performed. */
531
889
  type?: AggregationType;
890
+ /** Field the data was aggregated by. */
532
891
  fieldPath?: string;
533
892
  }
534
893
  /** @oneof */
535
894
  interface AggregationResultsResultOneOf {
895
+ /** Value aggregation results. */
536
896
  values?: ValueResults;
897
+ /** Range aggregation results. */
537
898
  ranges?: RangeResults;
899
+ /** Scalar aggregation results. */
538
900
  scalar?: AggregationResultsScalarResult;
901
+ /** deprecated */
539
902
  groupedByValue?: GroupByValueResults;
903
+ /** Date histogram aggregation results. */
540
904
  dateHistogram?: DateHistogramResults;
905
+ /** Nested aggregation results. */
541
906
  nested?: NestedResults;
542
907
  }
543
- interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {
544
- /** ID of a site visitor that has not logged in to the site. */
545
- anonymousVisitorId?: string;
546
- /** ID of a site visitor that has logged in to the site. */
547
- memberId?: string;
548
- /** ID of a Wix user (site owner, contributor, etc.). */
549
- wixUserId?: string;
550
- /** ID of an app. */
551
- appId?: string;
552
- /** @readonly */
553
- identityType?: WebhookIdentityType$1;
554
- }
555
- /** @oneof */
556
- interface IdentificationDataIdOneOf$1 {
557
- /** ID of a site visitor that has not logged in to the site. */
558
- anonymousVisitorId?: string;
559
- /** ID of a site visitor that has logged in to the site. */
560
- memberId?: string;
561
- /** ID of a Wix user (site owner, contributor, etc.). */
562
- wixUserId?: string;
563
- /** ID of an app. */
564
- appId?: string;
565
- }
566
- declare enum WebhookIdentityType$1 {
567
- UNKNOWN = "UNKNOWN",
568
- ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
569
- MEMBER = "MEMBER",
570
- WIX_USER = "WIX_USER",
571
- APP = "APP"
572
- }
573
- interface CreateHeldReservationResponseNonNullableFields {
574
- reservation?: {
575
- status: Status$1;
576
- source: Source;
577
- paymentStatus: PaymentStatus;
578
- };
579
- }
580
- interface ReserveReservationResponseNonNullableFields {
581
- reservation?: {
582
- status: Status$1;
583
- source: Source;
584
- paymentStatus: PaymentStatus;
585
- };
586
- }
587
- interface CancelReservationResponseNonNullableFields {
588
- reservation?: {
589
- status: Status$1;
590
- source: Source;
591
- paymentStatus: PaymentStatus;
592
- };
593
- }
594
- interface ListReservationsResponseNonNullableFields {
595
- reservations: {
596
- status: Status$1;
597
- source: Source;
598
- paymentStatus: PaymentStatus;
599
- }[];
600
- }
601
- interface SearchReservationsResponseNonNullableFields {
602
- reservations: {
603
- status: Status$1;
604
- source: Source;
605
- paymentStatus: PaymentStatus;
606
- }[];
607
- aggregationData?: {
608
- results: {
609
- values?: {
610
- results: {
611
- value: string;
612
- count: number;
613
- }[];
614
- };
615
- ranges?: {
616
- results: {
617
- count: number;
618
- }[];
619
- };
620
- scalar?: {
621
- type: ScalarType;
622
- value: number;
623
- };
624
- groupedByValue?: {
625
- results: {
626
- value: string;
627
- nestedResults?: {
628
- values?: {
629
- results: {
630
- value: string;
631
- count: number;
632
- }[];
633
- };
634
- ranges?: {
635
- results: {
636
- count: number;
637
- }[];
638
- };
639
- scalar?: {
640
- type: ScalarType;
641
- value: number;
642
- };
643
- name: string;
644
- type: AggregationType;
645
- fieldPath: string;
646
- };
647
- }[];
648
- };
649
- dateHistogram?: {
650
- results: {
651
- value: string;
652
- count: number;
653
- }[];
654
- };
655
- nested?: {
656
- results: {
657
- results?: {
658
- value?: {
659
- value: string;
660
- };
661
- scalar?: {
662
- value: number;
663
- };
664
- dateHistogram?: {
665
- value: string;
666
- };
667
- };
668
- }[];
669
- };
670
- name: string;
671
- type: AggregationType;
672
- fieldPath: string;
673
- }[];
674
- };
675
- }
676
- interface BaseEventMetadata$1 {
677
- /** App instance ID. */
678
- instanceId?: string | null;
679
- /** Event type. */
680
- eventType?: string;
681
- /** The identification type and identity data. */
682
- identity?: IdentificationData$1;
683
- }
684
- interface EventMetadata$1 extends BaseEventMetadata$1 {
908
+ interface DomainEvent$1 extends DomainEventBodyOneOf$1 {
909
+ /** Information about the reservation that was created and event metadata. */
910
+ createdEvent?: EntityCreatedEvent$1;
911
+ /** Information about the reservation that was updated and event metadata. */
912
+ updatedEvent?: EntityUpdatedEvent$1;
913
+ deletedEvent?: EntityDeletedEvent$1;
914
+ actionEvent?: ActionEvent$1;
685
915
  /**
686
916
  * Unique event ID.
687
917
  * Allows clients to ignore duplicate webhooks.
@@ -700,7 +930,7 @@ interface EventMetadata$1 extends BaseEventMetadata$1 {
700
930
  slug?: string;
701
931
  /** ID of the entity associated with the event. */
702
932
  entityId?: string;
703
- /** Event timestamp. */
933
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */
704
934
  eventTime?: Date;
705
935
  /**
706
936
  * Whether the event was triggered as a result of a privacy regulation application
@@ -719,46 +949,295 @@ interface EventMetadata$1 extends BaseEventMetadata$1 {
719
949
  */
720
950
  entityEventSequence?: string | null;
721
951
  }
722
- interface ReservationCreatedEnvelope {
723
- entity: Reservation;
724
- metadata: EventMetadata$1;
952
+ /** @oneof */
953
+ interface DomainEventBodyOneOf$1 {
954
+ createdEvent?: EntityCreatedEvent$1;
955
+ updatedEvent?: EntityUpdatedEvent$1;
956
+ deletedEvent?: EntityDeletedEvent$1;
957
+ actionEvent?: ActionEvent$1;
725
958
  }
726
- interface CreateReservationOptions {
727
- /**
728
- * Ignore table combination conflicts of the types included in the array. This ensures that the reservation is created even if the given conflicts would normally prevent it.
729
- *
730
- * Possible values:
731
- * * `"RESERVED"`: One or more of the chosen tables are already reserved.
732
- * * `"TOO_BIG"`: The party is too big for the selected table.
733
- * * `"TOO_SMALL"`: The party is too small for the selected table.
734
- * * `"OFFLINE_ONLY"`: The restaurant does not allow online reservations.
735
- */
736
- ignoreTableCombinationConflicts?: TableCombinationConflictType[];
737
- /**
738
- * Ignored reservation location conflicts of the types included in the array. This ensures that the reservation is created even if the given conflicts would normally prevent it.
739
- *
740
- * Possible values:
741
- * * `"PARTY_PACING"`: The restaurant cannot accommodate a party of the given size according to party pacing settings.
742
- * * `"SEAT_PACING"`: The required number of seats are unavailable according to seat pacing settings.
743
- */
744
- ignoreReservationLocationConflicts?: Type[];
959
+ interface EntityCreatedEvent$1 {
960
+ entity?: string;
745
961
  }
746
- interface GetReservationOptions {
747
- /**
748
- * Array of named, predefined sets of projected fields to be returned.
749
- *
750
- * Supported values: `PUBLIC`, `FULL`.
751
- *
752
- * Calling this method with `fieldsets` set to `FULL` requires additional permissions. See this API's Introduction article for more information.
753
- */
754
- fieldsets?: Set$1[];
962
+ interface RestoreInfo$1 {
963
+ deletedDate?: Date;
755
964
  }
756
- interface UpdateReservation {
965
+ interface EntityUpdatedEvent$1 {
757
966
  /**
758
- * Reservation ID.
759
- * @readonly
967
+ * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
968
+ * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
969
+ * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
760
970
  */
761
- _id?: string | null;
971
+ currentEntity?: string;
972
+ }
973
+ interface EntityDeletedEvent$1 {
974
+ /** Entity that was deleted */
975
+ deletedEntity?: string | null;
976
+ }
977
+ interface ActionEvent$1 {
978
+ body?: string;
979
+ }
980
+ interface Empty$1 {
981
+ }
982
+ interface RemoveReservationMigrationNotesRequest {
983
+ /** Reservation ID. */
984
+ reservationId?: string;
985
+ /** Revision. */
986
+ revision?: string;
987
+ }
988
+ interface RemoveReservationMigrationNotesResponse {
989
+ reservation?: Reservation;
990
+ }
991
+ interface RawHttpRequest {
992
+ body?: Uint8Array;
993
+ pathParams?: PathParametersEntry[];
994
+ queryParams?: QueryParametersEntry[];
995
+ headers?: HeadersEntry[];
996
+ method?: string;
997
+ rawPath?: string;
998
+ rawQuery?: string;
999
+ }
1000
+ interface PathParametersEntry {
1001
+ key?: string;
1002
+ value?: string;
1003
+ }
1004
+ interface QueryParametersEntry {
1005
+ key?: string;
1006
+ value?: string;
1007
+ }
1008
+ interface HeadersEntry {
1009
+ key?: string;
1010
+ value?: string;
1011
+ }
1012
+ interface RawHttpResponse {
1013
+ body?: Uint8Array;
1014
+ statusCode?: number | null;
1015
+ headers?: HeadersEntry[];
1016
+ }
1017
+ interface MessageEnvelope$1 {
1018
+ /** App instance ID. */
1019
+ instanceId?: string | null;
1020
+ /** Event type. */
1021
+ eventType?: string;
1022
+ /** The identification type and identity data. */
1023
+ identity?: IdentificationData$1;
1024
+ /** Stringify payload. */
1025
+ data?: string;
1026
+ }
1027
+ interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {
1028
+ /** ID of a site visitor that has not logged in to the site. */
1029
+ anonymousVisitorId?: string;
1030
+ /** ID of a site visitor that has logged in to the site. */
1031
+ memberId?: string;
1032
+ /** ID of a Wix user (site owner, contributor, etc.). */
1033
+ wixUserId?: string;
1034
+ /** ID of an app. */
1035
+ appId?: string;
1036
+ /** @readonly */
1037
+ identityType?: WebhookIdentityType$1;
1038
+ }
1039
+ /** @oneof */
1040
+ interface IdentificationDataIdOneOf$1 {
1041
+ /** ID of a site visitor that has not logged in to the site. */
1042
+ anonymousVisitorId?: string;
1043
+ /** ID of a site visitor that has logged in to the site. */
1044
+ memberId?: string;
1045
+ /** ID of a Wix user (site owner, contributor, etc.). */
1046
+ wixUserId?: string;
1047
+ /** ID of an app. */
1048
+ appId?: string;
1049
+ }
1050
+ declare enum WebhookIdentityType$1 {
1051
+ UNKNOWN = "UNKNOWN",
1052
+ ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
1053
+ MEMBER = "MEMBER",
1054
+ WIX_USER = "WIX_USER",
1055
+ APP = "APP"
1056
+ }
1057
+ interface TableWithReservationConflictsNonNullableFields {
1058
+ tableId: string;
1059
+ reservationIds: string[];
1060
+ }
1061
+ interface ReservationNonNullableFields {
1062
+ status: Status$1;
1063
+ source: Source;
1064
+ tablesWithReservationConflicts: TableWithReservationConflictsNonNullableFields[];
1065
+ paymentStatus: PaymentStatus;
1066
+ }
1067
+ interface CreateReservationResponseNonNullableFields {
1068
+ reservation?: ReservationNonNullableFields;
1069
+ }
1070
+ interface GetReservationResponseNonNullableFields {
1071
+ reservation?: ReservationNonNullableFields;
1072
+ }
1073
+ interface UpdateReservationResponseNonNullableFields {
1074
+ reservation?: ReservationNonNullableFields;
1075
+ }
1076
+ interface CreateHeldReservationResponseNonNullableFields {
1077
+ reservation?: ReservationNonNullableFields;
1078
+ }
1079
+ interface ReserveReservationResponseNonNullableFields {
1080
+ reservation?: ReservationNonNullableFields;
1081
+ }
1082
+ interface CancelReservationResponseNonNullableFields {
1083
+ reservation?: ReservationNonNullableFields;
1084
+ }
1085
+ interface ListReservationsResponseNonNullableFields {
1086
+ reservations: ReservationNonNullableFields[];
1087
+ }
1088
+ interface QueryReservationsResponseNonNullableFields {
1089
+ reservations: ReservationNonNullableFields[];
1090
+ }
1091
+ interface ValueAggregationResultNonNullableFields {
1092
+ value: string;
1093
+ count: number;
1094
+ }
1095
+ interface ValueResultsNonNullableFields {
1096
+ results: ValueAggregationResultNonNullableFields[];
1097
+ }
1098
+ interface RangeAggregationResultNonNullableFields {
1099
+ count: number;
1100
+ }
1101
+ interface RangeResultsNonNullableFields {
1102
+ results: RangeAggregationResultNonNullableFields[];
1103
+ }
1104
+ interface AggregationResultsScalarResultNonNullableFields {
1105
+ type: ScalarType;
1106
+ value: number;
1107
+ }
1108
+ interface NestedAggregationResultsNonNullableFields {
1109
+ values?: ValueResultsNonNullableFields;
1110
+ ranges?: RangeResultsNonNullableFields;
1111
+ scalar?: AggregationResultsScalarResultNonNullableFields;
1112
+ name: string;
1113
+ type: AggregationType;
1114
+ fieldPath: string;
1115
+ }
1116
+ interface NestedValueAggregationResultNonNullableFields {
1117
+ value: string;
1118
+ nestedResults?: NestedAggregationResultsNonNullableFields;
1119
+ }
1120
+ interface GroupByValueResultsNonNullableFields {
1121
+ results: NestedValueAggregationResultNonNullableFields[];
1122
+ }
1123
+ interface DateHistogramResultNonNullableFields {
1124
+ value: string;
1125
+ count: number;
1126
+ }
1127
+ interface DateHistogramResultsNonNullableFields {
1128
+ results: DateHistogramResultNonNullableFields[];
1129
+ }
1130
+ interface AggregationResultsNonNullableFields {
1131
+ values?: ValueResultsNonNullableFields;
1132
+ ranges?: RangeResultsNonNullableFields;
1133
+ scalar?: AggregationResultsScalarResultNonNullableFields;
1134
+ groupedByValue?: GroupByValueResultsNonNullableFields;
1135
+ dateHistogram?: DateHistogramResultsNonNullableFields;
1136
+ name: string;
1137
+ type: AggregationType;
1138
+ fieldPath: string;
1139
+ }
1140
+ interface AggregationDataNonNullableFields {
1141
+ results: AggregationResultsNonNullableFields[];
1142
+ }
1143
+ interface SearchReservationsResponseNonNullableFields {
1144
+ reservations: ReservationNonNullableFields[];
1145
+ aggregationData?: AggregationDataNonNullableFields;
1146
+ }
1147
+ interface HeadersEntryNonNullableFields {
1148
+ key: string;
1149
+ value: string;
1150
+ }
1151
+ interface RawHttpResponseNonNullableFields {
1152
+ body: Uint8Array;
1153
+ headers: HeadersEntryNonNullableFields[];
1154
+ }
1155
+ interface BaseEventMetadata$1 {
1156
+ /** App instance ID. */
1157
+ instanceId?: string | null;
1158
+ /** Event type. */
1159
+ eventType?: string;
1160
+ /** The identification type and identity data. */
1161
+ identity?: IdentificationData$1;
1162
+ }
1163
+ interface EventMetadata$1 extends BaseEventMetadata$1 {
1164
+ /**
1165
+ * Unique event ID.
1166
+ * Allows clients to ignore duplicate webhooks.
1167
+ */
1168
+ _id?: string;
1169
+ /**
1170
+ * Assumes actions are also always typed to an entity_type
1171
+ * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction
1172
+ */
1173
+ entityFqdn?: string;
1174
+ /**
1175
+ * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)
1176
+ * This is although the created/updated/deleted notion is duplication of the oneof types
1177
+ * Example: created/updated/deleted/started/completed/email_opened
1178
+ */
1179
+ slug?: string;
1180
+ /** ID of the entity associated with the event. */
1181
+ entityId?: string;
1182
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */
1183
+ eventTime?: Date;
1184
+ /**
1185
+ * Whether the event was triggered as a result of a privacy regulation application
1186
+ * (for example, GDPR).
1187
+ */
1188
+ triggeredByAnonymizeRequest?: boolean | null;
1189
+ /** If present, indicates the action that triggered the event. */
1190
+ originatedFrom?: string | null;
1191
+ /**
1192
+ * A sequence number defining the order of updates to the underlying entity.
1193
+ * For example, given that some entity was updated at 16:00 and than again at 16:01,
1194
+ * it is guaranteed that the sequence number of the second update is strictly higher than the first.
1195
+ * As the consumer, you can use this value to ensure that you handle messages in the correct order.
1196
+ * To do so, you will need to persist this number on your end, and compare the sequence number from the
1197
+ * message against the one you have stored. Given that the stored number is higher, you should ignore the message.
1198
+ */
1199
+ entityEventSequence?: string | null;
1200
+ }
1201
+ interface ReservationCreatedEnvelope {
1202
+ entity: Reservation;
1203
+ metadata: EventMetadata$1;
1204
+ }
1205
+ interface CreateReservationOptions {
1206
+ /**
1207
+ * Ignore table combination conflicts of the types included in the array. This ensures that the reservation is created even if the given conflicts would normally prevent it.
1208
+ *
1209
+ * Possible values:
1210
+ * * `"RESERVED"`: One or more of the chosen tables are already reserved.
1211
+ * * `"TOO_BIG"`: The party is too big for the selected table.
1212
+ * * `"TOO_SMALL"`: The party is too small for the selected table.
1213
+ * * `"OFFLINE_ONLY"`: The restaurant does not allow online reservations.
1214
+ */
1215
+ ignoreTableCombinationConflicts?: TableCombinationConflictType$1[];
1216
+ /**
1217
+ * Ignored reservation location conflicts of the types included in the array. This ensures that the reservation is created even if the given conflicts would normally prevent it.
1218
+ *
1219
+ * Possible values:
1220
+ * * `"PARTY_PACING"`: The restaurant cannot accommodate a party of the given size according to party pacing settings.
1221
+ * * `"SEAT_PACING"`: The required number of seats are unavailable according to seat pacing settings.
1222
+ */
1223
+ ignoreReservationLocationConflicts?: Type$1[];
1224
+ }
1225
+ interface GetReservationOptions {
1226
+ /**
1227
+ * Array of named, predefined sets of projected fields to be returned.
1228
+ *
1229
+ * Supported values: `PUBLIC`, `FULL`.
1230
+ *
1231
+ * Calling this method with `fieldsets` set to `FULL` requires additional permissions. See this API's Introduction article for more information.
1232
+ */
1233
+ fieldsets?: Set$1[];
1234
+ }
1235
+ interface UpdateReservation {
1236
+ /**
1237
+ * Reservation ID.
1238
+ * @readonly
1239
+ */
1240
+ _id?: string | null;
762
1241
  /**
763
1242
  * Status of the reservation.
764
1243
  *
@@ -832,7 +1311,7 @@ interface UpdateReservationOptions {
832
1311
  * * `"TOO_SMALL"`: The party is too small for the selected table.
833
1312
  * * `"OFFLINE_ONLY"`: The restaurant does not allow online reservations.
834
1313
  */
835
- ignoreTableCombinationConflicts?: TableCombinationConflictType[];
1314
+ ignoreTableCombinationConflicts?: TableCombinationConflictType$1[];
836
1315
  /**
837
1316
  * Ignored reservation location conflicts of the types included in the array. This ensures that the reservation is updated even if the given conflicts would normally prevent it.
838
1317
  *
@@ -840,7 +1319,7 @@ interface UpdateReservationOptions {
840
1319
  * * `"PARTY_PACING"`: The restaurant cannot accommodate a party of the given size according to party pacing settings.
841
1320
  * * `"SEAT_PACING"`: The required number of seats are unavailable according to seat pacing settings.
842
1321
  */
843
- ignoreReservationLocationConflicts?: Type[];
1322
+ ignoreReservationLocationConflicts?: Type$1[];
844
1323
  }
845
1324
  interface CancelReservationOptions {
846
1325
  /**
@@ -940,42 +1419,52 @@ interface ReservationsQueryBuilder {
940
1419
  /** @documentationMaturity preview */
941
1420
  find: () => Promise<ReservationsQueryResult>;
942
1421
  }
1422
+ interface GetCalendarInviteFileWebhookOptions {
1423
+ body?: Uint8Array;
1424
+ pathParams?: PathParametersEntry[];
1425
+ queryParams?: QueryParametersEntry[];
1426
+ headers?: HeadersEntry[];
1427
+ method?: string;
1428
+ rawPath?: string;
1429
+ rawQuery?: string;
1430
+ }
943
1431
 
944
- type RESTFunctionDescriptor$2<T extends (...args: any[]) => any = (...args: any[]) => any> = (httpClient: HttpClient$2) => T;
945
- interface HttpClient$2 {
946
- request<TResponse, TData = any>(req: RequestOptionsFactory$2<TResponse, TData>): Promise<HttpResponse$2<TResponse>>;
947
- fetchWithAuth: (url: string | URL, init?: RequestInit) => Promise<Response>;
1432
+ type RESTFunctionDescriptor<T extends (...args: any[]) => any = (...args: any[]) => any> = (httpClient: HttpClient) => T;
1433
+ interface HttpClient {
1434
+ request<TResponse, TData = any>(req: RequestOptionsFactory<TResponse, TData>): Promise<HttpResponse<TResponse>>;
1435
+ fetchWithAuth: typeof fetch;
1436
+ wixAPIFetch: (relativeUrl: string, options: RequestInit) => Promise<Response>;
948
1437
  }
949
- type RequestOptionsFactory$2<TResponse = any, TData = any> = (context: any) => RequestOptions$2<TResponse, TData>;
950
- type HttpResponse$2<T = any> = {
1438
+ type RequestOptionsFactory<TResponse = any, TData = any> = (context: any) => RequestOptions<TResponse, TData>;
1439
+ type HttpResponse<T = any> = {
951
1440
  data: T;
952
1441
  status: number;
953
1442
  statusText: string;
954
1443
  headers: any;
955
1444
  request?: any;
956
1445
  };
957
- type RequestOptions$2<_TResponse = any, Data = any> = {
1446
+ type RequestOptions<_TResponse = any, Data = any> = {
958
1447
  method: 'POST' | 'GET' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
959
1448
  url: string;
960
1449
  data?: Data;
961
1450
  params?: URLSearchParams;
962
- } & APIMetadata$2;
963
- type APIMetadata$2 = {
1451
+ } & APIMetadata;
1452
+ type APIMetadata = {
964
1453
  methodFqn?: string;
965
1454
  entityFqdn?: string;
966
1455
  packageName?: string;
967
1456
  };
968
- type BuildRESTFunction$2<T extends RESTFunctionDescriptor$2> = T extends RESTFunctionDescriptor$2<infer U> ? U : never;
969
- type EventDefinition$1<Payload = unknown, Type extends string = string> = {
1457
+ type BuildRESTFunction<T extends RESTFunctionDescriptor> = T extends RESTFunctionDescriptor<infer U> ? U : never;
1458
+ type EventDefinition<Payload = unknown, Type extends string = string> = {
970
1459
  __type: 'event-definition';
971
1460
  type: Type;
972
1461
  isDomainEvent?: boolean;
973
1462
  transformations?: (envelope: unknown) => Payload;
974
1463
  __payload: Payload;
975
1464
  };
976
- declare function EventDefinition$1<Type extends string>(type: Type, isDomainEvent?: boolean, transformations?: (envelope: any) => unknown): <Payload = unknown>() => EventDefinition$1<Payload, Type>;
977
- type EventHandler$1<T extends EventDefinition$1> = (payload: T['__payload']) => void | Promise<void>;
978
- type BuildEventDefinition$1<T extends EventDefinition$1<any, string>> = (handler: EventHandler$1<T>) => void;
1465
+ declare function EventDefinition<Type extends string>(type: Type, isDomainEvent?: boolean, transformations?: (envelope: any) => unknown): <Payload = unknown>() => EventDefinition<Payload, Type>;
1466
+ type EventHandler<T extends EventDefinition> = (payload: T['__payload']) => void | Promise<void>;
1467
+ type BuildEventDefinition<T extends EventDefinition<any, string>> = (handler: EventHandler<T>) => void;
979
1468
 
980
1469
  declare global {
981
1470
  // eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
@@ -984,43 +1473,147 @@ declare global {
984
1473
  }
985
1474
  }
986
1475
 
987
- declare function createReservation$1(httpClient: HttpClient$2): (reservation: Reservation, options?: CreateReservationOptions) => Promise<Reservation & {
988
- status: Status$1;
989
- source: Source;
990
- paymentStatus: PaymentStatus;
991
- }>;
992
- declare function getReservation$1(httpClient: HttpClient$2): (reservationId: string, options?: GetReservationOptions) => Promise<Reservation & {
993
- status: Status$1;
994
- source: Source;
995
- paymentStatus: PaymentStatus;
996
- }>;
997
- declare function updateReservation$1(httpClient: HttpClient$2): (_id: string | null, reservation: UpdateReservation, options?: UpdateReservationOptions) => Promise<Reservation & {
998
- status: Status$1;
999
- source: Source;
1000
- paymentStatus: PaymentStatus;
1001
- }>;
1002
- declare function createHeldReservation$1(httpClient: HttpClient$2): (reservationDetails: HeldReservationDetails) => Promise<CreateHeldReservationResponse & CreateHeldReservationResponseNonNullableFields>;
1003
- declare function reserveReservation$1(httpClient: HttpClient$2): (reservationId: string, reservee: Reservee, revision: string | null) => Promise<ReserveReservationResponse & ReserveReservationResponseNonNullableFields>;
1004
- declare function cancelReservation$1(httpClient: HttpClient$2): (reservationId: string, revision: string | null, options?: CancelReservationOptions) => Promise<CancelReservationResponse & CancelReservationResponseNonNullableFields>;
1005
- declare function listReservations$1(httpClient: HttpClient$2): (options?: ListReservationsOptions) => Promise<ListReservationsResponse & ListReservationsResponseNonNullableFields>;
1006
- declare function queryReservations$1(httpClient: HttpClient$2): () => ReservationsQueryBuilder;
1007
- declare function searchReservations$1(httpClient: HttpClient$2): (search: CursorSearch) => Promise<SearchReservationsResponse & SearchReservationsResponseNonNullableFields>;
1008
- declare const onReservationCreated$1: EventDefinition$1<ReservationCreatedEnvelope, "wix.table_reservations.v1.reservation_created">;
1476
+ declare function createRESTModule$2<T extends RESTFunctionDescriptor>(descriptor: T, elevated?: boolean): BuildRESTFunction<T> & T;
1009
1477
 
1010
- declare const createReservation: BuildRESTFunction$2<typeof createReservation$1>;
1011
- declare const getReservation: BuildRESTFunction$2<typeof getReservation$1>;
1012
- declare const updateReservation: BuildRESTFunction$2<typeof updateReservation$1>;
1013
- declare const createHeldReservation: BuildRESTFunction$2<typeof createHeldReservation$1>;
1014
- declare const reserveReservation: BuildRESTFunction$2<typeof reserveReservation$1>;
1015
- declare const cancelReservation: BuildRESTFunction$2<typeof cancelReservation$1>;
1016
- declare const listReservations: BuildRESTFunction$2<typeof listReservations$1>;
1017
- declare const queryReservations: BuildRESTFunction$2<typeof queryReservations$1>;
1018
- declare const searchReservations: BuildRESTFunction$2<typeof searchReservations$1>;
1019
- declare const onReservationCreated: BuildEventDefinition$1<typeof onReservationCreated$1>;
1478
+ declare function createEventModule$1<T extends EventDefinition<any, string>>(eventDefinition: T): BuildEventDefinition<T> & T;
1020
1479
 
1480
+ declare const createReservation: ReturnType<typeof createRESTModule$2<typeof publicCreateReservation>>;
1481
+ declare const getReservation: ReturnType<typeof createRESTModule$2<typeof publicGetReservation>>;
1482
+ declare const updateReservation: ReturnType<typeof createRESTModule$2<typeof publicUpdateReservation>>;
1483
+ declare const createHeldReservation: ReturnType<typeof createRESTModule$2<typeof publicCreateHeldReservation>>;
1484
+ declare const reserveReservation: ReturnType<typeof createRESTModule$2<typeof publicReserveReservation>>;
1485
+ declare const cancelReservation: ReturnType<typeof createRESTModule$2<typeof publicCancelReservation>>;
1486
+ declare const deleteReservation: ReturnType<typeof createRESTModule$2<typeof publicDeleteReservation>>;
1487
+ declare const listReservations: ReturnType<typeof createRESTModule$2<typeof publicListReservations>>;
1488
+ declare const queryReservations: ReturnType<typeof createRESTModule$2<typeof publicQueryReservations>>;
1489
+ declare const searchReservations: ReturnType<typeof createRESTModule$2<typeof publicSearchReservations>>;
1490
+ declare const getCalendarInviteFileWebhook: ReturnType<typeof createRESTModule$2<typeof publicGetCalendarInviteFileWebhook>>;
1491
+ declare const onReservationCreated: ReturnType<typeof createEventModule$1<typeof publicOnReservationCreated>>;
1492
+
1493
+ type context$2_Aggregation = Aggregation;
1494
+ type context$2_AggregationData = AggregationData;
1495
+ type context$2_AggregationKindOneOf = AggregationKindOneOf;
1496
+ type context$2_AggregationResults = AggregationResults;
1497
+ type context$2_AggregationResultsResultOneOf = AggregationResultsResultOneOf;
1498
+ type context$2_AggregationResultsScalarResult = AggregationResultsScalarResult;
1499
+ type context$2_AggregationType = AggregationType;
1500
+ declare const context$2_AggregationType: typeof AggregationType;
1501
+ type context$2_CancelReservationOptions = CancelReservationOptions;
1502
+ type context$2_CancelReservationRequest = CancelReservationRequest;
1503
+ type context$2_CancelReservationResponse = CancelReservationResponse;
1504
+ type context$2_CancelReservationResponseNonNullableFields = CancelReservationResponseNonNullableFields;
1505
+ type context$2_CreateHeldReservationRequest = CreateHeldReservationRequest;
1506
+ type context$2_CreateHeldReservationResponse = CreateHeldReservationResponse;
1507
+ type context$2_CreateHeldReservationResponseNonNullableFields = CreateHeldReservationResponseNonNullableFields;
1508
+ type context$2_CreateReservationOptions = CreateReservationOptions;
1509
+ type context$2_CreateReservationRequest = CreateReservationRequest;
1510
+ type context$2_CreateReservationResponse = CreateReservationResponse;
1511
+ type context$2_CreateReservationResponseNonNullableFields = CreateReservationResponseNonNullableFields;
1512
+ type context$2_CursorQuery = CursorQuery;
1513
+ type context$2_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;
1514
+ type context$2_CursorSearch = CursorSearch;
1515
+ type context$2_CursorSearchPagingMethodOneOf = CursorSearchPagingMethodOneOf;
1516
+ type context$2_DateHistogramAggregation = DateHistogramAggregation;
1517
+ type context$2_DateHistogramResult = DateHistogramResult;
1518
+ type context$2_DateHistogramResults = DateHistogramResults;
1519
+ type context$2_DeleteReservationRequest = DeleteReservationRequest;
1520
+ type context$2_DeleteReservationResponse = DeleteReservationResponse;
1521
+ type context$2_Details = Details;
1522
+ type context$2_GetCalendarInviteFileWebhookOptions = GetCalendarInviteFileWebhookOptions;
1523
+ type context$2_GetReservationOptions = GetReservationOptions;
1524
+ type context$2_GetReservationRequest = GetReservationRequest;
1525
+ type context$2_GetReservationResponse = GetReservationResponse;
1526
+ type context$2_GetReservationResponseNonNullableFields = GetReservationResponseNonNullableFields;
1527
+ type context$2_GroupByValueResults = GroupByValueResults;
1528
+ type context$2_HeadersEntry = HeadersEntry;
1529
+ type context$2_HeldReservationDetails = HeldReservationDetails;
1530
+ type context$2_IncludeMissingValuesOptions = IncludeMissingValuesOptions;
1531
+ type context$2_Interval = Interval;
1532
+ declare const context$2_Interval: typeof Interval;
1533
+ type context$2_ListReservationsOptions = ListReservationsOptions;
1534
+ type context$2_ListReservationsRequest = ListReservationsRequest;
1535
+ type context$2_ListReservationsResponse = ListReservationsResponse;
1536
+ type context$2_ListReservationsResponseNonNullableFields = ListReservationsResponseNonNullableFields;
1537
+ type context$2_MigrationNote = MigrationNote;
1538
+ type context$2_MissingValues = MissingValues;
1539
+ declare const context$2_MissingValues: typeof MissingValues;
1540
+ type context$2_NestedAggregation = NestedAggregation;
1541
+ type context$2_NestedAggregationItem = NestedAggregationItem;
1542
+ type context$2_NestedAggregationItemKindOneOf = NestedAggregationItemKindOneOf;
1543
+ type context$2_NestedAggregationResults = NestedAggregationResults;
1544
+ type context$2_NestedAggregationResultsResultOneOf = NestedAggregationResultsResultOneOf;
1545
+ type context$2_NestedAggregationType = NestedAggregationType;
1546
+ declare const context$2_NestedAggregationType: typeof NestedAggregationType;
1547
+ type context$2_NestedResultValue = NestedResultValue;
1548
+ type context$2_NestedResultValueResultOneOf = NestedResultValueResultOneOf;
1549
+ type context$2_NestedResults = NestedResults;
1550
+ type context$2_NestedValueAggregationResult = NestedValueAggregationResult;
1551
+ type context$2_PathParametersEntry = PathParametersEntry;
1552
+ type context$2_PaymentStatus = PaymentStatus;
1553
+ declare const context$2_PaymentStatus: typeof PaymentStatus;
1554
+ type context$2_QueryParametersEntry = QueryParametersEntry;
1555
+ type context$2_QueryReservationsRequest = QueryReservationsRequest;
1556
+ type context$2_QueryReservationsResponse = QueryReservationsResponse;
1557
+ type context$2_QueryReservationsResponseNonNullableFields = QueryReservationsResponseNonNullableFields;
1558
+ type context$2_RangeAggregation = RangeAggregation;
1559
+ type context$2_RangeAggregationResult = RangeAggregationResult;
1560
+ type context$2_RangeBucket = RangeBucket;
1561
+ type context$2_RangeResult = RangeResult;
1562
+ type context$2_RangeResults = RangeResults;
1563
+ type context$2_RawHttpRequest = RawHttpRequest;
1564
+ type context$2_RawHttpResponse = RawHttpResponse;
1565
+ type context$2_RawHttpResponseNonNullableFields = RawHttpResponseNonNullableFields;
1566
+ type context$2_RemoveReservationMigrationNotesRequest = RemoveReservationMigrationNotesRequest;
1567
+ type context$2_RemoveReservationMigrationNotesResponse = RemoveReservationMigrationNotesResponse;
1568
+ type context$2_Reservation = Reservation;
1569
+ type context$2_ReservationCanceled = ReservationCanceled;
1570
+ type context$2_ReservationCreated = ReservationCreated;
1571
+ type context$2_ReservationCreatedEnvelope = ReservationCreatedEnvelope;
1572
+ type context$2_ReservationDataUpdated = ReservationDataUpdated;
1573
+ type context$2_ReservationDelayedDomainEvent = ReservationDelayedDomainEvent;
1574
+ type context$2_ReservationDelayedDomainEventBodyTypeOneOf = ReservationDelayedDomainEventBodyTypeOneOf;
1575
+ type context$2_ReservationDelayedDomainEventReservationCanceled = ReservationDelayedDomainEventReservationCanceled;
1576
+ type context$2_ReservationDetailsConflicts = ReservationDetailsConflicts;
1577
+ type context$2_ReservationNonNullableFields = ReservationNonNullableFields;
1578
+ type context$2_ReservationUpdated = ReservationUpdated;
1579
+ type context$2_ReservationsQueryBuilder = ReservationsQueryBuilder;
1580
+ type context$2_ReservationsQueryResult = ReservationsQueryResult;
1581
+ type context$2_ReserveReservationRequest = ReserveReservationRequest;
1582
+ type context$2_ReserveReservationResponse = ReserveReservationResponse;
1583
+ type context$2_ReserveReservationResponseNonNullableFields = ReserveReservationResponseNonNullableFields;
1584
+ type context$2_ReservedBy = ReservedBy;
1585
+ type context$2_Reservee = Reservee;
1586
+ type context$2_Results = Results;
1587
+ type context$2_ScalarAggregation = ScalarAggregation;
1588
+ type context$2_ScalarResult = ScalarResult;
1589
+ type context$2_ScalarType = ScalarType;
1590
+ declare const context$2_ScalarType: typeof ScalarType;
1591
+ type context$2_SearchDetails = SearchDetails;
1592
+ type context$2_SearchReservationsRequest = SearchReservationsRequest;
1593
+ type context$2_SearchReservationsResponse = SearchReservationsResponse;
1594
+ type context$2_SearchReservationsResponseNonNullableFields = SearchReservationsResponseNonNullableFields;
1595
+ type context$2_SortDirection = SortDirection;
1596
+ declare const context$2_SortDirection: typeof SortDirection;
1597
+ type context$2_SortType = SortType;
1598
+ declare const context$2_SortType: typeof SortType;
1599
+ type context$2_Source = Source;
1600
+ declare const context$2_Source: typeof Source;
1601
+ type context$2_TableWithReservationConflicts = TableWithReservationConflicts;
1602
+ type context$2_UpdateReservation = UpdateReservation;
1603
+ type context$2_UpdateReservationOptions = UpdateReservationOptions;
1604
+ type context$2_UpdateReservationRequest = UpdateReservationRequest;
1605
+ type context$2_UpdateReservationResponse = UpdateReservationResponse;
1606
+ type context$2_UpdateReservationResponseNonNullableFields = UpdateReservationResponseNonNullableFields;
1607
+ type context$2_ValueAggregation = ValueAggregation;
1608
+ type context$2_ValueAggregationOptionsOneOf = ValueAggregationOptionsOneOf;
1609
+ type context$2_ValueAggregationResult = ValueAggregationResult;
1610
+ type context$2_ValueResult = ValueResult;
1611
+ type context$2_ValueResults = ValueResults;
1021
1612
  declare const context$2_cancelReservation: typeof cancelReservation;
1022
1613
  declare const context$2_createHeldReservation: typeof createHeldReservation;
1023
1614
  declare const context$2_createReservation: typeof createReservation;
1615
+ declare const context$2_deleteReservation: typeof deleteReservation;
1616
+ declare const context$2_getCalendarInviteFileWebhook: typeof getCalendarInviteFileWebhook;
1024
1617
  declare const context$2_getReservation: typeof getReservation;
1025
1618
  declare const context$2_listReservations: typeof listReservations;
1026
1619
  declare const context$2_onReservationCreated: typeof onReservationCreated;
@@ -1029,7 +1622,7 @@ declare const context$2_reserveReservation: typeof reserveReservation;
1029
1622
  declare const context$2_searchReservations: typeof searchReservations;
1030
1623
  declare const context$2_updateReservation: typeof updateReservation;
1031
1624
  declare namespace context$2 {
1032
- export { context$2_cancelReservation as cancelReservation, context$2_createHeldReservation as createHeldReservation, context$2_createReservation as createReservation, context$2_getReservation as getReservation, context$2_listReservations as listReservations, context$2_onReservationCreated as onReservationCreated, context$2_queryReservations as queryReservations, context$2_reserveReservation as reserveReservation, context$2_searchReservations as searchReservations, context$2_updateReservation as updateReservation };
1625
+ export { type ActionEvent$1 as ActionEvent, type context$2_Aggregation as Aggregation, type context$2_AggregationData as AggregationData, type context$2_AggregationKindOneOf as AggregationKindOneOf, type context$2_AggregationResults as AggregationResults, type context$2_AggregationResultsResultOneOf as AggregationResultsResultOneOf, type context$2_AggregationResultsScalarResult as AggregationResultsScalarResult, context$2_AggregationType as AggregationType, type BaseEventMetadata$1 as BaseEventMetadata, type context$2_CancelReservationOptions as CancelReservationOptions, type context$2_CancelReservationRequest as CancelReservationRequest, type context$2_CancelReservationResponse as CancelReservationResponse, type context$2_CancelReservationResponseNonNullableFields as CancelReservationResponseNonNullableFields, type context$2_CreateHeldReservationRequest as CreateHeldReservationRequest, type context$2_CreateHeldReservationResponse as CreateHeldReservationResponse, type context$2_CreateHeldReservationResponseNonNullableFields as CreateHeldReservationResponseNonNullableFields, type context$2_CreateReservationOptions as CreateReservationOptions, type context$2_CreateReservationRequest as CreateReservationRequest, type context$2_CreateReservationResponse as CreateReservationResponse, type context$2_CreateReservationResponseNonNullableFields as CreateReservationResponseNonNullableFields, type CursorPaging$1 as CursorPaging, type CursorPagingMetadata$1 as CursorPagingMetadata, type context$2_CursorQuery as CursorQuery, type context$2_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf, type context$2_CursorSearch as CursorSearch, type context$2_CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOf, type Cursors$1 as Cursors, type context$2_DateHistogramAggregation as DateHistogramAggregation, type context$2_DateHistogramResult as DateHistogramResult, type context$2_DateHistogramResults as DateHistogramResults, type context$2_DeleteReservationRequest as DeleteReservationRequest, type context$2_DeleteReservationResponse as DeleteReservationResponse, type context$2_Details as Details, type DomainEvent$1 as DomainEvent, type DomainEventBodyOneOf$1 as DomainEventBodyOneOf, type Empty$1 as Empty, type EntityCreatedEvent$1 as EntityCreatedEvent, type EntityDeletedEvent$1 as EntityDeletedEvent, type EntityUpdatedEvent$1 as EntityUpdatedEvent, type EventMetadata$1 as EventMetadata, type context$2_GetCalendarInviteFileWebhookOptions as GetCalendarInviteFileWebhookOptions, type context$2_GetReservationOptions as GetReservationOptions, type context$2_GetReservationRequest as GetReservationRequest, type context$2_GetReservationResponse as GetReservationResponse, type context$2_GetReservationResponseNonNullableFields as GetReservationResponseNonNullableFields, type context$2_GroupByValueResults as GroupByValueResults, type context$2_HeadersEntry as HeadersEntry, type context$2_HeldReservationDetails as HeldReservationDetails, type IdentificationData$1 as IdentificationData, type IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, type context$2_IncludeMissingValuesOptions as IncludeMissingValuesOptions, context$2_Interval as Interval, type context$2_ListReservationsOptions as ListReservationsOptions, type context$2_ListReservationsRequest as ListReservationsRequest, type context$2_ListReservationsResponse as ListReservationsResponse, type context$2_ListReservationsResponseNonNullableFields as ListReservationsResponseNonNullableFields, type MessageEnvelope$1 as MessageEnvelope, type context$2_MigrationNote as MigrationNote, context$2_MissingValues as MissingValues, Mode$1 as Mode, type context$2_NestedAggregation as NestedAggregation, type context$2_NestedAggregationItem as NestedAggregationItem, type context$2_NestedAggregationItemKindOneOf as NestedAggregationItemKindOneOf, type context$2_NestedAggregationResults as NestedAggregationResults, type context$2_NestedAggregationResultsResultOneOf as NestedAggregationResultsResultOneOf, context$2_NestedAggregationType as NestedAggregationType, type context$2_NestedResultValue as NestedResultValue, type context$2_NestedResultValueResultOneOf as NestedResultValueResultOneOf, type context$2_NestedResults as NestedResults, type context$2_NestedValueAggregationResult as NestedValueAggregationResult, type context$2_PathParametersEntry as PathParametersEntry, context$2_PaymentStatus as PaymentStatus, type context$2_QueryParametersEntry as QueryParametersEntry, type context$2_QueryReservationsRequest as QueryReservationsRequest, type context$2_QueryReservationsResponse as QueryReservationsResponse, type context$2_QueryReservationsResponseNonNullableFields as QueryReservationsResponseNonNullableFields, type context$2_RangeAggregation as RangeAggregation, type context$2_RangeAggregationResult as RangeAggregationResult, type context$2_RangeBucket as RangeBucket, type context$2_RangeResult as RangeResult, type context$2_RangeResults as RangeResults, type context$2_RawHttpRequest as RawHttpRequest, type context$2_RawHttpResponse as RawHttpResponse, type context$2_RawHttpResponseNonNullableFields as RawHttpResponseNonNullableFields, type context$2_RemoveReservationMigrationNotesRequest as RemoveReservationMigrationNotesRequest, type context$2_RemoveReservationMigrationNotesResponse as RemoveReservationMigrationNotesResponse, type context$2_Reservation as Reservation, type context$2_ReservationCanceled as ReservationCanceled, type context$2_ReservationCreated as ReservationCreated, type context$2_ReservationCreatedEnvelope as ReservationCreatedEnvelope, type context$2_ReservationDataUpdated as ReservationDataUpdated, type context$2_ReservationDelayedDomainEvent as ReservationDelayedDomainEvent, type context$2_ReservationDelayedDomainEventBodyTypeOneOf as ReservationDelayedDomainEventBodyTypeOneOf, type context$2_ReservationDelayedDomainEventReservationCanceled as ReservationDelayedDomainEventReservationCanceled, type context$2_ReservationDetailsConflicts as ReservationDetailsConflicts, type ReservationLocationConflict$1 as ReservationLocationConflict, type context$2_ReservationNonNullableFields as ReservationNonNullableFields, type context$2_ReservationUpdated as ReservationUpdated, type context$2_ReservationsQueryBuilder as ReservationsQueryBuilder, type context$2_ReservationsQueryResult as ReservationsQueryResult, type context$2_ReserveReservationRequest as ReserveReservationRequest, type context$2_ReserveReservationResponse as ReserveReservationResponse, type context$2_ReserveReservationResponseNonNullableFields as ReserveReservationResponseNonNullableFields, type context$2_ReservedBy as ReservedBy, type context$2_Reservee as Reservee, type RestoreInfo$1 as RestoreInfo, type context$2_Results as Results, type context$2_ScalarAggregation as ScalarAggregation, type context$2_ScalarResult as ScalarResult, context$2_ScalarType as ScalarType, type context$2_SearchDetails as SearchDetails, type context$2_SearchReservationsRequest as SearchReservationsRequest, type context$2_SearchReservationsResponse as SearchReservationsResponse, type context$2_SearchReservationsResponseNonNullableFields as SearchReservationsResponseNonNullableFields, Set$1 as Set, context$2_SortDirection as SortDirection, SortOrder$1 as SortOrder, context$2_SortType as SortType, type Sorting$1 as Sorting, context$2_Source as Source, Status$1 as Status, type TableCombinationConflict$1 as TableCombinationConflict, TableCombinationConflictType$1 as TableCombinationConflictType, type context$2_TableWithReservationConflicts as TableWithReservationConflicts, Type$1 as Type, type context$2_UpdateReservation as UpdateReservation, type context$2_UpdateReservationOptions as UpdateReservationOptions, type context$2_UpdateReservationRequest as UpdateReservationRequest, type context$2_UpdateReservationResponse as UpdateReservationResponse, type context$2_UpdateReservationResponseNonNullableFields as UpdateReservationResponseNonNullableFields, type context$2_ValueAggregation as ValueAggregation, type context$2_ValueAggregationOptionsOneOf as ValueAggregationOptionsOneOf, type context$2_ValueAggregationResult as ValueAggregationResult, type context$2_ValueResult as ValueResult, type context$2_ValueResults as ValueResults, WebhookIdentityType$1 as WebhookIdentityType, context$2_cancelReservation as cancelReservation, context$2_createHeldReservation as createHeldReservation, context$2_createReservation as createReservation, context$2_deleteReservation as deleteReservation, context$2_getCalendarInviteFileWebhook as getCalendarInviteFileWebhook, context$2_getReservation as getReservation, context$2_listReservations as listReservations, context$2_onReservationCreated as onReservationCreated, context$2_queryReservations as queryReservations, context$2_reserveReservation as reserveReservation, context$2_searchReservations as searchReservations, context$2_updateReservation as updateReservation };
1033
1626
  }
1034
1627
 
1035
1628
  interface ReservationLocation {
@@ -1071,6 +1664,37 @@ interface ReservationLocation {
1071
1664
  */
1072
1665
  archived?: boolean | null;
1073
1666
  }
1667
+ interface StreetAddress {
1668
+ /** Street number. */
1669
+ number?: string;
1670
+ /** Street name. */
1671
+ name?: string;
1672
+ /** Apartment number. */
1673
+ apt?: string;
1674
+ }
1675
+ /** Address geolocation information. */
1676
+ interface AddressLocation {
1677
+ /** Latitude of the location. Must be between -90 and 90. */
1678
+ latitude?: number | null;
1679
+ /** Longitude of the location. Must be between -180 and 180. */
1680
+ longitude?: number | null;
1681
+ }
1682
+ interface LocationAddress {
1683
+ /** 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */
1684
+ country?: string | null;
1685
+ /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. */
1686
+ subdivision?: string | null;
1687
+ /** City name. */
1688
+ city?: string | null;
1689
+ /** Postal or zip code. */
1690
+ postalCode?: string | null;
1691
+ /** Street address of the location. Includes street name, number, and apartment number in separate fields. */
1692
+ streetAddress?: StreetAddress;
1693
+ /** Full address of the location. */
1694
+ formatted?: string | null;
1695
+ /** Geographic coordinates of the location. */
1696
+ location?: AddressLocation;
1697
+ }
1074
1698
  /**
1075
1699
  * Time periods that this location is open for business. Includes a collection of TimePeriod instances.
1076
1700
  * Aligned with https://developers.google.com/my-business/reference/rest/v4/accounts.locations#businesshours
@@ -1145,7 +1769,7 @@ interface TableDefinition {
1145
1769
  /** Whether the table is active (available to be reserved). */
1146
1770
  isActive?: boolean | null;
1147
1771
  }
1148
- interface TableCombination {
1772
+ interface TableCombination$1 {
1149
1773
  /**
1150
1774
  * Table combination ID.
1151
1775
  * @readonly
@@ -1189,6 +1813,13 @@ interface PartyPacing {
1189
1813
  enabled?: boolean;
1190
1814
  }
1191
1815
  /** The party size limits for a single reservation. */
1816
+ interface PartiesSize {
1817
+ /** Minimum number of seats a party can reserve. */
1818
+ min?: number;
1819
+ /** Maximum number of seats a party can reserve. */
1820
+ max?: number;
1821
+ }
1822
+ /** The party size limits for a single reservation. */
1192
1823
  interface PartySize {
1193
1824
  /** Minimum number of seats a party can reserve. */
1194
1825
  min?: number;
@@ -1220,6 +1851,15 @@ interface TurnoverTimeRule {
1220
1851
  /** Turnover time in minutes for qualifying parties. */
1221
1852
  minutes?: number;
1222
1853
  }
1854
+ /** Turnover rule. A turnover time is defined per party size range. */
1855
+ interface TurnoverRule {
1856
+ /** Minimum number of seats to qualify for this rule. */
1857
+ minSeats?: number;
1858
+ /** Maximum number of seats to qualify for this rule. */
1859
+ maxSeats?: number;
1860
+ /** Turnover time in minutes for qualifying parties. */
1861
+ minutes?: number;
1862
+ }
1223
1863
  /** Manual approval settings. */
1224
1864
  interface ManualApproval extends ManualApprovalValueOneOf {
1225
1865
  /** The minimum party size that requires manual approval. */
@@ -1421,7 +2061,14 @@ interface TableManagement {
1421
2061
  /** Deleted table definitions. */
1422
2062
  deletedTableDefinitions?: TableDefinition[];
1423
2063
  /** Table combinations. */
1424
- tableCombinations?: TableCombination[];
2064
+ tableCombinations?: TableCombination$1[];
2065
+ }
2066
+ /** Reservation payment. */
2067
+ interface ReservationPayment {
2068
+ /** Monetary amount to charge. Decimal string with a period as a decimal separator (e.g., 3.99) */
2069
+ value?: string;
2070
+ /** Minimum party size to apply the payment policy. */
2071
+ minPartySize?: number;
1425
2072
  }
1426
2073
  interface Location {
1427
2074
  /**
@@ -1444,10 +2091,146 @@ interface Configuration {
1444
2091
  /** Table management settings. */
1445
2092
  tableManagement?: TableManagement;
1446
2093
  }
2094
+ interface InvalidateCache extends InvalidateCacheGetByOneOf {
2095
+ /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */
2096
+ metaSiteId?: string;
2097
+ /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */
2098
+ siteId?: string;
2099
+ /** Invalidate by App */
2100
+ app?: App;
2101
+ /** Invalidate by page id */
2102
+ page?: Page;
2103
+ /** Invalidate by URI path */
2104
+ uri?: URI;
2105
+ /** Invalidate by file (for media files such as PDFs) */
2106
+ file?: File;
2107
+ /** tell us why you're invalidating the cache. You don't need to add your app name */
2108
+ reason?: string | null;
2109
+ /** Is local DS */
2110
+ localDc?: boolean;
2111
+ }
2112
+ /** @oneof */
2113
+ interface InvalidateCacheGetByOneOf {
2114
+ /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */
2115
+ metaSiteId?: string;
2116
+ /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */
2117
+ siteId?: string;
2118
+ /** Invalidate by App */
2119
+ app?: App;
2120
+ /** Invalidate by page id */
2121
+ page?: Page;
2122
+ /** Invalidate by URI path */
2123
+ uri?: URI;
2124
+ /** Invalidate by file (for media files such as PDFs) */
2125
+ file?: File;
2126
+ }
2127
+ interface App {
2128
+ /** The AppDefId */
2129
+ appDefId?: string;
2130
+ /** The instance Id */
2131
+ instanceId?: string;
2132
+ }
2133
+ interface Page {
2134
+ /** the msid the page is on */
2135
+ metaSiteId?: string;
2136
+ /** Invalidate by Page ID */
2137
+ pageId?: string;
2138
+ }
2139
+ interface URI {
2140
+ /** the msid the URI is on */
2141
+ metaSiteId?: string;
2142
+ /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */
2143
+ uriPath?: string;
2144
+ }
2145
+ interface File {
2146
+ /** the msid the file is related to */
2147
+ metaSiteId?: string;
2148
+ /** Invalidate by filename (for media files such as PDFs) */
2149
+ fileName?: string;
2150
+ }
2151
+ interface GetReservationLocationRequest {
2152
+ /** ID of the ReservationLocation to retrieve. */
2153
+ reservationLocationId: string;
2154
+ /**
2155
+ * Array of named, predefined sets of projected fields to be returned.
2156
+ *
2157
+ * - `PUBLIC`: Returns `id`, `archived`, `location`, `default`, `configuration.onlineReservations.partiesSize`, `configuration.onlineReservations.minimumReservationNotice`, `configuration.onlineReservations.businessSchedule`,
2158
+ * `configuration.onlineReservations.showPhoneNumber`, `configuration.onlineReservations.onlineReservationsEnabled`, `configuration.onlineReservations.manualApproval`, `configuration.reservationForm.submitMessage`,
2159
+ * `configuration.reservationForm.policiesEnabled`, `configuration.reservationForm.termsAndConditions`, `configuration.reservationForm.privacyPolicy`,
2160
+ * `configuration.reservationForm.customFieldDefinitions`, `configuration.reservationForm.lastNameRequired`, `configuration.reservationForm.emailRequired`, `configuration.reservationForm.emailMarketingCheckbox`.
2161
+ * - `FULL`: Returns all fields.
2162
+ *
2163
+ * Default: `PUBLIC`.
2164
+ */
2165
+ fieldsets?: Set[];
2166
+ }
1447
2167
  declare enum Set {
1448
2168
  PUBLIC = "PUBLIC",
1449
2169
  FULL = "FULL"
1450
2170
  }
2171
+ interface GetReservationLocationResponse {
2172
+ /** The retrieved reservation location. */
2173
+ reservationLocation?: ReservationLocation;
2174
+ }
2175
+ interface UpdateReservationLocationRequest {
2176
+ /** ReservationLocation to be updated, may be partial. */
2177
+ reservationLocation: ReservationLocation;
2178
+ }
2179
+ interface UpdateReservationLocationResponse {
2180
+ /** The updated reservation location. */
2181
+ reservationLocation?: ReservationLocation;
2182
+ }
2183
+ interface TablesDeleted {
2184
+ /** ID of the affected reservation location. */
2185
+ reservationLocationId?: string;
2186
+ /** IDs of deleted tables. */
2187
+ tableIds?: string[];
2188
+ }
2189
+ interface QueryReservationLocationsRequest {
2190
+ /** Query options. */
2191
+ query: QueryV2;
2192
+ /**
2193
+ * Array of named, predefined sets of projected fields to be returned.
2194
+ *
2195
+ * - `PUBLIC`: Returns `id`, `archived`, `location`, `default`, `configuration.onlineReservations.partiesSize`, `configuration.onlineReservations.minimumReservationNotice`, `configuration.onlineReservations.businessSchedule`,
2196
+ * `configuration.onlineReservations.showPhoneNumber`, `configuration.onlineReservations.onlineReservationsEnabled`, `configuration.onlineReservations.manualApproval`, `configuration.reservationForm.submitMessage`,
2197
+ * `configuration.reservationForm.policiesEnabled`, `configuration.reservationForm.termsAndConditions`, `configuration.reservationForm.privacyPolicy`,
2198
+ * `configuration.reservationForm.customFieldDefinitions`, `configuration.reservationForm.lastNameRequired`, `configuration.reservationForm.emailRequired`, `configuration.reservationForm.emailMarketingCheckbox`.
2199
+ * - `FULL`: Returns all fields.
2200
+ *
2201
+ * Default: `PUBLIC`.
2202
+ */
2203
+ fieldsets?: Set[];
2204
+ }
2205
+ interface QueryV2 extends QueryV2PagingMethodOneOf {
2206
+ /** Paging options to limit and skip the number of items. */
2207
+ paging?: Paging;
2208
+ /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
2209
+ cursorPaging?: CursorPaging;
2210
+ /**
2211
+ * Filter object in the following format:
2212
+ * `"filter" : {
2213
+ * "fieldName1": "value1",
2214
+ * "fieldName2":{"$operator":"value2"}
2215
+ * }`
2216
+ *
2217
+ * For a detailed list of supported operations, see the [Supported Filters and Sorting](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/reservations/reservations/sorting-and-filtering) article.
2218
+ * To learn how to query reservations, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).
2219
+ */
2220
+ filter?: Record<string, any> | null;
2221
+ /**
2222
+ * Sort object in the following format:
2223
+ * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`
2224
+ */
2225
+ sort?: Sorting[];
2226
+ }
2227
+ /** @oneof */
2228
+ interface QueryV2PagingMethodOneOf {
2229
+ /** Paging options to limit and skip the number of items. */
2230
+ paging?: Paging;
2231
+ /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
2232
+ cursorPaging?: CursorPaging;
2233
+ }
1451
2234
  interface Sorting {
1452
2235
  /** Name of the field to sort by. */
1453
2236
  fieldName?: string;
@@ -1462,6 +2245,12 @@ declare enum SortOrder {
1462
2245
  ASC = "ASC",
1463
2246
  DESC = "DESC"
1464
2247
  }
2248
+ interface Paging {
2249
+ /** Number of items to load. */
2250
+ limit?: number | null;
2251
+ /** Number of items to skip in the current sort order. */
2252
+ offset?: number | null;
2253
+ }
1465
2254
  interface CursorPaging {
1466
2255
  /** Number of items to load. */
1467
2256
  limit?: number | null;
@@ -1474,12 +2263,42 @@ interface CursorPaging {
1474
2263
  */
1475
2264
  cursor?: string | null;
1476
2265
  }
1477
- interface Cursors {
1478
- /** Cursor pointing to next page in the list of results. */
2266
+ interface QueryReservationLocationsResponse {
2267
+ /** List of reservation locations */
2268
+ reservationLocations?: ReservationLocation[];
2269
+ /** Metadata for the paginated results. */
2270
+ pagingMetadata?: PagingMetadataV2;
2271
+ }
2272
+ interface PagingMetadataV2 {
2273
+ /** Offset that was requested. */
2274
+ offset?: number | null;
2275
+ /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */
2276
+ cursors?: Cursors;
2277
+ }
2278
+ interface Cursors {
2279
+ /** Cursor pointing to next page in the list of results. */
1479
2280
  next?: string | null;
1480
2281
  /** Cursor pointing to previous page in the list of results. */
1481
2282
  prev?: string | null;
1482
2283
  }
2284
+ interface ListReservationLocationsRequest {
2285
+ /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
2286
+ paging?: CursorPaging;
2287
+ /** Sorting for the locations list. */
2288
+ sort?: Sorting;
2289
+ /**
2290
+ * Array of named, predefined sets of projected fields to be returned.
2291
+ *
2292
+ * - `PUBLIC`: Returns `id`, `archived`, `location`, `default`, `configuration.onlineReservations.partiesSize`, `configuration.onlineReservations.minimumReservationNotice`, `configuration.onlineReservations.businessSchedule`,
2293
+ * `configuration.onlineReservations.showPhoneNumber`, `configuration.onlineReservations.onlineReservationsEnabled`, `configuration.onlineReservations.manualApproval`, `configuration.reservationForm.submitMessage`,
2294
+ * `configuration.reservationForm.policiesEnabled`, `configuration.reservationForm.termsAndConditions`, `configuration.reservationForm.privacyPolicy`,
2295
+ * `configuration.reservationForm.customFieldDefinitions`, `configuration.reservationForm.lastNameRequired`, `configuration.reservationForm.emailRequired`, `configuration.reservationForm.emailMarketingCheckbox`.
2296
+ * - `FULL`: Returns all fields.
2297
+ *
2298
+ * Default: `PUBLIC`.
2299
+ */
2300
+ fieldsets?: Set[];
2301
+ }
1483
2302
  interface ListReservationLocationsResponse {
1484
2303
  /** Locations list. */
1485
2304
  reservationLocations?: ReservationLocation[];
@@ -1498,6 +2317,1106 @@ interface CursorPagingMetadata {
1498
2317
  */
1499
2318
  hasNext?: boolean | null;
1500
2319
  }
2320
+ interface DeleteOrphanReservationLocationRequest {
2321
+ /** Id of the ReservationLocation. */
2322
+ reservationLocationId?: string;
2323
+ }
2324
+ interface DeleteOrphanReservationLocationResponse {
2325
+ }
2326
+ interface MigrateOldRestaurantSettingsRequest {
2327
+ /** Mode. */
2328
+ mode?: Mode;
2329
+ /** Override not default. */
2330
+ overrideNotDefault?: boolean;
2331
+ }
2332
+ declare enum Mode {
2333
+ /** DRY RUN. */
2334
+ UNDEFINED = "UNDEFINED",
2335
+ DRY_RUN = "DRY_RUN",
2336
+ MIGRATE = "MIGRATE",
2337
+ FORCE_MIGRATE = "FORCE_MIGRATE"
2338
+ }
2339
+ interface MigrateOldRestaurantSettingsResponse {
2340
+ /** Migration results. */
2341
+ migrationResults?: MigrationResult[];
2342
+ }
2343
+ interface ParsedSettings {
2344
+ futureDelayMins?: number | null;
2345
+ partySizeMin?: number | null;
2346
+ partySizeMax?: number | null;
2347
+ weeklySchedule?: OldScheduleInterval[];
2348
+ customFields?: OldCustomField[];
2349
+ privacyPolicy?: OldPolicy;
2350
+ termsAndConditions?: OldTerms;
2351
+ scheduleExceptions?: OldScheduleException[];
2352
+ available?: boolean | null;
2353
+ locale?: string | null;
2354
+ }
2355
+ interface OldScheduleInterval {
2356
+ durationMins?: number;
2357
+ minuteOfWeek?: number;
2358
+ }
2359
+ interface OldCustomField {
2360
+ label?: string;
2361
+ required?: boolean;
2362
+ }
2363
+ interface OldPolicy {
2364
+ value?: string;
2365
+ isPlainText?: boolean;
2366
+ }
2367
+ interface OldTerms {
2368
+ value?: string;
2369
+ isPlainText?: boolean;
2370
+ }
2371
+ interface OldScheduleException {
2372
+ available?: boolean;
2373
+ comment?: string | null;
2374
+ start?: OldInstant;
2375
+ end?: OldInstant;
2376
+ }
2377
+ interface OldInstant {
2378
+ year?: number;
2379
+ month?: number;
2380
+ day?: number;
2381
+ hour?: number;
2382
+ minute?: number;
2383
+ }
2384
+ interface MigrationParsingError {
2385
+ /** Field. */
2386
+ path?: string;
2387
+ /** Message. */
2388
+ message?: string;
2389
+ /** Target. */
2390
+ target?: Record<string, any> | null;
2391
+ }
2392
+ interface MigrationResult {
2393
+ /** The migrated ReservationLocation. */
2394
+ reservationLocation?: ReservationLocation;
2395
+ /** Old settings. */
2396
+ oldSettings?: Record<string, any> | null;
2397
+ /** Parsed settings. */
2398
+ parsedSettings?: ParsedSettings;
2399
+ /** Migration parsing errors. */
2400
+ migrationParsingErrors?: MigrationParsingError[];
2401
+ }
2402
+ interface CheckReservationLocationsCreatedRequest {
2403
+ }
2404
+ interface CheckReservationLocationsCreatedResponse {
2405
+ /** Reservation locations created. */
2406
+ created?: boolean;
2407
+ }
2408
+ interface DomainEvent extends DomainEventBodyOneOf {
2409
+ createdEvent?: EntityCreatedEvent;
2410
+ updatedEvent?: EntityUpdatedEvent;
2411
+ deletedEvent?: EntityDeletedEvent;
2412
+ actionEvent?: ActionEvent;
2413
+ /**
2414
+ * Unique event ID.
2415
+ * Allows clients to ignore duplicate webhooks.
2416
+ */
2417
+ _id?: string;
2418
+ /**
2419
+ * Assumes actions are also always typed to an entity_type
2420
+ * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction
2421
+ */
2422
+ entityFqdn?: string;
2423
+ /**
2424
+ * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)
2425
+ * This is although the created/updated/deleted notion is duplication of the oneof types
2426
+ * Example: created/updated/deleted/started/completed/email_opened
2427
+ */
2428
+ slug?: string;
2429
+ /** ID of the entity associated with the event. */
2430
+ entityId?: string;
2431
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */
2432
+ eventTime?: Date;
2433
+ /**
2434
+ * Whether the event was triggered as a result of a privacy regulation application
2435
+ * (for example, GDPR).
2436
+ */
2437
+ triggeredByAnonymizeRequest?: boolean | null;
2438
+ /** If present, indicates the action that triggered the event. */
2439
+ originatedFrom?: string | null;
2440
+ /**
2441
+ * A sequence number defining the order of updates to the underlying entity.
2442
+ * For example, given that some entity was updated at 16:00 and than again at 16:01,
2443
+ * it is guaranteed that the sequence number of the second update is strictly higher than the first.
2444
+ * As the consumer, you can use this value to ensure that you handle messages in the correct order.
2445
+ * To do so, you will need to persist this number on your end, and compare the sequence number from the
2446
+ * message against the one you have stored. Given that the stored number is higher, you should ignore the message.
2447
+ */
2448
+ entityEventSequence?: string | null;
2449
+ }
2450
+ /** @oneof */
2451
+ interface DomainEventBodyOneOf {
2452
+ createdEvent?: EntityCreatedEvent;
2453
+ updatedEvent?: EntityUpdatedEvent;
2454
+ deletedEvent?: EntityDeletedEvent;
2455
+ actionEvent?: ActionEvent;
2456
+ }
2457
+ interface EntityCreatedEvent {
2458
+ entity?: string;
2459
+ }
2460
+ interface RestoreInfo {
2461
+ deletedDate?: Date;
2462
+ }
2463
+ interface EntityUpdatedEvent {
2464
+ /**
2465
+ * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
2466
+ * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
2467
+ * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
2468
+ */
2469
+ currentEntity?: string;
2470
+ }
2471
+ interface EntityDeletedEvent {
2472
+ /** Entity that was deleted */
2473
+ deletedEntity?: string | null;
2474
+ }
2475
+ interface ActionEvent {
2476
+ body?: string;
2477
+ }
2478
+ interface Empty {
2479
+ }
2480
+ interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {
2481
+ /** Emitted on a meta site creation. */
2482
+ siteCreated?: SiteCreated;
2483
+ /** Emitted on a meta site transfer completion. */
2484
+ siteTransferred?: SiteTransferred;
2485
+ /** Emitted on a meta site deletion. */
2486
+ siteDeleted?: SiteDeleted;
2487
+ /** Emitted on a meta site restoration. */
2488
+ siteUndeleted?: SiteUndeleted;
2489
+ /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */
2490
+ sitePublished?: SitePublished;
2491
+ /** Emitted on a meta site unpublish. */
2492
+ siteUnpublished?: SiteUnpublished;
2493
+ /** Emitted when meta site is marked as template. */
2494
+ siteMarkedAsTemplate?: SiteMarkedAsTemplate;
2495
+ /** Emitted when meta site is marked as a WixSite. */
2496
+ siteMarkedAsWixSite?: SiteMarkedAsWixSite;
2497
+ /** Emitted when an application is provisioned (installed). */
2498
+ serviceProvisioned?: ServiceProvisioned;
2499
+ /** Emitted when an application is removed (uninstalled). */
2500
+ serviceRemoved?: ServiceRemoved;
2501
+ /** Emitted when meta site name (URL slug) is changed. */
2502
+ siteRenamedPayload?: SiteRenamed;
2503
+ /** Emitted when meta site was permanently deleted. */
2504
+ hardDeleted?: SiteHardDeleted;
2505
+ /** Emitted on a namespace change. */
2506
+ namespaceChanged?: NamespaceChanged;
2507
+ /** Emitted when Studio is attached. */
2508
+ studioAssigned?: StudioAssigned;
2509
+ /** Emitted when Studio is detached. */
2510
+ studioUnassigned?: StudioUnassigned;
2511
+ /** A meta site id. */
2512
+ metaSiteId?: string;
2513
+ /** A meta site version. Monotonically increasing. */
2514
+ version?: string;
2515
+ /** A timestamp of the event. */
2516
+ timestamp?: string;
2517
+ /** A list of "assets" (applications). The same as MetaSiteContext. */
2518
+ assets?: Asset[];
2519
+ }
2520
+ /** @oneof */
2521
+ interface MetaSiteSpecialEventPayloadOneOf {
2522
+ /** Emitted on a meta site creation. */
2523
+ siteCreated?: SiteCreated;
2524
+ /** Emitted on a meta site transfer completion. */
2525
+ siteTransferred?: SiteTransferred;
2526
+ /** Emitted on a meta site deletion. */
2527
+ siteDeleted?: SiteDeleted;
2528
+ /** Emitted on a meta site restoration. */
2529
+ siteUndeleted?: SiteUndeleted;
2530
+ /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */
2531
+ sitePublished?: SitePublished;
2532
+ /** Emitted on a meta site unpublish. */
2533
+ siteUnpublished?: SiteUnpublished;
2534
+ /** Emitted when meta site is marked as template. */
2535
+ siteMarkedAsTemplate?: SiteMarkedAsTemplate;
2536
+ /** Emitted when meta site is marked as a WixSite. */
2537
+ siteMarkedAsWixSite?: SiteMarkedAsWixSite;
2538
+ /** Emitted when an application is provisioned (installed). */
2539
+ serviceProvisioned?: ServiceProvisioned;
2540
+ /** Emitted when an application is removed (uninstalled). */
2541
+ serviceRemoved?: ServiceRemoved;
2542
+ /** Emitted when meta site name (URL slug) is changed. */
2543
+ siteRenamedPayload?: SiteRenamed;
2544
+ /** Emitted when meta site was permanently deleted. */
2545
+ hardDeleted?: SiteHardDeleted;
2546
+ /** Emitted on a namespace change. */
2547
+ namespaceChanged?: NamespaceChanged;
2548
+ /** Emitted when Studio is attached. */
2549
+ studioAssigned?: StudioAssigned;
2550
+ /** Emitted when Studio is detached. */
2551
+ studioUnassigned?: StudioUnassigned;
2552
+ }
2553
+ interface Asset {
2554
+ /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */
2555
+ appDefId?: string;
2556
+ /** An instance id. For legacy reasons may be UUID or a string. */
2557
+ instanceId?: string;
2558
+ /** An application state. */
2559
+ state?: State;
2560
+ }
2561
+ declare enum State {
2562
+ UNKNOWN = "UNKNOWN",
2563
+ ENABLED = "ENABLED",
2564
+ DISABLED = "DISABLED",
2565
+ PENDING = "PENDING",
2566
+ DEMO = "DEMO"
2567
+ }
2568
+ interface SiteCreated {
2569
+ /** A template identifier (empty if not created from a template). */
2570
+ originTemplateId?: string;
2571
+ /** An account id of the owner. */
2572
+ ownerId?: string;
2573
+ /** A context in which meta site was created. */
2574
+ context?: SiteCreatedContext;
2575
+ /**
2576
+ * A meta site id from which this site was created.
2577
+ *
2578
+ * In case of a creation from a template it's a template id.
2579
+ * In case of a site duplication ("Save As" in dashboard or duplicate in UM) it's an id of a source site.
2580
+ */
2581
+ originMetaSiteId?: string | null;
2582
+ /** A meta site name (URL slug). */
2583
+ siteName?: string;
2584
+ /** A namespace. */
2585
+ namespace?: Namespace;
2586
+ }
2587
+ declare enum SiteCreatedContext {
2588
+ /** A valid option, we don't expose all reasons why site might be created. */
2589
+ OTHER = "OTHER",
2590
+ /** A meta site was created from template. */
2591
+ FROM_TEMPLATE = "FROM_TEMPLATE",
2592
+ /** A meta site was created by copying of the transfferred meta site. */
2593
+ DUPLICATE_BY_SITE_TRANSFER = "DUPLICATE_BY_SITE_TRANSFER",
2594
+ /** A copy of existing meta site. */
2595
+ DUPLICATE = "DUPLICATE",
2596
+ /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */
2597
+ OLD_SITE_TRANSFER = "OLD_SITE_TRANSFER",
2598
+ /** deprecated A meta site was created for Flash editor. */
2599
+ FLASH = "FLASH"
2600
+ }
2601
+ declare enum Namespace {
2602
+ UNKNOWN_NAMESPACE = "UNKNOWN_NAMESPACE",
2603
+ /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */
2604
+ WIX = "WIX",
2605
+ /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */
2606
+ SHOUT_OUT = "SHOUT_OUT",
2607
+ /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */
2608
+ ALBUMS = "ALBUMS",
2609
+ /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */
2610
+ WIX_STORES_TEST_DRIVE = "WIX_STORES_TEST_DRIVE",
2611
+ /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */
2612
+ HOTELS = "HOTELS",
2613
+ /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */
2614
+ CLUBS = "CLUBS",
2615
+ /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */
2616
+ ONBOARDING_DRAFT = "ONBOARDING_DRAFT",
2617
+ /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */
2618
+ DEV_SITE = "DEV_SITE",
2619
+ /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */
2620
+ LOGOS = "LOGOS",
2621
+ /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */
2622
+ VIDEO_MAKER = "VIDEO_MAKER",
2623
+ /** MetaSites with this namespace will *not* be shown in a user's site list by default. */
2624
+ PARTNER_DASHBOARD = "PARTNER_DASHBOARD",
2625
+ /** MetaSites with this namespace will *not* be shown in a user's site list by default. */
2626
+ DEV_CENTER_COMPANY = "DEV_CENTER_COMPANY",
2627
+ /**
2628
+ * A draft created by HTML editor on open. Upon "first save" it will be moved to be of WIX domain.
2629
+ *
2630
+ * Meta site with this namespace will *not* be shown in a user's site list by default.
2631
+ */
2632
+ HTML_DRAFT = "HTML_DRAFT",
2633
+ /**
2634
+ * the user-journey for Fitness users who want to start from managing their business instead of designing their website.
2635
+ * Will be accessible from Site List and will not have a website app.
2636
+ * Once the user attaches a site, the site will become a regular wixsite.
2637
+ */
2638
+ SITELESS_BUSINESS = "SITELESS_BUSINESS",
2639
+ /** Belongs to "strategic products" company. Supports new product in the creator's economy space. */
2640
+ CREATOR_ECONOMY = "CREATOR_ECONOMY",
2641
+ /** It is to be used in the Business First efforts. */
2642
+ DASHBOARD_FIRST = "DASHBOARD_FIRST",
2643
+ /** Bookings business flow with no site. */
2644
+ ANYWHERE = "ANYWHERE",
2645
+ /** Namespace for Headless Backoffice with no editor */
2646
+ HEADLESS = "HEADLESS",
2647
+ /**
2648
+ * Namespace for master site that will exist in parent account that will be referenced by subaccounts
2649
+ * The site will be used for account level CSM feature for enterprise
2650
+ */
2651
+ ACCOUNT_MASTER_CMS = "ACCOUNT_MASTER_CMS",
2652
+ /** Rise.ai Siteless account management for Gift Cards and Store Credit. */
2653
+ RISE = "RISE",
2654
+ /**
2655
+ * As part of the branded app new funnel, users now can create a meta site that will be branded app first.
2656
+ * There's a blank site behind the scene but it's blank).
2657
+ * The Mobile company will be the owner of this namespace.
2658
+ */
2659
+ BRANDED_FIRST = "BRANDED_FIRST",
2660
+ /** Nownia.com Siteless account management for Ai Scheduling Assistant. */
2661
+ NOWNIA = "NOWNIA"
2662
+ }
2663
+ /** Site transferred to another user. */
2664
+ interface SiteTransferred {
2665
+ /** A previous owner id (user that transfers meta site). */
2666
+ oldOwnerId?: string;
2667
+ /** A new owner id (user that accepts meta site). */
2668
+ newOwnerId?: string;
2669
+ }
2670
+ /** Soft deletion of the meta site. Could be restored. */
2671
+ interface SiteDeleted {
2672
+ /** A deletion context. */
2673
+ deleteContext?: DeleteContext;
2674
+ }
2675
+ interface DeleteContext {
2676
+ /** When the meta site was deleted. */
2677
+ dateDeleted?: Date;
2678
+ /** A status. */
2679
+ deleteStatus?: DeleteStatus;
2680
+ /** A reason (flow). */
2681
+ deleteOrigin?: string;
2682
+ /** A service that deleted it. */
2683
+ initiatorId?: string | null;
2684
+ }
2685
+ declare enum DeleteStatus {
2686
+ UNKNOWN = "UNKNOWN",
2687
+ TRASH = "TRASH",
2688
+ DELETED = "DELETED",
2689
+ PENDING_PURGE = "PENDING_PURGE"
2690
+ }
2691
+ /** Restoration of the meta site. */
2692
+ interface SiteUndeleted {
2693
+ }
2694
+ /** First publish of a meta site. Or subsequent publish after unpublish. */
2695
+ interface SitePublished {
2696
+ }
2697
+ interface SiteUnpublished {
2698
+ /** A list of URLs previously associated with the meta site. */
2699
+ urls?: string[];
2700
+ }
2701
+ interface SiteMarkedAsTemplate {
2702
+ }
2703
+ interface SiteMarkedAsWixSite {
2704
+ }
2705
+ interface ServiceProvisioned {
2706
+ /** Either UUID or EmbeddedServiceType. */
2707
+ appDefId?: string;
2708
+ /** Not only UUID. Something here could be something weird. */
2709
+ instanceId?: string;
2710
+ /** An instance id from which this instance is originated. */
2711
+ originInstanceId?: string;
2712
+ /** A version. */
2713
+ version?: string | null;
2714
+ }
2715
+ interface ServiceRemoved {
2716
+ /** Either UUID or EmbeddedServiceType. */
2717
+ appDefId?: string;
2718
+ /** Not only UUID. Something here could be something weird. */
2719
+ instanceId?: string;
2720
+ /** A version. */
2721
+ version?: string | null;
2722
+ }
2723
+ /** Rename of the site. Meaning, free public url has been changed as well. */
2724
+ interface SiteRenamed {
2725
+ /** A new meta site name (URL slug). */
2726
+ newSiteName?: string;
2727
+ /** A previous meta site name (URL slug). */
2728
+ oldSiteName?: string;
2729
+ }
2730
+ /**
2731
+ * Hard deletion of the meta site.
2732
+ *
2733
+ * Could not be restored. Therefore it's desirable to cleanup data.
2734
+ */
2735
+ interface SiteHardDeleted {
2736
+ /** A deletion context. */
2737
+ deleteContext?: DeleteContext;
2738
+ }
2739
+ interface NamespaceChanged {
2740
+ /** A previous namespace. */
2741
+ oldNamespace?: Namespace;
2742
+ /** A new namespace. */
2743
+ newNamespace?: Namespace;
2744
+ }
2745
+ /** Assigned Studio editor */
2746
+ interface StudioAssigned {
2747
+ }
2748
+ /** Unassigned Studio editor */
2749
+ interface StudioUnassigned {
2750
+ }
2751
+ /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */
2752
+ interface SitePropertiesNotification {
2753
+ /** The site ID for which this update notification applies. */
2754
+ metasiteId?: string;
2755
+ /** The actual update event. */
2756
+ event?: SitePropertiesEvent;
2757
+ /** A convenience set of mappings from the MetaSite ID to its constituent services. */
2758
+ translations?: Translation[];
2759
+ /** Context of the notification */
2760
+ changeContext?: ChangeContext;
2761
+ }
2762
+ /** The actual update event for a particular notification. */
2763
+ interface SitePropertiesEvent {
2764
+ /** Version of the site's properties represented by this update. */
2765
+ version?: number;
2766
+ /** Updated properties. */
2767
+ properties?: Properties;
2768
+ }
2769
+ interface Properties {
2770
+ /** Site categories. */
2771
+ categories?: Categories;
2772
+ /** Site locale. */
2773
+ locale?: Locale;
2774
+ /**
2775
+ * Site language.
2776
+ *
2777
+ * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.
2778
+ */
2779
+ language?: string | null;
2780
+ /**
2781
+ * Site currency format used to bill customers.
2782
+ *
2783
+ * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.
2784
+ */
2785
+ paymentCurrency?: string | null;
2786
+ /** Timezone in `America/New_York` format. */
2787
+ timeZone?: string | null;
2788
+ /** Email address. */
2789
+ email?: string | null;
2790
+ /** Phone number. */
2791
+ phone?: string | null;
2792
+ /** Fax number. */
2793
+ fax?: string | null;
2794
+ /** Address. */
2795
+ address?: Address;
2796
+ /** Site display name. */
2797
+ siteDisplayName?: string | null;
2798
+ /** Business name. */
2799
+ businessName?: string | null;
2800
+ /** Path to the site's logo in Wix Media (without Wix Media base URL). */
2801
+ logo?: string | null;
2802
+ /** Site description. */
2803
+ description?: string | null;
2804
+ /**
2805
+ * Business schedule. Regular and exceptional time periods when the business is open or the service is available.
2806
+ *
2807
+ * __Note:__ Not supported by Wix Bookings.
2808
+ */
2809
+ businessSchedule?: BusinessSchedule;
2810
+ /** Supported languages of a site and the primary language. */
2811
+ multilingual?: Multilingual;
2812
+ /** Cookie policy the site owner defined for their site (before the users interacts with/limits it). */
2813
+ consentPolicy?: ConsentPolicy;
2814
+ /**
2815
+ * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.
2816
+ *
2817
+ * Site business type.
2818
+ */
2819
+ businessConfig?: string | null;
2820
+ /** External site url that uses Wix as its headless business solution */
2821
+ externalSiteUrl?: string | null;
2822
+ /** Track clicks analytics */
2823
+ trackClicksAnalytics?: boolean;
2824
+ }
2825
+ interface Categories {
2826
+ /** Primary site category. */
2827
+ primary?: string;
2828
+ /** Secondary site category. */
2829
+ secondary?: string[];
2830
+ /** Business Term Id */
2831
+ businessTermId?: string | null;
2832
+ }
2833
+ interface Locale {
2834
+ /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */
2835
+ languageCode?: string;
2836
+ /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */
2837
+ country?: string;
2838
+ }
2839
+ interface Address {
2840
+ /** Street name. */
2841
+ street?: string;
2842
+ /** City name. */
2843
+ city?: string;
2844
+ /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */
2845
+ country?: string;
2846
+ /** State. */
2847
+ state?: string;
2848
+ /** Zip or postal code. */
2849
+ zip?: string;
2850
+ /** Extra information to be displayed in the address. */
2851
+ hint?: AddressHint;
2852
+ /** Whether this address represents a physical location. */
2853
+ isPhysical?: boolean;
2854
+ /** Google-formatted version of this address. */
2855
+ googleFormattedAddress?: string;
2856
+ /** Street number. */
2857
+ streetNumber?: string;
2858
+ /** Apartment number. */
2859
+ apartmentNumber?: string;
2860
+ /** Geographic coordinates of location. */
2861
+ coordinates?: GeoCoordinates;
2862
+ }
2863
+ /**
2864
+ * Extra information on displayed addresses.
2865
+ * This is used for display purposes. Used to add additional data about the address, such as "In the passage".
2866
+ * Free text. In addition the user can state where he wants that additional description - before, after, or instead
2867
+ * the address string.
2868
+ */
2869
+ interface AddressHint {
2870
+ /** Extra text displayed next to, or instead of, the actual address. */
2871
+ text?: string;
2872
+ /** Where the extra text should be displayed. */
2873
+ placement?: PlacementType;
2874
+ }
2875
+ /** Where the extra text should be displayed: before, after or instead of the actual address. */
2876
+ declare enum PlacementType {
2877
+ BEFORE = "BEFORE",
2878
+ AFTER = "AFTER",
2879
+ REPLACE = "REPLACE"
2880
+ }
2881
+ /** Geocoordinates for a particular address. */
2882
+ interface GeoCoordinates {
2883
+ /** Latitude of the location. Must be between -90 and 90. */
2884
+ latitude?: number;
2885
+ /** Longitude of the location. Must be between -180 and 180. */
2886
+ longitude?: number;
2887
+ }
2888
+ /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */
2889
+ interface BusinessSchedule {
2890
+ /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */
2891
+ periods?: TimePeriod[];
2892
+ /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */
2893
+ specialHourPeriod?: SpecialHourPeriod[];
2894
+ }
2895
+ /** Weekly recurring time periods when the business is regularly open or the service is available. */
2896
+ interface TimePeriod {
2897
+ /** Day of the week the period starts on. */
2898
+ openDay?: DayOfWeek;
2899
+ /**
2900
+ * 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
2901
+ * midnight at the end of the specified day.
2902
+ */
2903
+ openTime?: string;
2904
+ /** Day of the week the period ends on. */
2905
+ closeDay?: DayOfWeek;
2906
+ /**
2907
+ * 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
2908
+ * midnight at the end of the specified day.
2909
+ *
2910
+ * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.
2911
+ */
2912
+ closeTime?: string;
2913
+ }
2914
+ /** Enumerates the days of the week. */
2915
+ declare enum DayOfWeek {
2916
+ MONDAY = "MONDAY",
2917
+ TUESDAY = "TUESDAY",
2918
+ WEDNESDAY = "WEDNESDAY",
2919
+ THURSDAY = "THURSDAY",
2920
+ FRIDAY = "FRIDAY",
2921
+ SATURDAY = "SATURDAY",
2922
+ SUNDAY = "SUNDAY"
2923
+ }
2924
+ /** Exception to the business's regular hours. The business can be open or closed during the exception. */
2925
+ interface SpecialHourPeriod {
2926
+ /** 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). */
2927
+ startDate?: string;
2928
+ /** End 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). */
2929
+ endDate?: string;
2930
+ /**
2931
+ * Whether the business is closed (or the service is not available) during the exception.
2932
+ *
2933
+ * Default: `true`.
2934
+ */
2935
+ isClosed?: boolean;
2936
+ /** Additional info about the exception. For example, "We close earlier on New Year's Eve." */
2937
+ comment?: string;
2938
+ }
2939
+ interface Multilingual {
2940
+ /** Supported languages list. */
2941
+ supportedLanguages?: SupportedLanguage[];
2942
+ /** Whether to redirect to user language. */
2943
+ autoRedirect?: boolean;
2944
+ }
2945
+ interface SupportedLanguage {
2946
+ /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */
2947
+ languageCode?: string;
2948
+ /** Locale. */
2949
+ locale?: Locale;
2950
+ /** Whether the supported language is the primary language for the site. */
2951
+ isPrimary?: boolean;
2952
+ /** Language icon. */
2953
+ countryCode?: string;
2954
+ /** How the language will be resolved. For internal use. */
2955
+ resolutionMethod?: ResolutionMethod;
2956
+ }
2957
+ declare enum ResolutionMethod {
2958
+ QUERY_PARAM = "QUERY_PARAM",
2959
+ SUBDOMAIN = "SUBDOMAIN",
2960
+ SUBDIRECTORY = "SUBDIRECTORY"
2961
+ }
2962
+ interface ConsentPolicy {
2963
+ /** Whether the site uses cookies that are essential to site operation. */
2964
+ essential?: boolean | null;
2965
+ /** Whether the site uses cookies that affect site performance and other functional measurements. */
2966
+ functional?: boolean | null;
2967
+ /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */
2968
+ analytics?: boolean | null;
2969
+ /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */
2970
+ advertising?: boolean | null;
2971
+ /** CCPA compliance flag. */
2972
+ dataToThirdParty?: boolean | null;
2973
+ }
2974
+ /** A single mapping from the MetaSite ID to a particular service. */
2975
+ interface Translation {
2976
+ /** The service type. */
2977
+ serviceType?: string;
2978
+ /** The application definition ID; this only applies to services of type ThirdPartyApps. */
2979
+ appDefId?: string;
2980
+ /** The instance ID of the service. */
2981
+ instanceId?: string;
2982
+ }
2983
+ interface ChangeContext extends ChangeContextPayloadOneOf {
2984
+ /** Properties were updated. */
2985
+ propertiesChange?: PropertiesChange;
2986
+ /** Default properties were created on site creation. */
2987
+ siteCreated?: V4SiteCreated;
2988
+ /** Properties were cloned on site cloning. */
2989
+ siteCloned?: SiteCloned;
2990
+ }
2991
+ /** @oneof */
2992
+ interface ChangeContextPayloadOneOf {
2993
+ /** Properties were updated. */
2994
+ propertiesChange?: PropertiesChange;
2995
+ /** Default properties were created on site creation. */
2996
+ siteCreated?: V4SiteCreated;
2997
+ /** Properties were cloned on site cloning. */
2998
+ siteCloned?: SiteCloned;
2999
+ }
3000
+ interface PropertiesChange {
3001
+ }
3002
+ interface V4SiteCreated {
3003
+ /** Origin template site id. */
3004
+ originTemplateId?: string | null;
3005
+ }
3006
+ interface SiteCloned {
3007
+ /** Origin site id. */
3008
+ originMetaSiteId?: string;
3009
+ }
3010
+ interface FeatureEvent extends FeatureEventEventOneOf {
3011
+ /**
3012
+ * Information about an event that makes a feature eligible to the user.
3013
+ * Triggered for example, for new features or when a feature is reassigned
3014
+ * to an account or a site.
3015
+ */
3016
+ enabled?: FeatureEnabled;
3017
+ /**
3018
+ * Information about an event that disables a feature for the user.
3019
+ * Triggered for example, when a feature is unassigned from a site,
3020
+ * reassigned to a different site, or the user switched to a different contract.
3021
+ */
3022
+ disabled?: FeatureDisabled;
3023
+ /**
3024
+ * Information about an event that updates a feature. An `updated` event
3025
+ * is triggered for example by the
3026
+ * [Report Quota Usage](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/report-quota-usage)
3027
+ * and [Reset Usage Counter](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/reset-usage-counter)
3028
+ * endpoints.
3029
+ */
3030
+ updated?: FeatureUpdated;
3031
+ /**
3032
+ * Information about an event that cancels a feature for the user.
3033
+ * Triggered for example, when a feature is canceled, transferred to
3034
+ * another account, or the user switched to a different contract.
3035
+ */
3036
+ cancelled?: FeatureCancelled;
3037
+ /**
3038
+ * Timestamp of the event in
3039
+ * [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).
3040
+ */
3041
+ timestamp?: Date;
3042
+ }
3043
+ /** @oneof */
3044
+ interface FeatureEventEventOneOf {
3045
+ /**
3046
+ * Information about an event that makes a feature eligible to the user.
3047
+ * Triggered for example, for new features or when a feature is reassigned
3048
+ * to an account or a site.
3049
+ */
3050
+ enabled?: FeatureEnabled;
3051
+ /**
3052
+ * Information about an event that disables a feature for the user.
3053
+ * Triggered for example, when a feature is unassigned from a site,
3054
+ * reassigned to a different site, or the user switched to a different contract.
3055
+ */
3056
+ disabled?: FeatureDisabled;
3057
+ /**
3058
+ * Information about an event that updates a feature. An `updated` event
3059
+ * is triggered for example by the
3060
+ * [Report Quota Usage](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/report-quota-usage)
3061
+ * and [Reset Usage Counter](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/reset-usage-counter)
3062
+ * endpoints.
3063
+ */
3064
+ updated?: FeatureUpdated;
3065
+ /**
3066
+ * Information about an event that cancels a feature for the user.
3067
+ * Triggered for example, when a feature is canceled, transferred to
3068
+ * another account, or the user switched to a different contract.
3069
+ */
3070
+ cancelled?: FeatureCancelled;
3071
+ }
3072
+ /** Feature created or enabled after disabled state */
3073
+ interface FeatureEnabled extends FeatureEnabledReasonOneOf {
3074
+ /** Information about a transfer from another account. */
3075
+ transferredFromAnotherAccount?: TransferredFromAnotherAccountReason;
3076
+ /** Information about a transfer from another site. */
3077
+ reassignedFromSite?: ReassignedFromSiteReason;
3078
+ /** Information about a feature that hadn't been assigned to site. */
3079
+ assignedFromFloating?: AssignedFromFloatingReason;
3080
+ /** Information about the new feature. */
3081
+ newFeature?: NewFeatureReason;
3082
+ /** Information about the contract switch. */
3083
+ contractSwitched?: ContractSwitchedReason;
3084
+ /** Information about the manually created features. */
3085
+ manualFeatureCreation?: ManualFeatureCreationReason;
3086
+ /** Information about a feature that was migrated from legacy. */
3087
+ migratedFromLegacy?: MigratedFromLegacyReason;
3088
+ /** Enabled feature. */
3089
+ feature?: Feature;
3090
+ /**
3091
+ * Information about a transfer from another account.
3092
+ * __Deprecated__. Use `reason.transferred_from_another_account` instead.
3093
+ */
3094
+ transferredFromAccount?: string | null;
3095
+ /**
3096
+ * Information about a transfer from another site.
3097
+ * __Deprecated__. Use `reason.reassigned_from_site` instead.
3098
+ */
3099
+ reassignedFromMetasite?: string | null;
3100
+ }
3101
+ /** @oneof */
3102
+ interface FeatureEnabledReasonOneOf {
3103
+ /** Information about a transfer from another account. */
3104
+ transferredFromAnotherAccount?: TransferredFromAnotherAccountReason;
3105
+ /** Information about a transfer from another site. */
3106
+ reassignedFromSite?: ReassignedFromSiteReason;
3107
+ /** Information about a feature that hadn't been assigned to site. */
3108
+ assignedFromFloating?: AssignedFromFloatingReason;
3109
+ /** Information about the new feature. */
3110
+ newFeature?: NewFeatureReason;
3111
+ /** Information about the contract switch. */
3112
+ contractSwitched?: ContractSwitchedReason;
3113
+ /** Information about the manually created features. */
3114
+ manualFeatureCreation?: ManualFeatureCreationReason;
3115
+ /** Information about a feature that was migrated from legacy. */
3116
+ migratedFromLegacy?: MigratedFromLegacyReason;
3117
+ }
3118
+ interface Feature extends FeatureQuantityInfoOneOf {
3119
+ /**
3120
+ * Deprecated. Use `enabled` instead.
3121
+ * @deprecated
3122
+ */
3123
+ booleanFeature?: BooleanFeature;
3124
+ /**
3125
+ * Deprecated. Use `quotaInfo` instead.
3126
+ * @deprecated
3127
+ */
3128
+ quotaFeature?: QuotaFeature;
3129
+ /**
3130
+ * ID of the feature. __Note:__ Isn't unique. For example, all features that
3131
+ * are available to free Wix accounts or site in some capacity have
3132
+ * `{"id": "DEFAULT"}`. Use `uniqueName` as unique identifier for a feature.
3133
+ * @readonly
3134
+ */
3135
+ _id?: string;
3136
+ /**
3137
+ * Unique name of the feature. Only lower case letters, numbers, and dashes
3138
+ * `-` are supported. Used in the endpoints of the
3139
+ * [Features Manager API](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/introduction)
3140
+ * to specify the feature. Not visible to customers. We recommend to start
3141
+ * the unique name with a prefix describing your organization or Wix company.
3142
+ * For example, `bookings` or `crm`.
3143
+ *
3144
+ * Min: 2 characters
3145
+ * Max: 50 characters
3146
+ */
3147
+ uniqueName?: string;
3148
+ /**
3149
+ * Information about whether the feature belongs to a Wix account or site.
3150
+ * Account features have `context.userId`. Site features have `context.metaSiteId` in case
3151
+ * they're assigned to a specific site. Site features that aren't assigned to
3152
+ * a specific site have neither ID.
3153
+ */
3154
+ context?: FeatureContext;
3155
+ /**
3156
+ * Deprecated.
3157
+ * @readonly
3158
+ * @deprecated
3159
+ */
3160
+ createdAt?: Date;
3161
+ /**
3162
+ * Deprecated.
3163
+ * @readonly
3164
+ * @deprecated
3165
+ */
3166
+ updatedAt?: Date;
3167
+ /**
3168
+ * Information about how often customers can use the feature during a specific
3169
+ * period. Available only for quota features.
3170
+ */
3171
+ quotaInfo?: QuotaInfo;
3172
+ /**
3173
+ * Whether the customer is currently allowed to use the feature.
3174
+ * `true` means that the customer can use the feature. This means a boolean
3175
+ * feature is active or a quota feature has remaining usage.
3176
+ * `false` means that the customer can't use the feature.
3177
+ * This means a boolean feature isn't active or a quota feature doesn't
3178
+ * have remaining usage.
3179
+ */
3180
+ enabled?: boolean;
3181
+ /**
3182
+ * ID of the [subscription](https://bo.wix.com/wix-docs/rest/premium/premium-subscriptions-manager/subscription-object)
3183
+ * to which the feature instance belongs.
3184
+ */
3185
+ subscriptionId?: string | null;
3186
+ /**
3187
+ * Metadata of the feature. Wix Premium uses the metadata object to indicate
3188
+ * that customers who purchase a product with the feature also get
3189
+ * access to an additional product. For these bundled products `metadata`
3190
+ * looks like this: `{"tpa": "{"appDefId": "sample-app-def-id-1234567890", "vendorProductId": "sample-productId"}}"`.
3191
+ * But you can use the `metadata` property for other purposes, too.
3192
+ */
3193
+ metadata?: Record<string, string>;
3194
+ }
3195
+ /** @oneof */
3196
+ interface FeatureQuantityInfoOneOf {
3197
+ /**
3198
+ * Deprecated. Use `enabled` instead.
3199
+ * @deprecated
3200
+ */
3201
+ booleanFeature?: BooleanFeature;
3202
+ /**
3203
+ * Deprecated. Use `quotaInfo` instead.
3204
+ * @deprecated
3205
+ */
3206
+ quotaFeature?: QuotaFeature;
3207
+ }
3208
+ /**
3209
+ * Context this feature is currently connected to.
3210
+ * Note: Do not confuse with feature scope which is configured in the product catalog
3211
+ * and defines in which context the product can be used
3212
+ */
3213
+ interface FeatureContext {
3214
+ /**
3215
+ * ID of the Wix account that the feature instance belongs to.
3216
+ * Available for both site and account level feature instances.
3217
+ */
3218
+ userId?: string;
3219
+ /**
3220
+ * ID of the meta site that the feature instance is assigned to.
3221
+ * Only available for site level feature instances that are assigned to a Wix
3222
+ * site. Not available for account level and unassigned site level feature
3223
+ * instances.
3224
+ */
3225
+ metaSiteId?: string | null;
3226
+ }
3227
+ /**
3228
+ * A feature that can be either "enabled" or "disabled". The default/freemium setting is always OFF, and the premium setting is always ON (meaning, unlimited usage without tracking).
3229
+ * A boolean feature is similar to a quantitive feature with a default limit of 0 and UNLIMITED premium limit (although a bit simplified).
3230
+ */
3231
+ interface BooleanFeature {
3232
+ }
3233
+ /** A feature with a periodic usage limitation. The default limit is defined in the Feature Spec, the Premium limits are defined in the respective ProductFeature. */
3234
+ interface QuotaFeature {
3235
+ /** Default (or Freemium) quota limitation. if left undefined the free feature has unlimited amount. */
3236
+ limit?: string | null;
3237
+ /** Periodic time-frame to reset the usage counter. You may use NO_PERIOD if counter shouldn't be reset. */
3238
+ period?: FeaturePeriod;
3239
+ /** Usage measurement units (seconds? MBs? unitless?). Usage reported will be counted in multiples of this basic unit. */
3240
+ units?: string | null;
3241
+ }
3242
+ /** Determines the reset cycle of the feature usage. */
3243
+ declare enum FeaturePeriod {
3244
+ NO_PERIOD = "NO_PERIOD",
3245
+ MILLISECOND = "MILLISECOND",
3246
+ SECOND = "SECOND",
3247
+ MINUTE = "MINUTE",
3248
+ HOUR = "HOUR",
3249
+ DAY = "DAY",
3250
+ WEEK = "WEEK",
3251
+ MONTH = "MONTH",
3252
+ YEAR = "YEAR"
3253
+ }
3254
+ interface QuotaInfo {
3255
+ /**
3256
+ * How often the customer is allowed to use the feature during the specified
3257
+ * period. `null` means that the customer has unlimited access to the feature.
3258
+ */
3259
+ limit?: string | null;
3260
+ /**
3261
+ * Time frame for the usage limitation. `NO_PERIOD` means that `remainingUsage`
3262
+ * isn't automatically reset to the feature's `limit` after a specific period.
3263
+ * You may still manually call
3264
+ * [Reset Usage Counter](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/reset-usage-counter).
3265
+ */
3266
+ period?: FeaturePeriod;
3267
+ /**
3268
+ * How often the customer has used the feature during the current
3269
+ * period.
3270
+ */
3271
+ currentUsage?: string;
3272
+ /**
3273
+ * How often the customer can still use the feature during the current
3274
+ * period. `null` means that the customer has unlimited access to the feature.
3275
+ */
3276
+ remainingUsage?: string | null;
3277
+ }
3278
+ /** Subscription transferred from another account, features on the current account were enabled. */
3279
+ interface TransferredFromAnotherAccountReason {
3280
+ /** Information about a transfer from another account. */
3281
+ transferredFromAccount?: string;
3282
+ }
3283
+ /** Subscription moved from one site to another in the same account, features enabled on the target site */
3284
+ interface ReassignedFromSiteReason {
3285
+ /** Information about a transfer from another site. */
3286
+ reassignedFromMetasite?: string;
3287
+ }
3288
+ /** Subscription was floating and assigned to site, features enabled on the target site */
3289
+ interface AssignedFromFloatingReason {
3290
+ }
3291
+ /** New subscription created and features created as enabled */
3292
+ interface NewFeatureReason {
3293
+ }
3294
+ /** Subscription was upgraded or downgraded, as a result new features enabled, missing features disabled , quantities are updated */
3295
+ interface ContractSwitchedReason {
3296
+ }
3297
+ /** a call to CreateFeature in features-writer, creates feature that is not attached to subscription */
3298
+ interface ManualFeatureCreationReason {
3299
+ }
3300
+ /** Subscription created due to migration from old premium model */
3301
+ interface MigratedFromLegacyReason {
3302
+ }
3303
+ /** Feature disabled and can be enabled in the future */
3304
+ interface FeatureDisabled extends FeatureDisabledReasonOneOf {
3305
+ /** Information about a feature that's no longer assigned to a site. */
3306
+ unassingedToFloating?: UnAssingedToFloatingReason;
3307
+ /**
3308
+ * Information about a feature that's been replaced by a feature from a
3309
+ * different subscription.
3310
+ */
3311
+ replacedByAnotherSubscription?: ReplacedByAnotherSubscriptionReason;
3312
+ /**
3313
+ * Information about a feature that's been reassigned to a different
3314
+ * site.
3315
+ */
3316
+ reassignedToAnotherSite?: ReassignedToAnotherSiteReason;
3317
+ /**
3318
+ * Disabled feature. Includes information about the feature's new state,
3319
+ * possibly its new context.
3320
+ */
3321
+ feature?: Feature;
3322
+ /** ID of the meta site for which the feature has been disabled. */
3323
+ metaSiteId?: string | null;
3324
+ }
3325
+ /** @oneof */
3326
+ interface FeatureDisabledReasonOneOf {
3327
+ /** Information about a feature that's no longer assigned to a site. */
3328
+ unassingedToFloating?: UnAssingedToFloatingReason;
3329
+ /**
3330
+ * Information about a feature that's been replaced by a feature from a
3331
+ * different subscription.
3332
+ */
3333
+ replacedByAnotherSubscription?: ReplacedByAnotherSubscriptionReason;
3334
+ /**
3335
+ * Information about a feature that's been reassigned to a different
3336
+ * site.
3337
+ */
3338
+ reassignedToAnotherSite?: ReassignedToAnotherSiteReason;
3339
+ }
3340
+ /** Subscription was unassigned from the site and moved into floating state */
3341
+ interface UnAssingedToFloatingReason {
3342
+ }
3343
+ /** Another subscription was assigned to the site, causing existing features on this site to be disabled */
3344
+ interface ReplacedByAnotherSubscriptionReason {
3345
+ }
3346
+ /** Subscription was assigned to another site, causing features on the origin site to be disabled. */
3347
+ interface ReassignedToAnotherSiteReason {
3348
+ /** Information about a transfer to the site. */
3349
+ reassignedToMetasite?: string;
3350
+ }
3351
+ /** Feature updated, for example Quota was increased due to upgrade */
3352
+ interface FeatureUpdated extends FeatureUpdatedPreviousQuantityInfoOneOf, FeatureUpdatedReasonOneOf {
3353
+ /** Information about a feature that doesn't have a usage quota. */
3354
+ booleanFeature?: BooleanFeature;
3355
+ /** Information about a feature that has a usage quota. */
3356
+ quotaFeature?: QuotaFeature;
3357
+ /** Information about the contract switch. */
3358
+ contractSwitched?: ContractSwitchedReason;
3359
+ /**
3360
+ * Updated feature. Includes information about the feature's new state and
3361
+ * possibly its new context.
3362
+ */
3363
+ feature?: Feature;
3364
+ }
3365
+ /** @oneof */
3366
+ interface FeatureUpdatedPreviousQuantityInfoOneOf {
3367
+ /** Information about a feature that doesn't have a usage quota. */
3368
+ booleanFeature?: BooleanFeature;
3369
+ /** Information about a feature that has a usage quota. */
3370
+ quotaFeature?: QuotaFeature;
3371
+ }
3372
+ /** @oneof */
3373
+ interface FeatureUpdatedReasonOneOf {
3374
+ /** Information about the contract switch. */
3375
+ contractSwitched?: ContractSwitchedReason;
3376
+ }
3377
+ /** Feature was permanently cancelled */
3378
+ interface FeatureCancelled extends FeatureCancelledReasonOneOf {
3379
+ /** Information about a transfer to the account. */
3380
+ transferredToAnotherAccount?: TransferredToAnotherAccountReason;
3381
+ /** Information about the contract switch. */
3382
+ contractSwitched?: ContractSwitchedReason;
3383
+ /** Information about the feature cancellation. */
3384
+ cancelRequest?: CancelRequestedReason;
3385
+ /** Canceled feature. */
3386
+ feature?: Feature;
3387
+ /**
3388
+ * Information about a transfer to the account.
3389
+ * __Deprecated__. Use `reason.transferred_to_account` instead.
3390
+ */
3391
+ transferredToAccount?: string | null;
3392
+ }
3393
+ /** @oneof */
3394
+ interface FeatureCancelledReasonOneOf {
3395
+ /** Information about a transfer to the account. */
3396
+ transferredToAnotherAccount?: TransferredToAnotherAccountReason;
3397
+ /** Information about the contract switch. */
3398
+ contractSwitched?: ContractSwitchedReason;
3399
+ /** Information about the feature cancellation. */
3400
+ cancelRequest?: CancelRequestedReason;
3401
+ }
3402
+ /** Subscription was transferred to another account, features in the origin account were cancelled */
3403
+ interface TransferredToAnotherAccountReason {
3404
+ /** Information about a transfer to the account. */
3405
+ transferredToAccount?: string;
3406
+ }
3407
+ /** Cancellation was requested from the subscription manager api, might be a result of billing event, or direct call */
3408
+ interface CancelRequestedReason {
3409
+ }
3410
+ interface MessageEnvelope {
3411
+ /** App instance ID. */
3412
+ instanceId?: string | null;
3413
+ /** Event type. */
3414
+ eventType?: string;
3415
+ /** The identification type and identity data. */
3416
+ identity?: IdentificationData;
3417
+ /** Stringify payload. */
3418
+ data?: string;
3419
+ }
1501
3420
  interface IdentificationData extends IdentificationDataIdOneOf {
1502
3421
  /** ID of a site visitor that has not logged in to the site. */
1503
3422
  anonymousVisitorId?: string;
@@ -1528,91 +3447,146 @@ declare enum WebhookIdentityType {
1528
3447
  WIX_USER = "WIX_USER",
1529
3448
  APP = "APP"
1530
3449
  }
3450
+ interface StreetAddressNonNullableFields {
3451
+ number: string;
3452
+ name: string;
3453
+ apt: string;
3454
+ }
3455
+ interface LocationAddressNonNullableFields {
3456
+ streetAddress?: StreetAddressNonNullableFields;
3457
+ }
3458
+ interface CommonTimePeriodNonNullableFields {
3459
+ openDay: CommonDayOfWeek;
3460
+ openTime: string;
3461
+ closeDay: CommonDayOfWeek;
3462
+ closeTime: string;
3463
+ }
3464
+ interface CommonSpecialHourPeriodNonNullableFields {
3465
+ startDate: string;
3466
+ endDate: string;
3467
+ isClosed: boolean;
3468
+ comment: string;
3469
+ }
3470
+ interface CommonBusinessScheduleNonNullableFields {
3471
+ periods: CommonTimePeriodNonNullableFields[];
3472
+ specialHourPeriod: CommonSpecialHourPeriodNonNullableFields[];
3473
+ }
3474
+ interface LocationNonNullableFields {
3475
+ address?: LocationAddressNonNullableFields;
3476
+ businessSchedule?: CommonBusinessScheduleNonNullableFields;
3477
+ }
3478
+ interface SeatPacingNonNullableFields {
3479
+ number: number;
3480
+ enabled: boolean;
3481
+ }
3482
+ interface PartyPacingNonNullableFields {
3483
+ number: number;
3484
+ enabled: boolean;
3485
+ }
3486
+ interface PartiesSizeNonNullableFields {
3487
+ min: number;
3488
+ max: number;
3489
+ }
3490
+ interface PartySizeNonNullableFields {
3491
+ min: number;
3492
+ max: number;
3493
+ }
3494
+ interface NoticePeriodNonNullableFields {
3495
+ number: number;
3496
+ unit: Unit;
3497
+ }
3498
+ interface TurnoverTimeRuleNonNullableFields {
3499
+ seatsMin: number;
3500
+ seatsMax: number;
3501
+ minutes: number;
3502
+ }
3503
+ interface TurnoverRuleNonNullableFields {
3504
+ minSeats: number;
3505
+ maxSeats: number;
3506
+ minutes: number;
3507
+ }
3508
+ interface ManualApprovalNonNullableFields {
3509
+ partySizeThreshold: number;
3510
+ customApprovalsProviderId: string;
3511
+ enabled: boolean;
3512
+ }
3513
+ interface OnlineReservationsNonNullableFields {
3514
+ seatPacing?: SeatPacingNonNullableFields;
3515
+ partyPacing?: PartyPacingNonNullableFields;
3516
+ partiesSize?: PartiesSizeNonNullableFields;
3517
+ partySize?: PartySizeNonNullableFields;
3518
+ minimumReservationNotice?: NoticePeriodNonNullableFields;
3519
+ turnoverTimeRules: TurnoverTimeRuleNonNullableFields[];
3520
+ turnoverRules: TurnoverRuleNonNullableFields[];
3521
+ businessSchedule?: CommonBusinessScheduleNonNullableFields;
3522
+ manualApproval?: ManualApprovalNonNullableFields;
3523
+ }
3524
+ interface TermsAndConditionsNonNullableFields {
3525
+ url: string;
3526
+ enabled: boolean;
3527
+ }
3528
+ interface PrivacyPolicyNonNullableFields {
3529
+ url: string;
3530
+ enabled: boolean;
3531
+ }
3532
+ interface CustomFieldDefinitionNonNullableFields {
3533
+ name: string;
3534
+ required: boolean;
3535
+ }
3536
+ interface EmailMarketingCheckboxNonNullableFields {
3537
+ enabled: boolean;
3538
+ checkedByDefault: boolean;
3539
+ }
3540
+ interface ReservationFormNonNullableFields {
3541
+ termsAndConditions?: TermsAndConditionsNonNullableFields;
3542
+ privacyPolicy?: PrivacyPolicyNonNullableFields;
3543
+ customFieldDefinitions: CustomFieldDefinitionNonNullableFields[];
3544
+ emailMarketingCheckbox?: EmailMarketingCheckboxNonNullableFields;
3545
+ }
3546
+ interface MyReservationsFieldNonNullableFields {
3547
+ fieldType: FieldType;
3548
+ shown: boolean;
3549
+ }
3550
+ interface TableDefinitionNonNullableFields {
3551
+ name: string;
3552
+ seatsMin: number;
3553
+ seatsMax: number;
3554
+ }
3555
+ interface TableCombinationNonNullableFields$1 {
3556
+ seatsMin: number;
3557
+ seatsMax: number;
3558
+ }
3559
+ interface TableManagementNonNullableFields {
3560
+ tableDefinitions: TableDefinitionNonNullableFields[];
3561
+ deletedTableDefinitions: TableDefinitionNonNullableFields[];
3562
+ tableCombinations: TableCombinationNonNullableFields$1[];
3563
+ }
3564
+ interface ReservationPaymentNonNullableFields {
3565
+ value: string;
3566
+ minPartySize: number;
3567
+ }
3568
+ interface ConfigurationNonNullableFields {
3569
+ onlineReservations?: OnlineReservationsNonNullableFields;
3570
+ reservationForm?: ReservationFormNonNullableFields;
3571
+ myReservationsFields: MyReservationsFieldNonNullableFields[];
3572
+ tableManagement?: TableManagementNonNullableFields;
3573
+ reservationPayment?: ReservationPaymentNonNullableFields;
3574
+ }
3575
+ interface ReservationLocationNonNullableFields {
3576
+ location?: LocationNonNullableFields;
3577
+ configuration?: ConfigurationNonNullableFields;
3578
+ }
3579
+ interface GetReservationLocationResponseNonNullableFields {
3580
+ reservationLocation?: ReservationLocationNonNullableFields;
3581
+ }
3582
+ interface UpdateReservationLocationResponseNonNullableFields {
3583
+ reservationLocation?: ReservationLocationNonNullableFields;
3584
+ }
3585
+ interface QueryReservationLocationsResponseNonNullableFields {
3586
+ reservationLocations: ReservationLocationNonNullableFields[];
3587
+ }
1531
3588
  interface ListReservationLocationsResponseNonNullableFields {
1532
- reservationLocations: {
1533
- configuration?: {
1534
- onlineReservations?: {
1535
- seatPacing?: {
1536
- number: number;
1537
- enabled: boolean;
1538
- };
1539
- partyPacing?: {
1540
- number: number;
1541
- enabled: boolean;
1542
- };
1543
- partySize?: {
1544
- min: number;
1545
- max: number;
1546
- };
1547
- minimumReservationNotice?: {
1548
- number: number;
1549
- unit: Unit;
1550
- };
1551
- turnoverTimeRules: {
1552
- seatsMin: number;
1553
- seatsMax: number;
1554
- minutes: number;
1555
- }[];
1556
- businessSchedule?: {
1557
- periods: {
1558
- openDay: CommonDayOfWeek;
1559
- openTime: string;
1560
- closeDay: CommonDayOfWeek;
1561
- closeTime: string;
1562
- }[];
1563
- specialHourPeriod: {
1564
- startDate: string;
1565
- endDate: string;
1566
- isClosed: boolean;
1567
- comment: string;
1568
- }[];
1569
- };
1570
- manualApproval?: {
1571
- partySizeThreshold: number;
1572
- customApprovalsProviderId: string;
1573
- enabled: boolean;
1574
- };
1575
- };
1576
- reservationForm?: {
1577
- termsAndConditions?: {
1578
- url: string;
1579
- enabled: boolean;
1580
- };
1581
- privacyPolicy?: {
1582
- url: string;
1583
- enabled: boolean;
1584
- };
1585
- customFieldDefinitions: {
1586
- name: string;
1587
- required: boolean;
1588
- }[];
1589
- emailMarketingCheckbox?: {
1590
- enabled: boolean;
1591
- checkedByDefault: boolean;
1592
- };
1593
- };
1594
- myReservationsFields: {
1595
- fieldType: FieldType;
1596
- shown: boolean;
1597
- }[];
1598
- tableManagement?: {
1599
- tableDefinitions: {
1600
- name: string;
1601
- seatsMin: number;
1602
- seatsMax: number;
1603
- }[];
1604
- deletedTableDefinitions: {
1605
- name: string;
1606
- seatsMin: number;
1607
- seatsMax: number;
1608
- }[];
1609
- tableCombinations: {
1610
- seatsMin: number;
1611
- seatsMax: number;
1612
- }[];
1613
- };
1614
- };
1615
- }[];
3589
+ reservationLocations: ReservationLocationNonNullableFields[];
1616
3590
  }
1617
3591
  interface BaseEventMetadata {
1618
3592
  /** App instance ID. */
@@ -1641,7 +3615,7 @@ interface EventMetadata extends BaseEventMetadata {
1641
3615
  slug?: string;
1642
3616
  /** ID of the entity associated with the event. */
1643
3617
  entityId?: string;
1644
- /** Event timestamp. */
3618
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */
1645
3619
  eventTime?: Date;
1646
3620
  /**
1647
3621
  * Whether the event was triggered as a result of a privacy regulation application
@@ -1791,229 +3765,209 @@ interface ListReservationLocationsOptions {
1791
3765
  fieldsets?: Set[];
1792
3766
  }
1793
3767
 
1794
- type RESTFunctionDescriptor$1<T extends (...args: any[]) => any = (...args: any[]) => any> = (httpClient: HttpClient$1) => T;
1795
- interface HttpClient$1 {
1796
- request<TResponse, TData = any>(req: RequestOptionsFactory$1<TResponse, TData>): Promise<HttpResponse$1<TResponse>>;
1797
- fetchWithAuth: (url: string | URL, init?: RequestInit) => Promise<Response>;
1798
- }
1799
- type RequestOptionsFactory$1<TResponse = any, TData = any> = (context: any) => RequestOptions$1<TResponse, TData>;
1800
- type HttpResponse$1<T = any> = {
1801
- data: T;
1802
- status: number;
1803
- statusText: string;
1804
- headers: any;
1805
- request?: any;
1806
- };
1807
- type RequestOptions$1<_TResponse = any, Data = any> = {
1808
- method: 'POST' | 'GET' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
1809
- url: string;
1810
- data?: Data;
1811
- params?: URLSearchParams;
1812
- } & APIMetadata$1;
1813
- type APIMetadata$1 = {
1814
- methodFqn?: string;
1815
- entityFqdn?: string;
1816
- packageName?: string;
1817
- };
1818
- type BuildRESTFunction$1<T extends RESTFunctionDescriptor$1> = T extends RESTFunctionDescriptor$1<infer U> ? U : never;
1819
- type EventDefinition<Payload = unknown, Type extends string = string> = {
1820
- __type: 'event-definition';
1821
- type: Type;
1822
- isDomainEvent?: boolean;
1823
- transformations?: (envelope: unknown) => Payload;
1824
- __payload: Payload;
1825
- };
1826
- declare function EventDefinition<Type extends string>(type: Type, isDomainEvent?: boolean, transformations?: (envelope: any) => unknown): <Payload = unknown>() => EventDefinition<Payload, Type>;
1827
- type EventHandler<T extends EventDefinition> = (payload: T['__payload']) => void | Promise<void>;
1828
- type BuildEventDefinition<T extends EventDefinition<any, string>> = (handler: EventHandler<T>) => void;
3768
+ declare function createRESTModule$1<T extends RESTFunctionDescriptor>(descriptor: T, elevated?: boolean): BuildRESTFunction<T> & T;
1829
3769
 
1830
- declare global {
1831
- // eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
1832
- interface SymbolConstructor {
1833
- readonly observable: symbol;
1834
- }
1835
- }
3770
+ declare function createEventModule<T extends EventDefinition<any, string>>(eventDefinition: T): BuildEventDefinition<T> & T;
1836
3771
 
1837
- declare function getReservationLocation$1(httpClient: HttpClient$1): (reservationLocationId: string, options?: GetReservationLocationOptions) => Promise<ReservationLocation & {
1838
- configuration?: {
1839
- onlineReservations?: {
1840
- seatPacing?: {
1841
- number: number;
1842
- enabled: boolean;
1843
- } | undefined;
1844
- partyPacing?: {
1845
- number: number;
1846
- enabled: boolean;
1847
- } | undefined;
1848
- partySize?: {
1849
- min: number;
1850
- max: number;
1851
- } | undefined;
1852
- minimumReservationNotice?: {
1853
- number: number;
1854
- unit: Unit;
1855
- } | undefined;
1856
- turnoverTimeRules: {
1857
- seatsMin: number;
1858
- seatsMax: number;
1859
- minutes: number;
1860
- }[];
1861
- businessSchedule?: {
1862
- periods: {
1863
- openDay: CommonDayOfWeek;
1864
- openTime: string;
1865
- closeDay: CommonDayOfWeek;
1866
- closeTime: string;
1867
- }[];
1868
- specialHourPeriod: {
1869
- startDate: string;
1870
- endDate: string;
1871
- isClosed: boolean;
1872
- comment: string;
1873
- }[];
1874
- } | undefined;
1875
- manualApproval?: {
1876
- partySizeThreshold: number;
1877
- customApprovalsProviderId: string;
1878
- enabled: boolean;
1879
- } | undefined;
1880
- } | undefined;
1881
- reservationForm?: {
1882
- termsAndConditions?: {
1883
- url: string;
1884
- enabled: boolean;
1885
- } | undefined;
1886
- privacyPolicy?: {
1887
- url: string;
1888
- enabled: boolean;
1889
- } | undefined;
1890
- customFieldDefinitions: {
1891
- name: string;
1892
- required: boolean;
1893
- }[];
1894
- emailMarketingCheckbox?: {
1895
- enabled: boolean;
1896
- checkedByDefault: boolean;
1897
- } | undefined;
1898
- } | undefined;
1899
- myReservationsFields: {
1900
- fieldType: FieldType;
1901
- shown: boolean;
1902
- }[];
1903
- tableManagement?: {
1904
- tableDefinitions: {
1905
- name: string;
1906
- seatsMin: number;
1907
- seatsMax: number;
1908
- }[];
1909
- deletedTableDefinitions: {
1910
- name: string;
1911
- seatsMin: number;
1912
- seatsMax: number;
1913
- }[];
1914
- tableCombinations: {
1915
- seatsMin: number;
1916
- seatsMax: number;
1917
- }[];
1918
- } | undefined;
1919
- } | undefined;
1920
- }>;
1921
- declare function updateReservationLocation$1(httpClient: HttpClient$1): (_id: string | null, reservationLocation: UpdateReservationLocation) => Promise<ReservationLocation & {
1922
- configuration?: {
1923
- onlineReservations?: {
1924
- seatPacing?: {
1925
- number: number;
1926
- enabled: boolean;
1927
- } | undefined;
1928
- partyPacing?: {
1929
- number: number;
1930
- enabled: boolean;
1931
- } | undefined;
1932
- partySize?: {
1933
- min: number;
1934
- max: number;
1935
- } | undefined;
1936
- minimumReservationNotice?: {
1937
- number: number;
1938
- unit: Unit;
1939
- } | undefined;
1940
- turnoverTimeRules: {
1941
- seatsMin: number;
1942
- seatsMax: number;
1943
- minutes: number;
1944
- }[];
1945
- businessSchedule?: {
1946
- periods: {
1947
- openDay: CommonDayOfWeek;
1948
- openTime: string;
1949
- closeDay: CommonDayOfWeek;
1950
- closeTime: string;
1951
- }[];
1952
- specialHourPeriod: {
1953
- startDate: string;
1954
- endDate: string;
1955
- isClosed: boolean;
1956
- comment: string;
1957
- }[];
1958
- } | undefined;
1959
- manualApproval?: {
1960
- partySizeThreshold: number;
1961
- customApprovalsProviderId: string;
1962
- enabled: boolean;
1963
- } | undefined;
1964
- } | undefined;
1965
- reservationForm?: {
1966
- termsAndConditions?: {
1967
- url: string;
1968
- enabled: boolean;
1969
- } | undefined;
1970
- privacyPolicy?: {
1971
- url: string;
1972
- enabled: boolean;
1973
- } | undefined;
1974
- customFieldDefinitions: {
1975
- name: string;
1976
- required: boolean;
1977
- }[];
1978
- emailMarketingCheckbox?: {
1979
- enabled: boolean;
1980
- checkedByDefault: boolean;
1981
- } | undefined;
1982
- } | undefined;
1983
- myReservationsFields: {
1984
- fieldType: FieldType;
1985
- shown: boolean;
1986
- }[];
1987
- tableManagement?: {
1988
- tableDefinitions: {
1989
- name: string;
1990
- seatsMin: number;
1991
- seatsMax: number;
1992
- }[];
1993
- deletedTableDefinitions: {
1994
- name: string;
1995
- seatsMin: number;
1996
- seatsMax: number;
1997
- }[];
1998
- tableCombinations: {
1999
- seatsMin: number;
2000
- seatsMax: number;
2001
- }[];
2002
- } | undefined;
2003
- } | undefined;
2004
- }>;
2005
- declare function queryReservationLocations$1(httpClient: HttpClient$1): (options?: QueryReservationLocationsOptions) => ReservationLocationsQueryBuilder;
2006
- declare function listReservationLocations$1(httpClient: HttpClient$1): (options?: ListReservationLocationsOptions) => Promise<ListReservationLocationsResponse & ListReservationLocationsResponseNonNullableFields>;
2007
- declare const onReservationLocationUpdated$1: EventDefinition<ReservationLocationUpdatedEnvelope, "wix.table_reservations.v1.reservation_location_updated">;
2008
- declare const onReservationLocationCreated$1: EventDefinition<ReservationLocationCreatedEnvelope, "wix.table_reservations.v1.reservation_location_created">;
2009
-
2010
- declare const getReservationLocation: BuildRESTFunction$1<typeof getReservationLocation$1>;
2011
- declare const updateReservationLocation: BuildRESTFunction$1<typeof updateReservationLocation$1>;
2012
- declare const queryReservationLocations: BuildRESTFunction$1<typeof queryReservationLocations$1>;
2013
- declare const listReservationLocations: BuildRESTFunction$1<typeof listReservationLocations$1>;
2014
- declare const onReservationLocationUpdated: BuildEventDefinition<typeof onReservationLocationUpdated$1>;
2015
- declare const onReservationLocationCreated: BuildEventDefinition<typeof onReservationLocationCreated$1>;
3772
+ declare const getReservationLocation: ReturnType<typeof createRESTModule$1<typeof publicGetReservationLocation>>;
3773
+ declare const updateReservationLocation: ReturnType<typeof createRESTModule$1<typeof publicUpdateReservationLocation>>;
3774
+ declare const queryReservationLocations: ReturnType<typeof createRESTModule$1<typeof publicQueryReservationLocations>>;
3775
+ declare const listReservationLocations: ReturnType<typeof createRESTModule$1<typeof publicListReservationLocations>>;
3776
+ declare const onReservationLocationUpdated: ReturnType<typeof createEventModule<typeof publicOnReservationLocationUpdated>>;
3777
+ declare const onReservationLocationCreated: ReturnType<typeof createEventModule<typeof publicOnReservationLocationCreated>>;
2016
3778
 
3779
+ type context$1_ActionEvent = ActionEvent;
3780
+ type context$1_Address = Address;
3781
+ type context$1_AddressHint = AddressHint;
3782
+ type context$1_AddressLocation = AddressLocation;
3783
+ type context$1_App = App;
3784
+ type context$1_Asset = Asset;
3785
+ type context$1_AssignedFromFloatingReason = AssignedFromFloatingReason;
3786
+ type context$1_BaseEventMetadata = BaseEventMetadata;
3787
+ type context$1_BooleanFeature = BooleanFeature;
3788
+ type context$1_BusinessSchedule = BusinessSchedule;
3789
+ type context$1_CancelRequestedReason = CancelRequestedReason;
3790
+ type context$1_Categories = Categories;
3791
+ type context$1_ChangeContext = ChangeContext;
3792
+ type context$1_ChangeContextPayloadOneOf = ChangeContextPayloadOneOf;
3793
+ type context$1_CheckReservationLocationsCreatedRequest = CheckReservationLocationsCreatedRequest;
3794
+ type context$1_CheckReservationLocationsCreatedResponse = CheckReservationLocationsCreatedResponse;
3795
+ type context$1_CommonBusinessSchedule = CommonBusinessSchedule;
3796
+ type context$1_CommonDayOfWeek = CommonDayOfWeek;
3797
+ declare const context$1_CommonDayOfWeek: typeof CommonDayOfWeek;
3798
+ type context$1_CommonSpecialHourPeriod = CommonSpecialHourPeriod;
3799
+ type context$1_CommonTimePeriod = CommonTimePeriod;
3800
+ type context$1_Configuration = Configuration;
3801
+ type context$1_ConsentPolicy = ConsentPolicy;
3802
+ type context$1_ContractSwitchedReason = ContractSwitchedReason;
3803
+ type context$1_CursorPaging = CursorPaging;
3804
+ type context$1_CursorPagingMetadata = CursorPagingMetadata;
3805
+ type context$1_Cursors = Cursors;
3806
+ type context$1_CustomFieldDefinition = CustomFieldDefinition;
3807
+ type context$1_DayOfWeek = DayOfWeek;
3808
+ declare const context$1_DayOfWeek: typeof DayOfWeek;
3809
+ type context$1_DeleteContext = DeleteContext;
3810
+ type context$1_DeleteOrphanReservationLocationRequest = DeleteOrphanReservationLocationRequest;
3811
+ type context$1_DeleteOrphanReservationLocationResponse = DeleteOrphanReservationLocationResponse;
3812
+ type context$1_DeleteStatus = DeleteStatus;
3813
+ declare const context$1_DeleteStatus: typeof DeleteStatus;
3814
+ type context$1_DomainEvent = DomainEvent;
3815
+ type context$1_DomainEventBodyOneOf = DomainEventBodyOneOf;
3816
+ type context$1_EmailMarketingCheckbox = EmailMarketingCheckbox;
3817
+ type context$1_Empty = Empty;
3818
+ type context$1_EntityCreatedEvent = EntityCreatedEvent;
3819
+ type context$1_EntityDeletedEvent = EntityDeletedEvent;
3820
+ type context$1_EntityUpdatedEvent = EntityUpdatedEvent;
3821
+ type context$1_EventMetadata = EventMetadata;
3822
+ type context$1_Feature = Feature;
3823
+ type context$1_FeatureCancelled = FeatureCancelled;
3824
+ type context$1_FeatureCancelledReasonOneOf = FeatureCancelledReasonOneOf;
3825
+ type context$1_FeatureContext = FeatureContext;
3826
+ type context$1_FeatureDisabled = FeatureDisabled;
3827
+ type context$1_FeatureDisabledReasonOneOf = FeatureDisabledReasonOneOf;
3828
+ type context$1_FeatureEnabled = FeatureEnabled;
3829
+ type context$1_FeatureEnabledReasonOneOf = FeatureEnabledReasonOneOf;
3830
+ type context$1_FeatureEvent = FeatureEvent;
3831
+ type context$1_FeatureEventEventOneOf = FeatureEventEventOneOf;
3832
+ type context$1_FeaturePeriod = FeaturePeriod;
3833
+ declare const context$1_FeaturePeriod: typeof FeaturePeriod;
3834
+ type context$1_FeatureQuantityInfoOneOf = FeatureQuantityInfoOneOf;
3835
+ type context$1_FeatureUpdated = FeatureUpdated;
3836
+ type context$1_FeatureUpdatedPreviousQuantityInfoOneOf = FeatureUpdatedPreviousQuantityInfoOneOf;
3837
+ type context$1_FeatureUpdatedReasonOneOf = FeatureUpdatedReasonOneOf;
3838
+ type context$1_FieldType = FieldType;
3839
+ declare const context$1_FieldType: typeof FieldType;
3840
+ type context$1_File = File;
3841
+ type context$1_GeoCoordinates = GeoCoordinates;
3842
+ type context$1_GetReservationLocationOptions = GetReservationLocationOptions;
3843
+ type context$1_GetReservationLocationRequest = GetReservationLocationRequest;
3844
+ type context$1_GetReservationLocationResponse = GetReservationLocationResponse;
3845
+ type context$1_GetReservationLocationResponseNonNullableFields = GetReservationLocationResponseNonNullableFields;
3846
+ type context$1_IdentificationData = IdentificationData;
3847
+ type context$1_IdentificationDataIdOneOf = IdentificationDataIdOneOf;
3848
+ type context$1_InvalidateCache = InvalidateCache;
3849
+ type context$1_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;
3850
+ type context$1_ListReservationLocationsOptions = ListReservationLocationsOptions;
3851
+ type context$1_ListReservationLocationsRequest = ListReservationLocationsRequest;
3852
+ type context$1_ListReservationLocationsResponse = ListReservationLocationsResponse;
3853
+ type context$1_ListReservationLocationsResponseNonNullableFields = ListReservationLocationsResponseNonNullableFields;
3854
+ type context$1_Locale = Locale;
3855
+ type context$1_Location = Location;
3856
+ type context$1_LocationAddress = LocationAddress;
3857
+ type context$1_ManualApproval = ManualApproval;
3858
+ type context$1_ManualApprovalValueOneOf = ManualApprovalValueOneOf;
3859
+ type context$1_ManualFeatureCreationReason = ManualFeatureCreationReason;
3860
+ type context$1_MessageEnvelope = MessageEnvelope;
3861
+ type context$1_MetaSiteSpecialEvent = MetaSiteSpecialEvent;
3862
+ type context$1_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;
3863
+ type context$1_MigrateOldRestaurantSettingsRequest = MigrateOldRestaurantSettingsRequest;
3864
+ type context$1_MigrateOldRestaurantSettingsResponse = MigrateOldRestaurantSettingsResponse;
3865
+ type context$1_MigratedFromLegacyReason = MigratedFromLegacyReason;
3866
+ type context$1_MigrationParsingError = MigrationParsingError;
3867
+ type context$1_MigrationResult = MigrationResult;
3868
+ type context$1_Mode = Mode;
3869
+ declare const context$1_Mode: typeof Mode;
3870
+ type context$1_Multilingual = Multilingual;
3871
+ type context$1_MyReservationsField = MyReservationsField;
3872
+ type context$1_Namespace = Namespace;
3873
+ declare const context$1_Namespace: typeof Namespace;
3874
+ type context$1_NamespaceChanged = NamespaceChanged;
3875
+ type context$1_NewFeatureReason = NewFeatureReason;
3876
+ type context$1_NoticePeriod = NoticePeriod;
3877
+ type context$1_OldCustomField = OldCustomField;
3878
+ type context$1_OldInstant = OldInstant;
3879
+ type context$1_OldPolicy = OldPolicy;
3880
+ type context$1_OldScheduleException = OldScheduleException;
3881
+ type context$1_OldScheduleInterval = OldScheduleInterval;
3882
+ type context$1_OldTerms = OldTerms;
3883
+ type context$1_OnlineReservations = OnlineReservations;
3884
+ type context$1_Page = Page;
3885
+ type context$1_Paging = Paging;
3886
+ type context$1_PagingMetadataV2 = PagingMetadataV2;
3887
+ type context$1_ParsedSettings = ParsedSettings;
3888
+ type context$1_PartiesSize = PartiesSize;
3889
+ type context$1_PartyPacing = PartyPacing;
3890
+ type context$1_PartySize = PartySize;
3891
+ type context$1_PlacementType = PlacementType;
3892
+ declare const context$1_PlacementType: typeof PlacementType;
3893
+ type context$1_PrivacyPolicy = PrivacyPolicy;
3894
+ type context$1_PrivacyPolicyValueOneOf = PrivacyPolicyValueOneOf;
3895
+ type context$1_Properties = Properties;
3896
+ type context$1_PropertiesChange = PropertiesChange;
3897
+ type context$1_QueryReservationLocationsOptions = QueryReservationLocationsOptions;
3898
+ type context$1_QueryReservationLocationsRequest = QueryReservationLocationsRequest;
3899
+ type context$1_QueryReservationLocationsResponse = QueryReservationLocationsResponse;
3900
+ type context$1_QueryReservationLocationsResponseNonNullableFields = QueryReservationLocationsResponseNonNullableFields;
3901
+ type context$1_QueryV2 = QueryV2;
3902
+ type context$1_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;
3903
+ type context$1_QuotaFeature = QuotaFeature;
3904
+ type context$1_QuotaInfo = QuotaInfo;
3905
+ type context$1_ReassignedFromSiteReason = ReassignedFromSiteReason;
3906
+ type context$1_ReassignedToAnotherSiteReason = ReassignedToAnotherSiteReason;
3907
+ type context$1_ReplacedByAnotherSubscriptionReason = ReplacedByAnotherSubscriptionReason;
3908
+ type context$1_ReservationForm = ReservationForm;
3909
+ type context$1_ReservationLocation = ReservationLocation;
3910
+ type context$1_ReservationLocationCreatedEnvelope = ReservationLocationCreatedEnvelope;
3911
+ type context$1_ReservationLocationNonNullableFields = ReservationLocationNonNullableFields;
3912
+ type context$1_ReservationLocationUpdatedEnvelope = ReservationLocationUpdatedEnvelope;
3913
+ type context$1_ReservationLocationsQueryBuilder = ReservationLocationsQueryBuilder;
3914
+ type context$1_ReservationLocationsQueryResult = ReservationLocationsQueryResult;
3915
+ type context$1_ReservationPayment = ReservationPayment;
3916
+ type context$1_ResolutionMethod = ResolutionMethod;
3917
+ declare const context$1_ResolutionMethod: typeof ResolutionMethod;
3918
+ type context$1_RestoreInfo = RestoreInfo;
3919
+ type context$1_SeatPacing = SeatPacing;
3920
+ type context$1_ServiceProvisioned = ServiceProvisioned;
3921
+ type context$1_ServiceRemoved = ServiceRemoved;
3922
+ type context$1_Set = Set;
3923
+ declare const context$1_Set: typeof Set;
3924
+ type context$1_SiteCloned = SiteCloned;
3925
+ type context$1_SiteCreated = SiteCreated;
3926
+ type context$1_SiteCreatedContext = SiteCreatedContext;
3927
+ declare const context$1_SiteCreatedContext: typeof SiteCreatedContext;
3928
+ type context$1_SiteDeleted = SiteDeleted;
3929
+ type context$1_SiteHardDeleted = SiteHardDeleted;
3930
+ type context$1_SiteMarkedAsTemplate = SiteMarkedAsTemplate;
3931
+ type context$1_SiteMarkedAsWixSite = SiteMarkedAsWixSite;
3932
+ type context$1_SitePropertiesEvent = SitePropertiesEvent;
3933
+ type context$1_SitePropertiesNotification = SitePropertiesNotification;
3934
+ type context$1_SitePublished = SitePublished;
3935
+ type context$1_SiteRenamed = SiteRenamed;
3936
+ type context$1_SiteTransferred = SiteTransferred;
3937
+ type context$1_SiteUndeleted = SiteUndeleted;
3938
+ type context$1_SiteUnpublished = SiteUnpublished;
3939
+ type context$1_SortOrder = SortOrder;
3940
+ declare const context$1_SortOrder: typeof SortOrder;
3941
+ type context$1_Sorting = Sorting;
3942
+ type context$1_SpecialHourPeriod = SpecialHourPeriod;
3943
+ type context$1_State = State;
3944
+ declare const context$1_State: typeof State;
3945
+ type context$1_StreetAddress = StreetAddress;
3946
+ type context$1_StudioAssigned = StudioAssigned;
3947
+ type context$1_StudioUnassigned = StudioUnassigned;
3948
+ type context$1_SupportedLanguage = SupportedLanguage;
3949
+ type context$1_TableDefinition = TableDefinition;
3950
+ type context$1_TableManagement = TableManagement;
3951
+ type context$1_TablesDeleted = TablesDeleted;
3952
+ type context$1_TermsAndConditions = TermsAndConditions;
3953
+ type context$1_TermsAndConditionsValueOneOf = TermsAndConditionsValueOneOf;
3954
+ type context$1_TimePeriod = TimePeriod;
3955
+ type context$1_TransferredFromAnotherAccountReason = TransferredFromAnotherAccountReason;
3956
+ type context$1_TransferredToAnotherAccountReason = TransferredToAnotherAccountReason;
3957
+ type context$1_Translation = Translation;
3958
+ type context$1_TurnoverRule = TurnoverRule;
3959
+ type context$1_TurnoverTimeRule = TurnoverTimeRule;
3960
+ type context$1_URI = URI;
3961
+ type context$1_UnAssingedToFloatingReason = UnAssingedToFloatingReason;
3962
+ type context$1_Unit = Unit;
3963
+ declare const context$1_Unit: typeof Unit;
3964
+ type context$1_UpdateReservationLocation = UpdateReservationLocation;
3965
+ type context$1_UpdateReservationLocationRequest = UpdateReservationLocationRequest;
3966
+ type context$1_UpdateReservationLocationResponse = UpdateReservationLocationResponse;
3967
+ type context$1_UpdateReservationLocationResponseNonNullableFields = UpdateReservationLocationResponseNonNullableFields;
3968
+ type context$1_V4SiteCreated = V4SiteCreated;
3969
+ type context$1_WebhookIdentityType = WebhookIdentityType;
3970
+ declare const context$1_WebhookIdentityType: typeof WebhookIdentityType;
2017
3971
  declare const context$1_getReservationLocation: typeof getReservationLocation;
2018
3972
  declare const context$1_listReservationLocations: typeof listReservationLocations;
2019
3973
  declare const context$1_onReservationLocationCreated: typeof onReservationLocationCreated;
@@ -2021,7 +3975,7 @@ declare const context$1_onReservationLocationUpdated: typeof onReservationLocati
2021
3975
  declare const context$1_queryReservationLocations: typeof queryReservationLocations;
2022
3976
  declare const context$1_updateReservationLocation: typeof updateReservationLocation;
2023
3977
  declare namespace context$1 {
2024
- export { context$1_getReservationLocation as getReservationLocation, context$1_listReservationLocations as listReservationLocations, context$1_onReservationLocationCreated as onReservationLocationCreated, context$1_onReservationLocationUpdated as onReservationLocationUpdated, context$1_queryReservationLocations as queryReservationLocations, context$1_updateReservationLocation as updateReservationLocation };
3978
+ export { type context$1_ActionEvent as ActionEvent, type context$1_Address as Address, type context$1_AddressHint as AddressHint, type context$1_AddressLocation as AddressLocation, type context$1_App as App, type context$1_Asset as Asset, type context$1_AssignedFromFloatingReason as AssignedFromFloatingReason, type context$1_BaseEventMetadata as BaseEventMetadata, type context$1_BooleanFeature as BooleanFeature, type context$1_BusinessSchedule as BusinessSchedule, type context$1_CancelRequestedReason as CancelRequestedReason, type context$1_Categories as Categories, type context$1_ChangeContext as ChangeContext, type context$1_ChangeContextPayloadOneOf as ChangeContextPayloadOneOf, type context$1_CheckReservationLocationsCreatedRequest as CheckReservationLocationsCreatedRequest, type context$1_CheckReservationLocationsCreatedResponse as CheckReservationLocationsCreatedResponse, type context$1_CommonBusinessSchedule as CommonBusinessSchedule, context$1_CommonDayOfWeek as CommonDayOfWeek, type context$1_CommonSpecialHourPeriod as CommonSpecialHourPeriod, type context$1_CommonTimePeriod as CommonTimePeriod, type context$1_Configuration as Configuration, type context$1_ConsentPolicy as ConsentPolicy, type context$1_ContractSwitchedReason as ContractSwitchedReason, type context$1_CursorPaging as CursorPaging, type context$1_CursorPagingMetadata as CursorPagingMetadata, type context$1_Cursors as Cursors, type context$1_CustomFieldDefinition as CustomFieldDefinition, context$1_DayOfWeek as DayOfWeek, type context$1_DeleteContext as DeleteContext, type context$1_DeleteOrphanReservationLocationRequest as DeleteOrphanReservationLocationRequest, type context$1_DeleteOrphanReservationLocationResponse as DeleteOrphanReservationLocationResponse, context$1_DeleteStatus as DeleteStatus, type context$1_DomainEvent as DomainEvent, type context$1_DomainEventBodyOneOf as DomainEventBodyOneOf, type context$1_EmailMarketingCheckbox as EmailMarketingCheckbox, type context$1_Empty as Empty, type context$1_EntityCreatedEvent as EntityCreatedEvent, type context$1_EntityDeletedEvent as EntityDeletedEvent, type context$1_EntityUpdatedEvent as EntityUpdatedEvent, type context$1_EventMetadata as EventMetadata, type context$1_Feature as Feature, type context$1_FeatureCancelled as FeatureCancelled, type context$1_FeatureCancelledReasonOneOf as FeatureCancelledReasonOneOf, type context$1_FeatureContext as FeatureContext, type context$1_FeatureDisabled as FeatureDisabled, type context$1_FeatureDisabledReasonOneOf as FeatureDisabledReasonOneOf, type context$1_FeatureEnabled as FeatureEnabled, type context$1_FeatureEnabledReasonOneOf as FeatureEnabledReasonOneOf, type context$1_FeatureEvent as FeatureEvent, type context$1_FeatureEventEventOneOf as FeatureEventEventOneOf, context$1_FeaturePeriod as FeaturePeriod, type context$1_FeatureQuantityInfoOneOf as FeatureQuantityInfoOneOf, type context$1_FeatureUpdated as FeatureUpdated, type context$1_FeatureUpdatedPreviousQuantityInfoOneOf as FeatureUpdatedPreviousQuantityInfoOneOf, type context$1_FeatureUpdatedReasonOneOf as FeatureUpdatedReasonOneOf, context$1_FieldType as FieldType, type context$1_File as File, type context$1_GeoCoordinates as GeoCoordinates, type context$1_GetReservationLocationOptions as GetReservationLocationOptions, type context$1_GetReservationLocationRequest as GetReservationLocationRequest, type context$1_GetReservationLocationResponse as GetReservationLocationResponse, type context$1_GetReservationLocationResponseNonNullableFields as GetReservationLocationResponseNonNullableFields, type context$1_IdentificationData as IdentificationData, type context$1_IdentificationDataIdOneOf as IdentificationDataIdOneOf, type context$1_InvalidateCache as InvalidateCache, type context$1_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf, type context$1_ListReservationLocationsOptions as ListReservationLocationsOptions, type context$1_ListReservationLocationsRequest as ListReservationLocationsRequest, type context$1_ListReservationLocationsResponse as ListReservationLocationsResponse, type context$1_ListReservationLocationsResponseNonNullableFields as ListReservationLocationsResponseNonNullableFields, type context$1_Locale as Locale, type context$1_Location as Location, type context$1_LocationAddress as LocationAddress, type context$1_ManualApproval as ManualApproval, type context$1_ManualApprovalValueOneOf as ManualApprovalValueOneOf, type context$1_ManualFeatureCreationReason as ManualFeatureCreationReason, type context$1_MessageEnvelope as MessageEnvelope, type context$1_MetaSiteSpecialEvent as MetaSiteSpecialEvent, type context$1_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf, type context$1_MigrateOldRestaurantSettingsRequest as MigrateOldRestaurantSettingsRequest, type context$1_MigrateOldRestaurantSettingsResponse as MigrateOldRestaurantSettingsResponse, type context$1_MigratedFromLegacyReason as MigratedFromLegacyReason, type context$1_MigrationParsingError as MigrationParsingError, type context$1_MigrationResult as MigrationResult, context$1_Mode as Mode, type context$1_Multilingual as Multilingual, type context$1_MyReservationsField as MyReservationsField, context$1_Namespace as Namespace, type context$1_NamespaceChanged as NamespaceChanged, type context$1_NewFeatureReason as NewFeatureReason, type context$1_NoticePeriod as NoticePeriod, type context$1_OldCustomField as OldCustomField, type context$1_OldInstant as OldInstant, type context$1_OldPolicy as OldPolicy, type context$1_OldScheduleException as OldScheduleException, type context$1_OldScheduleInterval as OldScheduleInterval, type context$1_OldTerms as OldTerms, type context$1_OnlineReservations as OnlineReservations, type context$1_Page as Page, type context$1_Paging as Paging, type context$1_PagingMetadataV2 as PagingMetadataV2, type context$1_ParsedSettings as ParsedSettings, type context$1_PartiesSize as PartiesSize, type context$1_PartyPacing as PartyPacing, type context$1_PartySize as PartySize, context$1_PlacementType as PlacementType, type context$1_PrivacyPolicy as PrivacyPolicy, type context$1_PrivacyPolicyValueOneOf as PrivacyPolicyValueOneOf, type context$1_Properties as Properties, type context$1_PropertiesChange as PropertiesChange, type context$1_QueryReservationLocationsOptions as QueryReservationLocationsOptions, type context$1_QueryReservationLocationsRequest as QueryReservationLocationsRequest, type context$1_QueryReservationLocationsResponse as QueryReservationLocationsResponse, type context$1_QueryReservationLocationsResponseNonNullableFields as QueryReservationLocationsResponseNonNullableFields, type context$1_QueryV2 as QueryV2, type context$1_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf, type context$1_QuotaFeature as QuotaFeature, type context$1_QuotaInfo as QuotaInfo, type context$1_ReassignedFromSiteReason as ReassignedFromSiteReason, type context$1_ReassignedToAnotherSiteReason as ReassignedToAnotherSiteReason, type context$1_ReplacedByAnotherSubscriptionReason as ReplacedByAnotherSubscriptionReason, type context$1_ReservationForm as ReservationForm, type context$1_ReservationLocation as ReservationLocation, type context$1_ReservationLocationCreatedEnvelope as ReservationLocationCreatedEnvelope, type context$1_ReservationLocationNonNullableFields as ReservationLocationNonNullableFields, type context$1_ReservationLocationUpdatedEnvelope as ReservationLocationUpdatedEnvelope, type context$1_ReservationLocationsQueryBuilder as ReservationLocationsQueryBuilder, type context$1_ReservationLocationsQueryResult as ReservationLocationsQueryResult, type context$1_ReservationPayment as ReservationPayment, context$1_ResolutionMethod as ResolutionMethod, type context$1_RestoreInfo as RestoreInfo, type context$1_SeatPacing as SeatPacing, type context$1_ServiceProvisioned as ServiceProvisioned, type context$1_ServiceRemoved as ServiceRemoved, context$1_Set as Set, type context$1_SiteCloned as SiteCloned, type context$1_SiteCreated as SiteCreated, context$1_SiteCreatedContext as SiteCreatedContext, type context$1_SiteDeleted as SiteDeleted, type context$1_SiteHardDeleted as SiteHardDeleted, type context$1_SiteMarkedAsTemplate as SiteMarkedAsTemplate, type context$1_SiteMarkedAsWixSite as SiteMarkedAsWixSite, type context$1_SitePropertiesEvent as SitePropertiesEvent, type context$1_SitePropertiesNotification as SitePropertiesNotification, type context$1_SitePublished as SitePublished, type context$1_SiteRenamed as SiteRenamed, type context$1_SiteTransferred as SiteTransferred, type context$1_SiteUndeleted as SiteUndeleted, type context$1_SiteUnpublished as SiteUnpublished, context$1_SortOrder as SortOrder, type context$1_Sorting as Sorting, type context$1_SpecialHourPeriod as SpecialHourPeriod, context$1_State as State, type context$1_StreetAddress as StreetAddress, type context$1_StudioAssigned as StudioAssigned, type context$1_StudioUnassigned as StudioUnassigned, type context$1_SupportedLanguage as SupportedLanguage, type TableCombination$1 as TableCombination, type context$1_TableDefinition as TableDefinition, type context$1_TableManagement as TableManagement, type context$1_TablesDeleted as TablesDeleted, type context$1_TermsAndConditions as TermsAndConditions, type context$1_TermsAndConditionsValueOneOf as TermsAndConditionsValueOneOf, type context$1_TimePeriod as TimePeriod, type context$1_TransferredFromAnotherAccountReason as TransferredFromAnotherAccountReason, type context$1_TransferredToAnotherAccountReason as TransferredToAnotherAccountReason, type context$1_Translation as Translation, type context$1_TurnoverRule as TurnoverRule, type context$1_TurnoverTimeRule as TurnoverTimeRule, type context$1_URI as URI, type context$1_UnAssingedToFloatingReason as UnAssingedToFloatingReason, context$1_Unit as Unit, type context$1_UpdateReservationLocation as UpdateReservationLocation, type context$1_UpdateReservationLocationRequest as UpdateReservationLocationRequest, type context$1_UpdateReservationLocationResponse as UpdateReservationLocationResponse, type context$1_UpdateReservationLocationResponseNonNullableFields as UpdateReservationLocationResponseNonNullableFields, type context$1_V4SiteCreated as V4SiteCreated, context$1_WebhookIdentityType as WebhookIdentityType, context$1_getReservationLocation as getReservationLocation, context$1_listReservationLocations as listReservationLocations, context$1_onReservationLocationCreated as onReservationLocationCreated, context$1_onReservationLocationUpdated as onReservationLocationUpdated, context$1_queryReservationLocations as queryReservationLocations, context$1_updateReservationLocation as updateReservationLocation };
2025
3979
  }
2026
3980
 
2027
3981
  interface TimeSlot {
@@ -2045,15 +3999,173 @@ declare enum Status {
2045
3999
  UNAVAILABLE = "UNAVAILABLE",
2046
4000
  NON_WORKING_HOURS = "NON_WORKING_HOURS"
2047
4001
  }
4002
+ /** Table combination. */
4003
+ interface TimeSlotTableCombination {
4004
+ /** Table IDs of the tables in the combination. */
4005
+ tableIds?: string[];
4006
+ }
4007
+ interface GetTimeSlotsRequest {
4008
+ /** ID of the reservation location for which to retrieve time slots. */
4009
+ reservationLocationId: string;
4010
+ /** Date and time for which to retrieve a time slot. */
4011
+ date: Date;
4012
+ /**
4013
+ * Duration in minutes of the time slot.
4014
+ *
4015
+ * Min: `5`
4016
+ */
4017
+ duration?: number | null;
4018
+ /**
4019
+ * Size of the party that needs to be seated during this time slot.
4020
+ *
4021
+ * Min: `1`
4022
+ */
4023
+ partySize: number | null;
4024
+ /** The number of time slots to retrieve before the given `date`. */
4025
+ slotsBefore?: number | null;
4026
+ /** The number of time slots to retrieve after the given `date`. */
4027
+ slotsAfter?: number | null;
4028
+ }
2048
4029
  interface GetTimeSlotsResponse {
2049
4030
  /** A list of time slots and their availability according to the given party size. */
2050
4031
  timeSlots?: TimeSlot[];
2051
4032
  }
4033
+ interface CheckReservationDetailsRequest {
4034
+ /** Reservation location ID. */
4035
+ reservationLocationId: string;
4036
+ /** Date. */
4037
+ date: Date;
4038
+ /** Duration. */
4039
+ duration: number | null;
4040
+ /** Party size. */
4041
+ partySize: number | null;
4042
+ /** Reservation, that should be ignored during the check. */
4043
+ excludeReservationId?: string | null;
4044
+ /** Requested table combination. */
4045
+ tableIds?: string[];
4046
+ }
4047
+ interface CheckReservationDetailsResponse {
4048
+ /** Tables states. */
4049
+ tables?: Table[];
4050
+ /** Table combinations states. */
4051
+ tableCombinations?: TableCombination[];
4052
+ /** Reservation location conflicts. */
4053
+ reservationLocationConflicts?: ReservationLocationConflict[];
4054
+ /** Requested table combination state. */
4055
+ requestedTableCombination?: TableCombination;
4056
+ /** List of reserved tables with corresponding reservation ids. */
4057
+ tableReservedConflicts?: TableReservedConflict[];
4058
+ /** Whether manual approval is required to make a reservation in this time slot. */
4059
+ manualApproval?: boolean | null;
4060
+ /** Whether payment is required to make a reservation in this time slot. */
4061
+ paymentRequired?: boolean | null;
4062
+ }
4063
+ interface Table {
4064
+ _id?: string;
4065
+ /** Table conflicts. */
4066
+ tableConflicts?: TableConflict[];
4067
+ }
4068
+ interface TableConflict {
4069
+ /** Conflict type. */
4070
+ type?: TableConflictType;
4071
+ }
4072
+ declare enum TableConflictType {
4073
+ UNKNOWN = "UNKNOWN",
4074
+ TABLE_RESERVED = "TABLE_RESERVED",
4075
+ TABLE_TOO_BIG = "TABLE_TOO_BIG",
4076
+ TABLE_TOO_SMALL = "TABLE_TOO_SMALL",
4077
+ OFFLINE_ONLY = "OFFLINE_ONLY"
4078
+ }
4079
+ interface TableCombination {
4080
+ tableIds?: string[];
4081
+ tableCombinationConflicts?: TableCombinationConflict[];
4082
+ }
4083
+ interface TableCombinationConflict {
4084
+ /** Conflict type. */
4085
+ type?: TableCombinationConflictType;
4086
+ }
4087
+ declare enum TableCombinationConflictType {
4088
+ UNKNOWN = "UNKNOWN",
4089
+ RESERVED = "RESERVED",
4090
+ TOO_BIG = "TOO_BIG",
4091
+ TOO_SMALL = "TOO_SMALL",
4092
+ OFFLINE_ONLY = "OFFLINE_ONLY"
4093
+ }
4094
+ interface ReservationLocationConflict {
4095
+ /** Reservation location conflict type. */
4096
+ type?: Type;
4097
+ }
4098
+ declare enum Type {
4099
+ UNKNOWN = "UNKNOWN",
4100
+ PARTY_PACING = "PARTY_PACING",
4101
+ SEAT_PACING = "SEAT_PACING"
4102
+ }
4103
+ interface TableReservedConflict {
4104
+ /** Table id. */
4105
+ tableId?: string;
4106
+ /** List of reservation ids. */
4107
+ reservationIds?: string[];
4108
+ }
4109
+ interface CheckTimeSlotRequest {
4110
+ /** Reservation location ID. */
4111
+ reservationLocationId?: string;
4112
+ /** Date. */
4113
+ date?: Date;
4114
+ /** Duration. */
4115
+ duration?: number | null;
4116
+ /** Party size. */
4117
+ partySize?: number | null;
4118
+ /** Reservation, that should be ignored during the check. */
4119
+ excludeReservationId?: string | null;
4120
+ }
4121
+ interface CheckTimeSlotResponse {
4122
+ /** Table combinations availabilities. */
4123
+ tableCombinationAvailabilities?: TableCombinationAvailability[];
4124
+ /** Reservation location conflicts. */
4125
+ reservationLocationConflicts?: Type[];
4126
+ }
4127
+ interface TableCombinationAvailability {
4128
+ tableIds?: string[];
4129
+ tableCombinationConflicts?: TableCombinationConflictType[];
4130
+ }
4131
+ interface TimeSlotTableCombinationNonNullableFields {
4132
+ tableIds: string[];
4133
+ }
4134
+ interface TimeSlotNonNullableFields {
4135
+ duration: number;
4136
+ status: Status;
4137
+ tableCombinations: TimeSlotTableCombinationNonNullableFields[];
4138
+ }
2052
4139
  interface GetTimeSlotsResponseNonNullableFields {
2053
- timeSlots: {
2054
- duration: number;
2055
- status: Status;
2056
- }[];
4140
+ timeSlots: TimeSlotNonNullableFields[];
4141
+ }
4142
+ interface TableConflictNonNullableFields {
4143
+ type: TableConflictType;
4144
+ }
4145
+ interface TableNonNullableFields {
4146
+ _id: string;
4147
+ tableConflicts: TableConflictNonNullableFields[];
4148
+ }
4149
+ interface TableCombinationConflictNonNullableFields {
4150
+ type: TableCombinationConflictType;
4151
+ }
4152
+ interface TableCombinationNonNullableFields {
4153
+ tableIds: string[];
4154
+ tableCombinationConflicts: TableCombinationConflictNonNullableFields[];
4155
+ }
4156
+ interface ReservationLocationConflictNonNullableFields {
4157
+ type: Type;
4158
+ }
4159
+ interface TableReservedConflictNonNullableFields {
4160
+ tableId: string;
4161
+ reservationIds: string[];
4162
+ }
4163
+ interface CheckReservationDetailsResponseNonNullableFields {
4164
+ tables: TableNonNullableFields[];
4165
+ tableCombinations: TableCombinationNonNullableFields[];
4166
+ reservationLocationConflicts: ReservationLocationConflictNonNullableFields[];
4167
+ requestedTableCombination?: TableCombinationNonNullableFields;
4168
+ tableReservedConflicts: TableReservedConflictNonNullableFields[];
2057
4169
  }
2058
4170
  interface GetTimeSlotsOptions {
2059
4171
  /**
@@ -2067,47 +4179,55 @@ interface GetTimeSlotsOptions {
2067
4179
  /** The number of time slots to retrieve after the given `date`. */
2068
4180
  slotsAfter?: number | null;
2069
4181
  }
2070
-
2071
- type RESTFunctionDescriptor<T extends (...args: any[]) => any = (...args: any[]) => any> = (httpClient: HttpClient) => T;
2072
- interface HttpClient {
2073
- request<TResponse, TData = any>(req: RequestOptionsFactory<TResponse, TData>): Promise<HttpResponse<TResponse>>;
2074
- fetchWithAuth: (url: string | URL, init?: RequestInit) => Promise<Response>;
2075
- }
2076
- type RequestOptionsFactory<TResponse = any, TData = any> = (context: any) => RequestOptions<TResponse, TData>;
2077
- type HttpResponse<T = any> = {
2078
- data: T;
2079
- status: number;
2080
- statusText: string;
2081
- headers: any;
2082
- request?: any;
2083
- };
2084
- type RequestOptions<_TResponse = any, Data = any> = {
2085
- method: 'POST' | 'GET' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
2086
- url: string;
2087
- data?: Data;
2088
- params?: URLSearchParams;
2089
- } & APIMetadata;
2090
- type APIMetadata = {
2091
- methodFqn?: string;
2092
- entityFqdn?: string;
2093
- packageName?: string;
2094
- };
2095
- type BuildRESTFunction<T extends RESTFunctionDescriptor> = T extends RESTFunctionDescriptor<infer U> ? U : never;
2096
-
2097
- declare global {
2098
- // eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
2099
- interface SymbolConstructor {
2100
- readonly observable: symbol;
2101
- }
4182
+ interface CheckReservationDetailsOptions {
4183
+ /** Date. */
4184
+ date: Date;
4185
+ /** Duration. */
4186
+ duration: number | null;
4187
+ /** Party size. */
4188
+ partySize: number | null;
4189
+ /** Reservation, that should be ignored during the check. */
4190
+ excludeReservationId?: string | null;
4191
+ /** Requested table combination. */
4192
+ tableIds?: string[];
2102
4193
  }
2103
4194
 
2104
- declare function getTimeSlots$1(httpClient: HttpClient): (reservationLocationId: string, date: Date, partySize: number | null, options?: GetTimeSlotsOptions) => Promise<GetTimeSlotsResponse & GetTimeSlotsResponseNonNullableFields>;
4195
+ declare function createRESTModule<T extends RESTFunctionDescriptor>(descriptor: T, elevated?: boolean): BuildRESTFunction<T> & T;
2105
4196
 
2106
- declare const getTimeSlots: BuildRESTFunction<typeof getTimeSlots$1>;
4197
+ declare const getTimeSlots: ReturnType<typeof createRESTModule<typeof publicGetTimeSlots>>;
4198
+ declare const checkReservationDetails: ReturnType<typeof createRESTModule<typeof publicCheckReservationDetails>>;
2107
4199
 
4200
+ type context_CheckReservationDetailsOptions = CheckReservationDetailsOptions;
4201
+ type context_CheckReservationDetailsRequest = CheckReservationDetailsRequest;
4202
+ type context_CheckReservationDetailsResponse = CheckReservationDetailsResponse;
4203
+ type context_CheckReservationDetailsResponseNonNullableFields = CheckReservationDetailsResponseNonNullableFields;
4204
+ type context_CheckTimeSlotRequest = CheckTimeSlotRequest;
4205
+ type context_CheckTimeSlotResponse = CheckTimeSlotResponse;
4206
+ type context_GetTimeSlotsOptions = GetTimeSlotsOptions;
4207
+ type context_GetTimeSlotsRequest = GetTimeSlotsRequest;
4208
+ type context_GetTimeSlotsResponse = GetTimeSlotsResponse;
4209
+ type context_GetTimeSlotsResponseNonNullableFields = GetTimeSlotsResponseNonNullableFields;
4210
+ type context_ReservationLocationConflict = ReservationLocationConflict;
4211
+ type context_Status = Status;
4212
+ declare const context_Status: typeof Status;
4213
+ type context_Table = Table;
4214
+ type context_TableCombination = TableCombination;
4215
+ type context_TableCombinationAvailability = TableCombinationAvailability;
4216
+ type context_TableCombinationConflict = TableCombinationConflict;
4217
+ type context_TableCombinationConflictType = TableCombinationConflictType;
4218
+ declare const context_TableCombinationConflictType: typeof TableCombinationConflictType;
4219
+ type context_TableConflict = TableConflict;
4220
+ type context_TableConflictType = TableConflictType;
4221
+ declare const context_TableConflictType: typeof TableConflictType;
4222
+ type context_TableReservedConflict = TableReservedConflict;
4223
+ type context_TimeSlot = TimeSlot;
4224
+ type context_TimeSlotTableCombination = TimeSlotTableCombination;
4225
+ type context_Type = Type;
4226
+ declare const context_Type: typeof Type;
4227
+ declare const context_checkReservationDetails: typeof checkReservationDetails;
2108
4228
  declare const context_getTimeSlots: typeof getTimeSlots;
2109
4229
  declare namespace context {
2110
- export { context_getTimeSlots as getTimeSlots };
4230
+ export { type context_CheckReservationDetailsOptions as CheckReservationDetailsOptions, type context_CheckReservationDetailsRequest as CheckReservationDetailsRequest, type context_CheckReservationDetailsResponse as CheckReservationDetailsResponse, type context_CheckReservationDetailsResponseNonNullableFields as CheckReservationDetailsResponseNonNullableFields, type context_CheckTimeSlotRequest as CheckTimeSlotRequest, type context_CheckTimeSlotResponse as CheckTimeSlotResponse, type context_GetTimeSlotsOptions as GetTimeSlotsOptions, type context_GetTimeSlotsRequest as GetTimeSlotsRequest, type context_GetTimeSlotsResponse as GetTimeSlotsResponse, type context_GetTimeSlotsResponseNonNullableFields as GetTimeSlotsResponseNonNullableFields, type context_ReservationLocationConflict as ReservationLocationConflict, context_Status as Status, type context_Table as Table, type context_TableCombination as TableCombination, type context_TableCombinationAvailability as TableCombinationAvailability, type context_TableCombinationConflict as TableCombinationConflict, context_TableCombinationConflictType as TableCombinationConflictType, type context_TableConflict as TableConflict, context_TableConflictType as TableConflictType, type context_TableReservedConflict as TableReservedConflict, type context_TimeSlot as TimeSlot, type context_TimeSlotTableCombination as TimeSlotTableCombination, context_Type as Type, context_checkReservationDetails as checkReservationDetails, context_getTimeSlots as getTimeSlots };
2111
4231
  }
2112
4232
 
2113
4233
  export { context$1 as reservationLocations, context$2 as reservations, context as timeSlots };