@wix/table-reservations 1.0.95 → 1.0.96

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.
@@ -0,0 +1,4418 @@
1
+ /** The reservation domain object. */
2
+ interface Reservation {
3
+ /**
4
+ * Reservation ID.
5
+ * @readonly
6
+ */
7
+ _id?: string | null;
8
+ /**
9
+ * Status of the reservation.
10
+ *
11
+ * Supported values:
12
+ *
13
+ * * `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.
14
+ * * `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.
15
+ * * `DECLINED`: The restaurant’s owner or staff declined the customer’s request to make the reservation.
16
+ * * `RESERVED`: The reservation is confirmed.
17
+ * * `SEATED`: The customer is currently occupying the table.
18
+ * * `CANCELED`: The reservation is canceled.
19
+ * * `NO_SHOW`: The customer didn't show up for their reservation.
20
+ * * `FINISHED`: The reservation completed successfully.
21
+ *
22
+ *
23
+ * See the article for this API titled "The Reservation Lifecycle" in the menu on the left for more details on each of the statuses, and an explanation of the reservation lifecycle.
24
+ */
25
+ status?: Status$1;
26
+ /**
27
+ * Reservation source.
28
+ *
29
+ * This indicates how the reservation was made.
30
+ * * `ONLINE` indicates that the customer made the reservation through a website or app.
31
+ * * `OFFLINE` indicates that the reservation was made by a restaurant employee, for example when a customer calls to make a reservation.
32
+ * * `WALK-IN` indicates that the customer did not make a reservation beforehand, and the reservation was entered into the system by a restaurant employee when the customer arrived at the restaurant.
33
+ */
34
+ source?: Source;
35
+ /** Reservation details. */
36
+ details?: Details;
37
+ /**
38
+ * Information about the person the reservation is being made for.
39
+ *
40
+ * A reservation created with any `source` other than `WALK_IN` requires the `reservation.reservee.phone` and `reservation.reservee.firstName` fields.
41
+ * Attempting to create a reservation without these fields results in an error.
42
+ */
43
+ reservee?: Reservee;
44
+ /**
45
+ * Information about the person making the reservation.
46
+ *
47
+ * This field is required if the reservation's `status` is anything other than `WALK_IN`.
48
+ * @readonly
49
+ */
50
+ reservedBy?: ReservedBy;
51
+ /**
52
+ * Team message.
53
+ *
54
+ * A message for the restaurant staff containing any additional information regarding the reservation, such as special requirements for the guests.
55
+ */
56
+ teamMessage?: string | null;
57
+ /**
58
+ * Date and time the reservation was created.
59
+ * @readonly
60
+ */
61
+ _createdDate?: Date;
62
+ /**
63
+ * Date and time the reservation was changed.
64
+ * @readonly
65
+ */
66
+ _updatedDate?: Date;
67
+ /**
68
+ * Revision number, which increments by 1 each time the reservation is updated.
69
+ * To prevent conflicting changes, the current revision must be passed when updating the reservation.
70
+ *
71
+ * Ignored when creating a reservation.
72
+ * @readonly
73
+ */
74
+ revision?: string | null;
75
+ /** The reason the reservation was declined. */
76
+ declineReason?: string | null;
77
+ /**
78
+ * Payment status.
79
+ * @readonly
80
+ */
81
+ paymentStatus?: PaymentStatus;
82
+ }
83
+ declare enum Status$1 {
84
+ UNKNOWN = "UNKNOWN",
85
+ /** The reservation is held for 10 minutes, during which time the reservee should fill in their details. */
86
+ HELD = "HELD",
87
+ /** The reservation has been reserved. */
88
+ RESERVED = "RESERVED",
89
+ /** The reservation has been canceled. */
90
+ CANCELED = "CANCELED",
91
+ /** The reservation has finished successfully. */
92
+ FINISHED = "FINISHED",
93
+ /** The reservee didn't arrive. */
94
+ NO_SHOW = "NO_SHOW",
95
+ /** The reservee occupied the table. */
96
+ SEATED = "SEATED",
97
+ /** The reservee requested a reservation and is waiting for manual approval. */
98
+ REQUESTED = "REQUESTED",
99
+ /** The owner declined a reservee's request. */
100
+ DECLINED = "DECLINED",
101
+ /** The reservation is held for 10 minutes from the created time, during which time the reservee should pay. After payment is completed status will be changed automatically to RESERVED. */
102
+ PAYMENT_PENDING = "PAYMENT_PENDING"
103
+ }
104
+ declare enum Source {
105
+ UNKNOWN = "UNKNOWN",
106
+ /** The reservation is created by a User. */
107
+ OFFLINE = "OFFLINE",
108
+ /** The reservation is created by UoU. */
109
+ ONLINE = "ONLINE",
110
+ /** The reservation is created by a User. It can be created without reservee data. */
111
+ WALK_IN = "WALK_IN"
112
+ }
113
+ /** Reservation details. */
114
+ interface Details {
115
+ /** ID of the reservation location at which this reservation will be made. */
116
+ reservationLocationId?: string | null;
117
+ /** IDs of tables used for this reservation. */
118
+ tableIds?: string[] | null;
119
+ /** Start date and time of the reservation. */
120
+ startDate?: Date;
121
+ /** End date and time of the reservation. */
122
+ endDate?: Date;
123
+ /** Party size. */
124
+ partySize?: number | null;
125
+ }
126
+ /** The person the reservation is being made for. */
127
+ interface Reservee {
128
+ /**
129
+ * First name.
130
+ *
131
+ * This field is required if the reservation's `status` is anything other than `WALK_IN`.
132
+ */
133
+ firstName?: string | null;
134
+ /** Last name. */
135
+ lastName?: string | null;
136
+ /** Email address. */
137
+ email?: string | null;
138
+ /**
139
+ * Phone number.
140
+ *
141
+ * This property should begin with a +, followed by the country code, and then the rest of the phone number. For example, `"+972555555555"`.
142
+ *
143
+ * This field is required if the reservation's `status` is anything other than `WALK_IN`.
144
+ */
145
+ phone?: string | null;
146
+ /** Whether the reservee has given marketing consent. */
147
+ marketingConsent?: boolean | null;
148
+ /**
149
+ * Custom fields for the reservee in key-value pairs.
150
+ *
151
+ * The key is the custom field's ID, and the value is the custom field's value. For example, a custom field for allergies might have the key-value pair `f4283b2d-6340-4cf9-bae7-8769e6b62127 : "Nuts, Seafood"`.
152
+ *
153
+ * Empty fields are not returned.
154
+ */
155
+ customFields?: Record<string, any> | null;
156
+ /**
157
+ * Contact ID. If a contact with this ID does not exist on the site, one will be created.
158
+ * @readonly
159
+ */
160
+ contactId?: string | null;
161
+ }
162
+ /** A person making reservation. */
163
+ interface ReservedBy {
164
+ /**
165
+ * Contact ID for the person who made the reservation. If a contact with this ID does not exist on the site, one will be created.
166
+ * @readonly
167
+ */
168
+ contactId?: string | null;
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
+ }
180
+ declare enum PaymentStatus {
181
+ UNKNOWN = "UNKNOWN",
182
+ /** A reservation is free of charge. */
183
+ FREE = "FREE",
184
+ /** A payment is not received yet. */
185
+ NOT_PAID = "NOT_PAID",
186
+ /** A corresponding to reservation order was fully payed. */
187
+ PAID = "PAID",
188
+ /** A corresponding to reservation order was refunded, but refund amount is less than order total price. */
189
+ PARTIALLY_REFUNDED = "PARTIALLY_REFUNDED",
190
+ /** A corresponding to reservation order was fully refunded. The refund amount equals total price. */
191
+ FULLY_REFUNDED = "FULLY_REFUNDED",
192
+ /** A corresponding to reservation order was partially payed. */
193
+ PARTIALLY_PAID = "PARTIALLY_PAID"
194
+ }
195
+ interface CreateReservationRequest {
196
+ /** Reservation details. */
197
+ reservation: Reservation;
198
+ /**
199
+ * 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.
200
+ *
201
+ * Possible values:
202
+ * * `"RESERVED"`: One or more of the chosen tables are already reserved.
203
+ * * `"TOO_BIG"`: The party is too big for the selected table.
204
+ * * `"TOO_SMALL"`: The party is too small for the selected table.
205
+ * * `"OFFLINE_ONLY"`: The restaurant does not allow online reservations.
206
+ */
207
+ ignoreTableCombinationConflicts?: TableCombinationConflictType$1[];
208
+ /**
209
+ * 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.
210
+ *
211
+ * Possible values:
212
+ * * `"PARTY_PACING"`: The restaurant cannot accommodate a party of the given size according to party pacing settings.
213
+ * * `"SEAT_PACING"`: The required number of seats are unavailable according to seat pacing settings.
214
+ */
215
+ ignoreReservationLocationConflicts?: Type$1[];
216
+ }
217
+ declare enum TableCombinationConflictType$1 {
218
+ UNKNOWN = "UNKNOWN",
219
+ RESERVED = "RESERVED",
220
+ TOO_BIG = "TOO_BIG",
221
+ TOO_SMALL = "TOO_SMALL",
222
+ OFFLINE_ONLY = "OFFLINE_ONLY"
223
+ }
224
+ declare enum Type$1 {
225
+ UNKNOWN = "UNKNOWN",
226
+ PARTY_PACING = "PARTY_PACING",
227
+ SEAT_PACING = "SEAT_PACING"
228
+ }
229
+ interface CreateReservationResponse {
230
+ /** Reservation. */
231
+ reservation?: Reservation;
232
+ }
233
+ interface ReservationDetailsConflicts {
234
+ /** Table combinations conflicts. */
235
+ tableCombinationConflicts?: TableCombinationConflict$1[];
236
+ /** Reservation location conflicts. */
237
+ reservationLocationConflicts?: ReservationLocationConflict$1[];
238
+ }
239
+ interface TableCombinationConflict$1 {
240
+ /** Conflict type. */
241
+ type?: TableCombinationConflictType$1;
242
+ }
243
+ interface ReservationLocationConflict$1 {
244
+ /** Reservation location conflict type. */
245
+ type?: Type$1;
246
+ }
247
+ interface GetReservationRequest {
248
+ /** Reservation ID. */
249
+ reservationId: string;
250
+ /**
251
+ * Array of named, predefined sets of projected fields to be returned.
252
+ *
253
+ * Supported values: `PUBLIC`, `FULL`.
254
+ *
255
+ * Calling this method with `fieldsets` set to `FULL` requires additional permissions. See this API's Introduction article for more information.
256
+ */
257
+ fieldsets?: Set$1[];
258
+ }
259
+ declare enum Set$1 {
260
+ PUBLIC = "PUBLIC",
261
+ FULL = "FULL"
262
+ }
263
+ interface GetReservationResponse {
264
+ /** Reservation. */
265
+ reservation?: Reservation;
266
+ }
267
+ interface UpdateReservationRequest {
268
+ /** Reservation information to update. */
269
+ reservation: Reservation;
270
+ /**
271
+ * 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.
272
+ *
273
+ * Possible values:
274
+ * * `"RESERVED"`: One or more of the chosen tables are already reserved.
275
+ * * `"TOO_BIG"`: The party is too big for the selected table.
276
+ * * `"TOO_SMALL"`: The party is too small for the selected table.
277
+ * * `"OFFLINE_ONLY"`: The restaurant does not allow online reservations.
278
+ */
279
+ ignoreTableCombinationConflicts?: TableCombinationConflictType$1[];
280
+ /**
281
+ * 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.
282
+ *
283
+ * Possible values:
284
+ * * `"PARTY_PACING"`: The restaurant cannot accommodate a party of the given size according to party pacing settings.
285
+ * * `"SEAT_PACING"`: The required number of seats are unavailable according to seat pacing settings.
286
+ */
287
+ ignoreReservationLocationConflicts?: Type$1[];
288
+ }
289
+ interface UpdateReservationResponse {
290
+ /** Reservation. */
291
+ reservation?: Reservation;
292
+ }
293
+ interface ReservationDataUpdated {
294
+ /** Reserved reservation. */
295
+ reservation?: Reservation;
296
+ /** Old reservation. */
297
+ oldReservation?: Reservation;
298
+ }
299
+ interface CreateHeldReservationRequest {
300
+ /** Held reservation information to update. */
301
+ reservationDetails: HeldReservationDetails;
302
+ }
303
+ /** Reservation details when create reservation in status HELD. */
304
+ interface HeldReservationDetails {
305
+ /** ID of the reservation location where the reservation is made. */
306
+ reservationLocationId?: string | null;
307
+ /** Start date and time of the reservation. */
308
+ startDate?: Date;
309
+ /** Party size. */
310
+ partySize?: number | null;
311
+ }
312
+ interface CreateHeldReservationResponse {
313
+ /** Reservation. */
314
+ reservation?: Reservation;
315
+ }
316
+ interface ReserveReservationRequest {
317
+ /** Reservation ID. */
318
+ reservationId: string;
319
+ /** Reservee details. */
320
+ reservee: Reservee;
321
+ /**
322
+ * Revision number.
323
+ *
324
+ * Include the existing `revision` to prevent conflicting updates to reservations.
325
+ */
326
+ revision: string | null;
327
+ }
328
+ interface ReserveReservationResponse {
329
+ /** Reservation. */
330
+ reservation?: Reservation;
331
+ }
332
+ interface CancelReservationRequest {
333
+ /** Reservation ID. */
334
+ reservationId: string;
335
+ /**
336
+ * Revision number.
337
+ *
338
+ * Include the existing `revision` to prevent conflicting updates to reservations.
339
+ */
340
+ revision: string | null;
341
+ /**
342
+ * The phone number that was provided when the reservation was created.
343
+ *
344
+ * This is required for reservations with any `source` other than `WALK_IN`.
345
+ *
346
+ * This requirement provides additional security by ensuring that the canceling party knows both the reservation's `reservationId` and the reservee's `phone`.
347
+ */
348
+ phone?: string | null;
349
+ }
350
+ interface CancelReservationResponse {
351
+ /** Reservation. */
352
+ reservation?: Reservation;
353
+ }
354
+ interface ReservationCanceled {
355
+ /** Reserved reservation. */
356
+ reservation?: Reservation;
357
+ }
358
+ interface DeleteReservationRequest {
359
+ /** Reservation ID. */
360
+ reservationId?: string;
361
+ revision?: string;
362
+ }
363
+ interface DeleteReservationResponse {
364
+ }
365
+ interface ListReservationsRequest {
366
+ /** 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`. */
367
+ paging?: CursorPaging$1;
368
+ /** Defines how reservations in the response are sorted. */
369
+ sort?: Sorting$1;
370
+ /** Only reservations starting after this date are returned. */
371
+ startDateFrom?: Date;
372
+ /** Only reservations starting before this date are returned. */
373
+ startDateTo?: Date;
374
+ /**
375
+ * Only reservations with this status are returned.
376
+ *
377
+ * * `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.
378
+ * * `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.
379
+ * * `DECLINED`: The restaurant’s owner or staff declined the customer’s request to make the reservation.
380
+ * * `RESERVED`: The reservation is confirmed.
381
+ * * `SEATED`: The customer is currently occupying the table.
382
+ * * `CANCELED`: The reservation is canceled.
383
+ * * `NO_SHOW`: The customer didn't show up for their reservation.
384
+ * * `FINISHED`: The reservation completed successfully.
385
+ */
386
+ status?: Status$1;
387
+ }
388
+ interface CursorPaging$1 {
389
+ /** Number of items to load. */
390
+ limit?: number | null;
391
+ /**
392
+ * Pointer to the next or previous page in the list of results.
393
+ *
394
+ * You can get the relevant cursor token
395
+ * from the `pagingMetadata` object in the previous call's response.
396
+ * Not relevant for the first request.
397
+ */
398
+ cursor?: string | null;
399
+ }
400
+ interface Sorting$1 {
401
+ /** Name of the field to sort by. */
402
+ fieldName?: string;
403
+ /**
404
+ * Sort order.
405
+ *
406
+ * Use `ASC` for ascending order or `DESC` for descending order. Defaults to `ASC`.
407
+ */
408
+ order?: SortOrder$1;
409
+ }
410
+ declare enum SortOrder$1 {
411
+ ASC = "ASC",
412
+ DESC = "DESC"
413
+ }
414
+ interface ListReservationsResponse {
415
+ /** List of reservations. */
416
+ reservations?: Reservation[];
417
+ /** Metadata for the paginated results. */
418
+ pagingMetadata?: CursorPagingMetadata$1;
419
+ }
420
+ interface CursorPagingMetadata$1 {
421
+ /** Number of items returned in the response. */
422
+ count?: number | null;
423
+ /** Offset that was requested. */
424
+ cursors?: Cursors$1;
425
+ /**
426
+ * Indicates if there are more results after the current page.
427
+ * If `true`, another page of results can be retrieved.
428
+ * If `false`, this is the last page.
429
+ */
430
+ hasNext?: boolean | null;
431
+ }
432
+ interface Cursors$1 {
433
+ /** Cursor pointing to next page in the list of results. */
434
+ next?: string | null;
435
+ /** Cursor pointing to previous page in the list of results. */
436
+ prev?: string | null;
437
+ }
438
+ interface QueryReservationsRequest {
439
+ /** Query to select reservations. */
440
+ query: CursorQuery;
441
+ }
442
+ interface CursorQuery extends CursorQueryPagingMethodOneOf {
443
+ /** 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`. */
444
+ cursorPaging?: CursorPaging$1;
445
+ /**
446
+ * Filter object in the following format:
447
+ * `"filter" : {
448
+ * "fieldName1": "value1",
449
+ * "fieldName2":{"$operator":"value2"}
450
+ * }`
451
+ *
452
+ * 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.
453
+ * To learn how to query reservations, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).
454
+ */
455
+ filter?: Record<string, any> | null;
456
+ /**
457
+ * Sort object in the following format:
458
+ * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`
459
+ */
460
+ sort?: Sorting$1[];
461
+ }
462
+ /** @oneof */
463
+ interface CursorQueryPagingMethodOneOf {
464
+ /** 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`. */
465
+ cursorPaging?: CursorPaging$1;
466
+ }
467
+ interface QueryReservationsResponse {
468
+ /** List of reservations. */
469
+ reservations?: Reservation[];
470
+ /** Metadata for the paginated results. */
471
+ pagingMetadata?: CursorPagingMetadata$1;
472
+ }
473
+ interface SearchReservationsRequest {
474
+ /** Search query. */
475
+ search: CursorSearch;
476
+ }
477
+ interface CursorSearch extends CursorSearchPagingMethodOneOf {
478
+ /** 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' */
479
+ cursorPaging?: CursorPaging$1;
480
+ /** 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) */
481
+ filter?: Record<string, any> | null;
482
+ /** Sort object in the form [{"fieldName":"sortField1"},{"fieldName":"sortField2","direction":"DESC"}] */
483
+ sort?: Sorting$1[];
484
+ /** 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. */
485
+ aggregations?: Aggregation[];
486
+ /** free text to match in searchable fields */
487
+ search?: SearchDetails;
488
+ /** Time zone to adjust date-time-based filters and aggregations. ISO 8601 or IANA time zone database format. */
489
+ timeZone?: string | null;
490
+ }
491
+ /** @oneof */
492
+ interface CursorSearchPagingMethodOneOf {
493
+ /** 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' */
494
+ cursorPaging?: CursorPaging$1;
495
+ }
496
+ interface Aggregation extends AggregationKindOneOf {
497
+ value?: ValueAggregation;
498
+ range?: RangeAggregation;
499
+ scalar?: ScalarAggregation;
500
+ dateHistogram?: DateHistogramAggregation;
501
+ nested?: NestedAggregation;
502
+ name?: string | null;
503
+ type?: AggregationType;
504
+ fieldPath?: string;
505
+ groupBy?: GroupByAggregation;
506
+ }
507
+ /** @oneof */
508
+ interface AggregationKindOneOf {
509
+ value?: ValueAggregation;
510
+ range?: RangeAggregation;
511
+ scalar?: ScalarAggregation;
512
+ dateHistogram?: DateHistogramAggregation;
513
+ nested?: NestedAggregation;
514
+ }
515
+ interface RangeBucket {
516
+ /** Inclusive lower bound of the range. Required if to is not given. */
517
+ from?: number | null;
518
+ /** Exclusive upper bound of the range. Required if from is not given. */
519
+ to?: number | null;
520
+ }
521
+ declare enum SortType {
522
+ COUNT = "COUNT",
523
+ VALUE = "VALUE"
524
+ }
525
+ declare enum SortDirection {
526
+ DESC = "DESC",
527
+ ASC = "ASC"
528
+ }
529
+ declare enum MissingValues {
530
+ EXCLUDE = "EXCLUDE",
531
+ INCLUDE = "INCLUDE"
532
+ }
533
+ interface IncludeMissingValuesOptions {
534
+ /** can specify custom bucket name. Defaults are [string -> "N/A"], [int -> "0"], [bool -> "false"] ... */
535
+ addToBucket?: string;
536
+ }
537
+ declare enum ScalarType {
538
+ UNKNOWN_SCALAR_TYPE = "UNKNOWN_SCALAR_TYPE",
539
+ COUNT_DISTINCT = "COUNT_DISTINCT",
540
+ MIN = "MIN",
541
+ MAX = "MAX",
542
+ SUM = "SUM",
543
+ AVG = "AVG"
544
+ }
545
+ interface ValueAggregation extends ValueAggregationOptionsOneOf {
546
+ /** options for including missing values */
547
+ includeOptions?: IncludeMissingValuesOptions;
548
+ sortType?: SortType;
549
+ sortDirection?: SortDirection;
550
+ /** How many aggregations would you like to return? Can be between 1 and 250. 10 is the default. */
551
+ limit?: number | null;
552
+ /** should missing values be included or excluded from the aggregation results. Default is EXCLUDE */
553
+ missingValues?: MissingValues;
554
+ }
555
+ /** @oneof */
556
+ interface ValueAggregationOptionsOneOf {
557
+ /** options for including missing values */
558
+ includeOptions?: IncludeMissingValuesOptions;
559
+ }
560
+ declare enum NestedAggregationType {
561
+ UNKNOWN_AGGREGATION_TYPE = "UNKNOWN_AGGREGATION_TYPE",
562
+ VALUE = "VALUE",
563
+ RANGE = "RANGE",
564
+ SCALAR = "SCALAR",
565
+ DATE_HISTOGRAM = "DATE_HISTOGRAM"
566
+ }
567
+ interface RangeAggregation {
568
+ buckets?: RangeBucket[];
569
+ }
570
+ interface ScalarAggregation {
571
+ type?: ScalarType;
572
+ }
573
+ interface DateHistogramAggregation {
574
+ interval?: Interval;
575
+ }
576
+ declare enum Interval {
577
+ UNKNOWN_INTERVAL = "UNKNOWN_INTERVAL",
578
+ YEAR = "YEAR",
579
+ MONTH = "MONTH",
580
+ WEEK = "WEEK",
581
+ DAY = "DAY",
582
+ HOUR = "HOUR",
583
+ MINUTE = "MINUTE",
584
+ SECOND = "SECOND"
585
+ }
586
+ interface NestedAggregationItem extends NestedAggregationItemKindOneOf {
587
+ value?: ValueAggregation;
588
+ range?: RangeAggregation;
589
+ scalar?: ScalarAggregation;
590
+ dateHistogram?: DateHistogramAggregation;
591
+ name?: string | null;
592
+ type?: NestedAggregationType;
593
+ fieldPath?: string;
594
+ }
595
+ /** @oneof */
596
+ interface NestedAggregationItemKindOneOf {
597
+ value?: ValueAggregation;
598
+ range?: RangeAggregation;
599
+ scalar?: ScalarAggregation;
600
+ dateHistogram?: DateHistogramAggregation;
601
+ }
602
+ declare enum AggregationType {
603
+ UNKNOWN_AGGREGATION_TYPE = "UNKNOWN_AGGREGATION_TYPE",
604
+ VALUE = "VALUE",
605
+ RANGE = "RANGE",
606
+ SCALAR = "SCALAR",
607
+ DATE_HISTOGRAM = "DATE_HISTOGRAM",
608
+ NESTED = "NESTED"
609
+ }
610
+ interface NestedAggregation {
611
+ nestedAggregations?: NestedAggregationItem[];
612
+ }
613
+ interface GroupByAggregation extends GroupByAggregationKindOneOf {
614
+ value?: ValueAggregation;
615
+ name?: string | null;
616
+ fieldPath?: string;
617
+ }
618
+ /** @oneof */
619
+ interface GroupByAggregationKindOneOf {
620
+ value?: ValueAggregation;
621
+ }
622
+ interface SearchDetails {
623
+ /** boolean search mode */
624
+ mode?: Mode$1;
625
+ /** search term or expression */
626
+ expression?: string | null;
627
+ /** fields to search in. if empty - server will search in own default fields */
628
+ fields?: string[];
629
+ /** flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */
630
+ fuzzy?: boolean;
631
+ }
632
+ declare enum Mode$1 {
633
+ /** any */
634
+ OR = "OR",
635
+ /** all */
636
+ AND = "AND"
637
+ }
638
+ interface SearchReservationsResponse {
639
+ /** List of Reservations. */
640
+ reservations?: Reservation[];
641
+ /** Cursor paging metadata. */
642
+ pagingMetadata?: CursorPagingMetadata$1;
643
+ /** Aggregation data. */
644
+ aggregationData?: AggregationData;
645
+ }
646
+ interface AggregationData {
647
+ /** key = aggregation name (as derived from search request) */
648
+ results?: AggregationResults[];
649
+ }
650
+ interface ValueAggregationResult {
651
+ value?: string;
652
+ count?: number;
653
+ }
654
+ interface RangeAggregationResult {
655
+ from?: number | null;
656
+ to?: number | null;
657
+ count?: number;
658
+ }
659
+ interface NestedAggregationResults extends NestedAggregationResultsResultOneOf {
660
+ values?: ValueResults;
661
+ ranges?: RangeResults;
662
+ scalar?: AggregationResultsScalarResult;
663
+ name?: string;
664
+ type?: AggregationType;
665
+ fieldPath?: string;
666
+ }
667
+ /** @oneof */
668
+ interface NestedAggregationResultsResultOneOf {
669
+ values?: ValueResults;
670
+ ranges?: RangeResults;
671
+ scalar?: AggregationResultsScalarResult;
672
+ }
673
+ interface ValueResults {
674
+ results?: ValueAggregationResult[];
675
+ }
676
+ interface RangeResults {
677
+ results?: RangeAggregationResult[];
678
+ }
679
+ interface AggregationResultsScalarResult {
680
+ type?: ScalarType;
681
+ value?: number;
682
+ }
683
+ interface NestedValueAggregationResult {
684
+ value?: string;
685
+ nestedResults?: NestedAggregationResults;
686
+ }
687
+ interface ValueResult {
688
+ value?: string;
689
+ count?: number | null;
690
+ }
691
+ interface RangeResult {
692
+ from?: number | null;
693
+ to?: number | null;
694
+ count?: number | null;
695
+ }
696
+ interface ScalarResult {
697
+ value?: number;
698
+ }
699
+ interface NestedResultValue extends NestedResultValueResultOneOf {
700
+ value?: ValueResult;
701
+ range?: RangeResult;
702
+ scalar?: ScalarResult;
703
+ dateHistogram?: ValueResult;
704
+ }
705
+ /** @oneof */
706
+ interface NestedResultValueResultOneOf {
707
+ value?: ValueResult;
708
+ range?: RangeResult;
709
+ scalar?: ScalarResult;
710
+ dateHistogram?: ValueResult;
711
+ }
712
+ interface Results {
713
+ results?: Record<string, NestedResultValue>;
714
+ }
715
+ interface DateHistogramResult {
716
+ value?: string;
717
+ count?: number;
718
+ }
719
+ interface GroupByValueResults {
720
+ results?: NestedValueAggregationResult[];
721
+ }
722
+ interface DateHistogramResults {
723
+ results?: DateHistogramResult[];
724
+ }
725
+ interface NestedResults {
726
+ results?: Results[];
727
+ }
728
+ interface AggregationResults extends AggregationResultsResultOneOf {
729
+ values?: ValueResults;
730
+ ranges?: RangeResults;
731
+ scalar?: AggregationResultsScalarResult;
732
+ groupedByValue?: GroupByValueResults;
733
+ dateHistogram?: DateHistogramResults;
734
+ nested?: NestedResults;
735
+ name?: string;
736
+ type?: AggregationType;
737
+ fieldPath?: string;
738
+ }
739
+ /** @oneof */
740
+ interface AggregationResultsResultOneOf {
741
+ values?: ValueResults;
742
+ ranges?: RangeResults;
743
+ scalar?: AggregationResultsScalarResult;
744
+ groupedByValue?: GroupByValueResults;
745
+ dateHistogram?: DateHistogramResults;
746
+ nested?: NestedResults;
747
+ }
748
+ interface DomainEvent$1 extends DomainEventBodyOneOf$1 {
749
+ /** Information about the reservation that was created and event metadata. */
750
+ createdEvent?: EntityCreatedEvent$1;
751
+ /** Information about the reservation that was updated and event metadata. */
752
+ updatedEvent?: EntityUpdatedEvent$1;
753
+ deletedEvent?: EntityDeletedEvent$1;
754
+ actionEvent?: ActionEvent$1;
755
+ /**
756
+ * Unique event ID.
757
+ * Allows clients to ignore duplicate webhooks.
758
+ */
759
+ _id?: string;
760
+ /**
761
+ * Assumes actions are also always typed to an entity_type
762
+ * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction
763
+ */
764
+ entityFqdn?: string;
765
+ /**
766
+ * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)
767
+ * This is although the created/updated/deleted notion is duplication of the oneof types
768
+ * Example: created/updated/deleted/started/completed/email_opened
769
+ */
770
+ slug?: string;
771
+ /** ID of the entity associated with the event. */
772
+ entityId?: string;
773
+ /** Event timestamp. */
774
+ eventTime?: Date;
775
+ /**
776
+ * Whether the event was triggered as a result of a privacy regulation application
777
+ * (for example, GDPR).
778
+ */
779
+ triggeredByAnonymizeRequest?: boolean | null;
780
+ /** If present, indicates the action that triggered the event. */
781
+ originatedFrom?: string | null;
782
+ /**
783
+ * A sequence number defining the order of updates to the underlying entity.
784
+ * For example, given that some entity was updated at 16:00 and than again at 16:01,
785
+ * it is guaranteed that the sequence number of the second update is strictly higher than the first.
786
+ * As the consumer, you can use this value to ensure that you handle messages in the correct order.
787
+ * To do so, you will need to persist this number on your end, and compare the sequence number from the
788
+ * message against the one you have stored. Given that the stored number is higher, you should ignore the message.
789
+ */
790
+ entityEventSequence?: string | null;
791
+ }
792
+ /** @oneof */
793
+ interface DomainEventBodyOneOf$1 {
794
+ createdEvent?: EntityCreatedEvent$1;
795
+ updatedEvent?: EntityUpdatedEvent$1;
796
+ deletedEvent?: EntityDeletedEvent$1;
797
+ actionEvent?: ActionEvent$1;
798
+ }
799
+ interface EntityCreatedEvent$1 {
800
+ entity?: string;
801
+ }
802
+ interface EntityUpdatedEvent$1 {
803
+ /**
804
+ * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
805
+ * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
806
+ * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
807
+ */
808
+ currentEntity?: string;
809
+ }
810
+ interface EntityDeletedEvent$1 {
811
+ /** Entity that was deleted */
812
+ deletedEntity?: string | null;
813
+ }
814
+ interface ActionEvent$1 {
815
+ body?: string;
816
+ }
817
+ interface Empty$1 {
818
+ }
819
+ interface RemoveReservationMigrationNotesRequest {
820
+ /** Reservation ID. */
821
+ reservationId?: string;
822
+ /** Revision. */
823
+ revision?: string;
824
+ }
825
+ interface RemoveReservationMigrationNotesResponse {
826
+ reservation?: Reservation;
827
+ }
828
+ interface MessageEnvelope$1 {
829
+ /** App instance ID. */
830
+ instanceId?: string | null;
831
+ /** Event type. */
832
+ eventType?: string;
833
+ /** The identification type and identity data. */
834
+ identity?: IdentificationData$1;
835
+ /** Stringify payload. */
836
+ data?: string;
837
+ }
838
+ interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {
839
+ /** ID of a site visitor that has not logged in to the site. */
840
+ anonymousVisitorId?: string;
841
+ /** ID of a site visitor that has logged in to the site. */
842
+ memberId?: string;
843
+ /** ID of a Wix user (site owner, contributor, etc.). */
844
+ wixUserId?: string;
845
+ /** ID of an app. */
846
+ appId?: string;
847
+ /** @readonly */
848
+ identityType?: WebhookIdentityType$1;
849
+ }
850
+ /** @oneof */
851
+ interface IdentificationDataIdOneOf$1 {
852
+ /** ID of a site visitor that has not logged in to the site. */
853
+ anonymousVisitorId?: string;
854
+ /** ID of a site visitor that has logged in to the site. */
855
+ memberId?: string;
856
+ /** ID of a Wix user (site owner, contributor, etc.). */
857
+ wixUserId?: string;
858
+ /** ID of an app. */
859
+ appId?: string;
860
+ }
861
+ declare enum WebhookIdentityType$1 {
862
+ UNKNOWN = "UNKNOWN",
863
+ ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
864
+ MEMBER = "MEMBER",
865
+ WIX_USER = "WIX_USER",
866
+ APP = "APP"
867
+ }
868
+ interface CreateReservationResponseNonNullableFields {
869
+ reservation?: {
870
+ status: Status$1;
871
+ source: Source;
872
+ paymentStatus: PaymentStatus;
873
+ };
874
+ }
875
+ interface GetReservationResponseNonNullableFields {
876
+ reservation?: {
877
+ status: Status$1;
878
+ source: Source;
879
+ paymentStatus: PaymentStatus;
880
+ };
881
+ }
882
+ interface UpdateReservationResponseNonNullableFields {
883
+ reservation?: {
884
+ status: Status$1;
885
+ source: Source;
886
+ paymentStatus: PaymentStatus;
887
+ };
888
+ }
889
+ interface CreateHeldReservationResponseNonNullableFields {
890
+ reservation?: {
891
+ status: Status$1;
892
+ source: Source;
893
+ paymentStatus: PaymentStatus;
894
+ };
895
+ }
896
+ interface ReserveReservationResponseNonNullableFields {
897
+ reservation?: {
898
+ status: Status$1;
899
+ source: Source;
900
+ paymentStatus: PaymentStatus;
901
+ };
902
+ }
903
+ interface CancelReservationResponseNonNullableFields {
904
+ reservation?: {
905
+ status: Status$1;
906
+ source: Source;
907
+ paymentStatus: PaymentStatus;
908
+ };
909
+ }
910
+ interface ListReservationsResponseNonNullableFields {
911
+ reservations: {
912
+ status: Status$1;
913
+ source: Source;
914
+ paymentStatus: PaymentStatus;
915
+ }[];
916
+ }
917
+ interface QueryReservationsResponseNonNullableFields {
918
+ reservations: {
919
+ status: Status$1;
920
+ source: Source;
921
+ paymentStatus: PaymentStatus;
922
+ }[];
923
+ }
924
+ interface SearchReservationsResponseNonNullableFields {
925
+ reservations: {
926
+ status: Status$1;
927
+ source: Source;
928
+ paymentStatus: PaymentStatus;
929
+ }[];
930
+ aggregationData?: {
931
+ results: {
932
+ values?: {
933
+ results: {
934
+ value: string;
935
+ count: number;
936
+ }[];
937
+ };
938
+ ranges?: {
939
+ results: {
940
+ count: number;
941
+ }[];
942
+ };
943
+ scalar?: {
944
+ type: ScalarType;
945
+ value: number;
946
+ };
947
+ groupedByValue?: {
948
+ results: {
949
+ value: string;
950
+ nestedResults?: {
951
+ values?: {
952
+ results: {
953
+ value: string;
954
+ count: number;
955
+ }[];
956
+ };
957
+ ranges?: {
958
+ results: {
959
+ count: number;
960
+ }[];
961
+ };
962
+ scalar?: {
963
+ type: ScalarType;
964
+ value: number;
965
+ };
966
+ name: string;
967
+ type: AggregationType;
968
+ fieldPath: string;
969
+ };
970
+ }[];
971
+ };
972
+ dateHistogram?: {
973
+ results: {
974
+ value: string;
975
+ count: number;
976
+ }[];
977
+ };
978
+ nested?: {
979
+ results: {
980
+ results?: {
981
+ value?: {
982
+ value: string;
983
+ };
984
+ scalar?: {
985
+ value: number;
986
+ };
987
+ dateHistogram?: {
988
+ value: string;
989
+ };
990
+ };
991
+ }[];
992
+ };
993
+ name: string;
994
+ type: AggregationType;
995
+ fieldPath: string;
996
+ }[];
997
+ };
998
+ }
999
+ interface BaseEventMetadata$1 {
1000
+ /** App instance ID. */
1001
+ instanceId?: string | null;
1002
+ /** Event type. */
1003
+ eventType?: string;
1004
+ /** The identification type and identity data. */
1005
+ identity?: IdentificationData$1;
1006
+ }
1007
+ interface EventMetadata$1 extends BaseEventMetadata$1 {
1008
+ /**
1009
+ * Unique event ID.
1010
+ * Allows clients to ignore duplicate webhooks.
1011
+ */
1012
+ _id?: string;
1013
+ /**
1014
+ * Assumes actions are also always typed to an entity_type
1015
+ * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction
1016
+ */
1017
+ entityFqdn?: string;
1018
+ /**
1019
+ * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)
1020
+ * This is although the created/updated/deleted notion is duplication of the oneof types
1021
+ * Example: created/updated/deleted/started/completed/email_opened
1022
+ */
1023
+ slug?: string;
1024
+ /** ID of the entity associated with the event. */
1025
+ entityId?: string;
1026
+ /** Event timestamp. */
1027
+ eventTime?: Date;
1028
+ /**
1029
+ * Whether the event was triggered as a result of a privacy regulation application
1030
+ * (for example, GDPR).
1031
+ */
1032
+ triggeredByAnonymizeRequest?: boolean | null;
1033
+ /** If present, indicates the action that triggered the event. */
1034
+ originatedFrom?: string | null;
1035
+ /**
1036
+ * A sequence number defining the order of updates to the underlying entity.
1037
+ * For example, given that some entity was updated at 16:00 and than again at 16:01,
1038
+ * it is guaranteed that the sequence number of the second update is strictly higher than the first.
1039
+ * As the consumer, you can use this value to ensure that you handle messages in the correct order.
1040
+ * To do so, you will need to persist this number on your end, and compare the sequence number from the
1041
+ * message against the one you have stored. Given that the stored number is higher, you should ignore the message.
1042
+ */
1043
+ entityEventSequence?: string | null;
1044
+ }
1045
+ interface ReservationCreatedEnvelope {
1046
+ entity: Reservation;
1047
+ metadata: EventMetadata$1;
1048
+ }
1049
+ interface CreateReservationOptions {
1050
+ /**
1051
+ * 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.
1052
+ *
1053
+ * Possible values:
1054
+ * * `"RESERVED"`: One or more of the chosen tables are already reserved.
1055
+ * * `"TOO_BIG"`: The party is too big for the selected table.
1056
+ * * `"TOO_SMALL"`: The party is too small for the selected table.
1057
+ * * `"OFFLINE_ONLY"`: The restaurant does not allow online reservations.
1058
+ */
1059
+ ignoreTableCombinationConflicts?: TableCombinationConflictType$1[];
1060
+ /**
1061
+ * 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.
1062
+ *
1063
+ * Possible values:
1064
+ * * `"PARTY_PACING"`: The restaurant cannot accommodate a party of the given size according to party pacing settings.
1065
+ * * `"SEAT_PACING"`: The required number of seats are unavailable according to seat pacing settings.
1066
+ */
1067
+ ignoreReservationLocationConflicts?: Type$1[];
1068
+ }
1069
+ interface GetReservationOptions {
1070
+ /**
1071
+ * Array of named, predefined sets of projected fields to be returned.
1072
+ *
1073
+ * Supported values: `PUBLIC`, `FULL`.
1074
+ *
1075
+ * Calling this method with `fieldsets` set to `FULL` requires additional permissions. See this API's Introduction article for more information.
1076
+ */
1077
+ fieldsets?: Set$1[];
1078
+ }
1079
+ interface UpdateReservation {
1080
+ /**
1081
+ * Reservation ID.
1082
+ * @readonly
1083
+ */
1084
+ _id?: string | null;
1085
+ /**
1086
+ * Status of the reservation.
1087
+ *
1088
+ * See the article for this API titled "The Reservation Lifecycle" in the menu on the left for more details on each of the statuses, and an explanation of the reservation lifecycle.
1089
+ */
1090
+ status?: Status$1;
1091
+ /**
1092
+ * Reservation source.
1093
+ *
1094
+ * This indicates how the reservation was made.
1095
+ * * `ONLINE` indicates that the customer made the reservation through a website or app.
1096
+ * * `OFFLINE` indicates that the reservation was made by a restaurant employee, for example when a customer calls to make a reservation.
1097
+ * * `WALK-IN` indicates that the customer did not make a reservation beforehand, and the reservation was entered into the system by a restaurant employee when the customer arrived at the restaurant.
1098
+ */
1099
+ source?: Source;
1100
+ /** Reservation details. */
1101
+ details?: Details;
1102
+ /**
1103
+ * Information about the person the reservation is being made for.
1104
+ *
1105
+ * A reservation created with any `source` other than `WALK_IN` requires the `reservation.reservee.phone` and `reservation.reservee.firstName` fields.
1106
+ * Attempting to create a reservation without these fields results in an error.
1107
+ */
1108
+ reservee?: Reservee;
1109
+ /**
1110
+ * Information about the person making the reservation.
1111
+ *
1112
+ * This field is required if the reservation's `status` is anything other than `WALK_IN`.
1113
+ * @readonly
1114
+ */
1115
+ reservedBy?: ReservedBy;
1116
+ /**
1117
+ * Team message.
1118
+ *
1119
+ * A message for the restaurant staff containing any additional information regarding the reservation, such as special requirements for the guests.
1120
+ */
1121
+ teamMessage?: string | null;
1122
+ /**
1123
+ * Date and time the reservation was created.
1124
+ * @readonly
1125
+ */
1126
+ _createdDate?: Date;
1127
+ /**
1128
+ * Date and time the reservation was changed.
1129
+ * @readonly
1130
+ */
1131
+ _updatedDate?: Date;
1132
+ /**
1133
+ * Revision number, which increments by 1 each time the reservation is updated.
1134
+ * To prevent conflicting changes, the current revision must be passed when updating the reservation.
1135
+ *
1136
+ * Ignored when creating a reservation.
1137
+ * @readonly
1138
+ */
1139
+ revision?: string | null;
1140
+ /** The reason the reservation was declined. */
1141
+ declineReason?: string | null;
1142
+ /**
1143
+ * Payment status.
1144
+ * @readonly
1145
+ */
1146
+ paymentStatus?: PaymentStatus;
1147
+ }
1148
+ interface UpdateReservationOptions {
1149
+ /**
1150
+ * 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.
1151
+ *
1152
+ * Possible values:
1153
+ * * `"RESERVED"`: One or more of the chosen tables are already reserved.
1154
+ * * `"TOO_BIG"`: The party is too big for the selected table.
1155
+ * * `"TOO_SMALL"`: The party is too small for the selected table.
1156
+ * * `"OFFLINE_ONLY"`: The restaurant does not allow online reservations.
1157
+ */
1158
+ ignoreTableCombinationConflicts?: TableCombinationConflictType$1[];
1159
+ /**
1160
+ * 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.
1161
+ *
1162
+ * Possible values:
1163
+ * * `"PARTY_PACING"`: The restaurant cannot accommodate a party of the given size according to party pacing settings.
1164
+ * * `"SEAT_PACING"`: The required number of seats are unavailable according to seat pacing settings.
1165
+ */
1166
+ ignoreReservationLocationConflicts?: Type$1[];
1167
+ }
1168
+ interface CancelReservationOptions {
1169
+ /**
1170
+ * The phone number that was provided when the reservation was created.
1171
+ *
1172
+ * This is required for reservations with any `source` other than `WALK_IN`.
1173
+ *
1174
+ * This requirement provides additional security by ensuring that the canceling party knows both the reservation's `reservationId` and the reservee's `phone`.
1175
+ */
1176
+ phone?: string | null;
1177
+ }
1178
+ interface ListReservationsOptions {
1179
+ /** 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`. */
1180
+ paging?: CursorPaging$1;
1181
+ /** Defines how reservations in the response are sorted. */
1182
+ sort?: Sorting$1;
1183
+ /** Only reservations starting after this date are returned. */
1184
+ startDateFrom?: Date;
1185
+ /** Only reservations starting before this date are returned. */
1186
+ startDateTo?: Date;
1187
+ /**
1188
+ * Only reservations with this status are returned.
1189
+ *
1190
+ * * `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.
1191
+ * * `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.
1192
+ * * `DECLINED`: The restaurant’s owner or staff declined the customer’s request to make the reservation.
1193
+ * * `RESERVED`: The reservation is confirmed.
1194
+ * * `SEATED`: The customer is currently occupying the table.
1195
+ * * `CANCELED`: The reservation is canceled.
1196
+ * * `NO_SHOW`: The customer didn't show up for their reservation.
1197
+ * * `FINISHED`: The reservation completed successfully.
1198
+ */
1199
+ status?: Status$1;
1200
+ }
1201
+ interface QueryCursorResult$1 {
1202
+ cursors: Cursors$1;
1203
+ hasNext: () => boolean;
1204
+ hasPrev: () => boolean;
1205
+ length: number;
1206
+ pageSize: number;
1207
+ }
1208
+ interface ReservationsQueryResult extends QueryCursorResult$1 {
1209
+ items: Reservation[];
1210
+ query: ReservationsQueryBuilder;
1211
+ next: () => Promise<ReservationsQueryResult>;
1212
+ prev: () => Promise<ReservationsQueryResult>;
1213
+ }
1214
+ interface ReservationsQueryBuilder {
1215
+ /** @param propertyName - Property whose value is compared with `value`.
1216
+ * @param value - Value to compare against.
1217
+ * @documentationMaturity preview
1218
+ */
1219
+ eq: (propertyName: '_id' | 'status' | 'details.startDate', value: any) => ReservationsQueryBuilder;
1220
+ /** @param propertyName - Property whose value is compared with `value`.
1221
+ * @param value - Value to compare against.
1222
+ * @documentationMaturity preview
1223
+ */
1224
+ ne: (propertyName: '_id' | 'status' | 'details.startDate', value: any) => ReservationsQueryBuilder;
1225
+ /** @param propertyName - Property whose value is compared with `value`.
1226
+ * @param value - Value to compare against.
1227
+ * @documentationMaturity preview
1228
+ */
1229
+ ge: (propertyName: 'details.startDate', value: any) => ReservationsQueryBuilder;
1230
+ /** @param propertyName - Property whose value is compared with `value`.
1231
+ * @param value - Value to compare against.
1232
+ * @documentationMaturity preview
1233
+ */
1234
+ gt: (propertyName: 'details.startDate', value: any) => ReservationsQueryBuilder;
1235
+ /** @param propertyName - Property whose value is compared with `value`.
1236
+ * @param value - Value to compare against.
1237
+ * @documentationMaturity preview
1238
+ */
1239
+ le: (propertyName: 'details.startDate', value: any) => ReservationsQueryBuilder;
1240
+ /** @param propertyName - Property whose value is compared with `value`.
1241
+ * @param value - Value to compare against.
1242
+ * @documentationMaturity preview
1243
+ */
1244
+ lt: (propertyName: 'details.startDate', value: any) => ReservationsQueryBuilder;
1245
+ /** @documentationMaturity preview */
1246
+ in: (propertyName: '_id' | 'status' | 'details.startDate', value: any) => ReservationsQueryBuilder;
1247
+ /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.
1248
+ * @documentationMaturity preview
1249
+ */
1250
+ ascending: (...propertyNames: Array<'details.startDate'>) => ReservationsQueryBuilder;
1251
+ /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.
1252
+ * @documentationMaturity preview
1253
+ */
1254
+ descending: (...propertyNames: Array<'details.startDate'>) => ReservationsQueryBuilder;
1255
+ /** @param limit - Number of items to return, which is also the `pageSize` of the results object.
1256
+ * @documentationMaturity preview
1257
+ */
1258
+ limit: (limit: number) => ReservationsQueryBuilder;
1259
+ /** @param cursor - A pointer to specific record
1260
+ * @documentationMaturity preview
1261
+ */
1262
+ skipTo: (cursor: string) => ReservationsQueryBuilder;
1263
+ /** @documentationMaturity preview */
1264
+ find: () => Promise<ReservationsQueryResult>;
1265
+ }
1266
+
1267
+ interface HttpClient$2 {
1268
+ request<TResponse, TData = any>(req: RequestOptionsFactory$2<TResponse, TData>): Promise<HttpResponse$2<TResponse>>;
1269
+ fetchWithAuth: (url: string | URL, init?: RequestInit) => Promise<Response>;
1270
+ }
1271
+ type RequestOptionsFactory$2<TResponse = any, TData = any> = (context: any) => RequestOptions$2<TResponse, TData>;
1272
+ type HttpResponse$2<T = any> = {
1273
+ data: T;
1274
+ status: number;
1275
+ statusText: string;
1276
+ headers: any;
1277
+ request?: any;
1278
+ };
1279
+ type RequestOptions$2<_TResponse = any, Data = any> = {
1280
+ method: 'POST' | 'GET' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
1281
+ url: string;
1282
+ data?: Data;
1283
+ params?: URLSearchParams;
1284
+ } & APIMetadata$2;
1285
+ type APIMetadata$2 = {
1286
+ methodFqn?: string;
1287
+ entityFqdn?: string;
1288
+ packageName?: string;
1289
+ };
1290
+ type EventDefinition$1<Payload = unknown, Type extends string = string> = {
1291
+ __type: 'event-definition';
1292
+ type: Type;
1293
+ isDomainEvent?: boolean;
1294
+ transformations?: (envelope: unknown) => Payload;
1295
+ __payload: Payload;
1296
+ };
1297
+ declare function EventDefinition$1<Type extends string>(type: Type, isDomainEvent?: boolean, transformations?: (envelope: any) => unknown): <Payload = unknown>() => EventDefinition$1<Payload, Type>;
1298
+
1299
+ declare global {
1300
+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
1301
+ interface SymbolConstructor {
1302
+ readonly observable: symbol;
1303
+ }
1304
+ }
1305
+
1306
+ declare const __metadata$2: {
1307
+ PACKAGE_NAME: string;
1308
+ };
1309
+ declare function createReservation(httpClient: HttpClient$2): (reservation: Reservation, options?: CreateReservationOptions) => Promise<Reservation & {
1310
+ status: Status$1;
1311
+ source: Source;
1312
+ paymentStatus: PaymentStatus;
1313
+ }>;
1314
+ declare function getReservation(httpClient: HttpClient$2): (reservationId: string, options?: GetReservationOptions) => Promise<Reservation & {
1315
+ status: Status$1;
1316
+ source: Source;
1317
+ paymentStatus: PaymentStatus;
1318
+ }>;
1319
+ declare function updateReservation(httpClient: HttpClient$2): (_id: string | null, reservation: UpdateReservation, options?: UpdateReservationOptions) => Promise<Reservation & {
1320
+ status: Status$1;
1321
+ source: Source;
1322
+ paymentStatus: PaymentStatus;
1323
+ }>;
1324
+ declare function createHeldReservation(httpClient: HttpClient$2): (reservationDetails: HeldReservationDetails) => Promise<CreateHeldReservationResponse & CreateHeldReservationResponseNonNullableFields>;
1325
+ declare function reserveReservation(httpClient: HttpClient$2): (reservationId: string, reservee: Reservee, revision: string | null) => Promise<ReserveReservationResponse & ReserveReservationResponseNonNullableFields>;
1326
+ declare function cancelReservation(httpClient: HttpClient$2): (reservationId: string, revision: string | null, options?: CancelReservationOptions) => Promise<CancelReservationResponse & CancelReservationResponseNonNullableFields>;
1327
+ declare function listReservations(httpClient: HttpClient$2): (options?: ListReservationsOptions) => Promise<ListReservationsResponse & ListReservationsResponseNonNullableFields>;
1328
+ declare function queryReservations(httpClient: HttpClient$2): () => ReservationsQueryBuilder;
1329
+ declare function searchReservations(httpClient: HttpClient$2): (search: CursorSearch) => Promise<SearchReservationsResponse & SearchReservationsResponseNonNullableFields>;
1330
+ declare const onReservationCreated: EventDefinition$1<ReservationCreatedEnvelope, "wix.table_reservations.v1.reservation_created">;
1331
+
1332
+ type index_d$2_Aggregation = Aggregation;
1333
+ type index_d$2_AggregationData = AggregationData;
1334
+ type index_d$2_AggregationKindOneOf = AggregationKindOneOf;
1335
+ type index_d$2_AggregationResults = AggregationResults;
1336
+ type index_d$2_AggregationResultsResultOneOf = AggregationResultsResultOneOf;
1337
+ type index_d$2_AggregationResultsScalarResult = AggregationResultsScalarResult;
1338
+ type index_d$2_AggregationType = AggregationType;
1339
+ declare const index_d$2_AggregationType: typeof AggregationType;
1340
+ type index_d$2_CancelReservationOptions = CancelReservationOptions;
1341
+ type index_d$2_CancelReservationRequest = CancelReservationRequest;
1342
+ type index_d$2_CancelReservationResponse = CancelReservationResponse;
1343
+ type index_d$2_CancelReservationResponseNonNullableFields = CancelReservationResponseNonNullableFields;
1344
+ type index_d$2_CreateHeldReservationRequest = CreateHeldReservationRequest;
1345
+ type index_d$2_CreateHeldReservationResponse = CreateHeldReservationResponse;
1346
+ type index_d$2_CreateHeldReservationResponseNonNullableFields = CreateHeldReservationResponseNonNullableFields;
1347
+ type index_d$2_CreateReservationOptions = CreateReservationOptions;
1348
+ type index_d$2_CreateReservationRequest = CreateReservationRequest;
1349
+ type index_d$2_CreateReservationResponse = CreateReservationResponse;
1350
+ type index_d$2_CreateReservationResponseNonNullableFields = CreateReservationResponseNonNullableFields;
1351
+ type index_d$2_CursorQuery = CursorQuery;
1352
+ type index_d$2_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;
1353
+ type index_d$2_CursorSearch = CursorSearch;
1354
+ type index_d$2_CursorSearchPagingMethodOneOf = CursorSearchPagingMethodOneOf;
1355
+ type index_d$2_DateHistogramAggregation = DateHistogramAggregation;
1356
+ type index_d$2_DateHistogramResult = DateHistogramResult;
1357
+ type index_d$2_DateHistogramResults = DateHistogramResults;
1358
+ type index_d$2_DeleteReservationRequest = DeleteReservationRequest;
1359
+ type index_d$2_DeleteReservationResponse = DeleteReservationResponse;
1360
+ type index_d$2_Details = Details;
1361
+ type index_d$2_GetReservationOptions = GetReservationOptions;
1362
+ type index_d$2_GetReservationRequest = GetReservationRequest;
1363
+ type index_d$2_GetReservationResponse = GetReservationResponse;
1364
+ type index_d$2_GetReservationResponseNonNullableFields = GetReservationResponseNonNullableFields;
1365
+ type index_d$2_GroupByAggregation = GroupByAggregation;
1366
+ type index_d$2_GroupByAggregationKindOneOf = GroupByAggregationKindOneOf;
1367
+ type index_d$2_GroupByValueResults = GroupByValueResults;
1368
+ type index_d$2_HeldReservationDetails = HeldReservationDetails;
1369
+ type index_d$2_IncludeMissingValuesOptions = IncludeMissingValuesOptions;
1370
+ type index_d$2_Interval = Interval;
1371
+ declare const index_d$2_Interval: typeof Interval;
1372
+ type index_d$2_ListReservationsOptions = ListReservationsOptions;
1373
+ type index_d$2_ListReservationsRequest = ListReservationsRequest;
1374
+ type index_d$2_ListReservationsResponse = ListReservationsResponse;
1375
+ type index_d$2_ListReservationsResponseNonNullableFields = ListReservationsResponseNonNullableFields;
1376
+ type index_d$2_MigrationNote = MigrationNote;
1377
+ type index_d$2_MissingValues = MissingValues;
1378
+ declare const index_d$2_MissingValues: typeof MissingValues;
1379
+ type index_d$2_NestedAggregation = NestedAggregation;
1380
+ type index_d$2_NestedAggregationItem = NestedAggregationItem;
1381
+ type index_d$2_NestedAggregationItemKindOneOf = NestedAggregationItemKindOneOf;
1382
+ type index_d$2_NestedAggregationResults = NestedAggregationResults;
1383
+ type index_d$2_NestedAggregationResultsResultOneOf = NestedAggregationResultsResultOneOf;
1384
+ type index_d$2_NestedAggregationType = NestedAggregationType;
1385
+ declare const index_d$2_NestedAggregationType: typeof NestedAggregationType;
1386
+ type index_d$2_NestedResultValue = NestedResultValue;
1387
+ type index_d$2_NestedResultValueResultOneOf = NestedResultValueResultOneOf;
1388
+ type index_d$2_NestedResults = NestedResults;
1389
+ type index_d$2_NestedValueAggregationResult = NestedValueAggregationResult;
1390
+ type index_d$2_PaymentStatus = PaymentStatus;
1391
+ declare const index_d$2_PaymentStatus: typeof PaymentStatus;
1392
+ type index_d$2_QueryReservationsRequest = QueryReservationsRequest;
1393
+ type index_d$2_QueryReservationsResponse = QueryReservationsResponse;
1394
+ type index_d$2_QueryReservationsResponseNonNullableFields = QueryReservationsResponseNonNullableFields;
1395
+ type index_d$2_RangeAggregation = RangeAggregation;
1396
+ type index_d$2_RangeAggregationResult = RangeAggregationResult;
1397
+ type index_d$2_RangeBucket = RangeBucket;
1398
+ type index_d$2_RangeResult = RangeResult;
1399
+ type index_d$2_RangeResults = RangeResults;
1400
+ type index_d$2_RemoveReservationMigrationNotesRequest = RemoveReservationMigrationNotesRequest;
1401
+ type index_d$2_RemoveReservationMigrationNotesResponse = RemoveReservationMigrationNotesResponse;
1402
+ type index_d$2_Reservation = Reservation;
1403
+ type index_d$2_ReservationCanceled = ReservationCanceled;
1404
+ type index_d$2_ReservationCreatedEnvelope = ReservationCreatedEnvelope;
1405
+ type index_d$2_ReservationDataUpdated = ReservationDataUpdated;
1406
+ type index_d$2_ReservationDetailsConflicts = ReservationDetailsConflicts;
1407
+ type index_d$2_ReservationsQueryBuilder = ReservationsQueryBuilder;
1408
+ type index_d$2_ReservationsQueryResult = ReservationsQueryResult;
1409
+ type index_d$2_ReserveReservationRequest = ReserveReservationRequest;
1410
+ type index_d$2_ReserveReservationResponse = ReserveReservationResponse;
1411
+ type index_d$2_ReserveReservationResponseNonNullableFields = ReserveReservationResponseNonNullableFields;
1412
+ type index_d$2_ReservedBy = ReservedBy;
1413
+ type index_d$2_Reservee = Reservee;
1414
+ type index_d$2_Results = Results;
1415
+ type index_d$2_ScalarAggregation = ScalarAggregation;
1416
+ type index_d$2_ScalarResult = ScalarResult;
1417
+ type index_d$2_ScalarType = ScalarType;
1418
+ declare const index_d$2_ScalarType: typeof ScalarType;
1419
+ type index_d$2_SearchDetails = SearchDetails;
1420
+ type index_d$2_SearchReservationsRequest = SearchReservationsRequest;
1421
+ type index_d$2_SearchReservationsResponse = SearchReservationsResponse;
1422
+ type index_d$2_SearchReservationsResponseNonNullableFields = SearchReservationsResponseNonNullableFields;
1423
+ type index_d$2_SortDirection = SortDirection;
1424
+ declare const index_d$2_SortDirection: typeof SortDirection;
1425
+ type index_d$2_SortType = SortType;
1426
+ declare const index_d$2_SortType: typeof SortType;
1427
+ type index_d$2_Source = Source;
1428
+ declare const index_d$2_Source: typeof Source;
1429
+ type index_d$2_TableWithReservationConflicts = TableWithReservationConflicts;
1430
+ type index_d$2_UpdateReservation = UpdateReservation;
1431
+ type index_d$2_UpdateReservationOptions = UpdateReservationOptions;
1432
+ type index_d$2_UpdateReservationRequest = UpdateReservationRequest;
1433
+ type index_d$2_UpdateReservationResponse = UpdateReservationResponse;
1434
+ type index_d$2_UpdateReservationResponseNonNullableFields = UpdateReservationResponseNonNullableFields;
1435
+ type index_d$2_ValueAggregation = ValueAggregation;
1436
+ type index_d$2_ValueAggregationOptionsOneOf = ValueAggregationOptionsOneOf;
1437
+ type index_d$2_ValueAggregationResult = ValueAggregationResult;
1438
+ type index_d$2_ValueResult = ValueResult;
1439
+ type index_d$2_ValueResults = ValueResults;
1440
+ declare const index_d$2_cancelReservation: typeof cancelReservation;
1441
+ declare const index_d$2_createHeldReservation: typeof createHeldReservation;
1442
+ declare const index_d$2_createReservation: typeof createReservation;
1443
+ declare const index_d$2_getReservation: typeof getReservation;
1444
+ declare const index_d$2_listReservations: typeof listReservations;
1445
+ declare const index_d$2_onReservationCreated: typeof onReservationCreated;
1446
+ declare const index_d$2_queryReservations: typeof queryReservations;
1447
+ declare const index_d$2_reserveReservation: typeof reserveReservation;
1448
+ declare const index_d$2_searchReservations: typeof searchReservations;
1449
+ declare const index_d$2_updateReservation: typeof updateReservation;
1450
+ declare namespace index_d$2 {
1451
+ export { type ActionEvent$1 as ActionEvent, type index_d$2_Aggregation as Aggregation, type index_d$2_AggregationData as AggregationData, type index_d$2_AggregationKindOneOf as AggregationKindOneOf, type index_d$2_AggregationResults as AggregationResults, type index_d$2_AggregationResultsResultOneOf as AggregationResultsResultOneOf, type index_d$2_AggregationResultsScalarResult as AggregationResultsScalarResult, index_d$2_AggregationType as AggregationType, type BaseEventMetadata$1 as BaseEventMetadata, type index_d$2_CancelReservationOptions as CancelReservationOptions, type index_d$2_CancelReservationRequest as CancelReservationRequest, type index_d$2_CancelReservationResponse as CancelReservationResponse, type index_d$2_CancelReservationResponseNonNullableFields as CancelReservationResponseNonNullableFields, type index_d$2_CreateHeldReservationRequest as CreateHeldReservationRequest, type index_d$2_CreateHeldReservationResponse as CreateHeldReservationResponse, type index_d$2_CreateHeldReservationResponseNonNullableFields as CreateHeldReservationResponseNonNullableFields, type index_d$2_CreateReservationOptions as CreateReservationOptions, type index_d$2_CreateReservationRequest as CreateReservationRequest, type index_d$2_CreateReservationResponse as CreateReservationResponse, type index_d$2_CreateReservationResponseNonNullableFields as CreateReservationResponseNonNullableFields, type CursorPaging$1 as CursorPaging, type CursorPagingMetadata$1 as CursorPagingMetadata, type index_d$2_CursorQuery as CursorQuery, type index_d$2_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf, type index_d$2_CursorSearch as CursorSearch, type index_d$2_CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOf, type Cursors$1 as Cursors, type index_d$2_DateHistogramAggregation as DateHistogramAggregation, type index_d$2_DateHistogramResult as DateHistogramResult, type index_d$2_DateHistogramResults as DateHistogramResults, type index_d$2_DeleteReservationRequest as DeleteReservationRequest, type index_d$2_DeleteReservationResponse as DeleteReservationResponse, type index_d$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 index_d$2_GetReservationOptions as GetReservationOptions, type index_d$2_GetReservationRequest as GetReservationRequest, type index_d$2_GetReservationResponse as GetReservationResponse, type index_d$2_GetReservationResponseNonNullableFields as GetReservationResponseNonNullableFields, type index_d$2_GroupByAggregation as GroupByAggregation, type index_d$2_GroupByAggregationKindOneOf as GroupByAggregationKindOneOf, type index_d$2_GroupByValueResults as GroupByValueResults, type index_d$2_HeldReservationDetails as HeldReservationDetails, type IdentificationData$1 as IdentificationData, type IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, type index_d$2_IncludeMissingValuesOptions as IncludeMissingValuesOptions, index_d$2_Interval as Interval, type index_d$2_ListReservationsOptions as ListReservationsOptions, type index_d$2_ListReservationsRequest as ListReservationsRequest, type index_d$2_ListReservationsResponse as ListReservationsResponse, type index_d$2_ListReservationsResponseNonNullableFields as ListReservationsResponseNonNullableFields, type MessageEnvelope$1 as MessageEnvelope, type index_d$2_MigrationNote as MigrationNote, index_d$2_MissingValues as MissingValues, Mode$1 as Mode, type index_d$2_NestedAggregation as NestedAggregation, type index_d$2_NestedAggregationItem as NestedAggregationItem, type index_d$2_NestedAggregationItemKindOneOf as NestedAggregationItemKindOneOf, type index_d$2_NestedAggregationResults as NestedAggregationResults, type index_d$2_NestedAggregationResultsResultOneOf as NestedAggregationResultsResultOneOf, index_d$2_NestedAggregationType as NestedAggregationType, type index_d$2_NestedResultValue as NestedResultValue, type index_d$2_NestedResultValueResultOneOf as NestedResultValueResultOneOf, type index_d$2_NestedResults as NestedResults, type index_d$2_NestedValueAggregationResult as NestedValueAggregationResult, index_d$2_PaymentStatus as PaymentStatus, type index_d$2_QueryReservationsRequest as QueryReservationsRequest, type index_d$2_QueryReservationsResponse as QueryReservationsResponse, type index_d$2_QueryReservationsResponseNonNullableFields as QueryReservationsResponseNonNullableFields, type index_d$2_RangeAggregation as RangeAggregation, type index_d$2_RangeAggregationResult as RangeAggregationResult, type index_d$2_RangeBucket as RangeBucket, type index_d$2_RangeResult as RangeResult, type index_d$2_RangeResults as RangeResults, type index_d$2_RemoveReservationMigrationNotesRequest as RemoveReservationMigrationNotesRequest, type index_d$2_RemoveReservationMigrationNotesResponse as RemoveReservationMigrationNotesResponse, type index_d$2_Reservation as Reservation, type index_d$2_ReservationCanceled as ReservationCanceled, type index_d$2_ReservationCreatedEnvelope as ReservationCreatedEnvelope, type index_d$2_ReservationDataUpdated as ReservationDataUpdated, type index_d$2_ReservationDetailsConflicts as ReservationDetailsConflicts, type ReservationLocationConflict$1 as ReservationLocationConflict, type index_d$2_ReservationsQueryBuilder as ReservationsQueryBuilder, type index_d$2_ReservationsQueryResult as ReservationsQueryResult, type index_d$2_ReserveReservationRequest as ReserveReservationRequest, type index_d$2_ReserveReservationResponse as ReserveReservationResponse, type index_d$2_ReserveReservationResponseNonNullableFields as ReserveReservationResponseNonNullableFields, type index_d$2_ReservedBy as ReservedBy, type index_d$2_Reservee as Reservee, type index_d$2_Results as Results, type index_d$2_ScalarAggregation as ScalarAggregation, type index_d$2_ScalarResult as ScalarResult, index_d$2_ScalarType as ScalarType, type index_d$2_SearchDetails as SearchDetails, type index_d$2_SearchReservationsRequest as SearchReservationsRequest, type index_d$2_SearchReservationsResponse as SearchReservationsResponse, type index_d$2_SearchReservationsResponseNonNullableFields as SearchReservationsResponseNonNullableFields, Set$1 as Set, index_d$2_SortDirection as SortDirection, SortOrder$1 as SortOrder, index_d$2_SortType as SortType, type Sorting$1 as Sorting, index_d$2_Source as Source, Status$1 as Status, type TableCombinationConflict$1 as TableCombinationConflict, TableCombinationConflictType$1 as TableCombinationConflictType, type index_d$2_TableWithReservationConflicts as TableWithReservationConflicts, Type$1 as Type, type index_d$2_UpdateReservation as UpdateReservation, type index_d$2_UpdateReservationOptions as UpdateReservationOptions, type index_d$2_UpdateReservationRequest as UpdateReservationRequest, type index_d$2_UpdateReservationResponse as UpdateReservationResponse, type index_d$2_UpdateReservationResponseNonNullableFields as UpdateReservationResponseNonNullableFields, type index_d$2_ValueAggregation as ValueAggregation, type index_d$2_ValueAggregationOptionsOneOf as ValueAggregationOptionsOneOf, type index_d$2_ValueAggregationResult as ValueAggregationResult, type index_d$2_ValueResult as ValueResult, type index_d$2_ValueResults as ValueResults, WebhookIdentityType$1 as WebhookIdentityType, __metadata$2 as __metadata, index_d$2_cancelReservation as cancelReservation, index_d$2_createHeldReservation as createHeldReservation, index_d$2_createReservation as createReservation, index_d$2_getReservation as getReservation, index_d$2_listReservations as listReservations, index_d$2_onReservationCreated as onReservationCreated, index_d$2_queryReservations as queryReservations, index_d$2_reserveReservation as reserveReservation, index_d$2_searchReservations as searchReservations, index_d$2_updateReservation as updateReservation };
1452
+ }
1453
+
1454
+ interface ReservationLocation {
1455
+ /**
1456
+ * Reservation location ID.
1457
+ * @readonly
1458
+ */
1459
+ _id?: string | null;
1460
+ /** Represents the current state of a reservation location. Each time the reservation location is modified, its `revision` changes. For an update operation to succeed, you must pass the latest revision. */
1461
+ revision?: string | null;
1462
+ /**
1463
+ * The date and time this reservation location was created.
1464
+ * @readonly
1465
+ */
1466
+ _createdDate?: Date;
1467
+ /**
1468
+ * The date and time this reservation location was last updated.
1469
+ * @readonly
1470
+ */
1471
+ _updatedDate?: Date;
1472
+ /**
1473
+ * Physical location details.
1474
+ *
1475
+ * Locations can be created and configured using the [Locations API](https://dev.wix.com/docs/rest/api-reference/business-info/locations/introduction)
1476
+ * or on the [Business Info](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fsettings/business-info) page in the Dashboard.
1477
+ * @readonly
1478
+ */
1479
+ location?: Location;
1480
+ /** Reservation location configuration. */
1481
+ configuration?: Configuration;
1482
+ /**
1483
+ * Whether this reservation location's `location` is the default location of the business.
1484
+ * @readonly
1485
+ */
1486
+ default?: boolean | null;
1487
+ /**
1488
+ * Whether this reservation location's `location` is archived.
1489
+ * @readonly
1490
+ */
1491
+ archived?: boolean | null;
1492
+ }
1493
+ interface StreetAddress {
1494
+ /** Street number. */
1495
+ number?: string;
1496
+ /** Street name. */
1497
+ name?: string;
1498
+ /** Apartment number. */
1499
+ apt?: string;
1500
+ }
1501
+ /** Address geolocation information. */
1502
+ interface AddressLocation {
1503
+ /** Latitude of the location. Must be between -90 and 90. */
1504
+ latitude?: number | null;
1505
+ /** Longitude of the location. Must be between -180 and 180. */
1506
+ longitude?: number | null;
1507
+ }
1508
+ interface LocationAddress {
1509
+ /** 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */
1510
+ country?: string | null;
1511
+ /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. */
1512
+ subdivision?: string | null;
1513
+ /** City name. */
1514
+ city?: string | null;
1515
+ /** Postal or zip code. */
1516
+ postalCode?: string | null;
1517
+ /** Street address of the location. Includes street name, number, and apartment number in separate fields. */
1518
+ streetAddress?: StreetAddress;
1519
+ /** Full address of the location. */
1520
+ formatted?: string | null;
1521
+ /** Geographic coordinates of the location. */
1522
+ location?: AddressLocation;
1523
+ }
1524
+ /**
1525
+ * Time periods that this location is open for business. Includes a collection of TimePeriod instances.
1526
+ * Aligned with https://developers.google.com/my-business/reference/rest/v4/accounts.locations#businesshours
1527
+ * With a few minor adjustments
1528
+ */
1529
+ interface CommonBusinessSchedule {
1530
+ periods?: CommonTimePeriod[];
1531
+ /**
1532
+ * Time periods during which this location is open. Each period represents a range of hours during the week during which the location is
1533
+ * open.
1534
+ *
1535
+ * Max: 100 time periods
1536
+ */
1537
+ specialHourPeriod?: CommonSpecialHourPeriod[];
1538
+ }
1539
+ /**
1540
+ * A span of time that the business is open,
1541
+ * starting on the specified open day/time and closing on the specified close day/time.
1542
+ * Closing time must occur after the opening time, for example later in the same day, or on a subsequent day.
1543
+ */
1544
+ interface CommonTimePeriod {
1545
+ /** Day of the week this period starts on. */
1546
+ openDay?: CommonDayOfWeek;
1547
+ /**
1548
+ * Time this period starts in 24hr [ISO 8601](http://www.w3.org/TR/NOTE-datetime) extended format (hh:mm). Valid values are `00:00-24:00`, where `24:00` represents
1549
+ * midnight at the end of the specified day field.
1550
+ */
1551
+ openTime?: string;
1552
+ /** Day of the week this period ends on. */
1553
+ closeDay?: CommonDayOfWeek;
1554
+ /**
1555
+ * Time this period ends in 24hr [ISO 8601](http://www.w3.org/TR/NOTE-datetime) extended format (hh:mm). Valid values are `00:00-24:00`, where `24:00` represents
1556
+ * midnight at the end of the specified day field.
1557
+ *
1558
+ * This is the last time a reservation can be made at the restaurant, not the time the restaurant closes its doors.
1559
+ */
1560
+ closeTime?: string;
1561
+ }
1562
+ /** Enumerates the days of the week. */
1563
+ declare enum CommonDayOfWeek {
1564
+ MONDAY = "MONDAY",
1565
+ TUESDAY = "TUESDAY",
1566
+ WEDNESDAY = "WEDNESDAY",
1567
+ THURSDAY = "THURSDAY",
1568
+ FRIDAY = "FRIDAY",
1569
+ SATURDAY = "SATURDAY",
1570
+ SUNDAY = "SUNDAY"
1571
+ }
1572
+ /** Set of time periods when a location's operational hours differ from its normal business hours. */
1573
+ interface CommonSpecialHourPeriod {
1574
+ /** Start date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format. */
1575
+ startDate?: string;
1576
+ /** End date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format. */
1577
+ endDate?: string;
1578
+ /** Whether or not the location is closed during this period. */
1579
+ isClosed?: boolean;
1580
+ /** Additional details about the period. */
1581
+ comment?: string;
1582
+ }
1583
+ interface TableDefinition {
1584
+ /**
1585
+ * Table ID.
1586
+ * @readonly
1587
+ */
1588
+ _id?: string | null;
1589
+ /** Table name. */
1590
+ name?: string;
1591
+ /** Minimum number of seats. */
1592
+ seatsMin?: number;
1593
+ /** Maximum number of seats. */
1594
+ seatsMax?: number;
1595
+ /** Whether the table is active (available to be reserved). */
1596
+ isActive?: boolean | null;
1597
+ }
1598
+ interface TableCombination$1 {
1599
+ /**
1600
+ * Table combination ID.
1601
+ * @readonly
1602
+ */
1603
+ _id?: string | null;
1604
+ /** IDs of tables in the combination. */
1605
+ tableIds?: string[] | null;
1606
+ /** Minimum number of seats that can be reserved in this table combination. */
1607
+ seatsMin?: number;
1608
+ /** Maximum number of seats that can be reserved in this table combination. */
1609
+ seatsMax?: number;
1610
+ /** Whether the table combination is active (available to be reserved). */
1611
+ isActive?: boolean | null;
1612
+ }
1613
+ declare enum Unit {
1614
+ UNKNOWN = "UNKNOWN",
1615
+ MINUTES = "MINUTES",
1616
+ HOURS = "HOURS",
1617
+ DAYS = "DAYS"
1618
+ }
1619
+ /**
1620
+ * Seat pacing.
1621
+ * The maximum number of seats that can be filled by new reservations within a 15-minute period.
1622
+ * For example, setting a seat pacing of 15 would mean that between `10:00.000`-`10:14.999` there will be no more than 15 new seats available for reservation.
1623
+ */
1624
+ interface SeatPacing {
1625
+ /** Maximum number of seats that can be reserved every 15 minutes. */
1626
+ number?: number;
1627
+ /** Whether this option is enabled. */
1628
+ enabled?: boolean;
1629
+ }
1630
+ /**
1631
+ * Party pacing.
1632
+ * The maximum number of party reservations that can start within a 15-minute period.
1633
+ * For example, a party pacing of 5 would mean that no more than 5 parties could make a reservation for the period between `10:00.000`-`10:14.999`.
1634
+ */
1635
+ interface PartyPacing {
1636
+ /** Maximum number of new party reservations that can be made every 15 minutes. */
1637
+ number?: number;
1638
+ /** Whether this option is enabled. */
1639
+ enabled?: boolean;
1640
+ }
1641
+ /** The party size limits for a single reservation. */
1642
+ interface PartiesSize {
1643
+ /** Minimum number of seats a party can reserve. */
1644
+ min?: number;
1645
+ /** Maximum number of seats a party can reserve. */
1646
+ max?: number;
1647
+ }
1648
+ /** The party size limits for a single reservation. */
1649
+ interface PartySize {
1650
+ /** Minimum number of seats a party can reserve. */
1651
+ min?: number;
1652
+ /** Maximum number of seats a party can reserve. */
1653
+ max?: number;
1654
+ }
1655
+ /**
1656
+ * Reservation notice period.
1657
+ *
1658
+ * The period of time between making a reservation and that reservation's start time. Reservations cannot be made after the start of this period.
1659
+ */
1660
+ interface NoticePeriod {
1661
+ /** The quantity of the chosen time unit. */
1662
+ number?: number;
1663
+ /**
1664
+ * Time unit.
1665
+ *
1666
+ * Supported values:
1667
+ * 'UNKNOWN', 'MINUTES, 'HOURS', 'DAYS'.
1668
+ */
1669
+ unit?: Unit;
1670
+ }
1671
+ /** Turnover time rule. A turnover time is defined per party size range. */
1672
+ interface TurnoverTimeRule {
1673
+ /** Minimum number of seats to qualify for this rule. */
1674
+ seatsMin?: number;
1675
+ /** Maximum number of seats to qualify for this rule. */
1676
+ seatsMax?: number;
1677
+ /** Turnover time in minutes for qualifying parties. */
1678
+ minutes?: number;
1679
+ }
1680
+ /** Turnover rule. A turnover time is defined per party size range. */
1681
+ interface TurnoverRule {
1682
+ /** Minimum number of seats to qualify for this rule. */
1683
+ minSeats?: number;
1684
+ /** Maximum number of seats to qualify for this rule. */
1685
+ maxSeats?: number;
1686
+ /** Turnover time in minutes for qualifying parties. */
1687
+ minutes?: number;
1688
+ }
1689
+ /** Manual approval settings. */
1690
+ interface ManualApproval extends ManualApprovalValueOneOf {
1691
+ /** The minimum party size that requires manual approval. */
1692
+ partySizeThreshold?: number;
1693
+ /** Custom approvals provider id. */
1694
+ customApprovalsProviderId?: string;
1695
+ /** Whether manual approval is required for online reservations. */
1696
+ enabled?: boolean;
1697
+ }
1698
+ /** @oneof */
1699
+ interface ManualApprovalValueOneOf {
1700
+ /** The minimum party size that requires manual approval. */
1701
+ partySizeThreshold?: number;
1702
+ /** Custom approvals provider id. */
1703
+ customApprovalsProviderId?: string;
1704
+ }
1705
+ /** Type of the field. */
1706
+ declare enum FieldType {
1707
+ UNKNOWN = "UNKNOWN",
1708
+ TABLE = "TABLE",
1709
+ START_DATE = "START_DATE",
1710
+ END_DATE = "END_DATE",
1711
+ CREATED_DATE = "CREATED_DATE",
1712
+ UPDATED_DATE = "UPDATED_DATE",
1713
+ PARTY_SIZE = "PARTY_SIZE",
1714
+ FIRST_NAME = "FIRST_NAME",
1715
+ LAST_NAME = "LAST_NAME",
1716
+ EMAIL = "EMAIL",
1717
+ PHONE = "PHONE",
1718
+ ADDITIONAL_INFO = "ADDITIONAL_INFO",
1719
+ TEAM_MESSAGE = "TEAM_MESSAGE",
1720
+ CUSTOM_FIELD = "CUSTOM_FIELD",
1721
+ STATUS = "STATUS"
1722
+ }
1723
+ /** Terms and conditions. */
1724
+ interface TermsAndConditions extends TermsAndConditionsValueOneOf {
1725
+ /** Terms and conditions URL. */
1726
+ url?: string;
1727
+ /** Terms and conditions text. */
1728
+ text?: string | null;
1729
+ /**
1730
+ * Whether the terms and conditions are shown to the customer.
1731
+ *
1732
+ * Default: `false`
1733
+ */
1734
+ enabled?: boolean;
1735
+ }
1736
+ /** @oneof */
1737
+ interface TermsAndConditionsValueOneOf {
1738
+ /** Terms and conditions URL. */
1739
+ url?: string;
1740
+ /** Terms and conditions text. */
1741
+ text?: string | null;
1742
+ }
1743
+ /** Privacy policy. */
1744
+ interface PrivacyPolicy extends PrivacyPolicyValueOneOf {
1745
+ /** Privacy policy URL. */
1746
+ url?: string;
1747
+ /** Privacy policy text. */
1748
+ text?: string | null;
1749
+ /**
1750
+ * Whether the privacy policy is shown to the customer.
1751
+ *
1752
+ * Default: `false`
1753
+ */
1754
+ enabled?: boolean;
1755
+ }
1756
+ /** @oneof */
1757
+ interface PrivacyPolicyValueOneOf {
1758
+ /** Privacy policy URL. */
1759
+ url?: string;
1760
+ /** Privacy policy text. */
1761
+ text?: string | null;
1762
+ }
1763
+ /** Custom field definition. Definitions of the fields that are added to the reservation form. */
1764
+ interface CustomFieldDefinition {
1765
+ /**
1766
+ * Custom field ID.
1767
+ * @readonly
1768
+ */
1769
+ _id?: string | null;
1770
+ /** Custom field name. */
1771
+ name?: string;
1772
+ /**
1773
+ * Whether the custom field is required.
1774
+ *
1775
+ * Default: `false`
1776
+ */
1777
+ required?: boolean;
1778
+ }
1779
+ /** Email marketing checkbox. */
1780
+ interface EmailMarketingCheckbox {
1781
+ /**
1782
+ * Whether the checkbox is shown to the customer.
1783
+ *
1784
+ * Default: `false`
1785
+ */
1786
+ enabled?: boolean;
1787
+ /**
1788
+ * Whether the checkbox is checked by default.
1789
+ *
1790
+ * Default: `false`
1791
+ */
1792
+ checkedByDefault?: boolean;
1793
+ }
1794
+ interface OnlineReservations {
1795
+ /**
1796
+ * Seat pacing settings.
1797
+ *
1798
+ * The maximum number of seats that can be filled by new reservations within a 15-minute period.
1799
+ * For example, setting a seat pacing of 15 would mean that between `10:00.000`-`10:14.999` there will be no more than 15 new seats available for reservation.
1800
+ */
1801
+ seatPacing?: SeatPacing;
1802
+ /**
1803
+ * Party pacing settings.
1804
+ *
1805
+ * The maximum number of party reservations that can start within a 15-minute period.
1806
+ * For example, a party pacing of 5 would mean that no more than 5 parties could make a reservation for the period between `10:00.000`-`10:14.999`.
1807
+ */
1808
+ partyPacing?: PartyPacing;
1809
+ /** Party size limits for a reservation. */
1810
+ partySize?: PartySize;
1811
+ /**
1812
+ * Minimum reservation notice.
1813
+ *
1814
+ * The minimum amount of time that must be allowed between making a reservation and that reservation's start time.
1815
+ */
1816
+ minimumReservationNotice?: NoticePeriod;
1817
+ /**
1818
+ * Default turnover time in minutes.
1819
+ *
1820
+ * Turnover time is how much time a party is allotted for their entire reservation - from being seated to leaving the restaurant.
1821
+ */
1822
+ defaultTurnoverTime?: number | null;
1823
+ /**
1824
+ * Custom turnover time rules.
1825
+ *
1826
+ * This allows you to set different turnover times for different party sizes.
1827
+ */
1828
+ turnoverTimeRules?: TurnoverTimeRule[];
1829
+ /**
1830
+ * The location's business schedule.
1831
+ *
1832
+ * By default, the business schedule of a reservation location uses the values of its location's business schedule. However, after the first time a reservation location's business schedule has been modified, it stores and uses its own values and no longer mirrors its location's business schedule.
1833
+ * Limited to 100 time periods.
1834
+ */
1835
+ businessSchedule?: CommonBusinessSchedule;
1836
+ /** Whether a phone number is shown. */
1837
+ showPhoneNumber?: boolean | null;
1838
+ /** Whether online reservations are enabled. */
1839
+ onlineReservationsEnabled?: boolean | null;
1840
+ /** Manual approval settings. */
1841
+ manualApproval?: ManualApproval;
1842
+ }
1843
+ /** Reservation form settings. */
1844
+ interface ReservationForm {
1845
+ /** A message shown to the customer in the registration form. */
1846
+ submitMessage?: string | null;
1847
+ /** Whether to show policies (the terms and conditions, and the privacy policy) to the customer. */
1848
+ policiesEnabled?: boolean | null;
1849
+ /** Settings for displaying the terms and conditions. */
1850
+ termsAndConditions?: TermsAndConditions;
1851
+ /** Settings for displaying the privacy policy. */
1852
+ privacyPolicy?: PrivacyPolicy;
1853
+ /** Custom fields you wish to add to the registration form for the customer to fill in. */
1854
+ customFieldDefinitions?: CustomFieldDefinition[];
1855
+ /**
1856
+ * Whether a last_name is required in the reservation form.
1857
+ *
1858
+ * Default: `false`
1859
+ */
1860
+ lastNameRequired?: boolean | null;
1861
+ /**
1862
+ * Whether an email is required in the reservation form.
1863
+ *
1864
+ * Default: `false`
1865
+ */
1866
+ emailRequired?: boolean | null;
1867
+ /** Email marketing checkbox settings. */
1868
+ emailMarketingCheckbox?: EmailMarketingCheckbox;
1869
+ }
1870
+ /** My reservations field definition. */
1871
+ interface MyReservationsField {
1872
+ /** Field type. */
1873
+ fieldType?: FieldType;
1874
+ /**
1875
+ * Custom field ID.
1876
+ *
1877
+ * This should only be provided if the `fieldType` is `CUSTOM_FIELD`, in which case it is required and must match the ID of a custom field in the `customFieldDefinitions` array of the `reservationForm`.
1878
+ * @readonly
1879
+ */
1880
+ customFieldId?: string | null;
1881
+ /** Whether the field is shown. */
1882
+ shown?: boolean;
1883
+ }
1884
+ interface TableManagement {
1885
+ /** Table definitions. */
1886
+ tableDefinitions?: TableDefinition[];
1887
+ /** Deleted table definitions. */
1888
+ deletedTableDefinitions?: TableDefinition[];
1889
+ /** Table combinations. */
1890
+ tableCombinations?: TableCombination$1[];
1891
+ }
1892
+ /** Reservation payment. */
1893
+ interface ReservationPayment {
1894
+ /** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99) */
1895
+ value?: string;
1896
+ /** Minimum party size for payment policy application. */
1897
+ minPartySize?: number;
1898
+ }
1899
+ interface Location {
1900
+ /**
1901
+ * Location ID.
1902
+ * @readonly
1903
+ */
1904
+ _id?: string | null;
1905
+ }
1906
+ interface Configuration {
1907
+ /** Settings for this location that are used to determine restaurant availability for reservations made online. */
1908
+ onlineReservations?: OnlineReservations;
1909
+ /** Reservation form settings. */
1910
+ reservationForm?: ReservationForm;
1911
+ /**
1912
+ * "My reservations" field details.
1913
+ *
1914
+ * These are the fields that appear in the "My reservations" section of the Table Reservations page on the restaurant's Wix site dashboard.
1915
+ */
1916
+ myReservationsFields?: MyReservationsField[];
1917
+ /** Table management settings. */
1918
+ tableManagement?: TableManagement;
1919
+ }
1920
+ interface InvalidateCache extends InvalidateCacheGetByOneOf {
1921
+ /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */
1922
+ metaSiteId?: string;
1923
+ /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */
1924
+ siteId?: string;
1925
+ /** Invalidate by App */
1926
+ app?: App;
1927
+ /** Invalidate by page id */
1928
+ page?: Page;
1929
+ /** Invalidate by URI path */
1930
+ uri?: URI;
1931
+ /** Invalidate by file (for media files such as PDFs) */
1932
+ file?: File;
1933
+ /** tell us why you're invalidating the cache. You don't need to add your app name */
1934
+ reason?: string | null;
1935
+ /** Is local DS */
1936
+ localDc?: boolean;
1937
+ }
1938
+ /** @oneof */
1939
+ interface InvalidateCacheGetByOneOf {
1940
+ /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */
1941
+ metaSiteId?: string;
1942
+ /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */
1943
+ siteId?: string;
1944
+ /** Invalidate by App */
1945
+ app?: App;
1946
+ /** Invalidate by page id */
1947
+ page?: Page;
1948
+ /** Invalidate by URI path */
1949
+ uri?: URI;
1950
+ /** Invalidate by file (for media files such as PDFs) */
1951
+ file?: File;
1952
+ }
1953
+ interface App {
1954
+ /** The AppDefId */
1955
+ appDefId?: string;
1956
+ /** The instance Id */
1957
+ instanceId?: string;
1958
+ }
1959
+ interface Page {
1960
+ /** the msid the page is on */
1961
+ metaSiteId?: string;
1962
+ /** Invalidate by Page ID */
1963
+ pageId?: string;
1964
+ }
1965
+ interface URI {
1966
+ /** the msid the URI is on */
1967
+ metaSiteId?: string;
1968
+ /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */
1969
+ uriPath?: string;
1970
+ }
1971
+ interface File {
1972
+ /** the msid the file is related to */
1973
+ metaSiteId?: string;
1974
+ /** Invalidate by filename (for media files such as PDFs) */
1975
+ fileName?: string;
1976
+ }
1977
+ interface GetReservationLocationRequest {
1978
+ /** ID of the ReservationLocation to retrieve. */
1979
+ reservationLocationId: string;
1980
+ /**
1981
+ * Array of named, predefined sets of projected fields to be returned.
1982
+ *
1983
+ * - `PUBLIC`: Returns `id`, `archived`, `location`, `default`, `configuration.onlineReservations.partiesSize`, `configuration.onlineReservations.minimumReservationNotice`, `configuration.onlineReservations.businessSchedule`,
1984
+ * `configuration.onlineReservations.showPhoneNumber`, `configuration.onlineReservations.onlineReservationsEnabled`, `configuration.onlineReservations.manualApproval`, `configuration.reservationForm.submitMessage`,
1985
+ * `configuration.reservationForm.policiesEnabled`, `configuration.reservationForm.termsAndConditions`, `configuration.reservationForm.privacyPolicy`,
1986
+ * `configuration.reservationForm.customFieldDefinitions`, `configuration.reservationForm.lastNameRequired`, `configuration.reservationForm.emailRequired`, `configuration.reservationForm.emailMarketingCheckbox`.
1987
+ * - `FULL`: Returns all fields.
1988
+ *
1989
+ * Default: `PUBLIC`.
1990
+ */
1991
+ fieldsets?: Set[];
1992
+ }
1993
+ declare enum Set {
1994
+ PUBLIC = "PUBLIC",
1995
+ FULL = "FULL"
1996
+ }
1997
+ interface GetReservationLocationResponse {
1998
+ /** The retrieved reservation location. */
1999
+ reservationLocation?: ReservationLocation;
2000
+ }
2001
+ interface UpdateReservationLocationRequest {
2002
+ /** ReservationLocation to be updated, may be partial. */
2003
+ reservationLocation: ReservationLocation;
2004
+ }
2005
+ interface UpdateReservationLocationResponse {
2006
+ /** The updated reservation location. */
2007
+ reservationLocation?: ReservationLocation;
2008
+ }
2009
+ interface TablesDeleted {
2010
+ /** ID of the affected reservation location. */
2011
+ reservationLocationId?: string;
2012
+ /** IDs of deleted tables. */
2013
+ tableIds?: string[];
2014
+ }
2015
+ interface QueryReservationLocationsRequest {
2016
+ /** Query options. */
2017
+ query: QueryV2;
2018
+ /**
2019
+ * Array of named, predefined sets of projected fields to be returned.
2020
+ *
2021
+ * - `PUBLIC`: Returns `id`, `archived`, `location`, `default`, `configuration.onlineReservations.partiesSize`, `configuration.onlineReservations.minimumReservationNotice`, `configuration.onlineReservations.businessSchedule`,
2022
+ * `configuration.onlineReservations.showPhoneNumber`, `configuration.onlineReservations.onlineReservationsEnabled`, `configuration.onlineReservations.manualApproval`, `configuration.reservationForm.submitMessage`,
2023
+ * `configuration.reservationForm.policiesEnabled`, `configuration.reservationForm.termsAndConditions`, `configuration.reservationForm.privacyPolicy`,
2024
+ * `configuration.reservationForm.customFieldDefinitions`, `configuration.reservationForm.lastNameRequired`, `configuration.reservationForm.emailRequired`, `configuration.reservationForm.emailMarketingCheckbox`.
2025
+ * - `FULL`: Returns all fields.
2026
+ *
2027
+ * Default: `PUBLIC`.
2028
+ */
2029
+ fieldsets?: Set[];
2030
+ }
2031
+ interface QueryV2 extends QueryV2PagingMethodOneOf {
2032
+ /** Paging options to limit and skip the number of items. */
2033
+ paging?: Paging;
2034
+ /** 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`. */
2035
+ cursorPaging?: CursorPaging;
2036
+ /**
2037
+ * Filter object in the following format:
2038
+ * `"filter" : {
2039
+ * "fieldName1": "value1",
2040
+ * "fieldName2":{"$operator":"value2"}
2041
+ * }`
2042
+ *
2043
+ * 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.
2044
+ * To learn how to query reservations, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).
2045
+ */
2046
+ filter?: Record<string, any> | null;
2047
+ /**
2048
+ * Sort object in the following format:
2049
+ * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`
2050
+ */
2051
+ sort?: Sorting[];
2052
+ }
2053
+ /** @oneof */
2054
+ interface QueryV2PagingMethodOneOf {
2055
+ /** Paging options to limit and skip the number of items. */
2056
+ paging?: Paging;
2057
+ /** 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`. */
2058
+ cursorPaging?: CursorPaging;
2059
+ }
2060
+ interface Sorting {
2061
+ /** Name of the field to sort by. */
2062
+ fieldName?: string;
2063
+ /**
2064
+ * Sort order.
2065
+ *
2066
+ * Use `ASC` for ascending order or `DESC` for descending order. Defaults to `ASC`.
2067
+ */
2068
+ order?: SortOrder;
2069
+ }
2070
+ declare enum SortOrder {
2071
+ ASC = "ASC",
2072
+ DESC = "DESC"
2073
+ }
2074
+ interface Paging {
2075
+ /** Number of items to load. */
2076
+ limit?: number | null;
2077
+ /** Number of items to skip in the current sort order. */
2078
+ offset?: number | null;
2079
+ }
2080
+ interface CursorPaging {
2081
+ /** Number of items to load. */
2082
+ limit?: number | null;
2083
+ /**
2084
+ * Pointer to the next or previous page in the list of results.
2085
+ *
2086
+ * You can get the relevant cursor token
2087
+ * from the `pagingMetadata` object in the previous call's response.
2088
+ * Not relevant for the first request.
2089
+ */
2090
+ cursor?: string | null;
2091
+ }
2092
+ interface QueryReservationLocationsResponse {
2093
+ /** List of reservation locations */
2094
+ reservationLocations?: ReservationLocation[];
2095
+ /** Metadata for the paginated results. */
2096
+ pagingMetadata?: PagingMetadataV2;
2097
+ }
2098
+ interface PagingMetadataV2 {
2099
+ /** Offset that was requested. */
2100
+ offset?: number | null;
2101
+ /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */
2102
+ cursors?: Cursors;
2103
+ }
2104
+ interface Cursors {
2105
+ /** Cursor pointing to next page in the list of results. */
2106
+ next?: string | null;
2107
+ /** Cursor pointing to previous page in the list of results. */
2108
+ prev?: string | null;
2109
+ }
2110
+ interface ListReservationLocationsRequest {
2111
+ /** 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`. */
2112
+ paging?: CursorPaging;
2113
+ /** Sorting for the locations list. */
2114
+ sort?: Sorting;
2115
+ /**
2116
+ * Array of named, predefined sets of projected fields to be returned.
2117
+ *
2118
+ * - `PUBLIC`: Returns `id`, `archived`, `location`, `default`, `configuration.onlineReservations.partiesSize`, `configuration.onlineReservations.minimumReservationNotice`, `configuration.onlineReservations.businessSchedule`,
2119
+ * `configuration.onlineReservations.showPhoneNumber`, `configuration.onlineReservations.onlineReservationsEnabled`, `configuration.onlineReservations.manualApproval`, `configuration.reservationForm.submitMessage`,
2120
+ * `configuration.reservationForm.policiesEnabled`, `configuration.reservationForm.termsAndConditions`, `configuration.reservationForm.privacyPolicy`,
2121
+ * `configuration.reservationForm.customFieldDefinitions`, `configuration.reservationForm.lastNameRequired`, `configuration.reservationForm.emailRequired`, `configuration.reservationForm.emailMarketingCheckbox`.
2122
+ * - `FULL`: Returns all fields.
2123
+ *
2124
+ * Default: `PUBLIC`.
2125
+ */
2126
+ fieldsets?: Set[];
2127
+ }
2128
+ interface ListReservationLocationsResponse {
2129
+ /** Locations list. */
2130
+ reservationLocations?: ReservationLocation[];
2131
+ /** Metadata for the paginated results. */
2132
+ pagingMetadata?: CursorPagingMetadata;
2133
+ }
2134
+ interface CursorPagingMetadata {
2135
+ /** Number of items returned in the response. */
2136
+ count?: number | null;
2137
+ /** Offset that was requested. */
2138
+ cursors?: Cursors;
2139
+ /**
2140
+ * Indicates if there are more results after the current page.
2141
+ * If `true`, another page of results can be retrieved.
2142
+ * If `false`, this is the last page.
2143
+ */
2144
+ hasNext?: boolean | null;
2145
+ }
2146
+ interface DeleteOrphanReservationLocationRequest {
2147
+ /** Id of the ReservationLocation. */
2148
+ reservationLocationId?: string;
2149
+ }
2150
+ interface DeleteOrphanReservationLocationResponse {
2151
+ }
2152
+ interface MigrateOldRestaurantSettingsRequest {
2153
+ /** Mode. */
2154
+ mode?: Mode;
2155
+ /** Override not default. */
2156
+ overrideNotDefault?: boolean;
2157
+ }
2158
+ declare enum Mode {
2159
+ /** DRY RUN. */
2160
+ UNDEFINED = "UNDEFINED",
2161
+ DRY_RUN = "DRY_RUN",
2162
+ MIGRATE = "MIGRATE",
2163
+ FORCE_MIGRATE = "FORCE_MIGRATE"
2164
+ }
2165
+ interface MigrateOldRestaurantSettingsResponse {
2166
+ /** Migration results. */
2167
+ migrationResults?: MigrationResult[];
2168
+ }
2169
+ interface ParsedSettings {
2170
+ futureDelayMins?: number | null;
2171
+ partySizeMin?: number | null;
2172
+ partySizeMax?: number | null;
2173
+ weeklySchedule?: OldScheduleInterval[];
2174
+ customFields?: OldCustomField[];
2175
+ privacyPolicy?: OldPolicy;
2176
+ termsAndConditions?: OldTerms;
2177
+ scheduleExceptions?: OldScheduleException[];
2178
+ available?: boolean | null;
2179
+ locale?: string | null;
2180
+ }
2181
+ interface OldScheduleInterval {
2182
+ durationMins?: number;
2183
+ minuteOfWeek?: number;
2184
+ }
2185
+ interface OldCustomField {
2186
+ label?: string;
2187
+ required?: boolean;
2188
+ }
2189
+ interface OldPolicy {
2190
+ value?: string;
2191
+ isPlainText?: boolean;
2192
+ }
2193
+ interface OldTerms {
2194
+ value?: string;
2195
+ isPlainText?: boolean;
2196
+ }
2197
+ interface OldScheduleException {
2198
+ available?: boolean;
2199
+ comment?: string | null;
2200
+ start?: OldInstant;
2201
+ end?: OldInstant;
2202
+ }
2203
+ interface OldInstant {
2204
+ year?: number;
2205
+ month?: number;
2206
+ day?: number;
2207
+ hour?: number;
2208
+ minute?: number;
2209
+ }
2210
+ interface MigrationParsingError {
2211
+ /** Field. */
2212
+ path?: string;
2213
+ /** Message. */
2214
+ message?: string;
2215
+ /** Target. */
2216
+ target?: Record<string, any> | null;
2217
+ }
2218
+ interface MigrationResult {
2219
+ /** The migrated ReservationLocation. */
2220
+ reservationLocation?: ReservationLocation;
2221
+ /** Old settings. */
2222
+ oldSettings?: Record<string, any> | null;
2223
+ /** Parsed settings. */
2224
+ parsedSettings?: ParsedSettings;
2225
+ /** Migration parsing errors. */
2226
+ migrationParsingErrors?: MigrationParsingError[];
2227
+ }
2228
+ interface CheckReservationLocationsCreatedRequest {
2229
+ }
2230
+ interface CheckReservationLocationsCreatedResponse {
2231
+ /** Reservation locations created. */
2232
+ created?: boolean;
2233
+ }
2234
+ interface DomainEvent extends DomainEventBodyOneOf {
2235
+ createdEvent?: EntityCreatedEvent;
2236
+ updatedEvent?: EntityUpdatedEvent;
2237
+ deletedEvent?: EntityDeletedEvent;
2238
+ actionEvent?: ActionEvent;
2239
+ /**
2240
+ * Unique event ID.
2241
+ * Allows clients to ignore duplicate webhooks.
2242
+ */
2243
+ _id?: string;
2244
+ /**
2245
+ * Assumes actions are also always typed to an entity_type
2246
+ * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction
2247
+ */
2248
+ entityFqdn?: string;
2249
+ /**
2250
+ * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)
2251
+ * This is although the created/updated/deleted notion is duplication of the oneof types
2252
+ * Example: created/updated/deleted/started/completed/email_opened
2253
+ */
2254
+ slug?: string;
2255
+ /** ID of the entity associated with the event. */
2256
+ entityId?: string;
2257
+ /** Event timestamp. */
2258
+ eventTime?: Date;
2259
+ /**
2260
+ * Whether the event was triggered as a result of a privacy regulation application
2261
+ * (for example, GDPR).
2262
+ */
2263
+ triggeredByAnonymizeRequest?: boolean | null;
2264
+ /** If present, indicates the action that triggered the event. */
2265
+ originatedFrom?: string | null;
2266
+ /**
2267
+ * A sequence number defining the order of updates to the underlying entity.
2268
+ * For example, given that some entity was updated at 16:00 and than again at 16:01,
2269
+ * it is guaranteed that the sequence number of the second update is strictly higher than the first.
2270
+ * As the consumer, you can use this value to ensure that you handle messages in the correct order.
2271
+ * To do so, you will need to persist this number on your end, and compare the sequence number from the
2272
+ * message against the one you have stored. Given that the stored number is higher, you should ignore the message.
2273
+ */
2274
+ entityEventSequence?: string | null;
2275
+ }
2276
+ /** @oneof */
2277
+ interface DomainEventBodyOneOf {
2278
+ createdEvent?: EntityCreatedEvent;
2279
+ updatedEvent?: EntityUpdatedEvent;
2280
+ deletedEvent?: EntityDeletedEvent;
2281
+ actionEvent?: ActionEvent;
2282
+ }
2283
+ interface EntityCreatedEvent {
2284
+ entity?: string;
2285
+ }
2286
+ interface EntityUpdatedEvent {
2287
+ /**
2288
+ * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
2289
+ * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
2290
+ * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
2291
+ */
2292
+ currentEntity?: string;
2293
+ }
2294
+ interface EntityDeletedEvent {
2295
+ /** Entity that was deleted */
2296
+ deletedEntity?: string | null;
2297
+ }
2298
+ interface ActionEvent {
2299
+ body?: string;
2300
+ }
2301
+ interface Empty {
2302
+ }
2303
+ interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {
2304
+ /** Emitted on a meta site creation. */
2305
+ siteCreated?: SiteCreated;
2306
+ /** Emitted on a meta site transfer completion. */
2307
+ siteTransferred?: SiteTransferred;
2308
+ /** Emitted on a meta site deletion. */
2309
+ siteDeleted?: SiteDeleted;
2310
+ /** Emitted on a meta site restoration. */
2311
+ siteUndeleted?: SiteUndeleted;
2312
+ /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */
2313
+ sitePublished?: SitePublished;
2314
+ /** Emitted on a meta site unpublish. */
2315
+ siteUnpublished?: SiteUnpublished;
2316
+ /** Emitted when meta site is marked as template. */
2317
+ siteMarkedAsTemplate?: SiteMarkedAsTemplate;
2318
+ /** Emitted when meta site is marked as a WixSite. */
2319
+ siteMarkedAsWixSite?: SiteMarkedAsWixSite;
2320
+ /** Emitted when an application is provisioned (installed). */
2321
+ serviceProvisioned?: ServiceProvisioned;
2322
+ /** Emitted when an application is removed (uninstalled). */
2323
+ serviceRemoved?: ServiceRemoved;
2324
+ /** Emitted when meta site name (URL slug) is changed. */
2325
+ siteRenamedPayload?: SiteRenamed;
2326
+ /** Emitted when meta site was permanently deleted. */
2327
+ hardDeleted?: SiteHardDeleted;
2328
+ /** Emitted on a namespace change. */
2329
+ namespaceChanged?: NamespaceChanged;
2330
+ /** Emitted when Studio is attached. */
2331
+ studioAssigned?: StudioAssigned;
2332
+ /** Emitted when Studio is detached. */
2333
+ studioUnassigned?: StudioUnassigned;
2334
+ /** A meta site id. */
2335
+ metaSiteId?: string;
2336
+ /** A meta site version. Monotonically increasing. */
2337
+ version?: string;
2338
+ /** A timestamp of the event. */
2339
+ timestamp?: string;
2340
+ /** A list of "assets" (applications). The same as MetaSiteContext. */
2341
+ assets?: Asset[];
2342
+ }
2343
+ /** @oneof */
2344
+ interface MetaSiteSpecialEventPayloadOneOf {
2345
+ /** Emitted on a meta site creation. */
2346
+ siteCreated?: SiteCreated;
2347
+ /** Emitted on a meta site transfer completion. */
2348
+ siteTransferred?: SiteTransferred;
2349
+ /** Emitted on a meta site deletion. */
2350
+ siteDeleted?: SiteDeleted;
2351
+ /** Emitted on a meta site restoration. */
2352
+ siteUndeleted?: SiteUndeleted;
2353
+ /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */
2354
+ sitePublished?: SitePublished;
2355
+ /** Emitted on a meta site unpublish. */
2356
+ siteUnpublished?: SiteUnpublished;
2357
+ /** Emitted when meta site is marked as template. */
2358
+ siteMarkedAsTemplate?: SiteMarkedAsTemplate;
2359
+ /** Emitted when meta site is marked as a WixSite. */
2360
+ siteMarkedAsWixSite?: SiteMarkedAsWixSite;
2361
+ /** Emitted when an application is provisioned (installed). */
2362
+ serviceProvisioned?: ServiceProvisioned;
2363
+ /** Emitted when an application is removed (uninstalled). */
2364
+ serviceRemoved?: ServiceRemoved;
2365
+ /** Emitted when meta site name (URL slug) is changed. */
2366
+ siteRenamedPayload?: SiteRenamed;
2367
+ /** Emitted when meta site was permanently deleted. */
2368
+ hardDeleted?: SiteHardDeleted;
2369
+ /** Emitted on a namespace change. */
2370
+ namespaceChanged?: NamespaceChanged;
2371
+ /** Emitted when Studio is attached. */
2372
+ studioAssigned?: StudioAssigned;
2373
+ /** Emitted when Studio is detached. */
2374
+ studioUnassigned?: StudioUnassigned;
2375
+ }
2376
+ interface Asset {
2377
+ /** An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum). */
2378
+ appDefId?: string;
2379
+ /** An instance id. For legacy reasons may be UUID or a string. */
2380
+ instanceId?: string;
2381
+ /** An application state. */
2382
+ state?: State;
2383
+ }
2384
+ declare enum State {
2385
+ UNKNOWN = "UNKNOWN",
2386
+ ENABLED = "ENABLED",
2387
+ DISABLED = "DISABLED",
2388
+ PENDING = "PENDING",
2389
+ DEMO = "DEMO"
2390
+ }
2391
+ interface SiteCreated {
2392
+ /** A template identifier (empty if not created from a template). */
2393
+ originTemplateId?: string;
2394
+ /** An account id of the owner. */
2395
+ ownerId?: string;
2396
+ /** A context in which meta site was created. */
2397
+ context?: SiteCreatedContext;
2398
+ /**
2399
+ * A meta site id from which this site was created.
2400
+ *
2401
+ * In case of a creation from a template it's a template id.
2402
+ * In case of a site duplication ("Save As" in dashboard or duplicate in UM) it's an id of a source site.
2403
+ */
2404
+ originMetaSiteId?: string | null;
2405
+ /** A meta site name (URL slug). */
2406
+ siteName?: string;
2407
+ /** A namespace. */
2408
+ namespace?: Namespace;
2409
+ }
2410
+ declare enum SiteCreatedContext {
2411
+ /** A valid option, we don't expose all reasons why site might be created. */
2412
+ OTHER = "OTHER",
2413
+ /** A meta site was created from template. */
2414
+ FROM_TEMPLATE = "FROM_TEMPLATE",
2415
+ /** A meta site was created by copying of the transfferred meta site. */
2416
+ DUPLICATE_BY_SITE_TRANSFER = "DUPLICATE_BY_SITE_TRANSFER",
2417
+ /** A copy of existing meta site. */
2418
+ DUPLICATE = "DUPLICATE",
2419
+ /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */
2420
+ OLD_SITE_TRANSFER = "OLD_SITE_TRANSFER",
2421
+ /** deprecated A meta site was created for Flash editor. */
2422
+ FLASH = "FLASH"
2423
+ }
2424
+ declare enum Namespace {
2425
+ UNKNOWN_NAMESPACE = "UNKNOWN_NAMESPACE",
2426
+ /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */
2427
+ WIX = "WIX",
2428
+ /** 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. */
2429
+ SHOUT_OUT = "SHOUT_OUT",
2430
+ /** 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. */
2431
+ ALBUMS = "ALBUMS",
2432
+ /** 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. */
2433
+ WIX_STORES_TEST_DRIVE = "WIX_STORES_TEST_DRIVE",
2434
+ /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */
2435
+ HOTELS = "HOTELS",
2436
+ /** 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. */
2437
+ CLUBS = "CLUBS",
2438
+ /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */
2439
+ ONBOARDING_DRAFT = "ONBOARDING_DRAFT",
2440
+ /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */
2441
+ DEV_SITE = "DEV_SITE",
2442
+ /** 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. */
2443
+ LOGOS = "LOGOS",
2444
+ /** 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. */
2445
+ VIDEO_MAKER = "VIDEO_MAKER",
2446
+ /** MetaSites with this namespace will *not* be shown in a user's site list by default. */
2447
+ PARTNER_DASHBOARD = "PARTNER_DASHBOARD",
2448
+ /** MetaSites with this namespace will *not* be shown in a user's site list by default. */
2449
+ DEV_CENTER_COMPANY = "DEV_CENTER_COMPANY",
2450
+ /**
2451
+ * A draft created by HTML editor on open. Upon "first save" it will be moved to be of WIX domain.
2452
+ *
2453
+ * Meta site with this namespace will *not* be shown in a user's site list by default.
2454
+ */
2455
+ HTML_DRAFT = "HTML_DRAFT",
2456
+ /**
2457
+ * the user-journey for Fitness users who want to start from managing their business instead of designing their website.
2458
+ * Will be accessible from Site List and will not have a website app.
2459
+ * Once the user attaches a site, the site will become a regular wixsite.
2460
+ */
2461
+ SITELESS_BUSINESS = "SITELESS_BUSINESS",
2462
+ /** Belongs to "strategic products" company. Supports new product in the creator's economy space. */
2463
+ CREATOR_ECONOMY = "CREATOR_ECONOMY",
2464
+ /** It is to be used in the Business First efforts. */
2465
+ DASHBOARD_FIRST = "DASHBOARD_FIRST",
2466
+ /** Bookings business flow with no site. */
2467
+ ANYWHERE = "ANYWHERE",
2468
+ /** Namespace for Headless Backoffice with no editor */
2469
+ HEADLESS = "HEADLESS",
2470
+ /**
2471
+ * Namespace for master site that will exist in parent account that will be referenced by subaccounts
2472
+ * The site will be used for account level CSM feature for enterprise
2473
+ */
2474
+ ACCOUNT_MASTER_CMS = "ACCOUNT_MASTER_CMS",
2475
+ /** Rise.ai Siteless account management for Gift Cards and Store Credit. */
2476
+ RISE = "RISE",
2477
+ /**
2478
+ * As part of the branded app new funnel, users now can create a meta site that will be branded app first.
2479
+ * There's a blank site behind the scene but it's blank).
2480
+ * The Mobile company will be the owner of this namespace.
2481
+ */
2482
+ BRANDED_FIRST = "BRANDED_FIRST"
2483
+ }
2484
+ /** Site transferred to another user. */
2485
+ interface SiteTransferred {
2486
+ /** A previous owner id (user that transfers meta site). */
2487
+ oldOwnerId?: string;
2488
+ /** A new owner id (user that accepts meta site). */
2489
+ newOwnerId?: string;
2490
+ }
2491
+ /** Soft deletion of the meta site. Could be restored. */
2492
+ interface SiteDeleted {
2493
+ /** A deletion context. */
2494
+ deleteContext?: DeleteContext;
2495
+ }
2496
+ interface DeleteContext {
2497
+ /** When the meta site was deleted. */
2498
+ dateDeleted?: Date;
2499
+ /** A status. */
2500
+ deleteStatus?: DeleteStatus;
2501
+ /** A reason (flow). */
2502
+ deleteOrigin?: string;
2503
+ /** A service that deleted it. */
2504
+ initiatorId?: string | null;
2505
+ }
2506
+ declare enum DeleteStatus {
2507
+ UNKNOWN = "UNKNOWN",
2508
+ TRASH = "TRASH",
2509
+ DELETED = "DELETED",
2510
+ PENDING_PURGE = "PENDING_PURGE"
2511
+ }
2512
+ /** Restoration of the meta site. */
2513
+ interface SiteUndeleted {
2514
+ }
2515
+ /** First publish of a meta site. Or subsequent publish after unpublish. */
2516
+ interface SitePublished {
2517
+ }
2518
+ interface SiteUnpublished {
2519
+ /** A list of URLs previously associated with the meta site. */
2520
+ urls?: string[];
2521
+ }
2522
+ interface SiteMarkedAsTemplate {
2523
+ }
2524
+ interface SiteMarkedAsWixSite {
2525
+ }
2526
+ interface ServiceProvisioned {
2527
+ /** Either UUID or EmbeddedServiceType. */
2528
+ appDefId?: string;
2529
+ /** Not only UUID. Something here could be something weird. */
2530
+ instanceId?: string;
2531
+ /** An instance id from which this instance is originated. */
2532
+ originInstanceId?: string;
2533
+ /** A version. */
2534
+ version?: string | null;
2535
+ }
2536
+ interface ServiceRemoved {
2537
+ /** Either UUID or EmbeddedServiceType. */
2538
+ appDefId?: string;
2539
+ /** Not only UUID. Something here could be something weird. */
2540
+ instanceId?: string;
2541
+ /** A version. */
2542
+ version?: string | null;
2543
+ }
2544
+ /** Rename of the site. Meaning, free public url has been changed as well. */
2545
+ interface SiteRenamed {
2546
+ /** A new meta site name (URL slug). */
2547
+ newSiteName?: string;
2548
+ /** A previous meta site name (URL slug). */
2549
+ oldSiteName?: string;
2550
+ }
2551
+ /**
2552
+ * Hard deletion of the meta site.
2553
+ *
2554
+ * Could not be restored. Therefore it's desirable to cleanup data.
2555
+ */
2556
+ interface SiteHardDeleted {
2557
+ /** A deletion context. */
2558
+ deleteContext?: DeleteContext;
2559
+ }
2560
+ interface NamespaceChanged {
2561
+ /** A previous namespace. */
2562
+ oldNamespace?: Namespace;
2563
+ /** A new namespace. */
2564
+ newNamespace?: Namespace;
2565
+ }
2566
+ /** Assigned Studio editor */
2567
+ interface StudioAssigned {
2568
+ }
2569
+ /** Unassigned Studio editor */
2570
+ interface StudioUnassigned {
2571
+ }
2572
+ /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */
2573
+ interface SitePropertiesNotification {
2574
+ /** The site ID for which this update notification applies. */
2575
+ metasiteId?: string;
2576
+ /** The actual update event. */
2577
+ event?: SitePropertiesEvent;
2578
+ /** A convenience set of mappings from the MetaSite ID to its constituent services. */
2579
+ translations?: Translation[];
2580
+ /** Context of the notification */
2581
+ changeContext?: ChangeContext;
2582
+ }
2583
+ /** The actual update event for a particular notification. */
2584
+ interface SitePropertiesEvent {
2585
+ /** Version of the site's properties represented by this update. */
2586
+ version?: number;
2587
+ /** Updated properties. */
2588
+ properties?: Properties;
2589
+ }
2590
+ interface Properties {
2591
+ /** Site categories. */
2592
+ categories?: Categories;
2593
+ /** Site locale. */
2594
+ locale?: Locale;
2595
+ /**
2596
+ * Site language.
2597
+ *
2598
+ * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.
2599
+ */
2600
+ language?: string | null;
2601
+ /**
2602
+ * Site currency format used to bill customers.
2603
+ *
2604
+ * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.
2605
+ */
2606
+ paymentCurrency?: string | null;
2607
+ /** Timezone in `America/New_York` format. */
2608
+ timeZone?: string | null;
2609
+ /** Email address. */
2610
+ email?: string | null;
2611
+ /** Phone number. */
2612
+ phone?: string | null;
2613
+ /** Fax number. */
2614
+ fax?: string | null;
2615
+ /** Address. */
2616
+ address?: Address;
2617
+ /** Site display name. */
2618
+ siteDisplayName?: string | null;
2619
+ /** Business name. */
2620
+ businessName?: string | null;
2621
+ /** Path to the site's logo in Wix Media (without Wix Media base URL). */
2622
+ logo?: string | null;
2623
+ /** Site description. */
2624
+ description?: string | null;
2625
+ /**
2626
+ * Business schedule. Regular and exceptional time periods when the business is open or the service is available.
2627
+ *
2628
+ * __Note:__ Not supported by Wix Bookings.
2629
+ */
2630
+ businessSchedule?: BusinessSchedule;
2631
+ /** Supported languages of a site and the primary language. */
2632
+ multilingual?: Multilingual;
2633
+ /** Cookie policy the site owner defined for their site (before the users interacts with/limits it). */
2634
+ consentPolicy?: ConsentPolicy;
2635
+ /**
2636
+ * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.
2637
+ *
2638
+ * Site business type.
2639
+ */
2640
+ businessConfig?: string | null;
2641
+ /** External site url that uses Wix as its headless business solution */
2642
+ externalSiteUrl?: string | null;
2643
+ /** Track clicks analytics */
2644
+ trackClicksAnalytics?: boolean;
2645
+ }
2646
+ interface Categories {
2647
+ /** Primary site category. */
2648
+ primary?: string;
2649
+ /** Secondary site category. */
2650
+ secondary?: string[];
2651
+ /** Business Term Id */
2652
+ businessTermId?: string | null;
2653
+ }
2654
+ interface Locale {
2655
+ /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */
2656
+ languageCode?: string;
2657
+ /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */
2658
+ country?: string;
2659
+ }
2660
+ interface Address {
2661
+ /** Street name. */
2662
+ street?: string;
2663
+ /** City name. */
2664
+ city?: string;
2665
+ /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */
2666
+ country?: string;
2667
+ /** State. */
2668
+ state?: string;
2669
+ /** Zip or postal code. */
2670
+ zip?: string;
2671
+ /** Extra information to be displayed in the address. */
2672
+ hint?: AddressHint;
2673
+ /** Whether this address represents a physical location. */
2674
+ isPhysical?: boolean;
2675
+ /** Google-formatted version of this address. */
2676
+ googleFormattedAddress?: string;
2677
+ /** Street number. */
2678
+ streetNumber?: string;
2679
+ /** Apartment number. */
2680
+ apartmentNumber?: string;
2681
+ /** Geographic coordinates of location. */
2682
+ coordinates?: GeoCoordinates;
2683
+ }
2684
+ /**
2685
+ * Extra information on displayed addresses.
2686
+ * This is used for display purposes. Used to add additional data about the address, such as "In the passage".
2687
+ * Free text. In addition the user can state where he wants that additional description - before, after, or instead
2688
+ * the address string.
2689
+ */
2690
+ interface AddressHint {
2691
+ /** Extra text displayed next to, or instead of, the actual address. */
2692
+ text?: string;
2693
+ /** Where the extra text should be displayed. */
2694
+ placement?: PlacementType;
2695
+ }
2696
+ /** Where the extra text should be displayed: before, after or instead of the actual address. */
2697
+ declare enum PlacementType {
2698
+ BEFORE = "BEFORE",
2699
+ AFTER = "AFTER",
2700
+ REPLACE = "REPLACE"
2701
+ }
2702
+ /** Geocoordinates for a particular address. */
2703
+ interface GeoCoordinates {
2704
+ /** Latitude of the location. Must be between -90 and 90. */
2705
+ latitude?: number;
2706
+ /** Longitude of the location. Must be between -180 and 180. */
2707
+ longitude?: number;
2708
+ }
2709
+ /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */
2710
+ interface BusinessSchedule {
2711
+ /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */
2712
+ periods?: TimePeriod[];
2713
+ /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */
2714
+ specialHourPeriod?: SpecialHourPeriod[];
2715
+ }
2716
+ /** Weekly recurring time periods when the business is regularly open or the service is available. */
2717
+ interface TimePeriod {
2718
+ /** Day of the week the period starts on. */
2719
+ openDay?: DayOfWeek;
2720
+ /**
2721
+ * 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
2722
+ * midnight at the end of the specified day.
2723
+ */
2724
+ openTime?: string;
2725
+ /** Day of the week the period ends on. */
2726
+ closeDay?: DayOfWeek;
2727
+ /**
2728
+ * 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
2729
+ * midnight at the end of the specified day.
2730
+ *
2731
+ * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.
2732
+ */
2733
+ closeTime?: string;
2734
+ }
2735
+ /** Enumerates the days of the week. */
2736
+ declare enum DayOfWeek {
2737
+ MONDAY = "MONDAY",
2738
+ TUESDAY = "TUESDAY",
2739
+ WEDNESDAY = "WEDNESDAY",
2740
+ THURSDAY = "THURSDAY",
2741
+ FRIDAY = "FRIDAY",
2742
+ SATURDAY = "SATURDAY",
2743
+ SUNDAY = "SUNDAY"
2744
+ }
2745
+ /** Exception to the business's regular hours. The business can be open or closed during the exception. */
2746
+ interface SpecialHourPeriod {
2747
+ /** 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). */
2748
+ startDate?: string;
2749
+ /** 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). */
2750
+ endDate?: string;
2751
+ /**
2752
+ * Whether the business is closed (or the service is not available) during the exception.
2753
+ *
2754
+ * Default: `true`.
2755
+ */
2756
+ isClosed?: boolean;
2757
+ /** Additional info about the exception. For example, "We close earlier on New Year's Eve." */
2758
+ comment?: string;
2759
+ }
2760
+ interface Multilingual {
2761
+ /** Supported languages list. */
2762
+ supportedLanguages?: SupportedLanguage[];
2763
+ /** Whether to redirect to user language. */
2764
+ autoRedirect?: boolean;
2765
+ }
2766
+ interface SupportedLanguage {
2767
+ /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */
2768
+ languageCode?: string;
2769
+ /** Locale. */
2770
+ locale?: Locale;
2771
+ /** Whether the supported language is the primary language for the site. */
2772
+ isPrimary?: boolean;
2773
+ /** Language icon. */
2774
+ countryCode?: string;
2775
+ /** How the language will be resolved. For internal use. */
2776
+ resolutionMethod?: ResolutionMethod;
2777
+ }
2778
+ declare enum ResolutionMethod {
2779
+ QUERY_PARAM = "QUERY_PARAM",
2780
+ SUBDOMAIN = "SUBDOMAIN",
2781
+ SUBDIRECTORY = "SUBDIRECTORY"
2782
+ }
2783
+ interface ConsentPolicy {
2784
+ /** Whether the site uses cookies that are essential to site operation. */
2785
+ essential?: boolean | null;
2786
+ /** Whether the site uses cookies that affect site performance and other functional measurements. */
2787
+ functional?: boolean | null;
2788
+ /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */
2789
+ analytics?: boolean | null;
2790
+ /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */
2791
+ advertising?: boolean | null;
2792
+ /** CCPA compliance flag. */
2793
+ dataToThirdParty?: boolean | null;
2794
+ }
2795
+ /** A single mapping from the MetaSite ID to a particular service. */
2796
+ interface Translation {
2797
+ /** The service type. */
2798
+ serviceType?: string;
2799
+ /** The application definition ID; this only applies to services of type ThirdPartyApps. */
2800
+ appDefId?: string;
2801
+ /** The instance ID of the service. */
2802
+ instanceId?: string;
2803
+ }
2804
+ interface ChangeContext extends ChangeContextPayloadOneOf {
2805
+ /** Properties were updated. */
2806
+ propertiesChange?: PropertiesChange;
2807
+ /** Default properties were created on site creation. */
2808
+ siteCreated?: V4SiteCreated;
2809
+ /** Properties were cloned on site cloning. */
2810
+ siteCloned?: SiteCloned;
2811
+ }
2812
+ /** @oneof */
2813
+ interface ChangeContextPayloadOneOf {
2814
+ /** Properties were updated. */
2815
+ propertiesChange?: PropertiesChange;
2816
+ /** Default properties were created on site creation. */
2817
+ siteCreated?: V4SiteCreated;
2818
+ /** Properties were cloned on site cloning. */
2819
+ siteCloned?: SiteCloned;
2820
+ }
2821
+ interface PropertiesChange {
2822
+ }
2823
+ interface V4SiteCreated {
2824
+ /** Origin template site id. */
2825
+ originTemplateId?: string | null;
2826
+ }
2827
+ interface SiteCloned {
2828
+ /** Origin site id. */
2829
+ originMetaSiteId?: string;
2830
+ }
2831
+ interface FeatureEvent extends FeatureEventEventOneOf {
2832
+ /**
2833
+ * Information about an event that makes a feature eligible to the user.
2834
+ * Triggered for example, for new features or when a feature is reassigned
2835
+ * to an account or a site.
2836
+ */
2837
+ enabled?: FeatureEnabled;
2838
+ /**
2839
+ * Information about an event that disables a feature for the user.
2840
+ * Triggered for example, when a feature is unassigned from a site,
2841
+ * reassigned to a different site, or the user switched to a different contract.
2842
+ */
2843
+ disabled?: FeatureDisabled;
2844
+ /**
2845
+ * Information about an event that updates a feature. An `updated` event
2846
+ * is triggered for example by the
2847
+ * [Report Quota Usage](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/report-quota-usage)
2848
+ * and [Reset Usage Counter](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/reset-usage-counter)
2849
+ * endpoints.
2850
+ */
2851
+ updated?: FeatureUpdated;
2852
+ /**
2853
+ * Information about an event that cancels a feature for the user.
2854
+ * Triggered for example, when a feature is canceled, transferred to
2855
+ * another account, or the user switched to a different contract.
2856
+ */
2857
+ cancelled?: FeatureCancelled;
2858
+ /**
2859
+ * Timestamp of the event in
2860
+ * [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).
2861
+ */
2862
+ timestamp?: Date;
2863
+ }
2864
+ /** @oneof */
2865
+ interface FeatureEventEventOneOf {
2866
+ /**
2867
+ * Information about an event that makes a feature eligible to the user.
2868
+ * Triggered for example, for new features or when a feature is reassigned
2869
+ * to an account or a site.
2870
+ */
2871
+ enabled?: FeatureEnabled;
2872
+ /**
2873
+ * Information about an event that disables a feature for the user.
2874
+ * Triggered for example, when a feature is unassigned from a site,
2875
+ * reassigned to a different site, or the user switched to a different contract.
2876
+ */
2877
+ disabled?: FeatureDisabled;
2878
+ /**
2879
+ * Information about an event that updates a feature. An `updated` event
2880
+ * is triggered for example by the
2881
+ * [Report Quota Usage](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/report-quota-usage)
2882
+ * and [Reset Usage Counter](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/reset-usage-counter)
2883
+ * endpoints.
2884
+ */
2885
+ updated?: FeatureUpdated;
2886
+ /**
2887
+ * Information about an event that cancels a feature for the user.
2888
+ * Triggered for example, when a feature is canceled, transferred to
2889
+ * another account, or the user switched to a different contract.
2890
+ */
2891
+ cancelled?: FeatureCancelled;
2892
+ }
2893
+ /** Feature created or enabled after disabled state */
2894
+ interface FeatureEnabled extends FeatureEnabledReasonOneOf {
2895
+ /** Information about a transfer from another account. */
2896
+ transferredFromAnotherAccount?: TransferredFromAnotherAccountReason;
2897
+ /** Information about a transfer from another site. */
2898
+ reassignedFromSite?: ReassignedFromSiteReason;
2899
+ /** Information about a feature that hadn't been assigned to site. */
2900
+ assignedFromFloating?: AssignedFromFloatingReason;
2901
+ /** Information about the new feature. */
2902
+ newFeature?: NewFeatureReason;
2903
+ /** Information about the contract switch. */
2904
+ contractSwitched?: ContractSwitchedReason;
2905
+ /** Information about the manually created features. */
2906
+ manualFeatureCreation?: ManualFeatureCreationReason;
2907
+ /** Information about a feature that was migrated from legacy. */
2908
+ migratedFromLegacy?: MigratedFromLegacyReason;
2909
+ /** Enabled feature. */
2910
+ feature?: Feature;
2911
+ /**
2912
+ * Information about a transfer from another account.
2913
+ * __Deprecated__. Use `reason.transferred_from_another_account` instead.
2914
+ */
2915
+ transferredFromAccount?: string | null;
2916
+ /**
2917
+ * Information about a transfer from another site.
2918
+ * __Deprecated__. Use `reason.reassigned_from_site` instead.
2919
+ */
2920
+ reassignedFromMetasite?: string | null;
2921
+ }
2922
+ /** @oneof */
2923
+ interface FeatureEnabledReasonOneOf {
2924
+ /** Information about a transfer from another account. */
2925
+ transferredFromAnotherAccount?: TransferredFromAnotherAccountReason;
2926
+ /** Information about a transfer from another site. */
2927
+ reassignedFromSite?: ReassignedFromSiteReason;
2928
+ /** Information about a feature that hadn't been assigned to site. */
2929
+ assignedFromFloating?: AssignedFromFloatingReason;
2930
+ /** Information about the new feature. */
2931
+ newFeature?: NewFeatureReason;
2932
+ /** Information about the contract switch. */
2933
+ contractSwitched?: ContractSwitchedReason;
2934
+ /** Information about the manually created features. */
2935
+ manualFeatureCreation?: ManualFeatureCreationReason;
2936
+ /** Information about a feature that was migrated from legacy. */
2937
+ migratedFromLegacy?: MigratedFromLegacyReason;
2938
+ }
2939
+ interface Feature extends FeatureQuantityInfoOneOf {
2940
+ /**
2941
+ * Deprecated. Use `enabled` instead.
2942
+ * @deprecated
2943
+ */
2944
+ booleanFeature?: BooleanFeature;
2945
+ /**
2946
+ * Deprecated. Use `quotaInfo` instead.
2947
+ * @deprecated
2948
+ */
2949
+ quotaFeature?: QuotaFeature;
2950
+ /**
2951
+ * ID of the feature. __Note:__ Isn't unique. For example, all features that
2952
+ * are available to free Wix accounts or site in some capacity have
2953
+ * `{"id": "DEFAULT"}`. Use `uniqueName` as unique identifier for a feature.
2954
+ * @readonly
2955
+ */
2956
+ _id?: string;
2957
+ /**
2958
+ * Unique name of the feature. Only lower case letters, numbers, and dashes
2959
+ * `-` are supported. Used in the endpoints of the
2960
+ * [Features Manager API](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/introduction)
2961
+ * to specify the feature. Not visible to customers. We recommend to start
2962
+ * the unique name with a prefix describing your organization or Wix company.
2963
+ * For example, `bookings` or `crm`.
2964
+ *
2965
+ * Min: 2 characters
2966
+ * Max: 50 characters
2967
+ */
2968
+ uniqueName?: string;
2969
+ /**
2970
+ * Information about whether the feature belongs to a Wix account or site.
2971
+ * Account features have `context.userId`. Site features have `context.metaSiteId` in case
2972
+ * they're assigned to a specific site. Site features that aren't assigned to
2973
+ * a specific site have neither ID.
2974
+ */
2975
+ context?: FeatureContext;
2976
+ /**
2977
+ * Deprecated.
2978
+ * @readonly
2979
+ * @deprecated
2980
+ */
2981
+ createdAt?: Date;
2982
+ /**
2983
+ * Deprecated.
2984
+ * @readonly
2985
+ * @deprecated
2986
+ */
2987
+ updatedAt?: Date;
2988
+ /**
2989
+ * Information about how often customers can use the feature during a specific
2990
+ * period. Available only for quota features.
2991
+ */
2992
+ quotaInfo?: QuotaInfo;
2993
+ /**
2994
+ * Whether the customer is currently allowed to use the feature.
2995
+ * `true` means that the customer can use the feature. This means a boolean
2996
+ * feature is active or a quota feature has remaining usage.
2997
+ * `false` means that the customer can't use the feature.
2998
+ * This means a boolean feature isn't active or a quota feature doesn't
2999
+ * have remaining usage.
3000
+ */
3001
+ enabled?: boolean;
3002
+ /**
3003
+ * ID of the [subscription](https://bo.wix.com/wix-docs/rest/premium/premium-subscriptions-manager/subscription-object)
3004
+ * to which the feature instance belongs.
3005
+ */
3006
+ subscriptionId?: string | null;
3007
+ /**
3008
+ * Metadata of the feature. Wix Premium uses the metadata object to indicate
3009
+ * that customers who purchase a product with the feature also get
3010
+ * access to an additional product. For these bundled products `metadata`
3011
+ * looks like this: `{"tpa": "{"appDefId": "sample-app-def-id-1234567890", "vendorProductId": "sample-productId"}}"`.
3012
+ * But you can use the `metadata` property for other purposes, too.
3013
+ */
3014
+ metadata?: Record<string, string>;
3015
+ }
3016
+ /** @oneof */
3017
+ interface FeatureQuantityInfoOneOf {
3018
+ /**
3019
+ * Deprecated. Use `enabled` instead.
3020
+ * @deprecated
3021
+ */
3022
+ booleanFeature?: BooleanFeature;
3023
+ /**
3024
+ * Deprecated. Use `quotaInfo` instead.
3025
+ * @deprecated
3026
+ */
3027
+ quotaFeature?: QuotaFeature;
3028
+ }
3029
+ /**
3030
+ * Context this feature is currently connected to.
3031
+ * Note: Do not confuse with feature scope which is configured in the product catalog
3032
+ * and defines in which context the product can be used
3033
+ */
3034
+ interface FeatureContext {
3035
+ /**
3036
+ * ID of the Wix account that the feature instance belongs to.
3037
+ * Available for both site and account level feature instances.
3038
+ */
3039
+ userId?: string;
3040
+ /**
3041
+ * ID of the meta site that the feature instance is assigned to.
3042
+ * Only available for site level feature instances that are assigned to a Wix
3043
+ * site. Not available for account level and unassigned site level feature
3044
+ * instances.
3045
+ */
3046
+ metaSiteId?: string | null;
3047
+ }
3048
+ /**
3049
+ * 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).
3050
+ * A boolean feature is similar to a quantitive feature with a default limit of 0 and UNLIMITED premium limit (although a bit simplified).
3051
+ */
3052
+ interface BooleanFeature {
3053
+ }
3054
+ /** 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. */
3055
+ interface QuotaFeature {
3056
+ /** Default (or Freemium) quota limitation. if left undefined the free feature has unlimited amount. */
3057
+ limit?: string | null;
3058
+ /** Periodic time-frame to reset the usage counter. You may use NO_PERIOD if counter shouldn't be reset. */
3059
+ period?: FeaturePeriod;
3060
+ /** Usage measurement units (seconds? MBs? unitless?). Usage reported will be counted in multiples of this basic unit. */
3061
+ units?: string | null;
3062
+ }
3063
+ /** Determines the reset cycle of the feature usage. */
3064
+ declare enum FeaturePeriod {
3065
+ NO_PERIOD = "NO_PERIOD",
3066
+ MILLISECOND = "MILLISECOND",
3067
+ SECOND = "SECOND",
3068
+ MINUTE = "MINUTE",
3069
+ HOUR = "HOUR",
3070
+ DAY = "DAY",
3071
+ WEEK = "WEEK",
3072
+ MONTH = "MONTH",
3073
+ YEAR = "YEAR"
3074
+ }
3075
+ interface QuotaInfo {
3076
+ /**
3077
+ * How often the customer is allowed to use the feature during the specified
3078
+ * period. `null` means that the customer has unlimited access to the feature.
3079
+ */
3080
+ limit?: string | null;
3081
+ /**
3082
+ * Time frame for the usage limitation. `NO_PERIOD` means that `remainingUsage`
3083
+ * isn't automatically reset to the feature's `limit` after a specific period.
3084
+ * You may still manually call
3085
+ * [Reset Usage Counter](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/reset-usage-counter).
3086
+ */
3087
+ period?: FeaturePeriod;
3088
+ /**
3089
+ * How often the customer has used the feature during the current
3090
+ * period.
3091
+ */
3092
+ currentUsage?: string;
3093
+ /**
3094
+ * How often the customer can still use the feature during the current
3095
+ * period. `null` means that the customer has unlimited access to the feature.
3096
+ */
3097
+ remainingUsage?: string | null;
3098
+ }
3099
+ /** Subscription transferred from another account, features on the current account were enabled. */
3100
+ interface TransferredFromAnotherAccountReason {
3101
+ /** Information about a transfer from another account. */
3102
+ transferredFromAccount?: string;
3103
+ }
3104
+ /** Subscription moved from one site to another in the same account, features enabled on the target site */
3105
+ interface ReassignedFromSiteReason {
3106
+ /** Information about a transfer from another site. */
3107
+ reassignedFromMetasite?: string;
3108
+ }
3109
+ /** Subscription was floating and assigned to site, features enabled on the target site */
3110
+ interface AssignedFromFloatingReason {
3111
+ }
3112
+ /** New subscription created and features created as enabled */
3113
+ interface NewFeatureReason {
3114
+ }
3115
+ /** Subscription was upgraded or downgraded, as a result new features enabled, missing features disabled , quantities are updated */
3116
+ interface ContractSwitchedReason {
3117
+ }
3118
+ /** a call to CreateFeature in features-writer, creates feature that is not attached to subscription */
3119
+ interface ManualFeatureCreationReason {
3120
+ }
3121
+ /** Subscription created due to migration from old premium model */
3122
+ interface MigratedFromLegacyReason {
3123
+ }
3124
+ /** Feature disabled and can be enabled in the future */
3125
+ interface FeatureDisabled extends FeatureDisabledReasonOneOf {
3126
+ /** Information about a feature that's no longer assigned to a site. */
3127
+ unassingedToFloating?: UnAssingedToFloatingReason;
3128
+ /**
3129
+ * Information about a feature that's been replaced by a feature from a
3130
+ * different subscription.
3131
+ */
3132
+ replacedByAnotherSubscription?: ReplacedByAnotherSubscriptionReason;
3133
+ /**
3134
+ * Information about a feature that's been reassigned to a different
3135
+ * site.
3136
+ */
3137
+ reassignedToAnotherSite?: ReassignedToAnotherSiteReason;
3138
+ /**
3139
+ * Disabled feature. Includes information about the feature's new state,
3140
+ * possibly its new context.
3141
+ */
3142
+ feature?: Feature;
3143
+ /** ID of the meta site for which the feature has been disabled. */
3144
+ metaSiteId?: string | null;
3145
+ }
3146
+ /** @oneof */
3147
+ interface FeatureDisabledReasonOneOf {
3148
+ /** Information about a feature that's no longer assigned to a site. */
3149
+ unassingedToFloating?: UnAssingedToFloatingReason;
3150
+ /**
3151
+ * Information about a feature that's been replaced by a feature from a
3152
+ * different subscription.
3153
+ */
3154
+ replacedByAnotherSubscription?: ReplacedByAnotherSubscriptionReason;
3155
+ /**
3156
+ * Information about a feature that's been reassigned to a different
3157
+ * site.
3158
+ */
3159
+ reassignedToAnotherSite?: ReassignedToAnotherSiteReason;
3160
+ }
3161
+ /** Subscription was unassigned from the site and moved into floating state */
3162
+ interface UnAssingedToFloatingReason {
3163
+ }
3164
+ /** Another subscription was assigned to the site, causing existing features on this site to be disabled */
3165
+ interface ReplacedByAnotherSubscriptionReason {
3166
+ }
3167
+ /** Subscription was assigned to another site, causing features on the origin site to be disabled. */
3168
+ interface ReassignedToAnotherSiteReason {
3169
+ /** Information about a transfer to the site. */
3170
+ reassignedToMetasite?: string;
3171
+ }
3172
+ /** Feature updated, for example Quota was increased due to upgrade */
3173
+ interface FeatureUpdated extends FeatureUpdatedPreviousQuantityInfoOneOf, FeatureUpdatedReasonOneOf {
3174
+ /** Information about a feature that doesn't have a usage quota. */
3175
+ booleanFeature?: BooleanFeature;
3176
+ /** Information about a feature that has a usage quota. */
3177
+ quotaFeature?: QuotaFeature;
3178
+ /** Information about the contract switch. */
3179
+ contractSwitched?: ContractSwitchedReason;
3180
+ /**
3181
+ * Updated feature. Includes information about the feature's new state and
3182
+ * possibly its new context.
3183
+ */
3184
+ feature?: Feature;
3185
+ }
3186
+ /** @oneof */
3187
+ interface FeatureUpdatedPreviousQuantityInfoOneOf {
3188
+ /** Information about a feature that doesn't have a usage quota. */
3189
+ booleanFeature?: BooleanFeature;
3190
+ /** Information about a feature that has a usage quota. */
3191
+ quotaFeature?: QuotaFeature;
3192
+ }
3193
+ /** @oneof */
3194
+ interface FeatureUpdatedReasonOneOf {
3195
+ /** Information about the contract switch. */
3196
+ contractSwitched?: ContractSwitchedReason;
3197
+ }
3198
+ /** Feature was permanently cancelled */
3199
+ interface FeatureCancelled extends FeatureCancelledReasonOneOf {
3200
+ /** Information about a transfer to the account. */
3201
+ transferredToAnotherAccount?: TransferredToAnotherAccountReason;
3202
+ /** Information about the contract switch. */
3203
+ contractSwitched?: ContractSwitchedReason;
3204
+ /** Information about the feature cancellation. */
3205
+ cancelRequest?: CancelRequestedReason;
3206
+ /** Canceled feature. */
3207
+ feature?: Feature;
3208
+ /**
3209
+ * Information about a transfer to the account.
3210
+ * __Deprecated__. Use `reason.transferred_to_account` instead.
3211
+ */
3212
+ transferredToAccount?: string | null;
3213
+ }
3214
+ /** @oneof */
3215
+ interface FeatureCancelledReasonOneOf {
3216
+ /** Information about a transfer to the account. */
3217
+ transferredToAnotherAccount?: TransferredToAnotherAccountReason;
3218
+ /** Information about the contract switch. */
3219
+ contractSwitched?: ContractSwitchedReason;
3220
+ /** Information about the feature cancellation. */
3221
+ cancelRequest?: CancelRequestedReason;
3222
+ }
3223
+ /** Subscription was transferred to another account, features in the origin account were cancelled */
3224
+ interface TransferredToAnotherAccountReason {
3225
+ /** Information about a transfer to the account. */
3226
+ transferredToAccount?: string;
3227
+ }
3228
+ /** Cancellation was requested from the subscription manager api, might be a result of billing event, or direct call */
3229
+ interface CancelRequestedReason {
3230
+ }
3231
+ interface MessageEnvelope {
3232
+ /** App instance ID. */
3233
+ instanceId?: string | null;
3234
+ /** Event type. */
3235
+ eventType?: string;
3236
+ /** The identification type and identity data. */
3237
+ identity?: IdentificationData;
3238
+ /** Stringify payload. */
3239
+ data?: string;
3240
+ }
3241
+ interface IdentificationData extends IdentificationDataIdOneOf {
3242
+ /** ID of a site visitor that has not logged in to the site. */
3243
+ anonymousVisitorId?: string;
3244
+ /** ID of a site visitor that has logged in to the site. */
3245
+ memberId?: string;
3246
+ /** ID of a Wix user (site owner, contributor, etc.). */
3247
+ wixUserId?: string;
3248
+ /** ID of an app. */
3249
+ appId?: string;
3250
+ /** @readonly */
3251
+ identityType?: WebhookIdentityType;
3252
+ }
3253
+ /** @oneof */
3254
+ interface IdentificationDataIdOneOf {
3255
+ /** ID of a site visitor that has not logged in to the site. */
3256
+ anonymousVisitorId?: string;
3257
+ /** ID of a site visitor that has logged in to the site. */
3258
+ memberId?: string;
3259
+ /** ID of a Wix user (site owner, contributor, etc.). */
3260
+ wixUserId?: string;
3261
+ /** ID of an app. */
3262
+ appId?: string;
3263
+ }
3264
+ declare enum WebhookIdentityType {
3265
+ UNKNOWN = "UNKNOWN",
3266
+ ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
3267
+ MEMBER = "MEMBER",
3268
+ WIX_USER = "WIX_USER",
3269
+ APP = "APP"
3270
+ }
3271
+ interface GetReservationLocationResponseNonNullableFields {
3272
+ reservationLocation?: {
3273
+ configuration?: {
3274
+ onlineReservations?: {
3275
+ seatPacing?: {
3276
+ number: number;
3277
+ enabled: boolean;
3278
+ };
3279
+ partyPacing?: {
3280
+ number: number;
3281
+ enabled: boolean;
3282
+ };
3283
+ partySize?: {
3284
+ min: number;
3285
+ max: number;
3286
+ };
3287
+ minimumReservationNotice?: {
3288
+ number: number;
3289
+ unit: Unit;
3290
+ };
3291
+ turnoverTimeRules: {
3292
+ seatsMin: number;
3293
+ seatsMax: number;
3294
+ minutes: number;
3295
+ }[];
3296
+ businessSchedule?: {
3297
+ periods: {
3298
+ openDay: CommonDayOfWeek;
3299
+ openTime: string;
3300
+ closeDay: CommonDayOfWeek;
3301
+ closeTime: string;
3302
+ }[];
3303
+ specialHourPeriod: {
3304
+ startDate: string;
3305
+ endDate: string;
3306
+ isClosed: boolean;
3307
+ comment: string;
3308
+ }[];
3309
+ };
3310
+ manualApproval?: {
3311
+ partySizeThreshold: number;
3312
+ customApprovalsProviderId: string;
3313
+ enabled: boolean;
3314
+ };
3315
+ };
3316
+ reservationForm?: {
3317
+ termsAndConditions?: {
3318
+ url: string;
3319
+ enabled: boolean;
3320
+ };
3321
+ privacyPolicy?: {
3322
+ url: string;
3323
+ enabled: boolean;
3324
+ };
3325
+ customFieldDefinitions: {
3326
+ name: string;
3327
+ required: boolean;
3328
+ }[];
3329
+ emailMarketingCheckbox?: {
3330
+ enabled: boolean;
3331
+ checkedByDefault: boolean;
3332
+ };
3333
+ };
3334
+ myReservationsFields: {
3335
+ fieldType: FieldType;
3336
+ shown: boolean;
3337
+ }[];
3338
+ tableManagement?: {
3339
+ tableDefinitions: {
3340
+ name: string;
3341
+ seatsMin: number;
3342
+ seatsMax: number;
3343
+ }[];
3344
+ deletedTableDefinitions: {
3345
+ name: string;
3346
+ seatsMin: number;
3347
+ seatsMax: number;
3348
+ }[];
3349
+ tableCombinations: {
3350
+ seatsMin: number;
3351
+ seatsMax: number;
3352
+ }[];
3353
+ };
3354
+ };
3355
+ };
3356
+ }
3357
+ interface UpdateReservationLocationResponseNonNullableFields {
3358
+ reservationLocation?: {
3359
+ configuration?: {
3360
+ onlineReservations?: {
3361
+ seatPacing?: {
3362
+ number: number;
3363
+ enabled: boolean;
3364
+ };
3365
+ partyPacing?: {
3366
+ number: number;
3367
+ enabled: boolean;
3368
+ };
3369
+ partySize?: {
3370
+ min: number;
3371
+ max: number;
3372
+ };
3373
+ minimumReservationNotice?: {
3374
+ number: number;
3375
+ unit: Unit;
3376
+ };
3377
+ turnoverTimeRules: {
3378
+ seatsMin: number;
3379
+ seatsMax: number;
3380
+ minutes: number;
3381
+ }[];
3382
+ businessSchedule?: {
3383
+ periods: {
3384
+ openDay: CommonDayOfWeek;
3385
+ openTime: string;
3386
+ closeDay: CommonDayOfWeek;
3387
+ closeTime: string;
3388
+ }[];
3389
+ specialHourPeriod: {
3390
+ startDate: string;
3391
+ endDate: string;
3392
+ isClosed: boolean;
3393
+ comment: string;
3394
+ }[];
3395
+ };
3396
+ manualApproval?: {
3397
+ partySizeThreshold: number;
3398
+ customApprovalsProviderId: string;
3399
+ enabled: boolean;
3400
+ };
3401
+ };
3402
+ reservationForm?: {
3403
+ termsAndConditions?: {
3404
+ url: string;
3405
+ enabled: boolean;
3406
+ };
3407
+ privacyPolicy?: {
3408
+ url: string;
3409
+ enabled: boolean;
3410
+ };
3411
+ customFieldDefinitions: {
3412
+ name: string;
3413
+ required: boolean;
3414
+ }[];
3415
+ emailMarketingCheckbox?: {
3416
+ enabled: boolean;
3417
+ checkedByDefault: boolean;
3418
+ };
3419
+ };
3420
+ myReservationsFields: {
3421
+ fieldType: FieldType;
3422
+ shown: boolean;
3423
+ }[];
3424
+ tableManagement?: {
3425
+ tableDefinitions: {
3426
+ name: string;
3427
+ seatsMin: number;
3428
+ seatsMax: number;
3429
+ }[];
3430
+ deletedTableDefinitions: {
3431
+ name: string;
3432
+ seatsMin: number;
3433
+ seatsMax: number;
3434
+ }[];
3435
+ tableCombinations: {
3436
+ seatsMin: number;
3437
+ seatsMax: number;
3438
+ }[];
3439
+ };
3440
+ };
3441
+ };
3442
+ }
3443
+ interface QueryReservationLocationsResponseNonNullableFields {
3444
+ reservationLocations: {
3445
+ configuration?: {
3446
+ onlineReservations?: {
3447
+ seatPacing?: {
3448
+ number: number;
3449
+ enabled: boolean;
3450
+ };
3451
+ partyPacing?: {
3452
+ number: number;
3453
+ enabled: boolean;
3454
+ };
3455
+ partySize?: {
3456
+ min: number;
3457
+ max: number;
3458
+ };
3459
+ minimumReservationNotice?: {
3460
+ number: number;
3461
+ unit: Unit;
3462
+ };
3463
+ turnoverTimeRules: {
3464
+ seatsMin: number;
3465
+ seatsMax: number;
3466
+ minutes: number;
3467
+ }[];
3468
+ businessSchedule?: {
3469
+ periods: {
3470
+ openDay: CommonDayOfWeek;
3471
+ openTime: string;
3472
+ closeDay: CommonDayOfWeek;
3473
+ closeTime: string;
3474
+ }[];
3475
+ specialHourPeriod: {
3476
+ startDate: string;
3477
+ endDate: string;
3478
+ isClosed: boolean;
3479
+ comment: string;
3480
+ }[];
3481
+ };
3482
+ manualApproval?: {
3483
+ partySizeThreshold: number;
3484
+ customApprovalsProviderId: string;
3485
+ enabled: boolean;
3486
+ };
3487
+ };
3488
+ reservationForm?: {
3489
+ termsAndConditions?: {
3490
+ url: string;
3491
+ enabled: boolean;
3492
+ };
3493
+ privacyPolicy?: {
3494
+ url: string;
3495
+ enabled: boolean;
3496
+ };
3497
+ customFieldDefinitions: {
3498
+ name: string;
3499
+ required: boolean;
3500
+ }[];
3501
+ emailMarketingCheckbox?: {
3502
+ enabled: boolean;
3503
+ checkedByDefault: boolean;
3504
+ };
3505
+ };
3506
+ myReservationsFields: {
3507
+ fieldType: FieldType;
3508
+ shown: boolean;
3509
+ }[];
3510
+ tableManagement?: {
3511
+ tableDefinitions: {
3512
+ name: string;
3513
+ seatsMin: number;
3514
+ seatsMax: number;
3515
+ }[];
3516
+ deletedTableDefinitions: {
3517
+ name: string;
3518
+ seatsMin: number;
3519
+ seatsMax: number;
3520
+ }[];
3521
+ tableCombinations: {
3522
+ seatsMin: number;
3523
+ seatsMax: number;
3524
+ }[];
3525
+ };
3526
+ };
3527
+ }[];
3528
+ }
3529
+ interface ListReservationLocationsResponseNonNullableFields {
3530
+ reservationLocations: {
3531
+ configuration?: {
3532
+ onlineReservations?: {
3533
+ seatPacing?: {
3534
+ number: number;
3535
+ enabled: boolean;
3536
+ };
3537
+ partyPacing?: {
3538
+ number: number;
3539
+ enabled: boolean;
3540
+ };
3541
+ partySize?: {
3542
+ min: number;
3543
+ max: number;
3544
+ };
3545
+ minimumReservationNotice?: {
3546
+ number: number;
3547
+ unit: Unit;
3548
+ };
3549
+ turnoverTimeRules: {
3550
+ seatsMin: number;
3551
+ seatsMax: number;
3552
+ minutes: number;
3553
+ }[];
3554
+ businessSchedule?: {
3555
+ periods: {
3556
+ openDay: CommonDayOfWeek;
3557
+ openTime: string;
3558
+ closeDay: CommonDayOfWeek;
3559
+ closeTime: string;
3560
+ }[];
3561
+ specialHourPeriod: {
3562
+ startDate: string;
3563
+ endDate: string;
3564
+ isClosed: boolean;
3565
+ comment: string;
3566
+ }[];
3567
+ };
3568
+ manualApproval?: {
3569
+ partySizeThreshold: number;
3570
+ customApprovalsProviderId: string;
3571
+ enabled: boolean;
3572
+ };
3573
+ };
3574
+ reservationForm?: {
3575
+ termsAndConditions?: {
3576
+ url: string;
3577
+ enabled: boolean;
3578
+ };
3579
+ privacyPolicy?: {
3580
+ url: string;
3581
+ enabled: boolean;
3582
+ };
3583
+ customFieldDefinitions: {
3584
+ name: string;
3585
+ required: boolean;
3586
+ }[];
3587
+ emailMarketingCheckbox?: {
3588
+ enabled: boolean;
3589
+ checkedByDefault: boolean;
3590
+ };
3591
+ };
3592
+ myReservationsFields: {
3593
+ fieldType: FieldType;
3594
+ shown: boolean;
3595
+ }[];
3596
+ tableManagement?: {
3597
+ tableDefinitions: {
3598
+ name: string;
3599
+ seatsMin: number;
3600
+ seatsMax: number;
3601
+ }[];
3602
+ deletedTableDefinitions: {
3603
+ name: string;
3604
+ seatsMin: number;
3605
+ seatsMax: number;
3606
+ }[];
3607
+ tableCombinations: {
3608
+ seatsMin: number;
3609
+ seatsMax: number;
3610
+ }[];
3611
+ };
3612
+ };
3613
+ }[];
3614
+ }
3615
+ interface BaseEventMetadata {
3616
+ /** App instance ID. */
3617
+ instanceId?: string | null;
3618
+ /** Event type. */
3619
+ eventType?: string;
3620
+ /** The identification type and identity data. */
3621
+ identity?: IdentificationData;
3622
+ }
3623
+ interface EventMetadata extends BaseEventMetadata {
3624
+ /**
3625
+ * Unique event ID.
3626
+ * Allows clients to ignore duplicate webhooks.
3627
+ */
3628
+ _id?: string;
3629
+ /**
3630
+ * Assumes actions are also always typed to an entity_type
3631
+ * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction
3632
+ */
3633
+ entityFqdn?: string;
3634
+ /**
3635
+ * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)
3636
+ * This is although the created/updated/deleted notion is duplication of the oneof types
3637
+ * Example: created/updated/deleted/started/completed/email_opened
3638
+ */
3639
+ slug?: string;
3640
+ /** ID of the entity associated with the event. */
3641
+ entityId?: string;
3642
+ /** Event timestamp. */
3643
+ eventTime?: Date;
3644
+ /**
3645
+ * Whether the event was triggered as a result of a privacy regulation application
3646
+ * (for example, GDPR).
3647
+ */
3648
+ triggeredByAnonymizeRequest?: boolean | null;
3649
+ /** If present, indicates the action that triggered the event. */
3650
+ originatedFrom?: string | null;
3651
+ /**
3652
+ * A sequence number defining the order of updates to the underlying entity.
3653
+ * For example, given that some entity was updated at 16:00 and than again at 16:01,
3654
+ * it is guaranteed that the sequence number of the second update is strictly higher than the first.
3655
+ * As the consumer, you can use this value to ensure that you handle messages in the correct order.
3656
+ * To do so, you will need to persist this number on your end, and compare the sequence number from the
3657
+ * message against the one you have stored. Given that the stored number is higher, you should ignore the message.
3658
+ */
3659
+ entityEventSequence?: string | null;
3660
+ }
3661
+ interface ReservationLocationUpdatedEnvelope {
3662
+ entity: ReservationLocation;
3663
+ metadata: EventMetadata;
3664
+ }
3665
+ interface ReservationLocationCreatedEnvelope {
3666
+ entity: ReservationLocation;
3667
+ metadata: EventMetadata;
3668
+ }
3669
+ interface GetReservationLocationOptions {
3670
+ /**
3671
+ * Array of named, predefined sets of projected fields to be returned.
3672
+ *
3673
+ * - `PUBLIC`: Returns `id`, `archived`, `location`, `default`, `configuration.onlineReservations.partiesSize`, `configuration.onlineReservations.minimumReservationNotice`, `configuration.onlineReservations.businessSchedule`,
3674
+ * `configuration.onlineReservations.showPhoneNumber`, `configuration.onlineReservations.onlineReservationsEnabled`, `configuration.onlineReservations.manualApproval`, `configuration.reservationForm.submitMessage`,
3675
+ * `configuration.reservationForm.policiesEnabled`, `configuration.reservationForm.termsAndConditions`, `configuration.reservationForm.privacyPolicy`,
3676
+ * `configuration.reservationForm.customFieldDefinitions`, `configuration.reservationForm.lastNameRequired`, `configuration.reservationForm.emailRequired`, `configuration.reservationForm.emailMarketingCheckbox`.
3677
+ * - `FULL`: Returns all fields.
3678
+ *
3679
+ * Default: `PUBLIC`.
3680
+ */
3681
+ fieldsets?: Set[];
3682
+ }
3683
+ interface UpdateReservationLocation {
3684
+ /**
3685
+ * Reservation location ID.
3686
+ * @readonly
3687
+ */
3688
+ _id?: string | null;
3689
+ /** Represents the current state of a reservation location. Each time the reservation location is modified, its `revision` changes. For an update operation to succeed, you must pass the latest revision. */
3690
+ revision?: string | null;
3691
+ /**
3692
+ * The date and time this reservation location was created.
3693
+ * @readonly
3694
+ */
3695
+ _createdDate?: Date;
3696
+ /**
3697
+ * The date and time this reservation location was last updated.
3698
+ * @readonly
3699
+ */
3700
+ _updatedDate?: Date;
3701
+ /**
3702
+ * Physical location details.
3703
+ *
3704
+ * Locations can be created and configured using the [Locations API](https://dev.wix.com/docs/rest/api-reference/business-info/locations/introduction)
3705
+ * or on the [Business Info](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fsettings/business-info) page in the Dashboard.
3706
+ * @readonly
3707
+ */
3708
+ location?: Location;
3709
+ /** Reservation location configuration. */
3710
+ configuration?: Configuration;
3711
+ /**
3712
+ * Whether this reservation location's `location` is the default location of the business.
3713
+ * @readonly
3714
+ */
3715
+ default?: boolean | null;
3716
+ /**
3717
+ * Whether this reservation location's `location` is archived.
3718
+ * @readonly
3719
+ */
3720
+ archived?: boolean | null;
3721
+ }
3722
+ interface QueryReservationLocationsOptions {
3723
+ /**
3724
+ * Array of named, predefined sets of projected fields to be returned.
3725
+ *
3726
+ * - `PUBLIC`: Returns `id`, `archived`, `location`, `default`, `configuration.onlineReservations.partiesSize`, `configuration.onlineReservations.minimumReservationNotice`, `configuration.onlineReservations.businessSchedule`,
3727
+ * `configuration.onlineReservations.showPhoneNumber`, `configuration.onlineReservations.onlineReservationsEnabled`, `configuration.onlineReservations.manualApproval`, `configuration.reservationForm.submitMessage`,
3728
+ * `configuration.reservationForm.policiesEnabled`, `configuration.reservationForm.termsAndConditions`, `configuration.reservationForm.privacyPolicy`,
3729
+ * `configuration.reservationForm.customFieldDefinitions`, `configuration.reservationForm.lastNameRequired`, `configuration.reservationForm.emailRequired`, `configuration.reservationForm.emailMarketingCheckbox`.
3730
+ * - `FULL`: Returns all fields.
3731
+ *
3732
+ * Default: `PUBLIC`.
3733
+ */
3734
+ fieldsets?: Set[] | undefined;
3735
+ }
3736
+ interface QueryCursorResult {
3737
+ cursors: Cursors;
3738
+ hasNext: () => boolean;
3739
+ hasPrev: () => boolean;
3740
+ length: number;
3741
+ pageSize: number;
3742
+ }
3743
+ interface ReservationLocationsQueryResult extends QueryCursorResult {
3744
+ items: ReservationLocation[];
3745
+ query: ReservationLocationsQueryBuilder;
3746
+ next: () => Promise<ReservationLocationsQueryResult>;
3747
+ prev: () => Promise<ReservationLocationsQueryResult>;
3748
+ }
3749
+ interface ReservationLocationsQueryBuilder {
3750
+ /** @param propertyName - Property whose value is compared with `value`.
3751
+ * @param value - Value to compare against.
3752
+ * @documentationMaturity preview
3753
+ */
3754
+ eq: (propertyName: '_id', value: any) => ReservationLocationsQueryBuilder;
3755
+ /** @param propertyName - Property whose value is compared with `value`.
3756
+ * @param value - Value to compare against.
3757
+ * @documentationMaturity preview
3758
+ */
3759
+ ne: (propertyName: '_id', value: any) => ReservationLocationsQueryBuilder;
3760
+ /** @documentationMaturity preview */
3761
+ in: (propertyName: '_id', value: any) => ReservationLocationsQueryBuilder;
3762
+ /** @param limit - Number of items to return, which is also the `pageSize` of the results object.
3763
+ * @documentationMaturity preview
3764
+ */
3765
+ limit: (limit: number) => ReservationLocationsQueryBuilder;
3766
+ /** @param cursor - A pointer to specific record
3767
+ * @documentationMaturity preview
3768
+ */
3769
+ skipTo: (cursor: string) => ReservationLocationsQueryBuilder;
3770
+ /** @documentationMaturity preview */
3771
+ find: () => Promise<ReservationLocationsQueryResult>;
3772
+ }
3773
+ interface ListReservationLocationsOptions {
3774
+ /** 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`. */
3775
+ paging?: CursorPaging;
3776
+ /** Sorting for the locations list. */
3777
+ sort?: Sorting;
3778
+ /**
3779
+ * Array of named, predefined sets of projected fields to be returned.
3780
+ *
3781
+ * - `PUBLIC`: Returns `id`, `archived`, `location`, `default`, `configuration.onlineReservations.partiesSize`, `configuration.onlineReservations.minimumReservationNotice`, `configuration.onlineReservations.businessSchedule`,
3782
+ * `configuration.onlineReservations.showPhoneNumber`, `configuration.onlineReservations.onlineReservationsEnabled`, `configuration.onlineReservations.manualApproval`, `configuration.reservationForm.submitMessage`,
3783
+ * `configuration.reservationForm.policiesEnabled`, `configuration.reservationForm.termsAndConditions`, `configuration.reservationForm.privacyPolicy`,
3784
+ * `configuration.reservationForm.customFieldDefinitions`, `configuration.reservationForm.lastNameRequired`, `configuration.reservationForm.emailRequired`, `configuration.reservationForm.emailMarketingCheckbox`.
3785
+ * - `FULL`: Returns all fields.
3786
+ *
3787
+ * Default: `PUBLIC`.
3788
+ */
3789
+ fieldsets?: Set[];
3790
+ }
3791
+
3792
+ interface HttpClient$1 {
3793
+ request<TResponse, TData = any>(req: RequestOptionsFactory$1<TResponse, TData>): Promise<HttpResponse$1<TResponse>>;
3794
+ fetchWithAuth: (url: string | URL, init?: RequestInit) => Promise<Response>;
3795
+ }
3796
+ type RequestOptionsFactory$1<TResponse = any, TData = any> = (context: any) => RequestOptions$1<TResponse, TData>;
3797
+ type HttpResponse$1<T = any> = {
3798
+ data: T;
3799
+ status: number;
3800
+ statusText: string;
3801
+ headers: any;
3802
+ request?: any;
3803
+ };
3804
+ type RequestOptions$1<_TResponse = any, Data = any> = {
3805
+ method: 'POST' | 'GET' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
3806
+ url: string;
3807
+ data?: Data;
3808
+ params?: URLSearchParams;
3809
+ } & APIMetadata$1;
3810
+ type APIMetadata$1 = {
3811
+ methodFqn?: string;
3812
+ entityFqdn?: string;
3813
+ packageName?: string;
3814
+ };
3815
+ type EventDefinition<Payload = unknown, Type extends string = string> = {
3816
+ __type: 'event-definition';
3817
+ type: Type;
3818
+ isDomainEvent?: boolean;
3819
+ transformations?: (envelope: unknown) => Payload;
3820
+ __payload: Payload;
3821
+ };
3822
+ declare function EventDefinition<Type extends string>(type: Type, isDomainEvent?: boolean, transformations?: (envelope: any) => unknown): <Payload = unknown>() => EventDefinition<Payload, Type>;
3823
+
3824
+ declare global {
3825
+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
3826
+ interface SymbolConstructor {
3827
+ readonly observable: symbol;
3828
+ }
3829
+ }
3830
+
3831
+ declare const __metadata$1: {
3832
+ PACKAGE_NAME: string;
3833
+ };
3834
+ declare function getReservationLocation(httpClient: HttpClient$1): (reservationLocationId: string, options?: GetReservationLocationOptions) => Promise<ReservationLocation & {
3835
+ configuration?: {
3836
+ onlineReservations?: {
3837
+ seatPacing?: {
3838
+ number: number;
3839
+ enabled: boolean;
3840
+ } | undefined;
3841
+ partyPacing?: {
3842
+ number: number;
3843
+ enabled: boolean;
3844
+ } | undefined;
3845
+ partySize?: {
3846
+ min: number;
3847
+ max: number;
3848
+ } | undefined;
3849
+ minimumReservationNotice?: {
3850
+ number: number;
3851
+ unit: Unit;
3852
+ } | undefined;
3853
+ turnoverTimeRules: {
3854
+ seatsMin: number;
3855
+ seatsMax: number;
3856
+ minutes: number;
3857
+ }[];
3858
+ businessSchedule?: {
3859
+ periods: {
3860
+ openDay: CommonDayOfWeek;
3861
+ openTime: string;
3862
+ closeDay: CommonDayOfWeek;
3863
+ closeTime: string;
3864
+ }[];
3865
+ specialHourPeriod: {
3866
+ startDate: string;
3867
+ endDate: string;
3868
+ isClosed: boolean;
3869
+ comment: string;
3870
+ }[];
3871
+ } | undefined;
3872
+ manualApproval?: {
3873
+ partySizeThreshold: number;
3874
+ customApprovalsProviderId: string;
3875
+ enabled: boolean;
3876
+ } | undefined;
3877
+ } | undefined;
3878
+ reservationForm?: {
3879
+ termsAndConditions?: {
3880
+ url: string;
3881
+ enabled: boolean;
3882
+ } | undefined;
3883
+ privacyPolicy?: {
3884
+ url: string;
3885
+ enabled: boolean;
3886
+ } | undefined;
3887
+ customFieldDefinitions: {
3888
+ name: string;
3889
+ required: boolean;
3890
+ }[];
3891
+ emailMarketingCheckbox?: {
3892
+ enabled: boolean;
3893
+ checkedByDefault: boolean;
3894
+ } | undefined;
3895
+ } | undefined;
3896
+ myReservationsFields: {
3897
+ fieldType: FieldType;
3898
+ shown: boolean;
3899
+ }[];
3900
+ tableManagement?: {
3901
+ tableDefinitions: {
3902
+ name: string;
3903
+ seatsMin: number;
3904
+ seatsMax: number;
3905
+ }[];
3906
+ deletedTableDefinitions: {
3907
+ name: string;
3908
+ seatsMin: number;
3909
+ seatsMax: number;
3910
+ }[];
3911
+ tableCombinations: {
3912
+ seatsMin: number;
3913
+ seatsMax: number;
3914
+ }[];
3915
+ } | undefined;
3916
+ } | undefined;
3917
+ }>;
3918
+ declare function updateReservationLocation(httpClient: HttpClient$1): (_id: string | null, reservationLocation: UpdateReservationLocation) => Promise<ReservationLocation & {
3919
+ configuration?: {
3920
+ onlineReservations?: {
3921
+ seatPacing?: {
3922
+ number: number;
3923
+ enabled: boolean;
3924
+ } | undefined;
3925
+ partyPacing?: {
3926
+ number: number;
3927
+ enabled: boolean;
3928
+ } | undefined;
3929
+ partySize?: {
3930
+ min: number;
3931
+ max: number;
3932
+ } | undefined;
3933
+ minimumReservationNotice?: {
3934
+ number: number;
3935
+ unit: Unit;
3936
+ } | undefined;
3937
+ turnoverTimeRules: {
3938
+ seatsMin: number;
3939
+ seatsMax: number;
3940
+ minutes: number;
3941
+ }[];
3942
+ businessSchedule?: {
3943
+ periods: {
3944
+ openDay: CommonDayOfWeek;
3945
+ openTime: string;
3946
+ closeDay: CommonDayOfWeek;
3947
+ closeTime: string;
3948
+ }[];
3949
+ specialHourPeriod: {
3950
+ startDate: string;
3951
+ endDate: string;
3952
+ isClosed: boolean;
3953
+ comment: string;
3954
+ }[];
3955
+ } | undefined;
3956
+ manualApproval?: {
3957
+ partySizeThreshold: number;
3958
+ customApprovalsProviderId: string;
3959
+ enabled: boolean;
3960
+ } | undefined;
3961
+ } | undefined;
3962
+ reservationForm?: {
3963
+ termsAndConditions?: {
3964
+ url: string;
3965
+ enabled: boolean;
3966
+ } | undefined;
3967
+ privacyPolicy?: {
3968
+ url: string;
3969
+ enabled: boolean;
3970
+ } | undefined;
3971
+ customFieldDefinitions: {
3972
+ name: string;
3973
+ required: boolean;
3974
+ }[];
3975
+ emailMarketingCheckbox?: {
3976
+ enabled: boolean;
3977
+ checkedByDefault: boolean;
3978
+ } | undefined;
3979
+ } | undefined;
3980
+ myReservationsFields: {
3981
+ fieldType: FieldType;
3982
+ shown: boolean;
3983
+ }[];
3984
+ tableManagement?: {
3985
+ tableDefinitions: {
3986
+ name: string;
3987
+ seatsMin: number;
3988
+ seatsMax: number;
3989
+ }[];
3990
+ deletedTableDefinitions: {
3991
+ name: string;
3992
+ seatsMin: number;
3993
+ seatsMax: number;
3994
+ }[];
3995
+ tableCombinations: {
3996
+ seatsMin: number;
3997
+ seatsMax: number;
3998
+ }[];
3999
+ } | undefined;
4000
+ } | undefined;
4001
+ }>;
4002
+ declare function queryReservationLocations(httpClient: HttpClient$1): (options?: QueryReservationLocationsOptions) => ReservationLocationsQueryBuilder;
4003
+ declare function listReservationLocations(httpClient: HttpClient$1): (options?: ListReservationLocationsOptions) => Promise<ListReservationLocationsResponse & ListReservationLocationsResponseNonNullableFields>;
4004
+ declare const onReservationLocationUpdated: EventDefinition<ReservationLocationUpdatedEnvelope, "wix.table_reservations.v1.reservation_location_updated">;
4005
+ declare const onReservationLocationCreated: EventDefinition<ReservationLocationCreatedEnvelope, "wix.table_reservations.v1.reservation_location_created">;
4006
+
4007
+ type index_d$1_ActionEvent = ActionEvent;
4008
+ type index_d$1_Address = Address;
4009
+ type index_d$1_AddressHint = AddressHint;
4010
+ type index_d$1_AddressLocation = AddressLocation;
4011
+ type index_d$1_App = App;
4012
+ type index_d$1_Asset = Asset;
4013
+ type index_d$1_AssignedFromFloatingReason = AssignedFromFloatingReason;
4014
+ type index_d$1_BaseEventMetadata = BaseEventMetadata;
4015
+ type index_d$1_BooleanFeature = BooleanFeature;
4016
+ type index_d$1_BusinessSchedule = BusinessSchedule;
4017
+ type index_d$1_CancelRequestedReason = CancelRequestedReason;
4018
+ type index_d$1_Categories = Categories;
4019
+ type index_d$1_ChangeContext = ChangeContext;
4020
+ type index_d$1_ChangeContextPayloadOneOf = ChangeContextPayloadOneOf;
4021
+ type index_d$1_CheckReservationLocationsCreatedRequest = CheckReservationLocationsCreatedRequest;
4022
+ type index_d$1_CheckReservationLocationsCreatedResponse = CheckReservationLocationsCreatedResponse;
4023
+ type index_d$1_CommonBusinessSchedule = CommonBusinessSchedule;
4024
+ type index_d$1_CommonDayOfWeek = CommonDayOfWeek;
4025
+ declare const index_d$1_CommonDayOfWeek: typeof CommonDayOfWeek;
4026
+ type index_d$1_CommonSpecialHourPeriod = CommonSpecialHourPeriod;
4027
+ type index_d$1_CommonTimePeriod = CommonTimePeriod;
4028
+ type index_d$1_Configuration = Configuration;
4029
+ type index_d$1_ConsentPolicy = ConsentPolicy;
4030
+ type index_d$1_ContractSwitchedReason = ContractSwitchedReason;
4031
+ type index_d$1_CursorPaging = CursorPaging;
4032
+ type index_d$1_CursorPagingMetadata = CursorPagingMetadata;
4033
+ type index_d$1_Cursors = Cursors;
4034
+ type index_d$1_CustomFieldDefinition = CustomFieldDefinition;
4035
+ type index_d$1_DayOfWeek = DayOfWeek;
4036
+ declare const index_d$1_DayOfWeek: typeof DayOfWeek;
4037
+ type index_d$1_DeleteContext = DeleteContext;
4038
+ type index_d$1_DeleteOrphanReservationLocationRequest = DeleteOrphanReservationLocationRequest;
4039
+ type index_d$1_DeleteOrphanReservationLocationResponse = DeleteOrphanReservationLocationResponse;
4040
+ type index_d$1_DeleteStatus = DeleteStatus;
4041
+ declare const index_d$1_DeleteStatus: typeof DeleteStatus;
4042
+ type index_d$1_DomainEvent = DomainEvent;
4043
+ type index_d$1_DomainEventBodyOneOf = DomainEventBodyOneOf;
4044
+ type index_d$1_EmailMarketingCheckbox = EmailMarketingCheckbox;
4045
+ type index_d$1_Empty = Empty;
4046
+ type index_d$1_EntityCreatedEvent = EntityCreatedEvent;
4047
+ type index_d$1_EntityDeletedEvent = EntityDeletedEvent;
4048
+ type index_d$1_EntityUpdatedEvent = EntityUpdatedEvent;
4049
+ type index_d$1_EventMetadata = EventMetadata;
4050
+ type index_d$1_Feature = Feature;
4051
+ type index_d$1_FeatureCancelled = FeatureCancelled;
4052
+ type index_d$1_FeatureCancelledReasonOneOf = FeatureCancelledReasonOneOf;
4053
+ type index_d$1_FeatureContext = FeatureContext;
4054
+ type index_d$1_FeatureDisabled = FeatureDisabled;
4055
+ type index_d$1_FeatureDisabledReasonOneOf = FeatureDisabledReasonOneOf;
4056
+ type index_d$1_FeatureEnabled = FeatureEnabled;
4057
+ type index_d$1_FeatureEnabledReasonOneOf = FeatureEnabledReasonOneOf;
4058
+ type index_d$1_FeatureEvent = FeatureEvent;
4059
+ type index_d$1_FeatureEventEventOneOf = FeatureEventEventOneOf;
4060
+ type index_d$1_FeaturePeriod = FeaturePeriod;
4061
+ declare const index_d$1_FeaturePeriod: typeof FeaturePeriod;
4062
+ type index_d$1_FeatureQuantityInfoOneOf = FeatureQuantityInfoOneOf;
4063
+ type index_d$1_FeatureUpdated = FeatureUpdated;
4064
+ type index_d$1_FeatureUpdatedPreviousQuantityInfoOneOf = FeatureUpdatedPreviousQuantityInfoOneOf;
4065
+ type index_d$1_FeatureUpdatedReasonOneOf = FeatureUpdatedReasonOneOf;
4066
+ type index_d$1_FieldType = FieldType;
4067
+ declare const index_d$1_FieldType: typeof FieldType;
4068
+ type index_d$1_File = File;
4069
+ type index_d$1_GeoCoordinates = GeoCoordinates;
4070
+ type index_d$1_GetReservationLocationOptions = GetReservationLocationOptions;
4071
+ type index_d$1_GetReservationLocationRequest = GetReservationLocationRequest;
4072
+ type index_d$1_GetReservationLocationResponse = GetReservationLocationResponse;
4073
+ type index_d$1_GetReservationLocationResponseNonNullableFields = GetReservationLocationResponseNonNullableFields;
4074
+ type index_d$1_IdentificationData = IdentificationData;
4075
+ type index_d$1_IdentificationDataIdOneOf = IdentificationDataIdOneOf;
4076
+ type index_d$1_InvalidateCache = InvalidateCache;
4077
+ type index_d$1_InvalidateCacheGetByOneOf = InvalidateCacheGetByOneOf;
4078
+ type index_d$1_ListReservationLocationsOptions = ListReservationLocationsOptions;
4079
+ type index_d$1_ListReservationLocationsRequest = ListReservationLocationsRequest;
4080
+ type index_d$1_ListReservationLocationsResponse = ListReservationLocationsResponse;
4081
+ type index_d$1_ListReservationLocationsResponseNonNullableFields = ListReservationLocationsResponseNonNullableFields;
4082
+ type index_d$1_Locale = Locale;
4083
+ type index_d$1_Location = Location;
4084
+ type index_d$1_LocationAddress = LocationAddress;
4085
+ type index_d$1_ManualApproval = ManualApproval;
4086
+ type index_d$1_ManualApprovalValueOneOf = ManualApprovalValueOneOf;
4087
+ type index_d$1_ManualFeatureCreationReason = ManualFeatureCreationReason;
4088
+ type index_d$1_MessageEnvelope = MessageEnvelope;
4089
+ type index_d$1_MetaSiteSpecialEvent = MetaSiteSpecialEvent;
4090
+ type index_d$1_MetaSiteSpecialEventPayloadOneOf = MetaSiteSpecialEventPayloadOneOf;
4091
+ type index_d$1_MigrateOldRestaurantSettingsRequest = MigrateOldRestaurantSettingsRequest;
4092
+ type index_d$1_MigrateOldRestaurantSettingsResponse = MigrateOldRestaurantSettingsResponse;
4093
+ type index_d$1_MigratedFromLegacyReason = MigratedFromLegacyReason;
4094
+ type index_d$1_MigrationParsingError = MigrationParsingError;
4095
+ type index_d$1_MigrationResult = MigrationResult;
4096
+ type index_d$1_Mode = Mode;
4097
+ declare const index_d$1_Mode: typeof Mode;
4098
+ type index_d$1_Multilingual = Multilingual;
4099
+ type index_d$1_MyReservationsField = MyReservationsField;
4100
+ type index_d$1_Namespace = Namespace;
4101
+ declare const index_d$1_Namespace: typeof Namespace;
4102
+ type index_d$1_NamespaceChanged = NamespaceChanged;
4103
+ type index_d$1_NewFeatureReason = NewFeatureReason;
4104
+ type index_d$1_NoticePeriod = NoticePeriod;
4105
+ type index_d$1_OldCustomField = OldCustomField;
4106
+ type index_d$1_OldInstant = OldInstant;
4107
+ type index_d$1_OldPolicy = OldPolicy;
4108
+ type index_d$1_OldScheduleException = OldScheduleException;
4109
+ type index_d$1_OldScheduleInterval = OldScheduleInterval;
4110
+ type index_d$1_OldTerms = OldTerms;
4111
+ type index_d$1_OnlineReservations = OnlineReservations;
4112
+ type index_d$1_Page = Page;
4113
+ type index_d$1_Paging = Paging;
4114
+ type index_d$1_PagingMetadataV2 = PagingMetadataV2;
4115
+ type index_d$1_ParsedSettings = ParsedSettings;
4116
+ type index_d$1_PartiesSize = PartiesSize;
4117
+ type index_d$1_PartyPacing = PartyPacing;
4118
+ type index_d$1_PartySize = PartySize;
4119
+ type index_d$1_PlacementType = PlacementType;
4120
+ declare const index_d$1_PlacementType: typeof PlacementType;
4121
+ type index_d$1_PrivacyPolicy = PrivacyPolicy;
4122
+ type index_d$1_PrivacyPolicyValueOneOf = PrivacyPolicyValueOneOf;
4123
+ type index_d$1_Properties = Properties;
4124
+ type index_d$1_PropertiesChange = PropertiesChange;
4125
+ type index_d$1_QueryReservationLocationsOptions = QueryReservationLocationsOptions;
4126
+ type index_d$1_QueryReservationLocationsRequest = QueryReservationLocationsRequest;
4127
+ type index_d$1_QueryReservationLocationsResponse = QueryReservationLocationsResponse;
4128
+ type index_d$1_QueryReservationLocationsResponseNonNullableFields = QueryReservationLocationsResponseNonNullableFields;
4129
+ type index_d$1_QueryV2 = QueryV2;
4130
+ type index_d$1_QueryV2PagingMethodOneOf = QueryV2PagingMethodOneOf;
4131
+ type index_d$1_QuotaFeature = QuotaFeature;
4132
+ type index_d$1_QuotaInfo = QuotaInfo;
4133
+ type index_d$1_ReassignedFromSiteReason = ReassignedFromSiteReason;
4134
+ type index_d$1_ReassignedToAnotherSiteReason = ReassignedToAnotherSiteReason;
4135
+ type index_d$1_ReplacedByAnotherSubscriptionReason = ReplacedByAnotherSubscriptionReason;
4136
+ type index_d$1_ReservationForm = ReservationForm;
4137
+ type index_d$1_ReservationLocation = ReservationLocation;
4138
+ type index_d$1_ReservationLocationCreatedEnvelope = ReservationLocationCreatedEnvelope;
4139
+ type index_d$1_ReservationLocationUpdatedEnvelope = ReservationLocationUpdatedEnvelope;
4140
+ type index_d$1_ReservationLocationsQueryBuilder = ReservationLocationsQueryBuilder;
4141
+ type index_d$1_ReservationLocationsQueryResult = ReservationLocationsQueryResult;
4142
+ type index_d$1_ReservationPayment = ReservationPayment;
4143
+ type index_d$1_ResolutionMethod = ResolutionMethod;
4144
+ declare const index_d$1_ResolutionMethod: typeof ResolutionMethod;
4145
+ type index_d$1_SeatPacing = SeatPacing;
4146
+ type index_d$1_ServiceProvisioned = ServiceProvisioned;
4147
+ type index_d$1_ServiceRemoved = ServiceRemoved;
4148
+ type index_d$1_Set = Set;
4149
+ declare const index_d$1_Set: typeof Set;
4150
+ type index_d$1_SiteCloned = SiteCloned;
4151
+ type index_d$1_SiteCreated = SiteCreated;
4152
+ type index_d$1_SiteCreatedContext = SiteCreatedContext;
4153
+ declare const index_d$1_SiteCreatedContext: typeof SiteCreatedContext;
4154
+ type index_d$1_SiteDeleted = SiteDeleted;
4155
+ type index_d$1_SiteHardDeleted = SiteHardDeleted;
4156
+ type index_d$1_SiteMarkedAsTemplate = SiteMarkedAsTemplate;
4157
+ type index_d$1_SiteMarkedAsWixSite = SiteMarkedAsWixSite;
4158
+ type index_d$1_SitePropertiesEvent = SitePropertiesEvent;
4159
+ type index_d$1_SitePropertiesNotification = SitePropertiesNotification;
4160
+ type index_d$1_SitePublished = SitePublished;
4161
+ type index_d$1_SiteRenamed = SiteRenamed;
4162
+ type index_d$1_SiteTransferred = SiteTransferred;
4163
+ type index_d$1_SiteUndeleted = SiteUndeleted;
4164
+ type index_d$1_SiteUnpublished = SiteUnpublished;
4165
+ type index_d$1_SortOrder = SortOrder;
4166
+ declare const index_d$1_SortOrder: typeof SortOrder;
4167
+ type index_d$1_Sorting = Sorting;
4168
+ type index_d$1_SpecialHourPeriod = SpecialHourPeriod;
4169
+ type index_d$1_State = State;
4170
+ declare const index_d$1_State: typeof State;
4171
+ type index_d$1_StreetAddress = StreetAddress;
4172
+ type index_d$1_StudioAssigned = StudioAssigned;
4173
+ type index_d$1_StudioUnassigned = StudioUnassigned;
4174
+ type index_d$1_SupportedLanguage = SupportedLanguage;
4175
+ type index_d$1_TableDefinition = TableDefinition;
4176
+ type index_d$1_TableManagement = TableManagement;
4177
+ type index_d$1_TablesDeleted = TablesDeleted;
4178
+ type index_d$1_TermsAndConditions = TermsAndConditions;
4179
+ type index_d$1_TermsAndConditionsValueOneOf = TermsAndConditionsValueOneOf;
4180
+ type index_d$1_TimePeriod = TimePeriod;
4181
+ type index_d$1_TransferredFromAnotherAccountReason = TransferredFromAnotherAccountReason;
4182
+ type index_d$1_TransferredToAnotherAccountReason = TransferredToAnotherAccountReason;
4183
+ type index_d$1_Translation = Translation;
4184
+ type index_d$1_TurnoverRule = TurnoverRule;
4185
+ type index_d$1_TurnoverTimeRule = TurnoverTimeRule;
4186
+ type index_d$1_URI = URI;
4187
+ type index_d$1_UnAssingedToFloatingReason = UnAssingedToFloatingReason;
4188
+ type index_d$1_Unit = Unit;
4189
+ declare const index_d$1_Unit: typeof Unit;
4190
+ type index_d$1_UpdateReservationLocation = UpdateReservationLocation;
4191
+ type index_d$1_UpdateReservationLocationRequest = UpdateReservationLocationRequest;
4192
+ type index_d$1_UpdateReservationLocationResponse = UpdateReservationLocationResponse;
4193
+ type index_d$1_UpdateReservationLocationResponseNonNullableFields = UpdateReservationLocationResponseNonNullableFields;
4194
+ type index_d$1_V4SiteCreated = V4SiteCreated;
4195
+ type index_d$1_WebhookIdentityType = WebhookIdentityType;
4196
+ declare const index_d$1_WebhookIdentityType: typeof WebhookIdentityType;
4197
+ declare const index_d$1_getReservationLocation: typeof getReservationLocation;
4198
+ declare const index_d$1_listReservationLocations: typeof listReservationLocations;
4199
+ declare const index_d$1_onReservationLocationCreated: typeof onReservationLocationCreated;
4200
+ declare const index_d$1_onReservationLocationUpdated: typeof onReservationLocationUpdated;
4201
+ declare const index_d$1_queryReservationLocations: typeof queryReservationLocations;
4202
+ declare const index_d$1_updateReservationLocation: typeof updateReservationLocation;
4203
+ declare namespace index_d$1 {
4204
+ export { type index_d$1_ActionEvent as ActionEvent, type index_d$1_Address as Address, type index_d$1_AddressHint as AddressHint, type index_d$1_AddressLocation as AddressLocation, type index_d$1_App as App, type index_d$1_Asset as Asset, type index_d$1_AssignedFromFloatingReason as AssignedFromFloatingReason, type index_d$1_BaseEventMetadata as BaseEventMetadata, type index_d$1_BooleanFeature as BooleanFeature, type index_d$1_BusinessSchedule as BusinessSchedule, type index_d$1_CancelRequestedReason as CancelRequestedReason, type index_d$1_Categories as Categories, type index_d$1_ChangeContext as ChangeContext, type index_d$1_ChangeContextPayloadOneOf as ChangeContextPayloadOneOf, type index_d$1_CheckReservationLocationsCreatedRequest as CheckReservationLocationsCreatedRequest, type index_d$1_CheckReservationLocationsCreatedResponse as CheckReservationLocationsCreatedResponse, type index_d$1_CommonBusinessSchedule as CommonBusinessSchedule, index_d$1_CommonDayOfWeek as CommonDayOfWeek, type index_d$1_CommonSpecialHourPeriod as CommonSpecialHourPeriod, type index_d$1_CommonTimePeriod as CommonTimePeriod, type index_d$1_Configuration as Configuration, type index_d$1_ConsentPolicy as ConsentPolicy, type index_d$1_ContractSwitchedReason as ContractSwitchedReason, type index_d$1_CursorPaging as CursorPaging, type index_d$1_CursorPagingMetadata as CursorPagingMetadata, type index_d$1_Cursors as Cursors, type index_d$1_CustomFieldDefinition as CustomFieldDefinition, index_d$1_DayOfWeek as DayOfWeek, type index_d$1_DeleteContext as DeleteContext, type index_d$1_DeleteOrphanReservationLocationRequest as DeleteOrphanReservationLocationRequest, type index_d$1_DeleteOrphanReservationLocationResponse as DeleteOrphanReservationLocationResponse, index_d$1_DeleteStatus as DeleteStatus, type index_d$1_DomainEvent as DomainEvent, type index_d$1_DomainEventBodyOneOf as DomainEventBodyOneOf, type index_d$1_EmailMarketingCheckbox as EmailMarketingCheckbox, type index_d$1_Empty as Empty, type index_d$1_EntityCreatedEvent as EntityCreatedEvent, type index_d$1_EntityDeletedEvent as EntityDeletedEvent, type index_d$1_EntityUpdatedEvent as EntityUpdatedEvent, type index_d$1_EventMetadata as EventMetadata, type index_d$1_Feature as Feature, type index_d$1_FeatureCancelled as FeatureCancelled, type index_d$1_FeatureCancelledReasonOneOf as FeatureCancelledReasonOneOf, type index_d$1_FeatureContext as FeatureContext, type index_d$1_FeatureDisabled as FeatureDisabled, type index_d$1_FeatureDisabledReasonOneOf as FeatureDisabledReasonOneOf, type index_d$1_FeatureEnabled as FeatureEnabled, type index_d$1_FeatureEnabledReasonOneOf as FeatureEnabledReasonOneOf, type index_d$1_FeatureEvent as FeatureEvent, type index_d$1_FeatureEventEventOneOf as FeatureEventEventOneOf, index_d$1_FeaturePeriod as FeaturePeriod, type index_d$1_FeatureQuantityInfoOneOf as FeatureQuantityInfoOneOf, type index_d$1_FeatureUpdated as FeatureUpdated, type index_d$1_FeatureUpdatedPreviousQuantityInfoOneOf as FeatureUpdatedPreviousQuantityInfoOneOf, type index_d$1_FeatureUpdatedReasonOneOf as FeatureUpdatedReasonOneOf, index_d$1_FieldType as FieldType, type index_d$1_File as File, type index_d$1_GeoCoordinates as GeoCoordinates, type index_d$1_GetReservationLocationOptions as GetReservationLocationOptions, type index_d$1_GetReservationLocationRequest as GetReservationLocationRequest, type index_d$1_GetReservationLocationResponse as GetReservationLocationResponse, type index_d$1_GetReservationLocationResponseNonNullableFields as GetReservationLocationResponseNonNullableFields, type index_d$1_IdentificationData as IdentificationData, type index_d$1_IdentificationDataIdOneOf as IdentificationDataIdOneOf, type index_d$1_InvalidateCache as InvalidateCache, type index_d$1_InvalidateCacheGetByOneOf as InvalidateCacheGetByOneOf, type index_d$1_ListReservationLocationsOptions as ListReservationLocationsOptions, type index_d$1_ListReservationLocationsRequest as ListReservationLocationsRequest, type index_d$1_ListReservationLocationsResponse as ListReservationLocationsResponse, type index_d$1_ListReservationLocationsResponseNonNullableFields as ListReservationLocationsResponseNonNullableFields, type index_d$1_Locale as Locale, type index_d$1_Location as Location, type index_d$1_LocationAddress as LocationAddress, type index_d$1_ManualApproval as ManualApproval, type index_d$1_ManualApprovalValueOneOf as ManualApprovalValueOneOf, type index_d$1_ManualFeatureCreationReason as ManualFeatureCreationReason, type index_d$1_MessageEnvelope as MessageEnvelope, type index_d$1_MetaSiteSpecialEvent as MetaSiteSpecialEvent, type index_d$1_MetaSiteSpecialEventPayloadOneOf as MetaSiteSpecialEventPayloadOneOf, type index_d$1_MigrateOldRestaurantSettingsRequest as MigrateOldRestaurantSettingsRequest, type index_d$1_MigrateOldRestaurantSettingsResponse as MigrateOldRestaurantSettingsResponse, type index_d$1_MigratedFromLegacyReason as MigratedFromLegacyReason, type index_d$1_MigrationParsingError as MigrationParsingError, type index_d$1_MigrationResult as MigrationResult, index_d$1_Mode as Mode, type index_d$1_Multilingual as Multilingual, type index_d$1_MyReservationsField as MyReservationsField, index_d$1_Namespace as Namespace, type index_d$1_NamespaceChanged as NamespaceChanged, type index_d$1_NewFeatureReason as NewFeatureReason, type index_d$1_NoticePeriod as NoticePeriod, type index_d$1_OldCustomField as OldCustomField, type index_d$1_OldInstant as OldInstant, type index_d$1_OldPolicy as OldPolicy, type index_d$1_OldScheduleException as OldScheduleException, type index_d$1_OldScheduleInterval as OldScheduleInterval, type index_d$1_OldTerms as OldTerms, type index_d$1_OnlineReservations as OnlineReservations, type index_d$1_Page as Page, type index_d$1_Paging as Paging, type index_d$1_PagingMetadataV2 as PagingMetadataV2, type index_d$1_ParsedSettings as ParsedSettings, type index_d$1_PartiesSize as PartiesSize, type index_d$1_PartyPacing as PartyPacing, type index_d$1_PartySize as PartySize, index_d$1_PlacementType as PlacementType, type index_d$1_PrivacyPolicy as PrivacyPolicy, type index_d$1_PrivacyPolicyValueOneOf as PrivacyPolicyValueOneOf, type index_d$1_Properties as Properties, type index_d$1_PropertiesChange as PropertiesChange, type index_d$1_QueryReservationLocationsOptions as QueryReservationLocationsOptions, type index_d$1_QueryReservationLocationsRequest as QueryReservationLocationsRequest, type index_d$1_QueryReservationLocationsResponse as QueryReservationLocationsResponse, type index_d$1_QueryReservationLocationsResponseNonNullableFields as QueryReservationLocationsResponseNonNullableFields, type index_d$1_QueryV2 as QueryV2, type index_d$1_QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOf, type index_d$1_QuotaFeature as QuotaFeature, type index_d$1_QuotaInfo as QuotaInfo, type index_d$1_ReassignedFromSiteReason as ReassignedFromSiteReason, type index_d$1_ReassignedToAnotherSiteReason as ReassignedToAnotherSiteReason, type index_d$1_ReplacedByAnotherSubscriptionReason as ReplacedByAnotherSubscriptionReason, type index_d$1_ReservationForm as ReservationForm, type index_d$1_ReservationLocation as ReservationLocation, type index_d$1_ReservationLocationCreatedEnvelope as ReservationLocationCreatedEnvelope, type index_d$1_ReservationLocationUpdatedEnvelope as ReservationLocationUpdatedEnvelope, type index_d$1_ReservationLocationsQueryBuilder as ReservationLocationsQueryBuilder, type index_d$1_ReservationLocationsQueryResult as ReservationLocationsQueryResult, type index_d$1_ReservationPayment as ReservationPayment, index_d$1_ResolutionMethod as ResolutionMethod, type index_d$1_SeatPacing as SeatPacing, type index_d$1_ServiceProvisioned as ServiceProvisioned, type index_d$1_ServiceRemoved as ServiceRemoved, index_d$1_Set as Set, type index_d$1_SiteCloned as SiteCloned, type index_d$1_SiteCreated as SiteCreated, index_d$1_SiteCreatedContext as SiteCreatedContext, type index_d$1_SiteDeleted as SiteDeleted, type index_d$1_SiteHardDeleted as SiteHardDeleted, type index_d$1_SiteMarkedAsTemplate as SiteMarkedAsTemplate, type index_d$1_SiteMarkedAsWixSite as SiteMarkedAsWixSite, type index_d$1_SitePropertiesEvent as SitePropertiesEvent, type index_d$1_SitePropertiesNotification as SitePropertiesNotification, type index_d$1_SitePublished as SitePublished, type index_d$1_SiteRenamed as SiteRenamed, type index_d$1_SiteTransferred as SiteTransferred, type index_d$1_SiteUndeleted as SiteUndeleted, type index_d$1_SiteUnpublished as SiteUnpublished, index_d$1_SortOrder as SortOrder, type index_d$1_Sorting as Sorting, type index_d$1_SpecialHourPeriod as SpecialHourPeriod, index_d$1_State as State, type index_d$1_StreetAddress as StreetAddress, type index_d$1_StudioAssigned as StudioAssigned, type index_d$1_StudioUnassigned as StudioUnassigned, type index_d$1_SupportedLanguage as SupportedLanguage, type TableCombination$1 as TableCombination, type index_d$1_TableDefinition as TableDefinition, type index_d$1_TableManagement as TableManagement, type index_d$1_TablesDeleted as TablesDeleted, type index_d$1_TermsAndConditions as TermsAndConditions, type index_d$1_TermsAndConditionsValueOneOf as TermsAndConditionsValueOneOf, type index_d$1_TimePeriod as TimePeriod, type index_d$1_TransferredFromAnotherAccountReason as TransferredFromAnotherAccountReason, type index_d$1_TransferredToAnotherAccountReason as TransferredToAnotherAccountReason, type index_d$1_Translation as Translation, type index_d$1_TurnoverRule as TurnoverRule, type index_d$1_TurnoverTimeRule as TurnoverTimeRule, type index_d$1_URI as URI, type index_d$1_UnAssingedToFloatingReason as UnAssingedToFloatingReason, index_d$1_Unit as Unit, type index_d$1_UpdateReservationLocation as UpdateReservationLocation, type index_d$1_UpdateReservationLocationRequest as UpdateReservationLocationRequest, type index_d$1_UpdateReservationLocationResponse as UpdateReservationLocationResponse, type index_d$1_UpdateReservationLocationResponseNonNullableFields as UpdateReservationLocationResponseNonNullableFields, type index_d$1_V4SiteCreated as V4SiteCreated, index_d$1_WebhookIdentityType as WebhookIdentityType, __metadata$1 as __metadata, index_d$1_getReservationLocation as getReservationLocation, index_d$1_listReservationLocations as listReservationLocations, index_d$1_onReservationLocationCreated as onReservationLocationCreated, index_d$1_onReservationLocationUpdated as onReservationLocationUpdated, index_d$1_queryReservationLocations as queryReservationLocations, index_d$1_updateReservationLocation as updateReservationLocation };
4205
+ }
4206
+
4207
+ interface TimeSlot {
4208
+ /** Start date and time of this time slot. */
4209
+ startDate?: Date;
4210
+ /** Duration in minutes of this time slot. */
4211
+ duration?: number;
4212
+ /**
4213
+ * Availability status of this time slot.
4214
+ *
4215
+ * * `AVAILABLE`: The restaurant can accommodate a party of the given size in this time slot.
4216
+ * * `UNAVAILABLE`: The restaurant can't accommodate a party of the given size in this time slot.
4217
+ * * `NON_WORKING_HOURS`: The restaurant is not open during this time slot.
4218
+ */
4219
+ status?: Status;
4220
+ /** Whether manual approval is required to make a reservation in this time slot. */
4221
+ manualApproval?: boolean | null;
4222
+ }
4223
+ declare enum Status {
4224
+ AVAILABLE = "AVAILABLE",
4225
+ UNAVAILABLE = "UNAVAILABLE",
4226
+ NON_WORKING_HOURS = "NON_WORKING_HOURS"
4227
+ }
4228
+ /** Table combination. */
4229
+ interface TimeSlotTableCombination {
4230
+ /** Table IDs of the tables in the combination. */
4231
+ tableIds?: string[];
4232
+ }
4233
+ interface GetTimeSlotsRequest {
4234
+ /** ID of the reservation location for which to retrieve time slots. */
4235
+ reservationLocationId: string;
4236
+ /** Date and time for which to retrieve a time slot. */
4237
+ date: Date;
4238
+ /**
4239
+ * Duration in minutes of the time slot.
4240
+ *
4241
+ * Min: `5`
4242
+ */
4243
+ duration?: number | null;
4244
+ /**
4245
+ * Size of the party that needs to be seated during this time slot.
4246
+ *
4247
+ * Min: `1`
4248
+ */
4249
+ partySize: number | null;
4250
+ /** The number of time slots to retrieve before the given `date`. */
4251
+ slotsBefore?: number | null;
4252
+ /** The number of time slots to retrieve after the given `date`. */
4253
+ slotsAfter?: number | null;
4254
+ }
4255
+ interface GetTimeSlotsResponse {
4256
+ /** A list of time slots and their availability according to the given party size. */
4257
+ timeSlots?: TimeSlot[];
4258
+ }
4259
+ interface CheckReservationDetailsRequest {
4260
+ /** Reservation location ID. */
4261
+ reservationLocationId?: string;
4262
+ /** Date. */
4263
+ date?: Date;
4264
+ /** Duration. */
4265
+ duration?: number | null;
4266
+ /** Party size. */
4267
+ partySize?: number | null;
4268
+ /** Reservation, that should be ignored during the check. */
4269
+ excludeReservationId?: string | null;
4270
+ /** Requested table combination. */
4271
+ tableIds?: string[];
4272
+ }
4273
+ interface CheckReservationDetailsResponse {
4274
+ /** Tables states. */
4275
+ tables?: Table[];
4276
+ /** Table combinations states. */
4277
+ tableCombinations?: TableCombination[];
4278
+ /** Reservation location conflicts. */
4279
+ reservationLocationConflicts?: ReservationLocationConflict[];
4280
+ /** Requested table combination state. */
4281
+ requestedTableCombination?: TableCombination;
4282
+ /** List of reserved tables with corresponding reservation ids. */
4283
+ tableReservedConflicts?: TableReservedConflict[];
4284
+ /** Whether manual approval is required to make a reservation in this time slot. */
4285
+ manualApproval?: boolean | null;
4286
+ /** Whether payment is required to make a reservation in this time slot. */
4287
+ paymentRequired?: boolean | null;
4288
+ }
4289
+ interface Table {
4290
+ _id?: string;
4291
+ /** Table conflicts. */
4292
+ tableConflicts?: TableConflict[];
4293
+ }
4294
+ interface TableConflict {
4295
+ /** Conflict type. */
4296
+ type?: TableConflictType;
4297
+ }
4298
+ declare enum TableConflictType {
4299
+ UNKNOWN = "UNKNOWN",
4300
+ TABLE_RESERVED = "TABLE_RESERVED",
4301
+ TABLE_TOO_BIG = "TABLE_TOO_BIG",
4302
+ TABLE_TOO_SMALL = "TABLE_TOO_SMALL",
4303
+ OFFLINE_ONLY = "OFFLINE_ONLY"
4304
+ }
4305
+ interface TableCombination {
4306
+ tableIds?: string[];
4307
+ tableCombinationConflicts?: TableCombinationConflict[];
4308
+ }
4309
+ interface TableCombinationConflict {
4310
+ /** Conflict type. */
4311
+ type?: TableCombinationConflictType;
4312
+ }
4313
+ declare enum TableCombinationConflictType {
4314
+ UNKNOWN = "UNKNOWN",
4315
+ RESERVED = "RESERVED",
4316
+ TOO_BIG = "TOO_BIG",
4317
+ TOO_SMALL = "TOO_SMALL",
4318
+ OFFLINE_ONLY = "OFFLINE_ONLY"
4319
+ }
4320
+ interface ReservationLocationConflict {
4321
+ /** Reservation location conflict type. */
4322
+ type?: Type;
4323
+ }
4324
+ declare enum Type {
4325
+ UNKNOWN = "UNKNOWN",
4326
+ PARTY_PACING = "PARTY_PACING",
4327
+ SEAT_PACING = "SEAT_PACING"
4328
+ }
4329
+ interface TableReservedConflict {
4330
+ /** Table id. */
4331
+ tableId?: string;
4332
+ /** List of reservation ids. */
4333
+ reservationIds?: string[];
4334
+ }
4335
+ interface GetTimeSlotsResponseNonNullableFields {
4336
+ timeSlots: {
4337
+ duration: number;
4338
+ status: Status;
4339
+ }[];
4340
+ }
4341
+ interface GetTimeSlotsOptions {
4342
+ /**
4343
+ * Duration in minutes of the time slot.
4344
+ *
4345
+ * Min: `5`
4346
+ */
4347
+ duration?: number | null;
4348
+ /** The number of time slots to retrieve before the given `date`. */
4349
+ slotsBefore?: number | null;
4350
+ /** The number of time slots to retrieve after the given `date`. */
4351
+ slotsAfter?: number | null;
4352
+ }
4353
+
4354
+ interface HttpClient {
4355
+ request<TResponse, TData = any>(req: RequestOptionsFactory<TResponse, TData>): Promise<HttpResponse<TResponse>>;
4356
+ fetchWithAuth: (url: string | URL, init?: RequestInit) => Promise<Response>;
4357
+ }
4358
+ type RequestOptionsFactory<TResponse = any, TData = any> = (context: any) => RequestOptions<TResponse, TData>;
4359
+ type HttpResponse<T = any> = {
4360
+ data: T;
4361
+ status: number;
4362
+ statusText: string;
4363
+ headers: any;
4364
+ request?: any;
4365
+ };
4366
+ type RequestOptions<_TResponse = any, Data = any> = {
4367
+ method: 'POST' | 'GET' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
4368
+ url: string;
4369
+ data?: Data;
4370
+ params?: URLSearchParams;
4371
+ } & APIMetadata;
4372
+ type APIMetadata = {
4373
+ methodFqn?: string;
4374
+ entityFqdn?: string;
4375
+ packageName?: string;
4376
+ };
4377
+
4378
+ declare global {
4379
+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
4380
+ interface SymbolConstructor {
4381
+ readonly observable: symbol;
4382
+ }
4383
+ }
4384
+
4385
+ declare const __metadata: {
4386
+ PACKAGE_NAME: string;
4387
+ };
4388
+ declare function getTimeSlots(httpClient: HttpClient): (reservationLocationId: string, date: Date, partySize: number | null, options?: GetTimeSlotsOptions) => Promise<GetTimeSlotsResponse & GetTimeSlotsResponseNonNullableFields>;
4389
+
4390
+ type index_d_CheckReservationDetailsRequest = CheckReservationDetailsRequest;
4391
+ type index_d_CheckReservationDetailsResponse = CheckReservationDetailsResponse;
4392
+ type index_d_GetTimeSlotsOptions = GetTimeSlotsOptions;
4393
+ type index_d_GetTimeSlotsRequest = GetTimeSlotsRequest;
4394
+ type index_d_GetTimeSlotsResponse = GetTimeSlotsResponse;
4395
+ type index_d_GetTimeSlotsResponseNonNullableFields = GetTimeSlotsResponseNonNullableFields;
4396
+ type index_d_ReservationLocationConflict = ReservationLocationConflict;
4397
+ type index_d_Status = Status;
4398
+ declare const index_d_Status: typeof Status;
4399
+ type index_d_Table = Table;
4400
+ type index_d_TableCombination = TableCombination;
4401
+ type index_d_TableCombinationConflict = TableCombinationConflict;
4402
+ type index_d_TableCombinationConflictType = TableCombinationConflictType;
4403
+ declare const index_d_TableCombinationConflictType: typeof TableCombinationConflictType;
4404
+ type index_d_TableConflict = TableConflict;
4405
+ type index_d_TableConflictType = TableConflictType;
4406
+ declare const index_d_TableConflictType: typeof TableConflictType;
4407
+ type index_d_TableReservedConflict = TableReservedConflict;
4408
+ type index_d_TimeSlot = TimeSlot;
4409
+ type index_d_TimeSlotTableCombination = TimeSlotTableCombination;
4410
+ type index_d_Type = Type;
4411
+ declare const index_d_Type: typeof Type;
4412
+ declare const index_d___metadata: typeof __metadata;
4413
+ declare const index_d_getTimeSlots: typeof getTimeSlots;
4414
+ declare namespace index_d {
4415
+ export { type index_d_CheckReservationDetailsRequest as CheckReservationDetailsRequest, type index_d_CheckReservationDetailsResponse as CheckReservationDetailsResponse, type index_d_GetTimeSlotsOptions as GetTimeSlotsOptions, type index_d_GetTimeSlotsRequest as GetTimeSlotsRequest, type index_d_GetTimeSlotsResponse as GetTimeSlotsResponse, type index_d_GetTimeSlotsResponseNonNullableFields as GetTimeSlotsResponseNonNullableFields, type index_d_ReservationLocationConflict as ReservationLocationConflict, index_d_Status as Status, type index_d_Table as Table, type index_d_TableCombination as TableCombination, type index_d_TableCombinationConflict as TableCombinationConflict, index_d_TableCombinationConflictType as TableCombinationConflictType, type index_d_TableConflict as TableConflict, index_d_TableConflictType as TableConflictType, type index_d_TableReservedConflict as TableReservedConflict, type index_d_TimeSlot as TimeSlot, type index_d_TimeSlotTableCombination as TimeSlotTableCombination, index_d_Type as Type, index_d___metadata as __metadata, index_d_getTimeSlots as getTimeSlots };
4416
+ }
4417
+
4418
+ export { index_d$1 as reservationLocations, index_d$2 as reservations, index_d as timeSlots };