@wix/table-reservations 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/build/cjs/index.d.ts +2 -0
  2. package/build/cjs/index.js +25 -0
  3. package/build/cjs/index.js.map +1 -0
  4. package/build/cjs/index.typings.d.ts +2 -0
  5. package/build/cjs/index.typings.js +25 -0
  6. package/build/cjs/index.typings.js.map +1 -0
  7. package/build/cjs/meta.d.ts +2 -0
  8. package/build/cjs/meta.js +25 -0
  9. package/build/cjs/meta.js.map +1 -0
  10. package/build/cjs/src/table-reservations-v1-reservation-location.http.d.ts +21 -0
  11. package/build/cjs/src/table-reservations-v1-reservation-location.http.js +219 -0
  12. package/build/cjs/src/table-reservations-v1-reservation-location.http.js.map +1 -0
  13. package/build/cjs/src/table-reservations-v1-reservation-location.meta.d.ts +20 -0
  14. package/build/cjs/src/table-reservations-v1-reservation-location.meta.js +102 -0
  15. package/build/cjs/src/table-reservations-v1-reservation-location.meta.js.map +1 -0
  16. package/build/cjs/src/table-reservations-v1-reservation-location.public.d.ts +11 -0
  17. package/build/cjs/src/table-reservations-v1-reservation-location.public.js +41 -0
  18. package/build/cjs/src/table-reservations-v1-reservation-location.public.js.map +1 -0
  19. package/build/cjs/src/table-reservations-v1-reservation-location.types.d.ts +1465 -0
  20. package/build/cjs/src/table-reservations-v1-reservation-location.types.js +142 -0
  21. package/build/cjs/src/table-reservations-v1-reservation-location.types.js.map +1 -0
  22. package/build/cjs/src/table-reservations-v1-reservation-location.universal.d.ts +1455 -0
  23. package/build/cjs/src/table-reservations-v1-reservation-location.universal.js +488 -0
  24. package/build/cjs/src/table-reservations-v1-reservation-location.universal.js.map +1 -0
  25. package/build/cjs/src/table-reservations-v1-reservation.http.d.ts +36 -0
  26. package/build/cjs/src/table-reservations-v1-reservation.http.js +346 -0
  27. package/build/cjs/src/table-reservations-v1-reservation.http.js.map +1 -0
  28. package/build/cjs/src/table-reservations-v1-reservation.meta.d.ts +28 -0
  29. package/build/cjs/src/table-reservations-v1-reservation.meta.js +176 -0
  30. package/build/cjs/src/table-reservations-v1-reservation.meta.js.map +1 -0
  31. package/build/cjs/src/table-reservations-v1-reservation.public.d.ts +15 -0
  32. package/build/cjs/src/table-reservations-v1-reservation.public.js +61 -0
  33. package/build/cjs/src/table-reservations-v1-reservation.public.js.map +1 -0
  34. package/build/cjs/src/table-reservations-v1-reservation.types.d.ts +477 -0
  35. package/build/cjs/src/table-reservations-v1-reservation.types.js +58 -0
  36. package/build/cjs/src/table-reservations-v1-reservation.types.js.map +1 -0
  37. package/build/cjs/src/table-reservations-v1-reservation.universal.d.ts +699 -0
  38. package/build/cjs/src/table-reservations-v1-reservation.universal.js +607 -0
  39. package/build/cjs/src/table-reservations-v1-reservation.universal.js.map +1 -0
  40. package/build/es/index.d.ts +2 -0
  41. package/build/es/index.js +3 -0
  42. package/build/es/index.js.map +1 -0
  43. package/build/es/index.typings.d.ts +2 -0
  44. package/build/es/index.typings.js +3 -0
  45. package/build/es/index.typings.js.map +1 -0
  46. package/build/es/meta.d.ts +2 -0
  47. package/build/es/meta.js +3 -0
  48. package/build/es/meta.js.map +1 -0
  49. package/build/es/src/table-reservations-v1-reservation-location.http.d.ts +21 -0
  50. package/build/es/src/table-reservations-v1-reservation-location.http.js +212 -0
  51. package/build/es/src/table-reservations-v1-reservation-location.http.js.map +1 -0
  52. package/build/es/src/table-reservations-v1-reservation-location.meta.d.ts +20 -0
  53. package/build/es/src/table-reservations-v1-reservation-location.meta.js +76 -0
  54. package/build/es/src/table-reservations-v1-reservation-location.meta.js.map +1 -0
  55. package/build/es/src/table-reservations-v1-reservation-location.public.d.ts +11 -0
  56. package/build/es/src/table-reservations-v1-reservation-location.public.js +24 -0
  57. package/build/es/src/table-reservations-v1-reservation-location.public.js.map +1 -0
  58. package/build/es/src/table-reservations-v1-reservation-location.types.d.ts +1465 -0
  59. package/build/es/src/table-reservations-v1-reservation-location.types.js +139 -0
  60. package/build/es/src/table-reservations-v1-reservation-location.types.js.map +1 -0
  61. package/build/es/src/table-reservations-v1-reservation-location.universal.d.ts +1455 -0
  62. package/build/es/src/table-reservations-v1-reservation-location.universal.js +462 -0
  63. package/build/es/src/table-reservations-v1-reservation-location.universal.js.map +1 -0
  64. package/build/es/src/table-reservations-v1-reservation.http.d.ts +36 -0
  65. package/build/es/src/table-reservations-v1-reservation.http.js +335 -0
  66. package/build/es/src/table-reservations-v1-reservation.http.js.map +1 -0
  67. package/build/es/src/table-reservations-v1-reservation.meta.d.ts +28 -0
  68. package/build/es/src/table-reservations-v1-reservation.meta.js +146 -0
  69. package/build/es/src/table-reservations-v1-reservation.meta.js.map +1 -0
  70. package/build/es/src/table-reservations-v1-reservation.public.d.ts +15 -0
  71. package/build/es/src/table-reservations-v1-reservation.public.js +44 -0
  72. package/build/es/src/table-reservations-v1-reservation.public.js.map +1 -0
  73. package/build/es/src/table-reservations-v1-reservation.types.d.ts +477 -0
  74. package/build/es/src/table-reservations-v1-reservation.types.js +55 -0
  75. package/build/es/src/table-reservations-v1-reservation.types.js.map +1 -0
  76. package/build/es/src/table-reservations-v1-reservation.universal.d.ts +699 -0
  77. package/build/es/src/table-reservations-v1-reservation.universal.js +577 -0
  78. package/build/es/src/table-reservations-v1-reservation.universal.js.map +1 -0
  79. package/meta/package.json +6 -0
  80. package/package.json +38 -0
@@ -0,0 +1,1455 @@
1
+ export declare const __debug: {
2
+ verboseLogging: {
3
+ on: () => boolean;
4
+ off: () => boolean;
5
+ };
6
+ };
7
+ export interface ReservationLocation {
8
+ /**
9
+ * Reservation location ID.
10
+ * @readonly
11
+ */
12
+ _id?: string | null;
13
+ /** 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. */
14
+ revision?: string | null;
15
+ /**
16
+ * The date and time this reservation location was created.
17
+ * @readonly
18
+ */
19
+ _createdDate?: Date;
20
+ /**
21
+ * The date and time this reservation location was last updated.
22
+ * @readonly
23
+ */
24
+ _updatedDate?: Date;
25
+ /**
26
+ * Physical location details.
27
+ *
28
+ * This is a location object. Location objects can be created and configured using the [Locations API](https://dev.wix.com/docs/rest/api-reference/business-info/locations/introduction)
29
+ * 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 of a Wix site's dashboard.
30
+ * @readonly
31
+ */
32
+ location?: Location;
33
+ /** Reservation location configuration. */
34
+ configuration?: Configuration;
35
+ /**
36
+ * Whether this reservation location's `location` is the [default location](https://dev.wix.com/docs/rest/api-reference/business-info/locations/internal-introduction#default-location) of the business.
37
+ * @readonly
38
+ */
39
+ default?: boolean | null;
40
+ /**
41
+ * Whether this reservation location's `location` is archived.
42
+ * @readonly
43
+ */
44
+ archived?: boolean | null;
45
+ }
46
+ export interface StreetAddress {
47
+ /** Street number. */
48
+ number?: string;
49
+ /** Street name. */
50
+ name?: string;
51
+ /** Apartment number. */
52
+ apt?: string;
53
+ }
54
+ /** Address geolocation information. */
55
+ export interface AddressLocation {
56
+ /** Latitude of the location. Must be between -90 and 90. */
57
+ latitude?: number | null;
58
+ /** Longitude of the location. Must be between -180 and 180. */
59
+ longitude?: number | null;
60
+ }
61
+ export interface Address {
62
+ /** 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */
63
+ country?: string | null;
64
+ /** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. */
65
+ subdivision?: string | null;
66
+ /** City name. */
67
+ city?: string | null;
68
+ /** Postal or zip code. */
69
+ postalCode?: string | null;
70
+ /** Street address of the location. Includes street name, number, and apartment number in separate fields. */
71
+ streetAddress?: StreetAddress;
72
+ /** Full address of the location. */
73
+ formatted?: string | null;
74
+ /** Geographic coordinates of the location. */
75
+ location?: AddressLocation;
76
+ }
77
+ /**
78
+ * Time periods that this location is open for business. Includes a collection of TimePeriod instances.
79
+ * Aligned with https://developers.google.com/my-business/reference/rest/v4/accounts.locations#businesshours
80
+ * With a few minor adjustments
81
+ */
82
+ export interface BusinessSchedule {
83
+ periods?: TimePeriod[];
84
+ /** Exceptions to the business's regular hours. */
85
+ specialHourPeriod?: SpecialHourPeriod[];
86
+ }
87
+ /**
88
+ * A span of time that the business is open,
89
+ * starting on the specified open day/time and closing on the specified close day/time.
90
+ * Closing time must occur after the opening time, for example later in the same day, or on a subsequent day.
91
+ */
92
+ export interface TimePeriod {
93
+ /** Day of the week this period starts on. */
94
+ openDay?: DayOfWeek;
95
+ /**
96
+ * Time this period starts in 24hr ISO 8601 extended format (hh:mm). Valid values are 00:00-24:00, where 24:00 represents
97
+ * midnight at the end of the specified day field.
98
+ */
99
+ openTime?: string;
100
+ /** Day of the week this period ends on. */
101
+ closeDay?: DayOfWeek;
102
+ /**
103
+ * Time this period ends in 24hr ISO 8601 extended format (hh:mm). Valid values are 00:00-24:00, where 24:00 represents
104
+ * midnight at the end of the specified day field.
105
+ *
106
+ * This is the last time a reservation can be made at the restaurant, not the time the restaurant closes its doors.
107
+ */
108
+ closeTime?: string;
109
+ }
110
+ /** Enumerates the days of the week. */
111
+ export declare enum DayOfWeek {
112
+ MONDAY = "MONDAY",
113
+ TUESDAY = "TUESDAY",
114
+ WEDNESDAY = "WEDNESDAY",
115
+ THURSDAY = "THURSDAY",
116
+ FRIDAY = "FRIDAY",
117
+ SATURDAY = "SATURDAY",
118
+ SUNDAY = "SUNDAY"
119
+ }
120
+ /** Set of time periods when a location's operational hours differ from its normal business hours. */
121
+ export interface SpecialHourPeriod {
122
+ /** Start date and time in 24hr iso-8601 Coordinated universal time (UTC) */
123
+ startDate?: string;
124
+ /** Start date and time in 24hr iso-8601 Coordinated universal time (UTC) */
125
+ endDate?: string;
126
+ /** Whether or not the location is closed during this period. */
127
+ isClosed?: boolean;
128
+ /** Additional details about the period. */
129
+ comment?: string;
130
+ }
131
+ export interface TableDefinition {
132
+ /**
133
+ * Table ID.
134
+ * @readonly
135
+ */
136
+ _id?: string | null;
137
+ /** Table name. */
138
+ name?: string;
139
+ /** Min number of seats. */
140
+ seatsMin?: number;
141
+ /** Max number of seats. */
142
+ seatsMax?: number;
143
+ /** Whether the table is active (available to be reserved). */
144
+ isActive?: boolean | null;
145
+ }
146
+ export interface TableCombination {
147
+ /**
148
+ * Table combination ID.
149
+ * @readonly
150
+ */
151
+ _id?: string | null;
152
+ /** IDs of tables in the combination. */
153
+ tableIds?: string[] | null;
154
+ /** Min number of seats that can be reserved in this table combination. */
155
+ seatsMin?: number;
156
+ /** Max number of seats that can be reserved in this table combination. */
157
+ seatsMax?: number;
158
+ /** Whether the table combination is active (available to be reserved). */
159
+ isActive?: boolean | null;
160
+ }
161
+ export declare enum Unit {
162
+ UNKNOWN = "UNKNOWN",
163
+ MINUTES = "MINUTES",
164
+ HOURS = "HOURS",
165
+ DAYS = "DAYS"
166
+ }
167
+ /**
168
+ * Seat pacing.
169
+ * The maximum number of seats that can be filled by new reservations within a 15-minute period.
170
+ * 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.
171
+ */
172
+ export interface SeatPacing {
173
+ /** Max number of seats that can be reserved every 15 minutes. */
174
+ number?: number;
175
+ /** Whether this option is enabled. */
176
+ enabled?: boolean;
177
+ }
178
+ /**
179
+ * Party pacing.
180
+ * The maximum number of party reservations that can start within a 15-minute period.
181
+ * 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.
182
+ */
183
+ export interface PartyPacing {
184
+ /** Max number of new party reservations that can be made every 15 minutes. */
185
+ number?: number;
186
+ /** Whether this option is enabled. */
187
+ enabled?: boolean;
188
+ }
189
+ /** The party size limits for a single reservation. */
190
+ export interface PartiesSize {
191
+ /** Min number of seats a party can reserve. */
192
+ min?: number;
193
+ /** Max number of seats a party can reserve. */
194
+ max?: number;
195
+ }
196
+ /** The party size limits for a single reservation. */
197
+ export interface PartySize {
198
+ /** Min number of seats a party can reserve. */
199
+ min?: number;
200
+ /** Max number of seats a party can reserve. */
201
+ max?: number;
202
+ }
203
+ /**
204
+ * Reservation notice period.
205
+ *
206
+ * The period of time between making a reservation and that reservation's start time. Reservations cannot be made after the start of this period.
207
+ */
208
+ export interface NoticePeriod {
209
+ /** The quantity of the chosen time unit. */
210
+ number?: number;
211
+ /** Time unit. */
212
+ unit?: Unit;
213
+ }
214
+ /** Turnover time rule. A turnover time is defined per party size range. */
215
+ export interface TurnoverTimeRule {
216
+ /** Min number of seats to qualify for this rule. */
217
+ seatsMin?: number;
218
+ /** Max number of seats to qualify for this rule. */
219
+ seatsMax?: number;
220
+ /** Turnover time in minutes for qualifying parties. */
221
+ minutes?: number;
222
+ }
223
+ /** Turnover rule. A turnover time is defined per party size range. */
224
+ export interface TurnoverRule {
225
+ /** Min number of seats to qualify for this rule. */
226
+ minSeats?: number;
227
+ /** Max number of seats to qualify for this rule. */
228
+ maxSeats?: number;
229
+ /** Turnover time in minutes for qualifying parties. */
230
+ minutes?: number;
231
+ }
232
+ /** Manual approval settings. */
233
+ export interface ManualApproval extends ManualApprovalValueOneOf {
234
+ /** The minimum party size that requires manual approval. */
235
+ partySizeThreshold?: number;
236
+ /** Whether manual approval requirements are shown to the customer. */
237
+ enabled?: boolean;
238
+ }
239
+ /** @oneof */
240
+ export interface ManualApprovalValueOneOf {
241
+ /** The minimum party size that requires manual approval. */
242
+ partySizeThreshold?: number;
243
+ }
244
+ /** Type of the field. */
245
+ export declare enum FieldType {
246
+ UNKNOWN = "UNKNOWN",
247
+ TABLE = "TABLE",
248
+ START_DATE = "START_DATE",
249
+ END_DATE = "END_DATE",
250
+ CREATED_DATE = "CREATED_DATE",
251
+ UPDATED_DATE = "UPDATED_DATE",
252
+ PARTY_SIZE = "PARTY_SIZE",
253
+ FIRST_NAME = "FIRST_NAME",
254
+ LAST_NAME = "LAST_NAME",
255
+ EMAIL = "EMAIL",
256
+ PHONE = "PHONE",
257
+ ADDITIONAL_INFO = "ADDITIONAL_INFO",
258
+ TEAM_MESSAGE = "TEAM_MESSAGE",
259
+ CUSTOM_FIELD = "CUSTOM_FIELD",
260
+ STATUS = "STATUS"
261
+ }
262
+ /** Terms and conditions. */
263
+ export interface TermsAndConditions extends TermsAndConditionsValueOneOf {
264
+ /** Terms and conditions URL. */
265
+ url?: string;
266
+ /** Terms and conditions text. */
267
+ text?: string | null;
268
+ /**
269
+ * Whether the terms and conditions are shown to the customer.
270
+ *
271
+ * Default: `false`
272
+ */
273
+ enabled?: boolean;
274
+ }
275
+ /** @oneof */
276
+ export interface TermsAndConditionsValueOneOf {
277
+ /** Terms and conditions URL. */
278
+ url?: string;
279
+ /** Terms and conditions text. */
280
+ text?: string | null;
281
+ }
282
+ /** Privacy policy. */
283
+ export interface PrivacyPolicy extends PrivacyPolicyValueOneOf {
284
+ /** Privacy policy URL. */
285
+ url?: string;
286
+ /** Privacy policy text. */
287
+ text?: string | null;
288
+ /**
289
+ * Whether the privacy policy is shown to the customer.
290
+ *
291
+ * Default: `false`
292
+ */
293
+ enabled?: boolean;
294
+ }
295
+ /** @oneof */
296
+ export interface PrivacyPolicyValueOneOf {
297
+ /** Privacy policy URL. */
298
+ url?: string;
299
+ /** Privacy policy text. */
300
+ text?: string | null;
301
+ }
302
+ /** Custom field definition. Definitions of the fields that are added to the reservation form. */
303
+ export interface CustomFieldDefinition {
304
+ /**
305
+ * Custom field ID.
306
+ * @readonly
307
+ */
308
+ _id?: string | null;
309
+ /** Custom field name. */
310
+ name?: string;
311
+ /**
312
+ * Whether the custom field is required.
313
+ *
314
+ * Default: `false`
315
+ */
316
+ required?: boolean;
317
+ }
318
+ /** Email marketing checkbox. */
319
+ export interface EmailMarketingCheckbox {
320
+ /**
321
+ * Whether the checkbox is shown to the customer.
322
+ *
323
+ * Default: `false`
324
+ */
325
+ enabled?: boolean;
326
+ /**
327
+ * Whether the checkbox is checked by default.
328
+ *
329
+ * Default: `false`
330
+ */
331
+ checkedByDefault?: boolean;
332
+ }
333
+ export interface OnlineReservations {
334
+ /**
335
+ * Seat pacing settings.
336
+ *
337
+ * The maximum number of seats that can be filled by new reservations within a 15-minute period.
338
+ * 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.
339
+ */
340
+ seatPacing?: SeatPacing;
341
+ /**
342
+ * Party pacing settings.
343
+ *
344
+ * The maximum number of party reservations that can start within a 15-minute period.
345
+ * 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.
346
+ */
347
+ partyPacing?: PartyPacing;
348
+ /** Party size limits for a reservation. */
349
+ partySize?: PartySize;
350
+ /**
351
+ * Minimum reservation notice.
352
+ *
353
+ * The minimum amount of time that must be allowed between making a reservation and that reservation's start time.
354
+ */
355
+ minimumReservationNotice?: NoticePeriod;
356
+ /**
357
+ * Default time in minutes for party turnover.
358
+ *
359
+ * Party turnover is how much time a party is allotted for their entire reservation - from being seated to leaving the restaurant.
360
+ */
361
+ defaultTurnoverTime?: number | null;
362
+ /**
363
+ * Custom turnover time rules.
364
+ *
365
+ * This allows you to set different turnover times for different party sizes.
366
+ */
367
+ turnoverTimeRules?: TurnoverTimeRule[];
368
+ /**
369
+ * The location's business schedule.
370
+ * A business schedule is an operational timetable of the business. It is represented by an array of weekly recurring time periods when the location is open for business. The business schedule is limited to 100 time periods.
371
+ *
372
+ * By default, the business schedule of a reservation location will use the values of its location's business schedule. However, after the first time a reservation location's business schedule has been modified, it will store and use its own values and no longer mirror its location's business schedule.
373
+ */
374
+ businessSchedule?: BusinessSchedule;
375
+ /** Whether a phone number is shown. */
376
+ showPhoneNumber?: boolean | null;
377
+ /** Whether online reservations are enabled. */
378
+ onlineReservationsEnabled?: boolean | null;
379
+ /** Manual approval settings. */
380
+ manualApproval?: ManualApproval;
381
+ }
382
+ /** Reservation form settings. */
383
+ export interface ReservationForm {
384
+ /** A message that will be shown to the customer in the registration form. */
385
+ submitMessage?: string | null;
386
+ /** Whether to show policies (the terms and conditions, and the privacy policy) to the customer. */
387
+ policiesEnabled?: boolean | null;
388
+ /** Settings for displaying the terms and conditions. */
389
+ termsAndConditions?: TermsAndConditions;
390
+ /** Settings for displaying the privacy policy. */
391
+ privacyPolicy?: PrivacyPolicy;
392
+ /** Custom fields you wish to add to the registration form for the customer to fill in. */
393
+ customFieldDefinitions?: CustomFieldDefinition[];
394
+ /**
395
+ * Whether a last_name is required in the reservation form.
396
+ *
397
+ * Default: `false`
398
+ */
399
+ lastNameRequired?: boolean | null;
400
+ /**
401
+ * Whether an email is required in the reservation form.
402
+ *
403
+ * Default: `false`
404
+ */
405
+ emailRequired?: boolean | null;
406
+ /** Email marketing checkbox settings. */
407
+ emailMarketingCheckbox?: EmailMarketingCheckbox;
408
+ }
409
+ /** My reservations field definition. */
410
+ export interface MyReservationsField {
411
+ /** Field type. */
412
+ fieldType?: FieldType;
413
+ /**
414
+ * Custom field ID.
415
+ *
416
+ * 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`.
417
+ * @readonly
418
+ */
419
+ customFieldId?: string | null;
420
+ /** Whether the field is shown. */
421
+ shown?: boolean;
422
+ }
423
+ export interface TableManagement {
424
+ /** Table definitions. */
425
+ tableDefinitions?: TableDefinition[];
426
+ /** Deleted table definitions. */
427
+ deletedTableDefinitions?: TableDefinition[];
428
+ /** Table combinations. */
429
+ tableCombinations?: TableCombination[];
430
+ }
431
+ export interface Location {
432
+ /**
433
+ * Location ID.
434
+ * @readonly
435
+ */
436
+ _id?: string | null;
437
+ }
438
+ export interface Configuration {
439
+ /** Settings for this location that are used to determine restaurant availability for reservations made online. */
440
+ onlineReservations?: OnlineReservations;
441
+ /** Reservation form settings. */
442
+ reservationForm?: ReservationForm;
443
+ /**
444
+ * "My reservations" field details.
445
+ *
446
+ * These are the fields that appear in the "My reservations" section of the Table Reservations page on the restaurant's Wix site dashboard.
447
+ */
448
+ myReservationsFields?: MyReservationsField[];
449
+ /** Table management settings. */
450
+ tableManagement?: TableManagement;
451
+ }
452
+ export interface InvalidateCache extends InvalidateCacheGetByOneOf {
453
+ /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */
454
+ metaSiteId?: string;
455
+ /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */
456
+ siteId?: string;
457
+ /** Invalidate by App */
458
+ app?: App;
459
+ /** Invalidate by page id */
460
+ page?: Page;
461
+ /** Invalidate by URI path */
462
+ uri?: URI;
463
+ /** tell us why you're invalidating the cache. You don't need to add your app name */
464
+ reason?: string | null;
465
+ /** Is local DS */
466
+ localDc?: boolean;
467
+ }
468
+ /** @oneof */
469
+ export interface InvalidateCacheGetByOneOf {
470
+ /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */
471
+ metaSiteId?: string;
472
+ /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */
473
+ siteId?: string;
474
+ /** Invalidate by App */
475
+ app?: App;
476
+ /** Invalidate by page id */
477
+ page?: Page;
478
+ /** Invalidate by URI path */
479
+ uri?: URI;
480
+ }
481
+ export interface App {
482
+ /** The AppDefId */
483
+ appDefId?: string;
484
+ /** The instance Id */
485
+ instanceId?: string;
486
+ }
487
+ export interface Page {
488
+ /** the msid the page is on */
489
+ metaSiteId?: string;
490
+ /** Invalidate by Page ID */
491
+ pageId?: string;
492
+ }
493
+ export interface URI {
494
+ /** the msid the URI is on */
495
+ metaSiteId?: string;
496
+ /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */
497
+ uriPath?: string;
498
+ }
499
+ export interface GetReservationLocationRequest {
500
+ /** ID of the ReservationLocation to retrieve. */
501
+ reservationLocationId: string;
502
+ /**
503
+ * Array of named, predefined sets of projected fields to be returned.
504
+ *
505
+ * Supported values: `PUBLIC`, `FULL`.
506
+ */
507
+ fieldsets?: Set[];
508
+ }
509
+ export declare enum Set {
510
+ PUBLIC = "PUBLIC",
511
+ FULL = "FULL"
512
+ }
513
+ export interface GetReservationLocationResponse {
514
+ /** The retrieved reservation location. */
515
+ reservationLocation?: ReservationLocation;
516
+ }
517
+ export interface UpdateReservationLocationRequest {
518
+ /** ReservationLocation to be updated, may be partial. */
519
+ reservationLocation: ReservationLocation;
520
+ }
521
+ export interface UpdateReservationLocationResponse {
522
+ /** The updated reservation location. */
523
+ reservationLocation?: ReservationLocation;
524
+ }
525
+ export interface TablesDeleted {
526
+ /** ID of the affected reservation location. */
527
+ reservationLocationId?: string;
528
+ /** IDs of deleted tables. */
529
+ tableIds?: string[];
530
+ }
531
+ export interface QueryReservationLocationsRequest {
532
+ /** Query options. */
533
+ query: QueryV2;
534
+ /**
535
+ * Array of named, predefined sets of projected fields to be returned.
536
+ *
537
+ * Supported values: `PUBLIC`, `FULL`.
538
+ */
539
+ fieldsets?: Set[];
540
+ }
541
+ export interface QueryV2 extends QueryV2PagingMethodOneOf {
542
+ /** Paging options to limit and skip the number of items. */
543
+ paging?: Paging;
544
+ /** 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`. */
545
+ cursorPaging?: CursorPaging;
546
+ /**
547
+ * Filter object in the following format:
548
+ * `"filter" : {
549
+ * "fieldName1": "value1",
550
+ * "fieldName2":{"$operator":"value2"}
551
+ * }`
552
+ * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`
553
+ */
554
+ filter?: Record<string, any> | null;
555
+ /**
556
+ * Sort object in the following format:
557
+ * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`
558
+ */
559
+ sort?: Sorting[];
560
+ }
561
+ /** @oneof */
562
+ export interface QueryV2PagingMethodOneOf {
563
+ /** Paging options to limit and skip the number of items. */
564
+ paging?: Paging;
565
+ /** 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`. */
566
+ cursorPaging?: CursorPaging;
567
+ }
568
+ export interface Sorting {
569
+ /** Name of the field to sort by. */
570
+ fieldName?: string;
571
+ /**
572
+ * Sort order.
573
+ *
574
+ * Use `ASC` for ascending order or `DESC` for descending order. Defaults to `ASC`.
575
+ */
576
+ order?: SortOrder;
577
+ }
578
+ export declare enum SortOrder {
579
+ ASC = "ASC",
580
+ DESC = "DESC"
581
+ }
582
+ export interface Paging {
583
+ /** Number of items to load. */
584
+ limit?: number | null;
585
+ /** Number of items to skip in the current sort order. */
586
+ offset?: number | null;
587
+ }
588
+ export interface CursorPaging {
589
+ /** Number of items to load. */
590
+ limit?: number | null;
591
+ /**
592
+ * Pointer to the next or previous page in the list of results.
593
+ *
594
+ * You can get the relevant cursor token
595
+ * from the `pagingMetadata` object in the previous call's response.
596
+ * Not relevant for the first request.
597
+ */
598
+ cursor?: string | null;
599
+ }
600
+ export interface QueryReservationLocationsResponse {
601
+ /** List of reservation locations */
602
+ reservationLocations?: ReservationLocation[];
603
+ /** Metadata for the paginated results. */
604
+ pagingMetadata?: PagingMetadataV2;
605
+ }
606
+ export interface PagingMetadataV2 {
607
+ /** Offset that was requested. */
608
+ offset?: number | null;
609
+ /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */
610
+ cursors?: Cursors;
611
+ }
612
+ export interface Cursors {
613
+ /** Cursor pointing to next page in the list of results. */
614
+ next?: string | null;
615
+ /** Cursor pointing to previous page in the list of results. */
616
+ prev?: string | null;
617
+ }
618
+ export interface ListReservationLocationsRequest {
619
+ /** 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`. */
620
+ paging?: CursorPaging;
621
+ /** Sorting for the locations list. */
622
+ sort?: Sorting;
623
+ /**
624
+ * Array of named, predefined sets of projected fields to be returned.
625
+ *
626
+ * Supported values: `PUBLIC`, `FULL`.
627
+ */
628
+ fieldsets?: Set[];
629
+ }
630
+ export interface ListReservationLocationsResponse {
631
+ /** Locations list. */
632
+ reservationLocations?: ReservationLocation[];
633
+ /** Metadata for the paginated results. */
634
+ pagingMetadata?: CursorPagingMetadata;
635
+ }
636
+ export interface CursorPagingMetadata {
637
+ /** Number of items returned in the response. */
638
+ count?: number | null;
639
+ /** Offset that was requested. */
640
+ cursors?: Cursors;
641
+ /**
642
+ * Indicates if there are more results after the current page.
643
+ * If `true`, another page of results can be retrieved.
644
+ * If `false`, this is the last page.
645
+ */
646
+ hasNext?: boolean | null;
647
+ }
648
+ export interface DeleteOrphanReservationLocationRequest {
649
+ /** Id of the ReservationLocation. */
650
+ reservationLocationId?: string;
651
+ }
652
+ export interface DeleteOrphanReservationLocationResponse {
653
+ }
654
+ export interface MigrateOldRestaurantSettingsRequest {
655
+ /** Mode. */
656
+ mode?: Mode;
657
+ /** Override not default. */
658
+ overrideNotDefault?: boolean;
659
+ }
660
+ export declare enum Mode {
661
+ /** DRY RUN. */
662
+ UNDEFINED = "UNDEFINED",
663
+ DRY_RUN = "DRY_RUN",
664
+ MIGRATE = "MIGRATE",
665
+ FORCE_MIGRATE = "FORCE_MIGRATE"
666
+ }
667
+ export interface MigrateOldRestaurantSettingsResponse {
668
+ /** Migration results. */
669
+ migrationResults?: MigrationResult[];
670
+ }
671
+ export interface ParsedSettings {
672
+ futureDelayMins?: number | null;
673
+ partySizeMin?: number | null;
674
+ partySizeMax?: number | null;
675
+ weeklySchedule?: OldScheduleInterval[];
676
+ customFields?: OldCustomField[];
677
+ }
678
+ export interface OldScheduleInterval {
679
+ durationMins?: number;
680
+ minuteOfWeek?: number;
681
+ }
682
+ export interface OldCustomField {
683
+ label?: string;
684
+ required?: boolean;
685
+ }
686
+ export interface MigrationParsingError {
687
+ /** Field. */
688
+ path?: string;
689
+ /** Message. */
690
+ message?: string;
691
+ /** Target. */
692
+ target?: Record<string, any> | null;
693
+ }
694
+ export interface MigrationResult {
695
+ /** The migrated ReservationLocation. */
696
+ reservationLocation?: ReservationLocation;
697
+ /** Old settings. */
698
+ oldSettings?: Record<string, any> | null;
699
+ /** Parsed settings. */
700
+ parsedSettings?: ParsedSettings;
701
+ /** Migration parsing errors. */
702
+ migrationParsingErrors?: MigrationParsingError[];
703
+ }
704
+ export interface CheckReservationLocationsCreatedRequest {
705
+ }
706
+ export interface CheckReservationLocationsCreatedResponse {
707
+ /** Reservation locations created. */
708
+ created?: boolean;
709
+ }
710
+ export interface DomainEvent extends DomainEventBodyOneOf {
711
+ createdEvent?: EntityCreatedEvent;
712
+ updatedEvent?: EntityUpdatedEvent;
713
+ deletedEvent?: EntityDeletedEvent;
714
+ actionEvent?: ActionEvent;
715
+ /**
716
+ * Unique event ID.
717
+ * Allows clients to ignore duplicate webhooks.
718
+ */
719
+ _id?: string;
720
+ /**
721
+ * Assumes actions are also always typed to an entity_type
722
+ * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction
723
+ */
724
+ entityFqdn?: string;
725
+ /**
726
+ * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)
727
+ * This is although the created/updated/deleted notion is duplication of the oneof types
728
+ * Example: created/updated/deleted/started/completed/email_opened
729
+ */
730
+ slug?: string;
731
+ /** ID of the entity associated with the event. */
732
+ entityId?: string;
733
+ /** Event timestamp. */
734
+ eventTime?: Date;
735
+ /**
736
+ * Whether the event was triggered as a result of a privacy regulation application
737
+ * (for example, GDPR).
738
+ */
739
+ triggeredByAnonymizeRequest?: boolean | null;
740
+ /** If present, indicates the action that triggered the event. */
741
+ originatedFrom?: string | null;
742
+ /**
743
+ * A sequence number defining the order of updates to the underlying entity.
744
+ * For example, given that some entity was updated at 16:00 and than again at 16:01,
745
+ * it is guaranteed that the sequence number of the second update is strictly higher than the first.
746
+ * As the consumer, you can use this value to ensure that you handle messages in the correct order.
747
+ * To do so, you will need to persist this number on your end, and compare the sequence number from the
748
+ * message against the one you have stored. Given that the stored number is higher, you should ignore the message.
749
+ */
750
+ entityEventSequence?: string | null;
751
+ }
752
+ /** @oneof */
753
+ export interface DomainEventBodyOneOf {
754
+ createdEvent?: EntityCreatedEvent;
755
+ updatedEvent?: EntityUpdatedEvent;
756
+ deletedEvent?: EntityDeletedEvent;
757
+ actionEvent?: ActionEvent;
758
+ }
759
+ export interface EntityCreatedEvent {
760
+ entityAsJson?: string;
761
+ }
762
+ export interface EntityUpdatedEvent {
763
+ /**
764
+ * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
765
+ * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
766
+ * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
767
+ */
768
+ currentEntityAsJson?: string;
769
+ }
770
+ export interface EntityDeletedEvent {
771
+ }
772
+ export interface ActionEvent {
773
+ bodyAsJson?: string;
774
+ }
775
+ export interface Empty {
776
+ }
777
+ export interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {
778
+ siteCreated?: SiteCreated;
779
+ siteTransferred?: SiteTransferred;
780
+ siteDeleted?: SiteDeleted;
781
+ siteUndeleted?: SiteUndeleted;
782
+ sitePublished?: SitePublished;
783
+ siteUnpublished?: SiteUnpublished;
784
+ siteMarkedAsTemplate?: SiteMarkedAsTemplate;
785
+ siteMarkedAsWixSite?: SiteMarkedAsWixSite;
786
+ serviceProvisioned?: ServiceProvisioned;
787
+ serviceRemoved?: ServiceRemoved;
788
+ siteRenamedPayload?: SiteRenamed;
789
+ hardDeleted?: SiteHardDeleted;
790
+ namespaceChanged?: NamespaceChanged;
791
+ studioAssigned?: StudioAssigned;
792
+ studioUnassigned?: StudioUnassigned;
793
+ metaSiteId?: string;
794
+ version?: string;
795
+ timestamp?: string;
796
+ assets?: Asset[];
797
+ }
798
+ /** @oneof */
799
+ export interface MetaSiteSpecialEventPayloadOneOf {
800
+ siteCreated?: SiteCreated;
801
+ siteTransferred?: SiteTransferred;
802
+ siteDeleted?: SiteDeleted;
803
+ siteUndeleted?: SiteUndeleted;
804
+ sitePublished?: SitePublished;
805
+ siteUnpublished?: SiteUnpublished;
806
+ siteMarkedAsTemplate?: SiteMarkedAsTemplate;
807
+ siteMarkedAsWixSite?: SiteMarkedAsWixSite;
808
+ serviceProvisioned?: ServiceProvisioned;
809
+ serviceRemoved?: ServiceRemoved;
810
+ siteRenamedPayload?: SiteRenamed;
811
+ hardDeleted?: SiteHardDeleted;
812
+ namespaceChanged?: NamespaceChanged;
813
+ studioAssigned?: StudioAssigned;
814
+ studioUnassigned?: StudioUnassigned;
815
+ }
816
+ export interface Asset {
817
+ appDefId?: string;
818
+ instanceId?: string;
819
+ state?: State;
820
+ }
821
+ export declare enum State {
822
+ UNKNOWN = "UNKNOWN",
823
+ ENABLED = "ENABLED",
824
+ DISABLED = "DISABLED",
825
+ PENDING = "PENDING",
826
+ DEMO = "DEMO"
827
+ }
828
+ export interface SiteCreated {
829
+ originTemplateId?: string;
830
+ ownerId?: string;
831
+ context?: SiteCreatedContext;
832
+ /**
833
+ * A meta site id from which this site was created.
834
+ *
835
+ * In case of a creation from a template it's a template id.
836
+ * In case of a site duplication ("Save As" in dashboard or duplicate in UM) it's an id of a source site.
837
+ */
838
+ originMetaSiteId?: string | null;
839
+ siteName?: string;
840
+ namespace?: Namespace;
841
+ }
842
+ export declare enum SiteCreatedContext {
843
+ /** A valid option, we don't expose all reasons why site might be created. */
844
+ OTHER = "OTHER",
845
+ /** A meta site was created from template. */
846
+ FROM_TEMPLATE = "FROM_TEMPLATE",
847
+ /** A meta site was created by copying of the transfferred meta site. */
848
+ DUPLICATE_BY_SITE_TRANSFER = "DUPLICATE_BY_SITE_TRANSFER",
849
+ /** A copy of existing meta site. */
850
+ DUPLICATE = "DUPLICATE",
851
+ /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */
852
+ OLD_SITE_TRANSFER = "OLD_SITE_TRANSFER",
853
+ /** deprecated A meta site was created for Flash editor. */
854
+ FLASH = "FLASH"
855
+ }
856
+ export declare enum Namespace {
857
+ UNKNOWN_NAMESPACE = "UNKNOWN_NAMESPACE",
858
+ /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */
859
+ WIX = "WIX",
860
+ /** 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. */
861
+ SHOUT_OUT = "SHOUT_OUT",
862
+ /** 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. */
863
+ ALBUMS = "ALBUMS",
864
+ /** 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. */
865
+ WIX_STORES_TEST_DRIVE = "WIX_STORES_TEST_DRIVE",
866
+ /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */
867
+ HOTELS = "HOTELS",
868
+ /** 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. */
869
+ CLUBS = "CLUBS",
870
+ /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */
871
+ ONBOARDING_DRAFT = "ONBOARDING_DRAFT",
872
+ /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */
873
+ DEV_SITE = "DEV_SITE",
874
+ /** 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. */
875
+ LOGOS = "LOGOS",
876
+ /** 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. */
877
+ VIDEO_MAKER = "VIDEO_MAKER",
878
+ /** MetaSites with this namespace will *not* be shown in a user's site list by default. */
879
+ PARTNER_DASHBOARD = "PARTNER_DASHBOARD",
880
+ /** MetaSites with this namespace will *not* be shown in a user's site list by default. */
881
+ DEV_CENTER_COMPANY = "DEV_CENTER_COMPANY",
882
+ /**
883
+ * A draft created by HTML editor on open. Upon "first save" it will be moved to be of WIX domain.
884
+ *
885
+ * Meta site with this namespace will *not* be shown in a user's site list by default.
886
+ */
887
+ HTML_DRAFT = "HTML_DRAFT",
888
+ /**
889
+ * the user-journey for Fitness users who want to start from managing their business instead of designing their website.
890
+ * Will be accessible from Site List and will not have a website app.
891
+ * Once the user attaches a site, the site will become a regular wixsite.
892
+ */
893
+ SITELESS_BUSINESS = "SITELESS_BUSINESS",
894
+ /** Belongs to "strategic products" company. Supports new product in the creator's economy space. */
895
+ CREATOR_ECONOMY = "CREATOR_ECONOMY",
896
+ /** It is to be used in the Business First efforts. */
897
+ DASHBOARD_FIRST = "DASHBOARD_FIRST",
898
+ /** Bookings business flow with no site. */
899
+ ANYWHERE = "ANYWHERE",
900
+ /** Namespace for Headless Backoffice with no editor */
901
+ HEADLESS = "HEADLESS",
902
+ /**
903
+ * Namespace for master site that will exist in parent account that will be referenced by subaccounts
904
+ * The site will be used for account level CSM feature for enterprise
905
+ */
906
+ ACCOUNT_MASTER_CMS = "ACCOUNT_MASTER_CMS"
907
+ }
908
+ /** Site transferred to another user. */
909
+ export interface SiteTransferred {
910
+ /** A previous owner id (user that transfers meta site). */
911
+ oldOwnerId?: string;
912
+ /** A new owner id (user that accepts meta site). */
913
+ newOwnerId?: string;
914
+ }
915
+ /** Soft deletion of the meta site. Could be restored. */
916
+ export interface SiteDeleted {
917
+ deleteContext?: DeleteContext;
918
+ }
919
+ export interface DeleteContext {
920
+ dateDeleted?: Date;
921
+ deleteStatus?: DeleteStatus;
922
+ deleteOrigin?: string;
923
+ initiatorId?: string | null;
924
+ }
925
+ export declare enum DeleteStatus {
926
+ UNKNOWN = "UNKNOWN",
927
+ TRASH = "TRASH",
928
+ DELETED = "DELETED",
929
+ PENDING_PURGE = "PENDING_PURGE"
930
+ }
931
+ /** Restoration of the meta site. */
932
+ export interface SiteUndeleted {
933
+ }
934
+ /** First publish of a meta site. Or subsequent publish after unpublish. */
935
+ export interface SitePublished {
936
+ }
937
+ export interface SiteUnpublished {
938
+ urls?: string[];
939
+ }
940
+ export interface SiteMarkedAsTemplate {
941
+ }
942
+ export interface SiteMarkedAsWixSite {
943
+ }
944
+ export interface ServiceProvisioned {
945
+ /** Either UUID or EmbeddedServiceType. */
946
+ appDefId?: string;
947
+ /** Not only UUID. Something here could be something weird. */
948
+ instanceId?: string;
949
+ originInstanceId?: string;
950
+ version?: string | null;
951
+ }
952
+ export interface ServiceRemoved {
953
+ appDefId?: string;
954
+ instanceId?: string;
955
+ version?: string | null;
956
+ }
957
+ /** Rename of the site. Meaning, free public url has been changed as well. */
958
+ export interface SiteRenamed {
959
+ newSiteName?: string;
960
+ oldSiteName?: string;
961
+ }
962
+ /**
963
+ * Hard deletion of the meta site.
964
+ *
965
+ * Could not be restored. Therefore it's desirable to cleanup data.
966
+ */
967
+ export interface SiteHardDeleted {
968
+ deleteContext?: DeleteContext;
969
+ }
970
+ export interface NamespaceChanged {
971
+ oldNamespace?: Namespace;
972
+ newNamespace?: Namespace;
973
+ }
974
+ /** Assigned Studio editor */
975
+ export interface StudioAssigned {
976
+ }
977
+ /** Unassigned Studio editor */
978
+ export interface StudioUnassigned {
979
+ }
980
+ export interface GetReservationLocationResponseNonNullableFields {
981
+ reservationLocation?: {
982
+ configuration?: {
983
+ onlineReservations?: {
984
+ seatPacing?: {
985
+ number: number;
986
+ enabled: boolean;
987
+ };
988
+ partyPacing?: {
989
+ number: number;
990
+ enabled: boolean;
991
+ };
992
+ partySize?: {
993
+ min: number;
994
+ max: number;
995
+ };
996
+ minimumReservationNotice?: {
997
+ number: number;
998
+ unit: Unit;
999
+ };
1000
+ turnoverTimeRules: {
1001
+ seatsMin: number;
1002
+ seatsMax: number;
1003
+ minutes: number;
1004
+ }[];
1005
+ businessSchedule?: {
1006
+ periods: {
1007
+ openDay: DayOfWeek;
1008
+ openTime: string;
1009
+ closeDay: DayOfWeek;
1010
+ closeTime: string;
1011
+ }[];
1012
+ specialHourPeriod: {
1013
+ startDate: string;
1014
+ endDate: string;
1015
+ isClosed: boolean;
1016
+ comment: string;
1017
+ }[];
1018
+ };
1019
+ manualApproval?: {
1020
+ partySizeThreshold: number;
1021
+ enabled: boolean;
1022
+ };
1023
+ };
1024
+ reservationForm?: {
1025
+ termsAndConditions?: {
1026
+ url: string;
1027
+ enabled: boolean;
1028
+ };
1029
+ privacyPolicy?: {
1030
+ url: string;
1031
+ enabled: boolean;
1032
+ };
1033
+ customFieldDefinitions: {
1034
+ name: string;
1035
+ required: boolean;
1036
+ }[];
1037
+ emailMarketingCheckbox?: {
1038
+ enabled: boolean;
1039
+ checkedByDefault: boolean;
1040
+ };
1041
+ };
1042
+ myReservationsFields: {
1043
+ fieldType: FieldType;
1044
+ shown: boolean;
1045
+ }[];
1046
+ tableManagement?: {
1047
+ tableDefinitions: {
1048
+ name: string;
1049
+ seatsMin: number;
1050
+ seatsMax: number;
1051
+ }[];
1052
+ deletedTableDefinitions: {
1053
+ name: string;
1054
+ seatsMin: number;
1055
+ seatsMax: number;
1056
+ }[];
1057
+ tableCombinations: {
1058
+ seatsMin: number;
1059
+ seatsMax: number;
1060
+ }[];
1061
+ };
1062
+ };
1063
+ };
1064
+ }
1065
+ export interface UpdateReservationLocationResponseNonNullableFields {
1066
+ reservationLocation?: {
1067
+ configuration?: {
1068
+ onlineReservations?: {
1069
+ seatPacing?: {
1070
+ number: number;
1071
+ enabled: boolean;
1072
+ };
1073
+ partyPacing?: {
1074
+ number: number;
1075
+ enabled: boolean;
1076
+ };
1077
+ partySize?: {
1078
+ min: number;
1079
+ max: number;
1080
+ };
1081
+ minimumReservationNotice?: {
1082
+ number: number;
1083
+ unit: Unit;
1084
+ };
1085
+ turnoverTimeRules: {
1086
+ seatsMin: number;
1087
+ seatsMax: number;
1088
+ minutes: number;
1089
+ }[];
1090
+ businessSchedule?: {
1091
+ periods: {
1092
+ openDay: DayOfWeek;
1093
+ openTime: string;
1094
+ closeDay: DayOfWeek;
1095
+ closeTime: string;
1096
+ }[];
1097
+ specialHourPeriod: {
1098
+ startDate: string;
1099
+ endDate: string;
1100
+ isClosed: boolean;
1101
+ comment: string;
1102
+ }[];
1103
+ };
1104
+ manualApproval?: {
1105
+ partySizeThreshold: number;
1106
+ enabled: boolean;
1107
+ };
1108
+ };
1109
+ reservationForm?: {
1110
+ termsAndConditions?: {
1111
+ url: string;
1112
+ enabled: boolean;
1113
+ };
1114
+ privacyPolicy?: {
1115
+ url: string;
1116
+ enabled: boolean;
1117
+ };
1118
+ customFieldDefinitions: {
1119
+ name: string;
1120
+ required: boolean;
1121
+ }[];
1122
+ emailMarketingCheckbox?: {
1123
+ enabled: boolean;
1124
+ checkedByDefault: boolean;
1125
+ };
1126
+ };
1127
+ myReservationsFields: {
1128
+ fieldType: FieldType;
1129
+ shown: boolean;
1130
+ }[];
1131
+ tableManagement?: {
1132
+ tableDefinitions: {
1133
+ name: string;
1134
+ seatsMin: number;
1135
+ seatsMax: number;
1136
+ }[];
1137
+ deletedTableDefinitions: {
1138
+ name: string;
1139
+ seatsMin: number;
1140
+ seatsMax: number;
1141
+ }[];
1142
+ tableCombinations: {
1143
+ seatsMin: number;
1144
+ seatsMax: number;
1145
+ }[];
1146
+ };
1147
+ };
1148
+ };
1149
+ }
1150
+ export interface QueryReservationLocationsResponseNonNullableFields {
1151
+ reservationLocations: {
1152
+ configuration?: {
1153
+ onlineReservations?: {
1154
+ seatPacing?: {
1155
+ number: number;
1156
+ enabled: boolean;
1157
+ };
1158
+ partyPacing?: {
1159
+ number: number;
1160
+ enabled: boolean;
1161
+ };
1162
+ partySize?: {
1163
+ min: number;
1164
+ max: number;
1165
+ };
1166
+ minimumReservationNotice?: {
1167
+ number: number;
1168
+ unit: Unit;
1169
+ };
1170
+ turnoverTimeRules: {
1171
+ seatsMin: number;
1172
+ seatsMax: number;
1173
+ minutes: number;
1174
+ }[];
1175
+ businessSchedule?: {
1176
+ periods: {
1177
+ openDay: DayOfWeek;
1178
+ openTime: string;
1179
+ closeDay: DayOfWeek;
1180
+ closeTime: string;
1181
+ }[];
1182
+ specialHourPeriod: {
1183
+ startDate: string;
1184
+ endDate: string;
1185
+ isClosed: boolean;
1186
+ comment: string;
1187
+ }[];
1188
+ };
1189
+ manualApproval?: {
1190
+ partySizeThreshold: number;
1191
+ enabled: boolean;
1192
+ };
1193
+ };
1194
+ reservationForm?: {
1195
+ termsAndConditions?: {
1196
+ url: string;
1197
+ enabled: boolean;
1198
+ };
1199
+ privacyPolicy?: {
1200
+ url: string;
1201
+ enabled: boolean;
1202
+ };
1203
+ customFieldDefinitions: {
1204
+ name: string;
1205
+ required: boolean;
1206
+ }[];
1207
+ emailMarketingCheckbox?: {
1208
+ enabled: boolean;
1209
+ checkedByDefault: boolean;
1210
+ };
1211
+ };
1212
+ myReservationsFields: {
1213
+ fieldType: FieldType;
1214
+ shown: boolean;
1215
+ }[];
1216
+ tableManagement?: {
1217
+ tableDefinitions: {
1218
+ name: string;
1219
+ seatsMin: number;
1220
+ seatsMax: number;
1221
+ }[];
1222
+ deletedTableDefinitions: {
1223
+ name: string;
1224
+ seatsMin: number;
1225
+ seatsMax: number;
1226
+ }[];
1227
+ tableCombinations: {
1228
+ seatsMin: number;
1229
+ seatsMax: number;
1230
+ }[];
1231
+ };
1232
+ };
1233
+ }[];
1234
+ }
1235
+ export interface ListReservationLocationsResponseNonNullableFields {
1236
+ reservationLocations: {
1237
+ configuration?: {
1238
+ onlineReservations?: {
1239
+ seatPacing?: {
1240
+ number: number;
1241
+ enabled: boolean;
1242
+ };
1243
+ partyPacing?: {
1244
+ number: number;
1245
+ enabled: boolean;
1246
+ };
1247
+ partySize?: {
1248
+ min: number;
1249
+ max: number;
1250
+ };
1251
+ minimumReservationNotice?: {
1252
+ number: number;
1253
+ unit: Unit;
1254
+ };
1255
+ turnoverTimeRules: {
1256
+ seatsMin: number;
1257
+ seatsMax: number;
1258
+ minutes: number;
1259
+ }[];
1260
+ businessSchedule?: {
1261
+ periods: {
1262
+ openDay: DayOfWeek;
1263
+ openTime: string;
1264
+ closeDay: DayOfWeek;
1265
+ closeTime: string;
1266
+ }[];
1267
+ specialHourPeriod: {
1268
+ startDate: string;
1269
+ endDate: string;
1270
+ isClosed: boolean;
1271
+ comment: string;
1272
+ }[];
1273
+ };
1274
+ manualApproval?: {
1275
+ partySizeThreshold: number;
1276
+ enabled: boolean;
1277
+ };
1278
+ };
1279
+ reservationForm?: {
1280
+ termsAndConditions?: {
1281
+ url: string;
1282
+ enabled: boolean;
1283
+ };
1284
+ privacyPolicy?: {
1285
+ url: string;
1286
+ enabled: boolean;
1287
+ };
1288
+ customFieldDefinitions: {
1289
+ name: string;
1290
+ required: boolean;
1291
+ }[];
1292
+ emailMarketingCheckbox?: {
1293
+ enabled: boolean;
1294
+ checkedByDefault: boolean;
1295
+ };
1296
+ };
1297
+ myReservationsFields: {
1298
+ fieldType: FieldType;
1299
+ shown: boolean;
1300
+ }[];
1301
+ tableManagement?: {
1302
+ tableDefinitions: {
1303
+ name: string;
1304
+ seatsMin: number;
1305
+ seatsMax: number;
1306
+ }[];
1307
+ deletedTableDefinitions: {
1308
+ name: string;
1309
+ seatsMin: number;
1310
+ seatsMax: number;
1311
+ }[];
1312
+ tableCombinations: {
1313
+ seatsMin: number;
1314
+ seatsMax: number;
1315
+ }[];
1316
+ };
1317
+ };
1318
+ }[];
1319
+ }
1320
+ /**
1321
+ * Retrieves a reservation location by ID.
1322
+ * @param reservationLocationId - ID of the ReservationLocation to retrieve.
1323
+ * @public
1324
+ * @documentationMaturity preview
1325
+ * @requiredField reservationLocationId
1326
+ * @applicableIdentity MEMBER
1327
+ * @applicableIdentity VISITOR
1328
+ */
1329
+ export declare function getReservationLocation(reservationLocationId: string, options?: GetReservationLocationOptions): Promise<GetReservationLocationResponse & GetReservationLocationResponseNonNullableFields>;
1330
+ export interface GetReservationLocationOptions {
1331
+ /**
1332
+ * Array of named, predefined sets of projected fields to be returned.
1333
+ *
1334
+ * Supported values: `PUBLIC`, `FULL`.
1335
+ */
1336
+ fieldsets?: Set[];
1337
+ }
1338
+ /**
1339
+ * Updates a reservation location. Supports partial updates.
1340
+ *
1341
+ * Each time the reservation location is updated, revision increments by 1. The existing revision must be included when updating the reservation location. This ensures you're working with the latest reservation location information, and it prevents unintended overwrites.
1342
+ *
1343
+ * You cannot use this endpoint to change a reservation location's `location` object. Attempting to do so will cause the server to return an application error.
1344
+ * @param _id - Reservation location ID.
1345
+ * @public
1346
+ * @documentationMaturity preview
1347
+ * @requiredField _id
1348
+ * @requiredField reservationLocation
1349
+ * @requiredField reservationLocation.revision
1350
+ */
1351
+ export declare function updateReservationLocation(_id: string | null, reservationLocation: UpdateReservationLocation): Promise<UpdateReservationLocationResponse & UpdateReservationLocationResponseNonNullableFields>;
1352
+ export interface UpdateReservationLocation {
1353
+ /**
1354
+ * Reservation location ID.
1355
+ * @readonly
1356
+ */
1357
+ _id?: string | null;
1358
+ /** 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. */
1359
+ revision?: string | null;
1360
+ /**
1361
+ * The date and time this reservation location was created.
1362
+ * @readonly
1363
+ */
1364
+ _createdDate?: Date;
1365
+ /**
1366
+ * The date and time this reservation location was last updated.
1367
+ * @readonly
1368
+ */
1369
+ _updatedDate?: Date;
1370
+ /**
1371
+ * Physical location details.
1372
+ *
1373
+ * This is a location object. Location objects can be created and configured using the [Locations API](https://dev.wix.com/docs/rest/api-reference/business-info/locations/introduction)
1374
+ * 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 of a Wix site's dashboard.
1375
+ * @readonly
1376
+ */
1377
+ location?: Location;
1378
+ /** Reservation location configuration. */
1379
+ configuration?: Configuration;
1380
+ /**
1381
+ * Whether this reservation location's `location` is the [default location](https://dev.wix.com/docs/rest/api-reference/business-info/locations/internal-introduction#default-location) of the business.
1382
+ * @readonly
1383
+ */
1384
+ default?: boolean | null;
1385
+ /**
1386
+ * Whether this reservation location's `location` is archived.
1387
+ * @readonly
1388
+ */
1389
+ archived?: boolean | null;
1390
+ }
1391
+ /**
1392
+ * Retrieves a list of reservation locations given the provided paging, filtering, and sorting. Up to 100 reservation locations can be returned per request.
1393
+ *
1394
+ * For a detailed list of supported operations, see the [Supported filters and sorting](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/reservations/reservation-locations/supported-filters-and-sorting) article.
1395
+ * To learn how to query reservation locations, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).
1396
+ * @public
1397
+ * @documentationMaturity preview
1398
+ * @applicableIdentity MEMBER
1399
+ * @applicableIdentity VISITOR
1400
+ */
1401
+ export declare function queryReservationLocations(options?: QueryReservationLocationsOptions): ReservationLocationsQueryBuilder;
1402
+ export interface QueryReservationLocationsOptions {
1403
+ /**
1404
+ * Array of named, predefined sets of projected fields to be returned.
1405
+ *
1406
+ * Supported values: `PUBLIC`, `FULL`.
1407
+ */
1408
+ fieldsets?: Set[] | undefined;
1409
+ }
1410
+ interface QueryCursorResult {
1411
+ cursors: Cursors;
1412
+ hasNext: () => boolean;
1413
+ hasPrev: () => boolean;
1414
+ length: number;
1415
+ pageSize: number;
1416
+ }
1417
+ export interface ReservationLocationsQueryResult extends QueryCursorResult {
1418
+ items: ReservationLocation[];
1419
+ query: ReservationLocationsQueryBuilder;
1420
+ next: () => Promise<ReservationLocationsQueryResult>;
1421
+ prev: () => Promise<ReservationLocationsQueryResult>;
1422
+ }
1423
+ export interface ReservationLocationsQueryBuilder {
1424
+ /** @param limit - Number of items to return, which is also the `pageSize` of the results object.
1425
+ * @documentationMaturity preview
1426
+ */
1427
+ limit: (limit: number) => ReservationLocationsQueryBuilder;
1428
+ /** @param cursor - A pointer to specific record
1429
+ * @documentationMaturity preview
1430
+ */
1431
+ skipTo: (cursor: string) => ReservationLocationsQueryBuilder;
1432
+ /** @documentationMaturity preview */
1433
+ find: () => Promise<ReservationLocationsQueryResult>;
1434
+ }
1435
+ /**
1436
+ * Retrieves a list of up to 100 reservation locations.
1437
+ * @public
1438
+ * @documentationMaturity preview
1439
+ * @applicableIdentity MEMBER
1440
+ * @applicableIdentity VISITOR
1441
+ */
1442
+ export declare function listReservationLocations(options?: ListReservationLocationsOptions): Promise<ListReservationLocationsResponse & ListReservationLocationsResponseNonNullableFields>;
1443
+ export interface ListReservationLocationsOptions {
1444
+ /** 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`. */
1445
+ paging?: CursorPaging;
1446
+ /** Sorting for the locations list. */
1447
+ sort?: Sorting;
1448
+ /**
1449
+ * Array of named, predefined sets of projected fields to be returned.
1450
+ *
1451
+ * Supported values: `PUBLIC`, `FULL`.
1452
+ */
1453
+ fieldsets?: Set[];
1454
+ }
1455
+ export {};