order3000 1.9.0 → 1.11.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.
package/dist/client.d.cts CHANGED
@@ -1,3 +1,5 @@
1
+ import { ab as ListAdsOptions, ac as ListAdsResponse, A as Ad, v as CreateAdRequest, w as CreateAdResponse, ax as PatchAdRequest, ay as PatchAdResponse, aO as SaveAdKeywordsRequest, aP as SaveAdKeywordsResponse, aM as SaveAdCalloutsRequest, aN as SaveAdCalloutsResponse, aQ as SaveAdNegativeKeywordsRequest, aR as SaveAdNegativeKeywordsResponse, aS as SaveAdWebsitePagesRequest, aT as SaveAdWebsitePagesResponse, aY as SetAdBudgetRequest, aZ as SetAdBudgetResponse, U as EditMetaAdRequest, V as EditMetaAdResponse, O as DeleteAdResponse, a2 as GetAreaOptions, c as Area, a1 as GetAreaAvailabilityOptions, e as AreaAvailabilityResponse, a_ as SubmitAreaBookingRequestPayload, h as AreaBookingRequestResponse, ad as ListArticlesOptions, ae as ListArticlesResponse, m as Article, az as PatchArticleRequest, $ as FeatureImage, bf as UploadFeatureImageArgs, aD as PatchFeatureImageRequest, af as ListAssetsOptions, ag as ListAssetsResponse, n as Asset, B as Basket, a as AddToBasketRequest, b as AddToBasketResponse, aK as RemoveFromBasketResponse, N as DeclaredReturn, t as BasketTotals, bb as UploadAssetArgs, bc as UploadAssetResponse, a4 as GetCalloutsResponse, x as CreateCalloutRequest, y as CreateCalloutResponse, b7 as UpdateCalloutRequest, b8 as UpdateCalloutResponse, P as DeleteCalloutResponse, a0 as FetchDishResponse, S as EditDishRequest, T as EditDishResponse, ah as ListEventsOptions, ai as ListEventsResponse, E as CreateEventRequest, F as CreateEventResponse, a5 as GetEventOptions, Y as EventByAccessor, aB as PatchEventRequest, aC as PatchEventResponse, Q as DeleteEventResponse, a6 as GetEventSlotAvailabilityOptions, _ as EventSlotAvailabilityResponse, bd as UploadEventAssetArgs, be as UploadEventAssetResponse, a7 as GetMenuOptions, al as Menu, ao as MenuBundle, at as MenuSubscription, aa as LatestOrder, aF as PlaceOrderRequest, aG as PlaceOrderResponse, C as ConfirmOrderRequest, u as ConfirmOrderResponse, G as CreatePaymentIntentRequest, H as CreatePaymentIntentResponse, z as CreateDeltaPaymentIntentRequest, D as CreateDeltaPaymentIntentResponse, aI as ReduceDeltaPaymentIntentRequest, aJ as ReduceDeltaPaymentIntentResponse, aj as MakeReservationRequest, ak as MakeReservationResponse, aL as RitualByAccessor, a$ as SubscribeRequest, b0 as SubscribeResponse, b3 as SubscriptionCreditStatus, b2 as SubscriptionCredit, r as BasketItemMetadata, bg as Venue, a9 as GetWebsitePagesResponse, I as CreateWebsitePageRequest, J as CreateWebsitePageResponse, b9 as UpdateWebsitePageRequest, ba as UpdateWebsitePageResponse, R as DeleteWebsitePageResponse, L as Currency, aW as ScheduleTimeSlot, M as DayOfWeek } from './index-CQHgJH4m.cjs';
2
+ export { d as O3KAreaAsset, f as O3KAreaAvailabilityWindow, g as O3KAreaBookingMode, i as O3KAreaBookingRequestSource, j as O3KAreaBookingRequestStatus, k as O3KAreaBookingStatus, l as O3KAreaFeature, o as O3KBasketItem, p as O3KBasketItemDeposit, q as O3KBasketItemMenuItemRef, s as O3KBasketStatus, K as O3KCropArea, W as O3KEvent, X as O3KEventAsset, Z as O3KEventMenu, a3 as O3KGetArticleResponse, a8 as O3KGetVenueResponse, am as O3KMenuAsset, an as O3KMenuBeverage, ap as O3KMenuBundleDeposit, aq as O3KMenuDish, ar as O3KMenuItem, as as O3KMenuItemType, au as O3KMenuSubscriptionPoster, av as O3KOrderFulfillmentType, aw as O3KOrderStatus, aA as O3KPatchArticleResponse, aE as O3KPaymentStatus, aH as O3KPromotion, aU as O3KSchedule, aV as O3KScheduleOverride, aX as O3KScheduleWithTimeSlots, b1 as O3KSubscriberStatus, b4 as O3KSubscriptionPeriod, b5 as O3KTimeSlot, b6 as O3KUnit } from './index-CQHgJH4m.cjs';
1
3
  import { z as z$1 } from 'zod';
2
4
  import { z } from 'zod/v4';
3
5
  import { RealtimePostgresChangesPayload, RealtimeChannel, SupabaseClient } from '@supabase/supabase-js';
@@ -60,3497 +62,6 @@ declare abstract class BaseResource {
60
62
  protected requestMultipart<T>(method: 'POST' | 'PATCH' | 'PUT', path: string, formData: FormData): Promise<T>;
61
63
  }
62
64
 
63
- interface components {
64
- schemas: {
65
- /** FetchAdsResponse */
66
- FetchAdsResponse: {
67
- id: string;
68
- venueId: string;
69
- ownerEntityType: components["schemas"]["AdOwnerType"];
70
- ownerEntityId: string;
71
- channel: components["schemas"]["AdChannel"];
72
- status: components["schemas"]["AdStatus"];
73
- campaignId: string | null;
74
- content: (string | number | boolean | (null)) | {
75
- [key: string]: unknown;
76
- } | unknown[];
77
- metaContent: ((string | number | boolean | (null)) | {
78
- [key: string]: unknown;
79
- } | unknown[]) | null;
80
- metaRefs: ((string | number | boolean | (null)) | {
81
- [key: string]: unknown;
82
- } | unknown[]) | null;
83
- servedMarket: ((string | number | boolean | (null)) | {
84
- [key: string]: unknown;
85
- } | unknown[]) | null;
86
- keywords: (string | number | boolean | (null)) | {
87
- [key: string]: unknown;
88
- } | unknown[];
89
- negativeKeywords: (string | number | boolean | (null)) | {
90
- [key: string]: unknown;
91
- } | unknown[];
92
- disabledVenueKeywords: (string | number | boolean | (null)) | {
93
- [key: string]: unknown;
94
- } | unknown[];
95
- disabledVenueNegativeKeywords: (string | number | boolean | (null)) | {
96
- [key: string]: unknown;
97
- } | unknown[];
98
- dismissedKeywords: (string | number | boolean | (null)) | {
99
- [key: string]: unknown;
100
- } | unknown[];
101
- keywordMetrics: (string | number | boolean | (null)) | {
102
- [key: string]: unknown;
103
- } | unknown[];
104
- websitePageIds: (string | number | boolean | (null)) | {
105
- [key: string]: unknown;
106
- } | unknown[];
107
- calloutIds: (string | number | boolean | (null)) | {
108
- [key: string]: unknown;
109
- } | unknown[];
110
- publishedContentHash: string | null;
111
- publishedAt: unknown;
112
- pushedKeywords: ((string | number | boolean | (null)) | {
113
- [key: string]: unknown;
114
- } | unknown[]) | null;
115
- dailyBudget: number | null;
116
- createdBy: string | null;
117
- updatedBy: string | null;
118
- createdAt: unknown;
119
- updatedAt: unknown;
120
- }[];
121
- /** FetchAdResponse */
122
- FetchAdResponse: {
123
- id: string;
124
- venueId: string;
125
- ownerEntityType: components["schemas"]["AdOwnerType"];
126
- ownerEntityId: string;
127
- channel: components["schemas"]["AdChannel"];
128
- status: components["schemas"]["AdStatus"];
129
- campaignId: string | null;
130
- content: (string | number | boolean | (null)) | {
131
- [key: string]: unknown;
132
- } | unknown[];
133
- metaContent: ((string | number | boolean | (null)) | {
134
- [key: string]: unknown;
135
- } | unknown[]) | null;
136
- metaRefs: ((string | number | boolean | (null)) | {
137
- [key: string]: unknown;
138
- } | unknown[]) | null;
139
- servedMarket: ((string | number | boolean | (null)) | {
140
- [key: string]: unknown;
141
- } | unknown[]) | null;
142
- keywords: (string | number | boolean | (null)) | {
143
- [key: string]: unknown;
144
- } | unknown[];
145
- negativeKeywords: (string | number | boolean | (null)) | {
146
- [key: string]: unknown;
147
- } | unknown[];
148
- disabledVenueKeywords: (string | number | boolean | (null)) | {
149
- [key: string]: unknown;
150
- } | unknown[];
151
- disabledVenueNegativeKeywords: (string | number | boolean | (null)) | {
152
- [key: string]: unknown;
153
- } | unknown[];
154
- dismissedKeywords: (string | number | boolean | (null)) | {
155
- [key: string]: unknown;
156
- } | unknown[];
157
- keywordMetrics: (string | number | boolean | (null)) | {
158
- [key: string]: unknown;
159
- } | unknown[];
160
- websitePageIds: (string | number | boolean | (null)) | {
161
- [key: string]: unknown;
162
- } | unknown[];
163
- calloutIds: (string | number | boolean | (null)) | {
164
- [key: string]: unknown;
165
- } | unknown[];
166
- publishedContentHash: string | null;
167
- publishedAt: unknown;
168
- pushedKeywords: ((string | number | boolean | (null)) | {
169
- [key: string]: unknown;
170
- } | unknown[]) | null;
171
- dailyBudget: number | null;
172
- createdBy: string | null;
173
- updatedBy: string | null;
174
- createdAt: unknown;
175
- updatedAt: unknown;
176
- };
177
- /**
178
- * CreateAdRequest
179
- * @description Request payload for creating a new ad
180
- */
181
- CreateAdRequest: {
182
- venueAccessor: string;
183
- ownerEntityType: components["schemas"]["AdOwnerType"];
184
- ownerEntityId: string;
185
- channel: components["schemas"]["AdChannel"];
186
- };
187
- /**
188
- * CreateAdResponse
189
- * @description Successfully created ad
190
- */
191
- CreateAdResponse: {
192
- id: string;
193
- venueId: string;
194
- ownerEntityType: components["schemas"]["AdOwnerType"];
195
- ownerEntityId: string;
196
- channel: components["schemas"]["AdChannel"];
197
- status: components["schemas"]["AdStatus"];
198
- campaignId: string | null;
199
- content: (string | number | boolean | (null)) | {
200
- [key: string]: unknown;
201
- } | unknown[];
202
- metaContent: ((string | number | boolean | (null)) | {
203
- [key: string]: unknown;
204
- } | unknown[]) | null;
205
- metaRefs: ((string | number | boolean | (null)) | {
206
- [key: string]: unknown;
207
- } | unknown[]) | null;
208
- servedMarket: ((string | number | boolean | (null)) | {
209
- [key: string]: unknown;
210
- } | unknown[]) | null;
211
- keywords: (string | number | boolean | (null)) | {
212
- [key: string]: unknown;
213
- } | unknown[];
214
- negativeKeywords: (string | number | boolean | (null)) | {
215
- [key: string]: unknown;
216
- } | unknown[];
217
- disabledVenueKeywords: (string | number | boolean | (null)) | {
218
- [key: string]: unknown;
219
- } | unknown[];
220
- disabledVenueNegativeKeywords: (string | number | boolean | (null)) | {
221
- [key: string]: unknown;
222
- } | unknown[];
223
- dismissedKeywords: (string | number | boolean | (null)) | {
224
- [key: string]: unknown;
225
- } | unknown[];
226
- keywordMetrics: (string | number | boolean | (null)) | {
227
- [key: string]: unknown;
228
- } | unknown[];
229
- websitePageIds: (string | number | boolean | (null)) | {
230
- [key: string]: unknown;
231
- } | unknown[];
232
- calloutIds: (string | number | boolean | (null)) | {
233
- [key: string]: unknown;
234
- } | unknown[];
235
- publishedContentHash: string | null;
236
- publishedAt: unknown;
237
- pushedKeywords: ((string | number | boolean | (null)) | {
238
- [key: string]: unknown;
239
- } | unknown[]) | null;
240
- dailyBudget: number | null;
241
- createdBy: string | null;
242
- updatedBy: string | null;
243
- createdAt: unknown;
244
- updatedAt: unknown;
245
- };
246
- /**
247
- * EditAdRequest
248
- * @description Partial-update body for an existing ad
249
- */
250
- EditAdRequest: {
251
- venueAccessor: string;
252
- id: string;
253
- content?: {
254
- businessName: {
255
- [key: string]: string;
256
- };
257
- headlines: {
258
- [key: string]: string[];
259
- };
260
- descriptions: {
261
- [key: string]: string[];
262
- };
263
- paths: {
264
- [key: string]: string[];
265
- };
266
- /** Format: uri */
267
- finalUrl: string;
268
- };
269
- status?: components["schemas"]["AdStatus"];
270
- };
271
- /**
272
- * EditAdResponse
273
- * @description Successfully updated ad
274
- */
275
- EditAdResponse: {
276
- id: string;
277
- venueId: string;
278
- ownerEntityType: components["schemas"]["AdOwnerType"];
279
- ownerEntityId: string;
280
- channel: components["schemas"]["AdChannel"];
281
- status: components["schemas"]["AdStatus"];
282
- campaignId: string | null;
283
- content: (string | number | boolean | (null)) | {
284
- [key: string]: unknown;
285
- } | unknown[];
286
- metaContent: ((string | number | boolean | (null)) | {
287
- [key: string]: unknown;
288
- } | unknown[]) | null;
289
- metaRefs: ((string | number | boolean | (null)) | {
290
- [key: string]: unknown;
291
- } | unknown[]) | null;
292
- servedMarket: ((string | number | boolean | (null)) | {
293
- [key: string]: unknown;
294
- } | unknown[]) | null;
295
- keywords: (string | number | boolean | (null)) | {
296
- [key: string]: unknown;
297
- } | unknown[];
298
- negativeKeywords: (string | number | boolean | (null)) | {
299
- [key: string]: unknown;
300
- } | unknown[];
301
- disabledVenueKeywords: (string | number | boolean | (null)) | {
302
- [key: string]: unknown;
303
- } | unknown[];
304
- disabledVenueNegativeKeywords: (string | number | boolean | (null)) | {
305
- [key: string]: unknown;
306
- } | unknown[];
307
- dismissedKeywords: (string | number | boolean | (null)) | {
308
- [key: string]: unknown;
309
- } | unknown[];
310
- keywordMetrics: (string | number | boolean | (null)) | {
311
- [key: string]: unknown;
312
- } | unknown[];
313
- websitePageIds: (string | number | boolean | (null)) | {
314
- [key: string]: unknown;
315
- } | unknown[];
316
- calloutIds: (string | number | boolean | (null)) | {
317
- [key: string]: unknown;
318
- } | unknown[];
319
- publishedContentHash: string | null;
320
- publishedAt: unknown;
321
- pushedKeywords: ((string | number | boolean | (null)) | {
322
- [key: string]: unknown;
323
- } | unknown[]) | null;
324
- dailyBudget: number | null;
325
- createdBy: string | null;
326
- updatedBy: string | null;
327
- createdAt: unknown;
328
- updatedAt: unknown;
329
- };
330
- /**
331
- * EditMetaAdRequest
332
- * @description Partial-update body for an existing Meta ad
333
- */
334
- EditMetaAdRequest: {
335
- venueAccessor: string;
336
- id: string;
337
- metaContent?: {
338
- primaryText: {
339
- [key: string]: string;
340
- };
341
- headline: {
342
- [key: string]: string;
343
- };
344
- description: {
345
- [key: string]: string;
346
- };
347
- /** Format: uri */
348
- finalUrl: string;
349
- callToAction: string;
350
- creatives: {
351
- [key: string]: {
352
- assetId: string;
353
- };
354
- };
355
- };
356
- status?: components["schemas"]["AdStatus"];
357
- };
358
- /**
359
- * EditMetaAdResponse
360
- * @description Successfully updated Meta ad
361
- */
362
- EditMetaAdResponse: {
363
- id: string;
364
- venueId: string;
365
- ownerEntityType: components["schemas"]["AdOwnerType"];
366
- ownerEntityId: string;
367
- channel: components["schemas"]["AdChannel"];
368
- status: components["schemas"]["AdStatus"];
369
- campaignId: string | null;
370
- content: (string | number | boolean | (null)) | {
371
- [key: string]: unknown;
372
- } | unknown[];
373
- metaContent: ((string | number | boolean | (null)) | {
374
- [key: string]: unknown;
375
- } | unknown[]) | null;
376
- metaRefs: ((string | number | boolean | (null)) | {
377
- [key: string]: unknown;
378
- } | unknown[]) | null;
379
- servedMarket: ((string | number | boolean | (null)) | {
380
- [key: string]: unknown;
381
- } | unknown[]) | null;
382
- keywords: (string | number | boolean | (null)) | {
383
- [key: string]: unknown;
384
- } | unknown[];
385
- negativeKeywords: (string | number | boolean | (null)) | {
386
- [key: string]: unknown;
387
- } | unknown[];
388
- disabledVenueKeywords: (string | number | boolean | (null)) | {
389
- [key: string]: unknown;
390
- } | unknown[];
391
- disabledVenueNegativeKeywords: (string | number | boolean | (null)) | {
392
- [key: string]: unknown;
393
- } | unknown[];
394
- dismissedKeywords: (string | number | boolean | (null)) | {
395
- [key: string]: unknown;
396
- } | unknown[];
397
- keywordMetrics: (string | number | boolean | (null)) | {
398
- [key: string]: unknown;
399
- } | unknown[];
400
- websitePageIds: (string | number | boolean | (null)) | {
401
- [key: string]: unknown;
402
- } | unknown[];
403
- calloutIds: (string | number | boolean | (null)) | {
404
- [key: string]: unknown;
405
- } | unknown[];
406
- publishedContentHash: string | null;
407
- publishedAt: unknown;
408
- pushedKeywords: ((string | number | boolean | (null)) | {
409
- [key: string]: unknown;
410
- } | unknown[]) | null;
411
- dailyBudget: number | null;
412
- createdBy: string | null;
413
- updatedBy: string | null;
414
- createdAt: unknown;
415
- updatedAt: unknown;
416
- };
417
- /** SaveAdKeywordsRequest */
418
- SaveAdKeywordsRequest: {
419
- venueAccessor: string;
420
- adId: string;
421
- keywords: string[];
422
- dismissedKeywords: string[];
423
- disabledVenueKeywords: string[];
424
- };
425
- /** SaveAdKeywordsResponse */
426
- SaveAdKeywordsResponse: {
427
- success: boolean;
428
- keywords: string[];
429
- dismissedKeywords: string[];
430
- disabledVenueKeywords: string[];
431
- };
432
- /** SaveAdCalloutsRequest */
433
- SaveAdCalloutsRequest: {
434
- venueAccessor: string;
435
- adId: string;
436
- calloutIds: string[];
437
- };
438
- /** SaveAdCalloutsResponse */
439
- SaveAdCalloutsResponse: {
440
- success: boolean;
441
- calloutIds: string[];
442
- };
443
- /** SaveAdNegativeKeywordsRequest */
444
- SaveAdNegativeKeywordsRequest: {
445
- venueAccessor: string;
446
- adId: string;
447
- negativeKeywords: string[];
448
- /** @default [] */
449
- disabledVenueNegativeKeywords: string[];
450
- };
451
- /** SaveAdNegativeKeywordsResponse */
452
- SaveAdNegativeKeywordsResponse: {
453
- success: boolean;
454
- negativeKeywords: string[];
455
- disabledVenueNegativeKeywords: string[];
456
- syncedToGoogle: boolean;
457
- };
458
- /** SaveAdWebsitePagesRequest */
459
- SaveAdWebsitePagesRequest: {
460
- venueAccessor: string;
461
- adId: string;
462
- websitePageIds: string[];
463
- };
464
- /** SaveAdWebsitePagesResponse */
465
- SaveAdWebsitePagesResponse: {
466
- success: boolean;
467
- websitePageIds: string[];
468
- };
469
- /** SetAdBudgetRequest */
470
- SetAdBudgetRequest: {
471
- venueAccessor: string;
472
- adId: string;
473
- dailyBudget: number;
474
- };
475
- /** SetAdBudgetResponse */
476
- SetAdBudgetResponse: {
477
- id: string;
478
- venueId: string;
479
- ownerEntityType: components["schemas"]["AdOwnerType"];
480
- ownerEntityId: string;
481
- channel: components["schemas"]["AdChannel"];
482
- status: components["schemas"]["AdStatus"];
483
- campaignId: string | null;
484
- content: (string | number | boolean | (null)) | {
485
- [key: string]: unknown;
486
- } | unknown[];
487
- metaContent: ((string | number | boolean | (null)) | {
488
- [key: string]: unknown;
489
- } | unknown[]) | null;
490
- metaRefs: ((string | number | boolean | (null)) | {
491
- [key: string]: unknown;
492
- } | unknown[]) | null;
493
- servedMarket: ((string | number | boolean | (null)) | {
494
- [key: string]: unknown;
495
- } | unknown[]) | null;
496
- keywords: (string | number | boolean | (null)) | {
497
- [key: string]: unknown;
498
- } | unknown[];
499
- negativeKeywords: (string | number | boolean | (null)) | {
500
- [key: string]: unknown;
501
- } | unknown[];
502
- disabledVenueKeywords: (string | number | boolean | (null)) | {
503
- [key: string]: unknown;
504
- } | unknown[];
505
- disabledVenueNegativeKeywords: (string | number | boolean | (null)) | {
506
- [key: string]: unknown;
507
- } | unknown[];
508
- dismissedKeywords: (string | number | boolean | (null)) | {
509
- [key: string]: unknown;
510
- } | unknown[];
511
- keywordMetrics: (string | number | boolean | (null)) | {
512
- [key: string]: unknown;
513
- } | unknown[];
514
- websitePageIds: (string | number | boolean | (null)) | {
515
- [key: string]: unknown;
516
- } | unknown[];
517
- calloutIds: (string | number | boolean | (null)) | {
518
- [key: string]: unknown;
519
- } | unknown[];
520
- publishedContentHash: string | null;
521
- publishedAt: unknown;
522
- pushedKeywords: ((string | number | boolean | (null)) | {
523
- [key: string]: unknown;
524
- } | unknown[]) | null;
525
- dailyBudget: number | null;
526
- createdBy: string | null;
527
- updatedBy: string | null;
528
- createdAt: unknown;
529
- updatedAt: unknown;
530
- };
531
- /** DeleteAdResponse */
532
- DeleteAdResponse: {
533
- id: string;
534
- venueId: string;
535
- ownerEntityType: components["schemas"]["AdOwnerType"];
536
- ownerEntityId: string;
537
- channel: components["schemas"]["AdChannel"];
538
- status: components["schemas"]["AdStatus"];
539
- campaignId: string | null;
540
- content: (string | number | boolean | (null)) | {
541
- [key: string]: unknown;
542
- } | unknown[];
543
- metaContent: ((string | number | boolean | (null)) | {
544
- [key: string]: unknown;
545
- } | unknown[]) | null;
546
- metaRefs: ((string | number | boolean | (null)) | {
547
- [key: string]: unknown;
548
- } | unknown[]) | null;
549
- servedMarket: ((string | number | boolean | (null)) | {
550
- [key: string]: unknown;
551
- } | unknown[]) | null;
552
- keywords: (string | number | boolean | (null)) | {
553
- [key: string]: unknown;
554
- } | unknown[];
555
- negativeKeywords: (string | number | boolean | (null)) | {
556
- [key: string]: unknown;
557
- } | unknown[];
558
- disabledVenueKeywords: (string | number | boolean | (null)) | {
559
- [key: string]: unknown;
560
- } | unknown[];
561
- disabledVenueNegativeKeywords: (string | number | boolean | (null)) | {
562
- [key: string]: unknown;
563
- } | unknown[];
564
- dismissedKeywords: (string | number | boolean | (null)) | {
565
- [key: string]: unknown;
566
- } | unknown[];
567
- keywordMetrics: (string | number | boolean | (null)) | {
568
- [key: string]: unknown;
569
- } | unknown[];
570
- websitePageIds: (string | number | boolean | (null)) | {
571
- [key: string]: unknown;
572
- } | unknown[];
573
- calloutIds: (string | number | boolean | (null)) | {
574
- [key: string]: unknown;
575
- } | unknown[];
576
- publishedContentHash: string | null;
577
- publishedAt: unknown;
578
- pushedKeywords: ((string | number | boolean | (null)) | {
579
- [key: string]: unknown;
580
- } | unknown[]) | null;
581
- dailyBudget: number | null;
582
- createdBy: string | null;
583
- updatedBy: string | null;
584
- createdAt: unknown;
585
- updatedAt: unknown;
586
- };
587
- /**
588
- * Area
589
- * @description A bookable + public area for a venue. Assets are only included when the request expands them. Operational flags (`isActive`, `isPublic`, `isBookable`) and audit columns are only populated for authenticated venue staff.
590
- */
591
- Area: {
592
- id: string;
593
- venueId: string;
594
- accessor: string;
595
- name: {
596
- [key: string]: string;
597
- };
598
- description: {
599
- [key: string]: string;
600
- } | null;
601
- longDescription: {
602
- [key: string]: string;
603
- } | null;
604
- minCapacity: number | null;
605
- maxCapacity: number;
606
- currency: components["schemas"]["Currency"];
607
- basePrice: number | null;
608
- perPersonPrice: number | null;
609
- features: {
610
- icon: string;
611
- label: {
612
- [key: string]: string;
613
- };
614
- description?: {
615
- [key: string]: string;
616
- };
617
- }[] | null;
618
- bookingMode: components["schemas"]["AreaBookingMode"];
619
- isBookable?: boolean;
620
- isPublic?: boolean;
621
- isActive?: boolean;
622
- areaType?: components["schemas"]["AreaType"];
623
- turnTimes?: {
624
- [key: string]: number;
625
- } | null;
626
- cleanup?: number | null;
627
- assets?: {
628
- id: string;
629
- type: components["schemas"]["AssetType"];
630
- tags: string[] | null;
631
- filename: string;
632
- contentType: string;
633
- metadata: {
634
- width?: number;
635
- height?: number;
636
- duration?: number;
637
- } | null;
638
- cropArea: {
639
- x: number;
640
- y: number;
641
- width: number;
642
- height: number;
643
- } | null;
644
- /** Format: uri */
645
- publicUrl: string;
646
- }[];
647
- closures?: {
648
- id: string;
649
- date: string;
650
- reason: {
651
- [key: string]: string;
652
- } | null;
653
- isActive: boolean;
654
- }[];
655
- };
656
- /** FetchAreasResponse */
657
- FetchAreasResponse: components["schemas"]["Area"][];
658
- /**
659
- * FetchAreaResponse
660
- * @description A bookable + public area for a venue. Assets are only included when the request expands them. Operational flags (`isActive`, `isPublic`, `isBookable`) and audit columns are only populated for authenticated venue staff.
661
- */
662
- FetchAreaResponse: {
663
- id: string;
664
- venueId: string;
665
- accessor: string;
666
- name: {
667
- [key: string]: string;
668
- };
669
- description: {
670
- [key: string]: string;
671
- } | null;
672
- longDescription: {
673
- [key: string]: string;
674
- } | null;
675
- minCapacity: number | null;
676
- maxCapacity: number;
677
- currency: components["schemas"]["Currency"];
678
- basePrice: number | null;
679
- perPersonPrice: number | null;
680
- features: {
681
- icon: string;
682
- label: {
683
- [key: string]: string;
684
- };
685
- description?: {
686
- [key: string]: string;
687
- };
688
- }[] | null;
689
- bookingMode: components["schemas"]["AreaBookingMode"];
690
- isBookable?: boolean;
691
- isPublic?: boolean;
692
- isActive?: boolean;
693
- areaType?: components["schemas"]["AreaType"];
694
- turnTimes?: {
695
- [key: string]: number;
696
- } | null;
697
- cleanup?: number | null;
698
- assets?: {
699
- id: string;
700
- type: components["schemas"]["AssetType"];
701
- tags: string[] | null;
702
- filename: string;
703
- contentType: string;
704
- metadata: {
705
- width?: number;
706
- height?: number;
707
- duration?: number;
708
- } | null;
709
- cropArea: {
710
- x: number;
711
- y: number;
712
- width: number;
713
- height: number;
714
- } | null;
715
- /** Format: uri */
716
- publicUrl: string;
717
- }[];
718
- closures?: {
719
- id: string;
720
- date: string;
721
- reason: {
722
- [key: string]: string;
723
- } | null;
724
- isActive: boolean;
725
- }[];
726
- };
727
- /** GetAreaAvailabilityResponse */
728
- GetAreaAvailabilityResponse: {
729
- from: string;
730
- to: string;
731
- bookingMode: components["schemas"]["AreaBookingMode"];
732
- occupied: {
733
- date: string;
734
- startTime: string | null;
735
- endTime: string | null;
736
- }[];
737
- };
738
- /** FetchAreaBookingsResponse */
739
- FetchAreaBookingsResponse: {
740
- id: string;
741
- areaId: string;
742
- bookingDate: string;
743
- startTime: string | null;
744
- endTime: string | null;
745
- partySize: number;
746
- status: components["schemas"]["AreaBookingStatus"];
747
- guestFirstName?: string;
748
- guestLastName?: string;
749
- totalPrice?: number;
750
- currency?: components["schemas"]["Currency"];
751
- confirmationCode?: string | null;
752
- }[];
753
- /** SubmitAreaBookingPayload */
754
- SubmitAreaBookingPayload: {
755
- requestedDate: string;
756
- requestedStartTime?: string;
757
- requestedEndTime?: string;
758
- partySize: number;
759
- guestFirstName: string;
760
- guestLastName: string;
761
- /** Format: email */
762
- guestEmail: string;
763
- guestPhone?: string;
764
- message?: string;
765
- source?: components["schemas"]["AreaBookingRequestSource"];
766
- };
767
- /** SubmitAreaBookingRequestResponse */
768
- SubmitAreaBookingRequestResponse: {
769
- id: string;
770
- venueId: string;
771
- areaId: string;
772
- requestedDate: string;
773
- requestedStartTime: string | null;
774
- requestedEndTime: string | null;
775
- partySize: number;
776
- guestFirstName: string;
777
- guestLastName: string;
778
- guestEmail: string;
779
- guestPhone: string | null;
780
- message: string | null;
781
- source: components["schemas"]["AreaBookingRequestSource"];
782
- status: components["schemas"]["AreaBookingRequestStatus"];
783
- areaBookingId: string | null;
784
- createdAt: string | null;
785
- updatedAt: string | null;
786
- };
787
- /**
788
- * FeatureImage
789
- * @description An article's resolved feature image. `caption` / `alt` are per-locale TipTap docs (PATCH accepts plain strings — server normalises). `captionByLocale` / `altByLocale` expose the raw per-locale records for editor surfaces.
790
- */
791
- FeatureImage: {
792
- id: string;
793
- publicUrl: string | null;
794
- locale: string;
795
- caption: {
796
- [key: string]: unknown;
797
- } | null;
798
- alt: {
799
- [key: string]: unknown;
800
- } | null;
801
- captionByLocale: {
802
- [key: string]: unknown;
803
- };
804
- altByLocale: {
805
- [key: string]: unknown;
806
- };
807
- };
808
- /** OgImage */
809
- OgImage: {
810
- id: string;
811
- publicUrl: string | null;
812
- locale: string;
813
- };
814
- /** ArticleMentionCounts */
815
- ArticleMentionCounts: {
816
- dishes: number;
817
- beverages: number;
818
- ingredients: number;
819
- menus: number;
820
- rituals: number;
821
- };
822
- /** FetchArticlesResponse */
823
- FetchArticlesResponse: {
824
- id: string;
825
- venueId: string;
826
- accessor: string;
827
- slug: {
828
- [key: string]: {
829
- [key: string]: unknown;
830
- };
831
- };
832
- title: {
833
- [key: string]: {
834
- [key: string]: unknown;
835
- };
836
- };
837
- excerpt: {
838
- [key: string]: {
839
- [key: string]: unknown;
840
- };
841
- };
842
- content: {
843
- [key: string]: unknown;
844
- } | null;
845
- metaTitle: {
846
- [key: string]: string;
847
- } | null;
848
- metaDescription: {
849
- [key: string]: string;
850
- } | null;
851
- tags: string[];
852
- isActive: boolean;
853
- isFeatured: boolean;
854
- priority: number;
855
- status: components["schemas"]["ArticleStatus"];
856
- publishedAt: string | null;
857
- createdAt: string | null;
858
- updatedAt: string | null;
859
- featureImage: components["schemas"]["FeatureImage"] | null;
860
- ogImage?: components["schemas"]["OgImage"] | null;
861
- mentionCounts?: components["schemas"]["ArticleMentionCounts"];
862
- }[];
863
- /**
864
- * FetchArticleResponse
865
- * @description A venue's article. `content` is a TipTap JSON document; treat it as opaque on the wire. `featureImage` is resolved per-locale with a fallback to the venue's primary locale. `ogImage` overrides the social-card image when set; `null` means it falls back to `featureImage`.
866
- */
867
- FetchArticleResponse: {
868
- id: string;
869
- venueId: string;
870
- accessor: string;
871
- slug: {
872
- [key: string]: {
873
- [key: string]: unknown;
874
- };
875
- };
876
- title: {
877
- [key: string]: {
878
- [key: string]: unknown;
879
- };
880
- };
881
- excerpt: {
882
- [key: string]: {
883
- [key: string]: unknown;
884
- };
885
- };
886
- content: {
887
- [key: string]: unknown;
888
- } | null;
889
- metaTitle: {
890
- [key: string]: string;
891
- } | null;
892
- metaDescription: {
893
- [key: string]: string;
894
- } | null;
895
- tags: string[];
896
- isActive: boolean;
897
- isFeatured: boolean;
898
- priority: number;
899
- status: components["schemas"]["ArticleStatus"];
900
- publishedAt: string | null;
901
- createdAt: string | null;
902
- updatedAt: string | null;
903
- featureImage: components["schemas"]["FeatureImage"] | null;
904
- ogImage?: components["schemas"]["OgImage"] | null;
905
- };
906
- /** EditArticleRequest */
907
- EditArticleRequest: {
908
- slug?: {
909
- [key: string]: unknown;
910
- };
911
- title?: {
912
- [key: string]: unknown;
913
- };
914
- excerpt?: {
915
- [key: string]: unknown;
916
- };
917
- content?: {
918
- [key: string]: unknown;
919
- };
920
- metaTitle?: {
921
- [key: string]: string;
922
- };
923
- metaDescription?: {
924
- [key: string]: string;
925
- };
926
- tags?: string[];
927
- isActive?: boolean;
928
- isFeatured?: boolean;
929
- priority?: number;
930
- };
931
- /**
932
- * EditArticleResponse
933
- * @description A venue's article. `content` is a TipTap JSON document; treat it as opaque on the wire. `featureImage` is resolved per-locale with a fallback to the venue's primary locale. `ogImage` overrides the social-card image when set; `null` means it falls back to `featureImage`.
934
- */
935
- EditArticleResponse: {
936
- id: string;
937
- venueId: string;
938
- accessor: string;
939
- slug: {
940
- [key: string]: {
941
- [key: string]: unknown;
942
- };
943
- };
944
- title: {
945
- [key: string]: {
946
- [key: string]: unknown;
947
- };
948
- };
949
- excerpt: {
950
- [key: string]: {
951
- [key: string]: unknown;
952
- };
953
- };
954
- content: {
955
- [key: string]: unknown;
956
- } | null;
957
- metaTitle: {
958
- [key: string]: string;
959
- } | null;
960
- metaDescription: {
961
- [key: string]: string;
962
- } | null;
963
- tags: string[];
964
- isActive: boolean;
965
- isFeatured: boolean;
966
- priority: number;
967
- status: components["schemas"]["ArticleStatus"];
968
- publishedAt: string | null;
969
- createdAt: string | null;
970
- updatedAt: string | null;
971
- featureImage: components["schemas"]["FeatureImage"] | null;
972
- ogImage?: components["schemas"]["OgImage"] | null;
973
- };
974
- /** SetArticleFeatureImageUploadBody */
975
- SetArticleFeatureImageUploadBody: {
976
- /** @description Image file (multipart/form-data field) */
977
- file: string;
978
- };
979
- /**
980
- * PatchArticleFeatureImageBody
981
- * @description Locale-keyed merge of the asset-side `caption` and `alt` records. Each locale value may be a plain string OR a TipTap doc; strings are wrapped server-side. Setting `en` does not touch `de`.
982
- */
983
- PatchArticleFeatureImageBody: {
984
- caption?: {
985
- [key: string]: unknown;
986
- };
987
- alt?: {
988
- [key: string]: unknown;
989
- };
990
- };
991
- /** FetchAssetsByTagResponse */
992
- FetchAssetsByTagResponse: {
993
- id: string;
994
- type: components["schemas"]["AssetType"];
995
- metadata: {
996
- width?: number;
997
- height?: number;
998
- duration?: number;
999
- } | null;
1000
- isActive: boolean;
1001
- sortIndex: string | null;
1002
- updatedAt: unknown;
1003
- updatedBy: string | null;
1004
- createdAt: unknown;
1005
- createdBy: string | null;
1006
- venueId: string | null;
1007
- tags: string[] | null;
1008
- bucket: string;
1009
- storagePath: string;
1010
- filename: string;
1011
- contentType: string;
1012
- sizeBytes: number;
1013
- caption: {
1014
- [key: string]: unknown;
1015
- };
1016
- alt: {
1017
- [key: string]: unknown;
1018
- };
1019
- cropArea: {
1020
- x: number;
1021
- y: number;
1022
- width: number;
1023
- height: number;
1024
- } | null;
1025
- publicUrl: string;
1026
- }[];
1027
- /** BasketTotals */
1028
- BasketTotals: {
1029
- currency: components["schemas"]["Currency"];
1030
- itemsTotal: number;
1031
- taxAmount: number;
1032
- depositCharge: number;
1033
- grossTotal: number;
1034
- depositCredit: number;
1035
- effectiveTotal: number;
1036
- cashRefund: number;
1037
- returnable: {
1038
- depositwareTemplateId: string;
1039
- count: number;
1040
- }[];
1041
- };
1042
- /** FetchBasketResponse */
1043
- FetchBasketResponse: {
1044
- /** Format: uuid */
1045
- id: string;
1046
- sessionId: string;
1047
- status: components["schemas"]["BasketStatus"];
1048
- currency: components["schemas"]["Currency"];
1049
- items: {
1050
- /** Format: uuid */
1051
- id: string;
1052
- metadata: {
1053
- [key: string]: unknown;
1054
- } | null;
1055
- deposit: {
1056
- depositwareTemplateId: string;
1057
- name: {
1058
- [key: string]: string;
1059
- };
1060
- amount: number;
1061
- currency: components["schemas"]["Currency"];
1062
- } | null;
1063
- menuItems: {
1064
- menuItemId: string;
1065
- role: string | null;
1066
- quantity: number;
1067
- unit: components["schemas"]["Unit"];
1068
- }[];
1069
- }[];
1070
- itemCount: number;
1071
- totals: components["schemas"]["BasketTotals"];
1072
- declaredReturns: {
1073
- depositwareTemplateId: string;
1074
- count: number;
1075
- }[];
1076
- expiresAt: string;
1077
- createdAt: string | null;
1078
- updatedAt: string | null;
1079
- };
1080
- /**
1081
- * AddToBasketRequest
1082
- * @description Add an item to the shopping basket
1083
- */
1084
- AddToBasketRequest: {
1085
- /** Format: uuid */
1086
- venueId: string;
1087
- sessionId: string;
1088
- menuItems: {
1089
- menuItemId: string;
1090
- role?: string;
1091
- quantity?: number;
1092
- unit?: components["schemas"]["Unit"];
1093
- }[];
1094
- metadata?: {
1095
- [key: string]: unknown;
1096
- };
1097
- };
1098
- /** AddToBasketResponse */
1099
- AddToBasketResponse: {
1100
- /** Format: uuid */
1101
- basketItemId: string;
1102
- itemCount: number;
1103
- deposit: {
1104
- depositwareTemplateId: string;
1105
- name: {
1106
- [key: string]: string;
1107
- };
1108
- amount: number;
1109
- currency: components["schemas"]["Currency"];
1110
- } | null;
1111
- totals: components["schemas"]["BasketTotals"];
1112
- };
1113
- /** RemoveFromBasketResponse */
1114
- RemoveFromBasketResponse: {
1115
- success: boolean;
1116
- /** Format: uuid */
1117
- basketItemId: string;
1118
- itemCount: number;
1119
- totals: components["schemas"]["BasketTotals"] | null;
1120
- };
1121
- /** GetBasketTotalsRequest */
1122
- GetBasketTotalsRequest: {
1123
- venueAccessor: string;
1124
- basketId: string;
1125
- declaredReturns?: {
1126
- depositwareTemplateId: string;
1127
- count: number;
1128
- }[];
1129
- };
1130
- /** GetBasketTotalsResponse */
1131
- GetBasketTotalsResponse: {
1132
- currency: components["schemas"]["Currency"];
1133
- itemsTotal: number;
1134
- taxAmount: number;
1135
- depositCharge: number;
1136
- grossTotal: number;
1137
- depositCredit: number;
1138
- effectiveTotal: number;
1139
- cashRefund: number;
1140
- returnable: {
1141
- depositwareTemplateId: string;
1142
- count: number;
1143
- }[];
1144
- };
1145
- /** AbandonBasketRequest */
1146
- AbandonBasketRequest: {
1147
- sessionId: string;
1148
- };
1149
- /** AbandonBasketResponse */
1150
- AbandonBasketResponse: {
1151
- abandonedCount: number;
1152
- };
1153
- /** SetBasketDeclaredReturnsRequest */
1154
- SetBasketDeclaredReturnsRequest: {
1155
- venueAccessor: string;
1156
- basketId: string;
1157
- sessionId: string;
1158
- declaredReturns: {
1159
- depositwareTemplateId: string;
1160
- count: number;
1161
- }[];
1162
- };
1163
- /** SetBasketDeclaredReturnsResponse */
1164
- SetBasketDeclaredReturnsResponse: {
1165
- basketId: string;
1166
- declaredReturns: {
1167
- depositwareTemplateId: string;
1168
- count: number;
1169
- }[];
1170
- };
1171
- /** GetCalloutsResponse */
1172
- GetCalloutsResponse: {
1173
- id: string;
1174
- venueId: string;
1175
- label: (string | number | boolean | (null)) | {
1176
- [key: string]: unknown;
1177
- } | unknown[];
1178
- createdBy: string | null;
1179
- updatedBy: string | null;
1180
- createdAt: unknown;
1181
- updatedAt: unknown;
1182
- }[];
1183
- /** CreateCalloutRequest */
1184
- CreateCalloutRequest: {
1185
- venueAccessor: string;
1186
- id?: string;
1187
- label: {
1188
- [key: string]: string;
1189
- };
1190
- };
1191
- /** CreateCalloutResponse */
1192
- CreateCalloutResponse: {
1193
- id: string;
1194
- venueId: string;
1195
- label: (string | number | boolean | (null)) | {
1196
- [key: string]: unknown;
1197
- } | unknown[];
1198
- createdBy: string | null;
1199
- updatedBy: string | null;
1200
- createdAt: unknown;
1201
- updatedAt: unknown;
1202
- };
1203
- /** UpdateCalloutRequest */
1204
- UpdateCalloutRequest: {
1205
- venueAccessor: string;
1206
- id: string;
1207
- label: {
1208
- [key: string]: string;
1209
- };
1210
- };
1211
- /** UpdateCalloutResponse */
1212
- UpdateCalloutResponse: {
1213
- id: string;
1214
- venueId: string;
1215
- label: (string | number | boolean | (null)) | {
1216
- [key: string]: unknown;
1217
- } | unknown[];
1218
- createdBy: string | null;
1219
- updatedBy: string | null;
1220
- createdAt: unknown;
1221
- updatedAt: unknown;
1222
- };
1223
- /** DeleteCalloutResponse */
1224
- DeleteCalloutResponse: {
1225
- id: string;
1226
- venueId: string;
1227
- label: (string | number | boolean | (null)) | {
1228
- [key: string]: unknown;
1229
- } | unknown[];
1230
- createdBy: string | null;
1231
- updatedBy: string | null;
1232
- createdAt: unknown;
1233
- updatedAt: unknown;
1234
- };
1235
- /** FetchEventsResponse */
1236
- FetchEventsResponse: {
1237
- id: string;
1238
- venueId: string;
1239
- accessor: string | null;
1240
- name: {
1241
- [key: string]: string;
1242
- };
1243
- description: {
1244
- [key: string]: string;
1245
- } | null;
1246
- scheduleId: string | null;
1247
- ritualId: string | null;
1248
- occurrenceDate: string | null;
1249
- ritualType: components["schemas"]["RitualType"];
1250
- maxBookings: number | null;
1251
- maxGuests: number | null;
1252
- minPartySize: number | null;
1253
- maxPartySize: number | null;
1254
- isPublic: boolean;
1255
- isRecurring: boolean;
1256
- reservationsEnabled: boolean;
1257
- bookingOpensAtDays: number | null;
1258
- bookingClosesAtOffset: number | null;
1259
- isActive: boolean;
1260
- isFeatured: boolean;
1261
- takesOverDay: boolean;
1262
- createdBy: string | null;
1263
- updatedBy: string | null;
1264
- createdAt: unknown;
1265
- updatedAt: unknown;
1266
- schedule: {
1267
- id: string;
1268
- duration: number | null;
1269
- name: {
1270
- [key: string]: string;
1271
- };
1272
- timezone: string;
1273
- description: {
1274
- [key: string]: string;
1275
- } | null;
1276
- rrule: string | null;
1277
- exdates: string[] | null;
1278
- validFrom: string | null;
1279
- validTo: string | null;
1280
- slotMode: components["schemas"]["SlotMode"];
1281
- intervalDuration: number | null;
1282
- isActive: boolean;
1283
- sortIndex: string | null;
1284
- updatedAt: unknown;
1285
- updatedBy: string | null;
1286
- createdAt: unknown;
1287
- createdBy: string | null;
1288
- scheduleOverrides: {
1289
- id: string;
1290
- date: string;
1291
- isActive: boolean;
1292
- updatedAt: unknown;
1293
- updatedBy: string | null;
1294
- createdAt: unknown;
1295
- createdBy: string | null;
1296
- scheduleId: string;
1297
- reason: {
1298
- [key: string]: string;
1299
- } | null;
1300
- scheduleOverrideTimeSlots: {
1301
- sortIndex: string | null;
1302
- overrideId: string;
1303
- timeSlotId: string;
1304
- timeSlot: {
1305
- id: string;
1306
- isActive: boolean | null;
1307
- sortIndex: string | null;
1308
- updatedAt: unknown;
1309
- updatedBy: string | null;
1310
- createdAt: unknown;
1311
- createdBy: string | null;
1312
- startTime: string;
1313
- endTime: string | null;
1314
- isSchedulable: boolean | null;
1315
- };
1316
- }[];
1317
- }[];
1318
- scheduleTimeSlots: {
1319
- sortIndex: string | null;
1320
- scheduleId: string | null;
1321
- timeSlotId: string | null;
1322
- dayOfWeek: components["schemas"]["DayOfWeek"];
1323
- timeSlot: {
1324
- id: string;
1325
- isActive: boolean | null;
1326
- sortIndex: string | null;
1327
- updatedAt: unknown;
1328
- updatedBy: string | null;
1329
- createdAt: unknown;
1330
- createdBy: string | null;
1331
- startTime: string;
1332
- endTime: string | null;
1333
- isSchedulable: boolean | null;
1334
- } | null;
1335
- }[];
1336
- } | null;
1337
- nextOccurrence: string | null;
1338
- assets: {
1339
- id: string;
1340
- type: components["schemas"]["AssetType"];
1341
- metadata: {
1342
- width?: number;
1343
- height?: number;
1344
- duration?: number;
1345
- } | null;
1346
- isActive: boolean;
1347
- sortIndex: string | null;
1348
- updatedAt: unknown;
1349
- updatedBy: string | null;
1350
- createdAt: unknown;
1351
- createdBy: string | null;
1352
- venueId: string | null;
1353
- tags: string[] | null;
1354
- bucket: string;
1355
- storagePath: string;
1356
- filename: string;
1357
- contentType: string;
1358
- sizeBytes: number;
1359
- caption: {
1360
- [key: string]: unknown;
1361
- };
1362
- alt: {
1363
- [key: string]: unknown;
1364
- };
1365
- cropArea: {
1366
- x: number;
1367
- y: number;
1368
- width: number;
1369
- height: number;
1370
- } | null;
1371
- publicUrl: string;
1372
- }[];
1373
- timeSlots: {
1374
- id?: string;
1375
- startTime?: string;
1376
- endTime?: string | null;
1377
- dayOfWeek?: components["schemas"]["DayOfWeek"];
1378
- isSchedulable?: boolean | null;
1379
- }[];
1380
- scheduleOverrides: {
1381
- id: string;
1382
- date: string;
1383
- reason: {
1384
- [key: string]: string;
1385
- } | null;
1386
- timeSlots: {
1387
- id?: string;
1388
- startTime?: string;
1389
- endTime?: string | null;
1390
- dayOfWeek?: components["schemas"]["DayOfWeek"];
1391
- isSchedulable?: boolean | null;
1392
- }[];
1393
- }[];
1394
- promotions: {
1395
- id: string;
1396
- name: {
1397
- [key: string]: string;
1398
- };
1399
- description: {
1400
- [key: string]: string;
1401
- } | null;
1402
- validFrom: string | null;
1403
- validTo: string | null;
1404
- isActive: boolean;
1405
- updatedAt: unknown;
1406
- updatedBy: string | null;
1407
- createdAt: unknown;
1408
- createdBy: string | null;
1409
- venueId: string;
1410
- benefitType: components["schemas"]["PromotionBenefitType"];
1411
- benefitValue: {
1412
- [key: string]: unknown;
1413
- };
1414
- conditions: {
1415
- [key: string]: unknown;
1416
- } | null;
1417
- maxRedemptions: number | null;
1418
- currentRedemptions: number | null;
1419
- timeSlotIds: string[] | null;
1420
- }[];
1421
- }[];
1422
- /**
1423
- * FetchEventResponse
1424
- * @description Event details. Nested objects (schedule, timeSlots, menus, assets, nextOccurrence) pass through; their shape follows the SDK Event interface.
1425
- */
1426
- FetchEventResponse: {
1427
- id: string;
1428
- venueId: string;
1429
- accessor: string | null;
1430
- name: {
1431
- [key: string]: string;
1432
- };
1433
- description: {
1434
- [key: string]: string;
1435
- } | null;
1436
- scheduleId: string | null;
1437
- maxBookings: number | null;
1438
- maxGuests: number | null;
1439
- minPartySize: number | null;
1440
- maxPartySize: number | null;
1441
- isPublic: boolean;
1442
- isRecurring: boolean;
1443
- reservationsEnabled: boolean;
1444
- bookingOpensAtDays: number | null;
1445
- bookingClosesAtOffset: number | null;
1446
- isActive: boolean;
1447
- isFeatured: boolean;
1448
- takesOverDay: boolean;
1449
- createdAt: unknown;
1450
- updatedAt: unknown;
1451
- nextOccurrence?: string | null;
1452
- schedule?: {
1453
- id: string;
1454
- name: {
1455
- [key: string]: string;
1456
- };
1457
- description: {
1458
- [key: string]: string;
1459
- } | null;
1460
- timezone: string;
1461
- rrule: string | null;
1462
- exdates: string[] | null;
1463
- validFrom: string | null;
1464
- validTo: string | null;
1465
- isActive: boolean;
1466
- slotMode: components["schemas"]["SlotMode"];
1467
- intervalDuration: number | null;
1468
- duration: number | null;
1469
- scheduleTimeSlots?: {
1470
- dayOfWeek: components["schemas"]["DayOfWeek"];
1471
- timeSlot: {
1472
- id: string;
1473
- startTime: string;
1474
- endTime: string | null;
1475
- isActive: boolean | null;
1476
- isSchedulable: boolean | null;
1477
- };
1478
- }[];
1479
- };
1480
- menus?: {
1481
- id: string;
1482
- accessor: string;
1483
- name: {
1484
- [key: string]: string;
1485
- };
1486
- category: string;
1487
- }[];
1488
- assets?: {
1489
- id: string;
1490
- bucket: string;
1491
- storagePath: string;
1492
- filename: string;
1493
- contentType: string;
1494
- sizeBytes: number;
1495
- sortIndex: string | null;
1496
- publicUrl: string;
1497
- }[];
1498
- };
1499
- /** FetchSlotAvailabilityResponse */
1500
- FetchSlotAvailabilityResponse: {
1501
- /** @description Slot start time in HH:MM:SS format */
1502
- startTime: string;
1503
- /** @description Whether a party of this size can be booked at this slot */
1504
- acceptable: boolean;
1505
- /** @description Whether the public widget should offer this slot — passive: always; auto_steer: only when acceptable */
1506
- offered: boolean;
1507
- reason: components["schemas"]["OccupancyReason"];
1508
- }[];
1509
- /**
1510
- * CreateEventRequest
1511
- * @description Request payload for creating a new event
1512
- */
1513
- CreateEventRequest: {
1514
- accessor?: string | null;
1515
- name: (string | number | boolean | (null)) | {
1516
- [key: string]: unknown;
1517
- } | unknown[];
1518
- description?: ((string | number | boolean | (null)) | {
1519
- [key: string]: unknown;
1520
- } | unknown[]) | null;
1521
- scheduleId?: string | null;
1522
- occurrenceDate?: string | null;
1523
- maxBookings?: number | null;
1524
- maxGuests?: number | null;
1525
- minPartySize?: number | null;
1526
- maxPartySize?: number | null;
1527
- staffByRole?: ((string | number | boolean | (null)) | {
1528
- [key: string]: unknown;
1529
- } | unknown[]) | null;
1530
- isPublic?: boolean;
1531
- reservationsEnabled?: boolean;
1532
- bookingOpensAtDays?: number | null;
1533
- bookingClosesAtOffset?: number | null;
1534
- isActive?: boolean;
1535
- isFeatured?: boolean;
1536
- takesOverDay?: boolean;
1537
- servedMarket?: ((string | number | boolean | (null)) | {
1538
- [key: string]: unknown;
1539
- } | unknown[]) | null;
1540
- schedule?: {
1541
- rrule?: string | null;
1542
- timezone?: string | null;
1543
- validFrom?: string | null;
1544
- validTo?: string | null;
1545
- timeRanges: {
1546
- startTime: string;
1547
- endTime: string;
1548
- lastSeatingTime?: string | null;
1549
- }[];
1550
- slotMode?: components["schemas"]["SlotMode"];
1551
- intervalDuration?: number | null;
1552
- duration?: number | null;
1553
- } | null;
1554
- ritualAccessor?: string | null;
1555
- venueAccessor: string;
1556
- };
1557
- /**
1558
- * CreateEventResponse
1559
- * @description Successfully created event
1560
- */
1561
- CreateEventResponse: {
1562
- id: string;
1563
- venueId: string;
1564
- accessor: string | null;
1565
- name: (string | number | boolean | (null)) | {
1566
- [key: string]: unknown;
1567
- } | unknown[];
1568
- description: ((string | number | boolean | (null)) | {
1569
- [key: string]: unknown;
1570
- } | unknown[]) | null;
1571
- scheduleId: string | null;
1572
- ritualId: string | null;
1573
- occurrenceDate: string | null;
1574
- maxBookings: number | null;
1575
- maxGuests: number | null;
1576
- minPartySize: number | null;
1577
- maxPartySize: number | null;
1578
- staffByRole: ((string | number | boolean | (null)) | {
1579
- [key: string]: unknown;
1580
- } | unknown[]) | null;
1581
- isPublic: boolean;
1582
- reservationsEnabled: boolean;
1583
- bookingOpensAtDays: number | null;
1584
- bookingClosesAtOffset: number | null;
1585
- isActive: boolean;
1586
- isFeatured: boolean;
1587
- takesOverDay: boolean;
1588
- servedMarket: ((string | number | boolean | (null)) | {
1589
- [key: string]: unknown;
1590
- } | unknown[]) | null;
1591
- createdBy: string | null;
1592
- updatedBy: string | null;
1593
- createdAt: unknown;
1594
- updatedAt: unknown;
1595
- };
1596
- /**
1597
- * EditEventRequest
1598
- * @description Partial-update body for an existing event
1599
- */
1600
- EditEventRequest: {
1601
- accessor?: string | null;
1602
- name?: (string | number | boolean | (null)) | {
1603
- [key: string]: unknown;
1604
- } | unknown[];
1605
- description?: ((string | number | boolean | (null)) | {
1606
- [key: string]: unknown;
1607
- } | unknown[]) | null;
1608
- scheduleId?: string | null;
1609
- occurrenceDate?: string | null;
1610
- maxBookings?: number | null;
1611
- maxGuests?: number | null;
1612
- minPartySize?: number | null;
1613
- maxPartySize?: number | null;
1614
- staffByRole?: ((string | number | boolean | (null)) | {
1615
- [key: string]: unknown;
1616
- } | unknown[]) | null;
1617
- isPublic?: boolean;
1618
- reservationsEnabled?: boolean;
1619
- bookingOpensAtDays?: number | null;
1620
- bookingClosesAtOffset?: number | null;
1621
- isActive?: boolean;
1622
- isFeatured?: boolean;
1623
- takesOverDay?: boolean;
1624
- servedMarket?: ((string | number | boolean | (null)) | {
1625
- [key: string]: unknown;
1626
- } | unknown[]) | null;
1627
- schedule?: {
1628
- rrule?: string | null;
1629
- timezone?: string | null;
1630
- validFrom?: string | null;
1631
- validTo?: string | null;
1632
- timeRanges: {
1633
- startTime: string;
1634
- endTime: string;
1635
- lastSeatingTime?: string | null;
1636
- }[];
1637
- slotMode?: components["schemas"]["SlotMode"];
1638
- intervalDuration?: number | null;
1639
- duration?: number | null;
1640
- } | null;
1641
- ritualAccessor?: string | null;
1642
- };
1643
- /** Schedule */
1644
- Schedule: {
1645
- id: string;
1646
- name: (string | number | boolean | (null)) | {
1647
- [key: string]: unknown;
1648
- } | unknown[];
1649
- description: ((string | number | boolean | (null)) | {
1650
- [key: string]: unknown;
1651
- } | unknown[]) | null;
1652
- timezone: string;
1653
- rrule: string | null;
1654
- exdates: string[] | null;
1655
- validFrom: string | null;
1656
- validTo: string | null;
1657
- slotMode: components["schemas"]["SlotMode"];
1658
- intervalDuration: number | null;
1659
- duration: number | null;
1660
- isActive: boolean;
1661
- sortIndex: string | null;
1662
- updatedAt: unknown;
1663
- updatedBy: string | null;
1664
- createdAt: unknown;
1665
- createdBy: string | null;
1666
- scheduleTimeSlots?: {
1667
- scheduleId: string | null;
1668
- timeSlotId: string | null;
1669
- dayOfWeek: components["schemas"]["DayOfWeek"];
1670
- sortIndex: string | null;
1671
- timeSlot: {
1672
- id: string;
1673
- startTime: string;
1674
- endTime: string | null;
1675
- isActive: boolean | null;
1676
- isSchedulable: boolean | null;
1677
- maxBookings: number | null;
1678
- maxGuests: number | null;
1679
- overflowBookings: number | null;
1680
- overflowGuests: number | null;
1681
- sortIndex: string | null;
1682
- updatedAt: unknown;
1683
- updatedBy: string | null;
1684
- createdAt: unknown;
1685
- createdBy: string | null;
1686
- } | null;
1687
- }[];
1688
- scheduleOverrides?: {
1689
- id: string;
1690
- scheduleId: string;
1691
- date: string;
1692
- reason: ((string | number | boolean | (null)) | {
1693
- [key: string]: unknown;
1694
- } | unknown[]) | null;
1695
- isActive: boolean;
1696
- updatedAt: unknown;
1697
- updatedBy: string | null;
1698
- createdAt: unknown;
1699
- createdBy: string | null;
1700
- scheduleOverrideTimeSlots: {
1701
- overrideId: string;
1702
- timeSlotId: string;
1703
- sortIndex: string | null;
1704
- timeSlot: {
1705
- id: string;
1706
- startTime: string;
1707
- endTime: string | null;
1708
- isActive: boolean | null;
1709
- isSchedulable: boolean | null;
1710
- maxBookings: number | null;
1711
- maxGuests: number | null;
1712
- overflowBookings: number | null;
1713
- overflowGuests: number | null;
1714
- sortIndex: string | null;
1715
- updatedAt: unknown;
1716
- updatedBy: string | null;
1717
- createdAt: unknown;
1718
- createdBy: string | null;
1719
- };
1720
- }[];
1721
- }[];
1722
- };
1723
- /**
1724
- * EditEventResponse
1725
- * @description Successfully updated event with schedule
1726
- */
1727
- EditEventResponse: {
1728
- id: string;
1729
- venueId: string;
1730
- accessor: string | null;
1731
- name: (string | number | boolean | (null)) | {
1732
- [key: string]: unknown;
1733
- } | unknown[];
1734
- description: ((string | number | boolean | (null)) | {
1735
- [key: string]: unknown;
1736
- } | unknown[]) | null;
1737
- scheduleId: string | null;
1738
- ritualId: string | null;
1739
- occurrenceDate: string | null;
1740
- maxBookings: number | null;
1741
- maxGuests: number | null;
1742
- minPartySize: number | null;
1743
- maxPartySize: number | null;
1744
- staffByRole: ((string | number | boolean | (null)) | {
1745
- [key: string]: unknown;
1746
- } | unknown[]) | null;
1747
- isPublic: boolean;
1748
- reservationsEnabled: boolean;
1749
- bookingOpensAtDays: number | null;
1750
- bookingClosesAtOffset: number | null;
1751
- isActive: boolean;
1752
- isFeatured: boolean;
1753
- takesOverDay: boolean;
1754
- servedMarket: ((string | number | boolean | (null)) | {
1755
- [key: string]: unknown;
1756
- } | unknown[]) | null;
1757
- createdBy: string | null;
1758
- updatedBy: string | null;
1759
- createdAt: unknown;
1760
- updatedAt: unknown;
1761
- schedule: components["schemas"]["Schedule"] | null;
1762
- };
1763
- /** DeleteEventResponse */
1764
- DeleteEventResponse: {
1765
- id: string;
1766
- venueId: string;
1767
- accessor: string | null;
1768
- name: (string | number | boolean | (null)) | {
1769
- [key: string]: unknown;
1770
- } | unknown[];
1771
- description: ((string | number | boolean | (null)) | {
1772
- [key: string]: unknown;
1773
- } | unknown[]) | null;
1774
- scheduleId: string | null;
1775
- ritualId: string | null;
1776
- occurrenceDate: string | null;
1777
- maxBookings: number | null;
1778
- maxGuests: number | null;
1779
- minPartySize: number | null;
1780
- maxPartySize: number | null;
1781
- staffByRole: ((string | number | boolean | (null)) | {
1782
- [key: string]: unknown;
1783
- } | unknown[]) | null;
1784
- isPublic: boolean;
1785
- reservationsEnabled: boolean;
1786
- bookingOpensAtDays: number | null;
1787
- bookingClosesAtOffset: number | null;
1788
- isActive: boolean;
1789
- isFeatured: boolean;
1790
- takesOverDay: boolean;
1791
- servedMarket: ((string | number | boolean | (null)) | {
1792
- [key: string]: unknown;
1793
- } | unknown[]) | null;
1794
- createdBy: string | null;
1795
- updatedBy: string | null;
1796
- createdAt: unknown;
1797
- updatedAt: unknown;
1798
- };
1799
- /** UploadAssetResponse */
1800
- UploadAssetResponse: {
1801
- asset: {
1802
- id: string;
1803
- type: components["schemas"]["AssetType"];
1804
- tags: string[] | null;
1805
- bucket: string;
1806
- storagePath: string;
1807
- filename: string;
1808
- contentType: string;
1809
- sizeBytes: number;
1810
- caption: (string | number | boolean | (null)) | {
1811
- [key: string]: unknown;
1812
- } | unknown[];
1813
- alt: (string | number | boolean | (null)) | {
1814
- [key: string]: unknown;
1815
- } | unknown[];
1816
- metadata: ((string | number | boolean | (null)) | {
1817
- [key: string]: unknown;
1818
- } | unknown[]) | null;
1819
- cropArea: ((string | number | boolean | (null)) | {
1820
- [key: string]: unknown;
1821
- } | unknown[]) | null;
1822
- isActive: boolean;
1823
- sortIndex: string | null;
1824
- createdAt: unknown;
1825
- updatedAt: unknown;
1826
- createdBy: string | null;
1827
- updatedBy: string | null;
1828
- venueId: string | null;
1829
- };
1830
- publicUrl: string | null;
1831
- };
1832
- /** DeleteAssetResponse */
1833
- DeleteAssetResponse: {
1834
- success: boolean;
1835
- };
1836
- /**
1837
- * FetchMenuResponse
1838
- * @description Menu details. `assets[]` is always hydrated with public URLs; `items[]` (with nested dish/beverage) is included when `expand=items` is requested. Each dish/beverage always carries its flat, hydrated `assets[]` (public URLs resolved) — the raw junction relations are never surfaced.
1839
- */
1840
- FetchMenuResponse: {
1841
- id: string;
1842
- name: {
1843
- [key: string]: string;
1844
- };
1845
- accessor: string;
1846
- metadata: {
1847
- orderingEnabled?: boolean;
1848
- compactTags?: string[];
1849
- showDepositware?: boolean;
1850
- tagSortOrder?: string[];
1851
- subscriptionsEnabled?: boolean;
1852
- isDeliveryEnabled?: boolean;
1853
- assetsEnabled?: boolean;
1854
- } | null;
1855
- description: {
1856
- [key: string]: string;
1857
- } | null;
1858
- sortIndex: string | null;
1859
- updatedAt: unknown;
1860
- updatedBy: string | null;
1861
- createdAt: unknown;
1862
- createdBy: string | null;
1863
- venueId: string;
1864
- deliveryThresholdAmount: number | null;
1865
- deliveryThresholdQuantity: number | null;
1866
- assets: {
1867
- id: string;
1868
- type: components["schemas"]["AssetType"];
1869
- metadata: {
1870
- width?: number;
1871
- height?: number;
1872
- duration?: number;
1873
- } | null;
1874
- isActive: boolean;
1875
- sortIndex: string | null;
1876
- updatedAt: unknown;
1877
- updatedBy: string | null;
1878
- createdAt: unknown;
1879
- createdBy: string | null;
1880
- venueId: string | null;
1881
- tags: string[] | null;
1882
- bucket: string;
1883
- storagePath: string;
1884
- filename: string;
1885
- contentType: string;
1886
- sizeBytes: number;
1887
- caption: {
1888
- [key: string]: unknown;
1889
- };
1890
- alt: {
1891
- [key: string]: unknown;
1892
- };
1893
- cropArea: {
1894
- x: number;
1895
- y: number;
1896
- width: number;
1897
- height: number;
1898
- } | null;
1899
- publicUrl: string;
1900
- }[];
1901
- items?: {
1902
- id: string;
1903
- type: components["schemas"]["MenuItemType"];
1904
- tags: string[] | null;
1905
- priceAdjustment: number;
1906
- currency: components["schemas"]["Currency"];
1907
- isActive: boolean;
1908
- isFeatured: boolean;
1909
- sortIndex: string | null;
1910
- dish: {
1911
- id: string;
1912
- accessor: string;
1913
- name: {
1914
- [key: string]: string;
1915
- };
1916
- shortName?: {
1917
- [key: string]: string;
1918
- };
1919
- description: {
1920
- [key: string]: string;
1921
- } | null;
1922
- longDescription?: {
1923
- [key: string]: string;
1924
- } | null;
1925
- isVegetarian: boolean | null;
1926
- isVegan: boolean | null;
1927
- isGlutenFree: boolean | null;
1928
- isDairyFree: boolean | null;
1929
- spiciness: number | null;
1930
- assets?: {
1931
- id: string;
1932
- type: components["schemas"]["AssetType"];
1933
- metadata: {
1934
- width?: number;
1935
- height?: number;
1936
- duration?: number;
1937
- } | null;
1938
- isActive: boolean;
1939
- sortIndex: string | null;
1940
- updatedAt: unknown;
1941
- updatedBy: string | null;
1942
- createdAt: unknown;
1943
- createdBy: string | null;
1944
- venueId: string | null;
1945
- tags: string[] | null;
1946
- bucket: string;
1947
- storagePath: string;
1948
- filename: string;
1949
- contentType: string;
1950
- sizeBytes: number;
1951
- caption: {
1952
- [key: string]: unknown;
1953
- };
1954
- alt: {
1955
- [key: string]: unknown;
1956
- };
1957
- cropArea: {
1958
- x: number;
1959
- y: number;
1960
- width: number;
1961
- height: number;
1962
- } | null;
1963
- publicUrl: string;
1964
- }[];
1965
- } | null;
1966
- beverage: {
1967
- id: string;
1968
- accessor: string;
1969
- name: {
1970
- [key: string]: string;
1971
- };
1972
- shortName?: {
1973
- [key: string]: string;
1974
- };
1975
- description: {
1976
- [key: string]: string;
1977
- } | null;
1978
- longDescription?: {
1979
- [key: string]: string;
1980
- } | null;
1981
- assets?: {
1982
- id: string;
1983
- type: components["schemas"]["AssetType"];
1984
- metadata: {
1985
- width?: number;
1986
- height?: number;
1987
- duration?: number;
1988
- } | null;
1989
- isActive: boolean;
1990
- sortIndex: string | null;
1991
- updatedAt: unknown;
1992
- updatedBy: string | null;
1993
- createdAt: unknown;
1994
- createdBy: string | null;
1995
- venueId: string | null;
1996
- tags: string[] | null;
1997
- bucket: string;
1998
- storagePath: string;
1999
- filename: string;
2000
- contentType: string;
2001
- sizeBytes: number;
2002
- caption: {
2003
- [key: string]: unknown;
2004
- };
2005
- alt: {
2006
- [key: string]: unknown;
2007
- };
2008
- cropArea: {
2009
- x: number;
2010
- y: number;
2011
- width: number;
2012
- height: number;
2013
- } | null;
2014
- publicUrl: string;
2015
- }[];
2016
- } | null;
2017
- }[];
2018
- };
2019
- /** FetchMenuBundlesResponse */
2020
- FetchMenuBundlesResponse: {
2021
- id: string;
2022
- menuId: string;
2023
- name: {
2024
- [key: string]: string;
2025
- };
2026
- shortName: {
2027
- [key: string]: string;
2028
- } | null;
2029
- description: {
2030
- [key: string]: string;
2031
- } | null;
2032
- tags: string[];
2033
- price: {
2034
- amount: number;
2035
- currency: components["schemas"]["Currency"];
2036
- };
2037
- currency: components["schemas"]["Currency"];
2038
- taxRateId: string;
2039
- isActive: boolean;
2040
- sortIndex: string | null;
2041
- depositwareTemplateId: string | null;
2042
- depositwareTemplate: {
2043
- name: {
2044
- [key: string]: string;
2045
- };
2046
- } | null;
2047
- deposit: {
2048
- depositwareTemplateId: string;
2049
- accessor: string;
2050
- amount: number;
2051
- currency: components["schemas"]["Currency"];
2052
- } | null;
2053
- }[];
2054
- /** FetchMenuSubscriptionsResponse */
2055
- FetchMenuSubscriptionsResponse: {
2056
- id: string;
2057
- menuId: string;
2058
- accessor: string;
2059
- name: {
2060
- [key: string]: string;
2061
- };
2062
- shortName: {
2063
- [key: string]: string;
2064
- } | null;
2065
- description: {
2066
- [key: string]: string;
2067
- } | null;
2068
- scheduleId: string | null;
2069
- allowance: number;
2070
- billingPeriod: components["schemas"]["SubscriptionPeriod"];
2071
- allowancePeriod: components["schemas"]["SubscriptionPeriod"];
2072
- expiryInDays: number;
2073
- price: number;
2074
- currency: components["schemas"]["Currency"];
2075
- stripeProductId: string | null;
2076
- stripePriceId: string | null;
2077
- isActive: boolean;
2078
- sortIndex: string | null;
2079
- subscriberCount: number;
2080
- redeemableTagSets: string[][];
2081
- posters: {
2082
- id: string;
2083
- menuSubscriptionId: string;
2084
- storagePath: string;
2085
- publicUrl: string;
2086
- filename: string;
2087
- contentType: string;
2088
- sizeBytes: number;
2089
- sortIndex: string | null;
2090
- createdBy: string | null;
2091
- createdAt: string | null;
2092
- }[];
2093
- }[];
2094
- /**
2095
- * PlaceOrderRequest
2096
- * @description Place a new order for a specific venue
2097
- */
2098
- PlaceOrderRequest: {
2099
- venueAccessor: string;
2100
- basketId: string;
2101
- sessionId: string;
2102
- paymentMethod: components["schemas"]["PaymentMethod"];
2103
- fulfillmentType: components["schemas"]["FulfillmentType"];
2104
- /** Format: date-time */
2105
- fulfillmentAt?: string | null;
2106
- guestFirstName?: string;
2107
- guestLastName?: string;
2108
- guestEmail?: string;
2109
- declaredReturns?: {
2110
- depositwareTemplateId: string;
2111
- count: number;
2112
- }[];
2113
- };
2114
- /** PlaceOrderResponse */
2115
- PlaceOrderResponse: {
2116
- id: string;
2117
- status: string;
2118
- publicId: string | null;
2119
- orderId: string;
2120
- quickReferenceNumber: number | null;
2121
- currency: components["schemas"]["Currency"];
2122
- };
2123
- /** ConfirmOrderRequest */
2124
- ConfirmOrderRequest: {
2125
- venueAccessor: string;
2126
- orderId: string;
2127
- paymentIntentId: string;
2128
- };
2129
- /** ConfirmOrderResponse */
2130
- ConfirmOrderResponse: {
2131
- id: string;
2132
- status: string;
2133
- publicId: string | null;
2134
- quickReferenceNumber: number | null;
2135
- guestId?: string;
2136
- };
2137
- /** FetchLatestOrderResponse */
2138
- FetchLatestOrderResponse: {
2139
- /** Format: uuid */
2140
- id: string;
2141
- publicId: string | null;
2142
- quickReferenceNumber: number | null;
2143
- status: components["schemas"]["OrderStatus"];
2144
- paymentStatus: components["schemas"]["PaymentStatus"];
2145
- fulfillmentType: components["schemas"]["FulfillmentType"];
2146
- fulfillmentAt: string | null;
2147
- orderedAt: string;
2148
- totalAmount: number;
2149
- currency: components["schemas"]["Currency"];
2150
- items: {
2151
- /** Format: uuid */
2152
- id: string;
2153
- metadata: {
2154
- [key: string]: unknown;
2155
- } | null;
2156
- deposit: {
2157
- depositwareTemplateId: string;
2158
- name: {
2159
- [key: string]: string;
2160
- };
2161
- amount: number;
2162
- currency: components["schemas"]["Currency"];
2163
- } | null;
2164
- menuItems: {
2165
- menuItemId: string;
2166
- role: string | null;
2167
- quantity: number;
2168
- unit: components["schemas"]["Unit"];
2169
- }[];
2170
- }[];
2171
- itemCount: number;
2172
- totals: components["schemas"]["BasketTotals"];
2173
- declaredReturns: {
2174
- depositwareTemplateId: string;
2175
- count: number;
2176
- }[];
2177
- };
2178
- /** CreatePaymentIntentRequest */
2179
- CreatePaymentIntentRequest: {
2180
- venueAccessor: string;
2181
- basketId: string;
2182
- currency: components["schemas"]["Currency"];
2183
- sessionId: string;
2184
- fulfillmentType: components["schemas"]["FulfillmentType"];
2185
- /** Format: date-time */
2186
- fulfillmentAt?: string | null;
2187
- guestFirstName?: string;
2188
- guestLastName?: string;
2189
- teamOrderPublicId?: string;
2190
- declaredReturns?: {
2191
- depositwareTemplateId: string;
2192
- count: number;
2193
- }[];
2194
- };
2195
- /** CreatePaymentIntentResponse */
2196
- CreatePaymentIntentResponse: {
2197
- clientSecret: string | null;
2198
- paymentIntentId: string;
2199
- orderId: string;
2200
- };
2201
- /** CreateDeltaPaymentIntentRequest */
2202
- CreateDeltaPaymentIntentRequest: {
2203
- venueAccessor: string;
2204
- basketId: string;
2205
- sessionId: string;
2206
- currency: components["schemas"]["Currency"];
2207
- declaredReturns?: {
2208
- depositwareTemplateId: string;
2209
- count: number;
2210
- }[];
2211
- };
2212
- /** CreateDeltaPaymentIntentResponse */
2213
- CreateDeltaPaymentIntentResponse: {
2214
- clientSecret: string | null;
2215
- paymentIntentId: string;
2216
- orderId: string;
2217
- amount: number;
2218
- /** @enum {string} */
2219
- status: "requires_payment_method" | "requires_confirmation" | "requires_action" | "processing" | "requires_capture" | "canceled" | "succeeded";
2220
- };
2221
- /** ReduceDeltaPaymentIntentRequest */
2222
- ReduceDeltaPaymentIntentRequest: {
2223
- venueAccessor: string;
2224
- basketId: string;
2225
- sessionId: string;
2226
- currency: components["schemas"]["Currency"];
2227
- declaredReturns?: {
2228
- depositwareTemplateId: string;
2229
- count: number;
2230
- }[];
2231
- };
2232
- /** ReduceDeltaPaymentIntentResponse */
2233
- ReduceDeltaPaymentIntentResponse: {
2234
- orderId: string;
2235
- paidTotal: number;
2236
- released: number;
2237
- };
2238
- /**
2239
- * MakeReservationRequest
2240
- * @description Request payload for making a new reservation
2241
- */
2242
- MakeReservationRequest: {
2243
- /** @description Venue identifier — UUID or URL-friendly slug (accessor). Resolved server-side. */
2244
- venueAccessor: string;
2245
- /**
2246
- * Format: uuid
2247
- * @description UUID of the event this reservation is for
2248
- */
2249
- eventId: string;
2250
- /**
2251
- * Format: uuid
2252
- * @description UUID of the area to seat this party in. Defaults to the event's primary area (the one with the most tables) when omitted; the occupancy gate evaluates capacity against this area.
2253
- */
2254
- areaId?: string | null;
2255
- /** @description Date of the reservation in YYYY-MM-DD format */
2256
- reservationDate: string;
2257
- /** @description Time of the reservation in HH:MM:SS format */
2258
- reservationTime: string;
2259
- /** @description Number of guests in the party. Must be between 1 and 20. */
2260
- partySize: number;
2261
- /** @description Reservation duration in minutes. Defaults to 120 minutes if not specified. Range: 30-300 minutes. */
2262
- duration?: number | null;
2263
- /**
2264
- * Format: uuid
2265
- * @description UUID of existing customer profile if available
2266
- */
2267
- guestId?: string | null;
2268
- /** @description First name of the customer making the reservation */
2269
- guestFirstName: string;
2270
- /** @description Last name of the customer making the reservation */
2271
- guestLastName: string;
2272
- /**
2273
- * Format: email
2274
- * @description Email address for reservation confirmations and updates
2275
- */
2276
- guestEmail?: string | null;
2277
- /** @description Phone number for reservation confirmations and updates. Include country code for international numbers. */
2278
- guestPhone?: string | null;
2279
- contactPreference?: components["schemas"]["ContactPreference"];
2280
- source?: components["schemas"]["AreaBookingRequestSource"];
2281
- /** @description Any dietary restrictions, allergies, or special occasions (max 500 characters) */
2282
- specialRequests?: string | null;
2283
- /** @description Preferred seating area or table type (e.g., "window seat", "quiet area", "patio") */
2284
- tablePreference?: string | null;
2285
- /** @description Google Ads click identifier from the landing URL (auto-tagging). Stored for server-side conversion reporting. */
2286
- gclid?: string | null;
2287
- /** @description Google Ads click identifier for app/web (iOS) where `gclid` is unavailable. */
2288
- gbraid?: string | null;
2289
- /** @description Google Ads click identifier for web-to-app (iOS) where `gclid` is unavailable. */
2290
- wbraid?: string | null;
2291
- /** @description Meta (Facebook/Instagram) click identifier from the landing URL. Stored for server-side Conversions API reporting. */
2292
- fbclid?: string | null;
2293
- };
2294
- /**
2295
- * MakeReservationResponse
2296
- * @description Successfully created reservation
2297
- */
2298
- MakeReservationResponse: {
2299
- /**
2300
- * Format: uuid
2301
- * @description Unique identifier for the reservation
2302
- */
2303
- id: string;
2304
- /**
2305
- * Format: uuid
2306
- * @description Restaurant/tenant identifier
2307
- */
2308
- venueId: string;
2309
- /**
2310
- * Format: uuid
2311
- * @description Event identifier for this reservation
2312
- */
2313
- eventId: string;
2314
- areaId: string | null;
2315
- quickReferenceNumber: number | null;
2316
- /** @description Date of the reservation in YYYY-MM-DD format */
2317
- reservationDate: string;
2318
- /** @description Time of the reservation in HH:MM:SS format */
2319
- reservationTime: string;
2320
- /** @description Number of guests in the party */
2321
- partySize: number;
2322
- /** @description Reservation duration in minutes */
2323
- duration: number | null;
2324
- /**
2325
- * Format: uuid
2326
- * @description Link to customer profile if exists
2327
- */
2328
- guestId: string | null;
2329
- /** @description First name of the customer */
2330
- guestFirstName: string;
2331
- /** @description Last name of the customer */
2332
- guestLastName: string;
2333
- /** @description Customer email address */
2334
- guestEmail: string | null;
2335
- /** @description Customer phone number */
2336
- guestPhone: string | null;
2337
- contactPreference: components["schemas"]["ContactPreference"];
2338
- status: components["schemas"]["ReservationStatus"];
2339
- /** @description 6-character confirmation code for the reservation */
2340
- confirmationCode: string | null;
2341
- /** @description When the reservation was confirmed */
2342
- confirmedAt: unknown;
2343
- /** @description When the guest arrived */
2344
- arrivedAt: unknown;
2345
- /** @description When the guest was seated */
2346
- seatedAt: unknown;
2347
- /** @description When the dining was completed */
2348
- completedAt: unknown;
2349
- /** @description When the reservation was cancelled */
2350
- cancelledAt: unknown;
2351
- cancellationReason: components["schemas"]["CancellationReason"];
2352
- /** @description Additional cancellation details */
2353
- cancellationNote: string | null;
2354
- source: components["schemas"]["AreaBookingRequestSource"];
2355
- gclid: string | null;
2356
- gbraid: string | null;
2357
- wbraid: string | null;
2358
- fbclid: string | null;
2359
- /** @description Any special requirements or notes */
2360
- specialRequests: string | null;
2361
- /** @description Preferred seating location */
2362
- tablePreference: string | null;
2363
- /** @description User ID who created the reservation */
2364
- createdBy: string | null;
2365
- /** @description User ID who last updated the reservation */
2366
- updatedBy: string | null;
2367
- /** @description Reservation creation timestamp */
2368
- createdAt: unknown;
2369
- /** @description Last update timestamp */
2370
- updatedAt: unknown;
2371
- };
2372
- /** FetchRitualResponse */
2373
- FetchRitualResponse: {
2374
- id: string;
2375
- venueId: string;
2376
- accessor: string;
2377
- ritualType: components["schemas"]["RitualType"];
2378
- scheduleId: string | null;
2379
- name: (string | number | boolean | (null)) | {
2380
- [key: string]: unknown;
2381
- } | unknown[];
2382
- description: ((string | number | boolean | (null)) | {
2383
- [key: string]: unknown;
2384
- } | unknown[]) | null;
2385
- playbook: ((string | number | boolean | (null)) | {
2386
- [key: string]: unknown;
2387
- } | unknown[]) | null;
2388
- maxBookings: number | null;
2389
- maxGuests: number | null;
2390
- minPartySize: number | null;
2391
- maxPartySize: number | null;
2392
- isPublic: boolean;
2393
- reservationsEnabled: boolean;
2394
- bookingOpensAtDays: number | null;
2395
- bookingClosesAtOffset: number | null;
2396
- isActive: boolean;
2397
- isFeatured: boolean;
2398
- servedMarket: ((string | number | boolean | (null)) | {
2399
- [key: string]: unknown;
2400
- } | unknown[]) | null;
2401
- createdBy: string | null;
2402
- updatedBy: string | null;
2403
- createdAt: unknown;
2404
- updatedAt: unknown;
2405
- assets: {
2406
- id: string;
2407
- type: components["schemas"]["AssetType"];
2408
- tags: string[] | null;
2409
- bucket: string;
2410
- storagePath: string;
2411
- filename: string;
2412
- contentType: string;
2413
- sizeBytes: number;
2414
- caption: (string | number | boolean | (null)) | {
2415
- [key: string]: unknown;
2416
- } | unknown[];
2417
- alt: (string | number | boolean | (null)) | {
2418
- [key: string]: unknown;
2419
- } | unknown[];
2420
- metadata: ((string | number | boolean | (null)) | {
2421
- [key: string]: unknown;
2422
- } | unknown[]) | null;
2423
- cropArea: ((string | number | boolean | (null)) | {
2424
- [key: string]: unknown;
2425
- } | unknown[]) | null;
2426
- isActive: boolean;
2427
- sortIndex: string | null;
2428
- createdAt: unknown;
2429
- updatedAt: unknown;
2430
- createdBy: string | null;
2431
- updatedBy: string | null;
2432
- venueId: string | null;
2433
- publicUrl: string;
2434
- }[];
2435
- events: {
2436
- id: string;
2437
- venueId: string;
2438
- accessor: string | null;
2439
- name: (string | number | boolean | (null)) | {
2440
- [key: string]: unknown;
2441
- } | unknown[];
2442
- description: ((string | number | boolean | (null)) | {
2443
- [key: string]: unknown;
2444
- } | unknown[]) | null;
2445
- scheduleId: string | null;
2446
- ritualId: string | null;
2447
- occurrenceDate: string | null;
2448
- maxBookings: number | null;
2449
- maxGuests: number | null;
2450
- minPartySize: number | null;
2451
- maxPartySize: number | null;
2452
- staffByRole: ((string | number | boolean | (null)) | {
2453
- [key: string]: unknown;
2454
- } | unknown[]) | null;
2455
- isPublic: boolean;
2456
- reservationsEnabled: boolean;
2457
- bookingOpensAtDays: number | null;
2458
- bookingClosesAtOffset: number | null;
2459
- isActive: boolean;
2460
- isFeatured: boolean;
2461
- takesOverDay: boolean;
2462
- servedMarket: ((string | number | boolean | (null)) | {
2463
- [key: string]: unknown;
2464
- } | unknown[]) | null;
2465
- createdBy: string | null;
2466
- updatedBy: string | null;
2467
- createdAt: unknown;
2468
- updatedAt: unknown;
2469
- covers: number;
2470
- }[];
2471
- schedule: components["schemas"]["Schedule"] | null;
2472
- };
2473
- /** GetSubscriptionResponse */
2474
- GetSubscriptionResponse: {
2475
- id: string;
2476
- menuId: string;
2477
- accessor: string;
2478
- name: {
2479
- [key: string]: string;
2480
- };
2481
- shortName: {
2482
- [key: string]: string;
2483
- } | null;
2484
- description: {
2485
- [key: string]: string;
2486
- } | null;
2487
- scheduleId: string | null;
2488
- allowance: number;
2489
- billingPeriod: components["schemas"]["SubscriptionPeriod"];
2490
- allowancePeriod: components["schemas"]["SubscriptionPeriod"];
2491
- redeemableTagSets: string[][];
2492
- expiryInDays: number | null;
2493
- price: number;
2494
- currency: components["schemas"]["Currency"];
2495
- isActive: boolean;
2496
- sortIndex: string | null;
2497
- posters: {
2498
- id: string;
2499
- menuSubscriptionId: string;
2500
- storagePath: string;
2501
- /** Format: uri */
2502
- publicUrl: string;
2503
- filename: string;
2504
- contentType: string;
2505
- sizeBytes: number;
2506
- sortIndex: string | null;
2507
- createdBy: string | null;
2508
- createdAt: string | null;
2509
- }[];
2510
- };
2511
- /** SubscribeToSubscriptionBody */
2512
- SubscribeToSubscriptionBody: {
2513
- /** Format: email */
2514
- email: string;
2515
- firstName?: string;
2516
- lastName?: string;
2517
- sessionId?: string;
2518
- /** Format: uri */
2519
- successUrl: string;
2520
- /** Format: uri */
2521
- cancelUrl: string;
2522
- };
2523
- /** SubscribeToSubscriptionResponse */
2524
- SubscribeToSubscriptionResponse: {
2525
- /** Format: uri */
2526
- checkoutUrl: string | null;
2527
- sessionId: string;
2528
- };
2529
- /** CancelSubscriptionRequest */
2530
- CancelSubscriptionRequest: {
2531
- subscriberId: string;
2532
- };
2533
- /** CancelSubscriptionResponse */
2534
- CancelSubscriptionResponse: {
2535
- /** @enum {boolean} */
2536
- success: true;
2537
- };
2538
- /** GetSubscriptionCreditsResponse */
2539
- GetSubscriptionCreditsResponse: {
2540
- id: string;
2541
- subscriberId: string;
2542
- periodStart: string;
2543
- periodEnd: string;
2544
- expiresAt: string | null;
2545
- status: components["schemas"]["SubscriptionCreditStatus"];
2546
- redeemedAt: string | null;
2547
- orderId: string | null;
2548
- createdAt: string | null;
2549
- }[];
2550
- /** DeliveryAddress */
2551
- DeliveryAddress: {
2552
- street: string;
2553
- city: string;
2554
- state: string;
2555
- postalCode: string;
2556
- country: string;
2557
- };
2558
- /**
2559
- * CreateTeamOrderRequest
2560
- * @description Create a team order: promotes the lead's active basket into a shared team basket and returns the share token.
2561
- */
2562
- CreateTeamOrderRequest: {
2563
- venueAccessor: string;
2564
- sessionId: string;
2565
- /** Format: uuid */
2566
- menuId: string;
2567
- leadDisplayName: string;
2568
- teamName?: string;
2569
- /** Format: uri */
2570
- logoUrl?: string;
2571
- /** Format: date-time */
2572
- deadlineAt?: string | null;
2573
- fulfillmentType: components["schemas"]["FulfillmentType"];
2574
- /** Format: date-time */
2575
- fulfillmentAt?: string | null;
2576
- deliveryAddress?: components["schemas"]["DeliveryAddress"];
2577
- allowedPaymentMethods: components["schemas"]["PaymentMethod"][];
2578
- /** Format: uuid */
2579
- eventId?: string;
2580
- };
2581
- /** CreateTeamOrderResponse */
2582
- CreateTeamOrderResponse: {
2583
- publicId: string;
2584
- /** Format: uuid */
2585
- teamOrderId: string;
2586
- };
2587
- /** FetchTeamOrderResponse */
2588
- FetchTeamOrderResponse: {
2589
- teamOrder: {
2590
- id: string;
2591
- publicId: string;
2592
- venueId: string;
2593
- menuId: string;
2594
- eventId: string | null;
2595
- teamName: string | null;
2596
- logoUrl: string | null;
2597
- leadDisplayName: string;
2598
- status: components["schemas"]["TeamOrderStatus"];
2599
- allowedPaymentMethods: components["schemas"]["PaymentMethod"][];
2600
- fulfillmentType: components["schemas"]["FulfillmentType"];
2601
- /** Format: date-time */
2602
- fulfillmentAt: string | null;
2603
- /** Format: date-time */
2604
- deadlineAt: string | null;
2605
- /** Format: date-time */
2606
- lockedAt: string | null;
2607
- /** Format: date-time */
2608
- placedAt: string | null;
2609
- /** Format: date-time */
2610
- cancelledAt: string | null;
2611
- cancelReason: string | null;
2612
- deliveryAddressId: string | null;
2613
- diningLocation: string | null;
2614
- diningTime: string | null;
2615
- isDeliveryEnabled: boolean;
2616
- quickReferenceNumber: number | null;
2617
- };
2618
- deliveryThreshold: {
2619
- amount: number | null;
2620
- quantity: number | null;
2621
- };
2622
- participants: {
2623
- guestId: string;
2624
- basketId: string | null;
2625
- orderId: string | null;
2626
- participantNumber: number | null;
2627
- displayName: string | null;
2628
- status: components["schemas"]["ParticipantStatus"];
2629
- bundleCount: number;
2630
- amount: number;
2631
- paymentMethod: components["schemas"]["PaymentMethod"];
2632
- isLead: boolean;
2633
- isMe: boolean;
2634
- /** Format: date-time */
2635
- joinedAt: string;
2636
- items: {
2637
- id: string;
2638
- metadata: {
2639
- [key: string]: unknown;
2640
- } | null;
2641
- menuItems: {
2642
- menuItemId: string;
2643
- role: string | null;
2644
- quantity: number;
2645
- unit: components["schemas"]["Unit"];
2646
- }[];
2647
- isPaid: boolean;
2648
- }[];
2649
- payments: {
2650
- amount: number;
2651
- method: components["schemas"]["PaymentMethod"];
2652
- /** @enum {string} */
2653
- status: "authorized" | "captured" | "cash_pending" | "cash_received";
2654
- /** Format: date-time */
2655
- createdAt: string;
2656
- cardLast4: string | null;
2657
- }[];
2658
- paidTotal: number;
2659
- amountDue: number;
2660
- declaredReturns: {
2661
- depositwareTemplateId: string;
2662
- count: number;
2663
- }[];
2664
- leadSettledAt: string | null;
2665
- }[];
2666
- aggregatedTotals: {
2667
- confirmedBundleCount: number;
2668
- confirmedAmount: number;
2669
- totalBundleCount: number;
2670
- };
2671
- thresholdCheck: {
2672
- meets: boolean;
2673
- failedConstraints: ("quantity" | "amount")[];
2674
- requiredQuantity: number | null;
2675
- currentQuantity: number;
2676
- requiredAmount: number | null;
2677
- currentAmount: number;
2678
- };
2679
- isLead: boolean;
2680
- };
2681
- /** JoinTeamOrderRequest */
2682
- JoinTeamOrderRequest: {
2683
- publicId: string;
2684
- sessionId: string;
2685
- displayName?: string;
2686
- };
2687
- /** JoinTeamOrderResponse */
2688
- JoinTeamOrderResponse: {
2689
- /** Format: uuid */
2690
- teamOrderId: string;
2691
- basketId: string;
2692
- guestId: string;
2693
- status: components["schemas"]["TeamOrderStatus"];
2694
- isLead: boolean;
2695
- alreadyJoined: boolean;
2696
- };
2697
- /** SubmitTeamOrderRequest */
2698
- SubmitTeamOrderRequest: {
2699
- publicId: string;
2700
- sessionId: string;
2701
- };
2702
- /** SubmitTeamOrderResponse */
2703
- SubmitTeamOrderResponse: {
2704
- /** Format: uuid */
2705
- teamOrderId: string;
2706
- status: components["schemas"]["TeamOrderStatus"];
2707
- capturedOrderIds: string[];
2708
- cashPendingOrderIds: string[];
2709
- droppedBasketIds: string[];
2710
- /** Format: date-time */
2711
- placedAt: string;
2712
- };
2713
- /** CancelTeamOrderRequest */
2714
- CancelTeamOrderRequest: {
2715
- publicId: string;
2716
- sessionId: string;
2717
- reason?: string;
2718
- };
2719
- /** CancelTeamOrderResponse */
2720
- CancelTeamOrderResponse: {
2721
- /** Format: uuid */
2722
- teamOrderId: string;
2723
- status: components["schemas"]["TeamOrderStatus"];
2724
- voidedPaymentIntentIds: string[];
2725
- /** Format: date-time */
2726
- cancelledAt: string;
2727
- };
2728
- /** ExtendDeadlineTeamOrderRequest */
2729
- ExtendDeadlineTeamOrderRequest: {
2730
- publicId: string;
2731
- sessionId: string;
2732
- /** Format: date-time */
2733
- newDeadlineAt: string;
2734
- };
2735
- /** ExtendDeadlineTeamOrderResponse */
2736
- ExtendDeadlineTeamOrderResponse: {
2737
- /** Format: uuid */
2738
- teamOrderId: string;
2739
- status: components["schemas"]["TeamOrderStatus"];
2740
- /** Format: date-time */
2741
- deadlineAt: string | null;
2742
- };
2743
- /** SetFulfillmentAtTeamOrderRequest */
2744
- SetFulfillmentAtTeamOrderRequest: {
2745
- publicId: string;
2746
- sessionId: string;
2747
- /** Format: date-time */
2748
- fulfillmentAt: string;
2749
- };
2750
- /** SetFulfillmentAtTeamOrderResponse */
2751
- SetFulfillmentAtTeamOrderResponse: {
2752
- /** Format: uuid */
2753
- teamOrderId: string;
2754
- status: components["schemas"]["TeamOrderStatus"];
2755
- /** Format: date-time */
2756
- fulfillmentAt: string;
2757
- /** Format: date-time */
2758
- deadlineAt: string | null;
2759
- };
2760
- /** SetDiningLocationTeamOrderRequest */
2761
- SetDiningLocationTeamOrderRequest: {
2762
- publicId: string;
2763
- sessionId: string;
2764
- diningLocation: string;
2765
- };
2766
- /** SetDiningLocationTeamOrderResponse */
2767
- SetDiningLocationTeamOrderResponse: {
2768
- /** Format: uuid */
2769
- teamOrderId: string;
2770
- status: components["schemas"]["TeamOrderStatus"];
2771
- diningLocation: string | null;
2772
- };
2773
- /** SetDiningTimeTeamOrderRequest */
2774
- SetDiningTimeTeamOrderRequest: {
2775
- publicId: string;
2776
- sessionId: string;
2777
- diningTime: string;
2778
- };
2779
- /** SetDiningTimeTeamOrderResponse */
2780
- SetDiningTimeTeamOrderResponse: {
2781
- /** Format: uuid */
2782
- teamOrderId: string;
2783
- status: components["schemas"]["TeamOrderStatus"];
2784
- diningTime: string;
2785
- diningOffset: number;
2786
- };
2787
- /** SetOrderLeadSettledRequest */
2788
- SetOrderLeadSettledRequest: {
2789
- publicId: string;
2790
- sessionId: string;
2791
- /** Format: uuid */
2792
- orderId: string;
2793
- settled: boolean;
2794
- };
2795
- /** SetOrderLeadSettledResponse */
2796
- SetOrderLeadSettledResponse: {
2797
- /** Format: uuid */
2798
- orderId: string;
2799
- leadSettledAt: string | null;
2800
- };
2801
- /** AutoExtendFulfillmentIfExpiredRequest */
2802
- AutoExtendFulfillmentIfExpiredRequest: {
2803
- publicId: string;
2804
- sessionId: string;
2805
- /** Format: date-time */
2806
- proposedFulfillmentAt: string;
2807
- };
2808
- /** AutoExtendFulfillmentIfExpiredResponse */
2809
- AutoExtendFulfillmentIfExpiredResponse: {
2810
- extended: boolean;
2811
- teamOrderId: string;
2812
- status: string;
2813
- /** Format: date-time */
2814
- fulfillmentAt: string;
2815
- /** Format: date-time */
2816
- deadlineAt: string | null;
2817
- /** Format: date-time */
2818
- previousFulfillmentAt: string;
2819
- waitingCount: number;
2820
- };
2821
- /** SwitchFulfillmentTeamOrderRequest */
2822
- SwitchFulfillmentTeamOrderRequest: {
2823
- publicId: string;
2824
- sessionId: string;
2825
- fulfillmentType: components["schemas"]["FulfillmentType"];
2826
- deliveryAddress?: components["schemas"]["DeliveryAddress"];
2827
- };
2828
- /** SwitchFulfillmentTeamOrderResponse */
2829
- SwitchFulfillmentTeamOrderResponse: {
2830
- /** Format: uuid */
2831
- teamOrderId: string;
2832
- status: components["schemas"]["TeamOrderStatus"];
2833
- fulfillmentType: components["schemas"]["FulfillmentType"];
2834
- deliveryAddressId: string | null;
2835
- };
2836
- /** UpdateDeliveryAddressTeamOrderRequest */
2837
- UpdateDeliveryAddressTeamOrderRequest: {
2838
- publicId: string;
2839
- sessionId: string;
2840
- deliveryAddress: components["schemas"]["DeliveryAddress"];
2841
- };
2842
- /** UpdateDeliveryAddressTeamOrderResponse */
2843
- UpdateDeliveryAddressTeamOrderResponse: {
2844
- /** Format: uuid */
2845
- teamOrderId: string;
2846
- deliveryAddressId: string;
2847
- };
2848
- /**
2849
- * GetVenueResponse
2850
- * @description A venue. The public API exposes only the minimal id + accessor + naming + locale fields the CLI's `venues use` / `auth whoami` consume.
2851
- */
2852
- GetVenueResponse: {
2853
- id: string;
2854
- accessor: string;
2855
- officialName: string;
2856
- legalName: string;
2857
- shortName: string;
2858
- brandName: string;
2859
- primaryLocale: string;
2860
- supportedLocales: string[];
2861
- timezone: string;
2862
- createdAt: unknown;
2863
- updatedAt: unknown;
2864
- };
2865
- /** GetWebsitePagesResponse */
2866
- GetWebsitePagesResponse: {
2867
- id: string;
2868
- venueId: string;
2869
- ownerType: components["schemas"]["WebsitePageOwnerType"];
2870
- ownerId: string | null;
2871
- label: ((string | number | boolean | (null)) | {
2872
- [key: string]: unknown;
2873
- } | unknown[]) | null;
2874
- path: string | null;
2875
- externalUrl: string | null;
2876
- createdBy: string | null;
2877
- updatedBy: string | null;
2878
- createdAt: unknown;
2879
- updatedAt: unknown;
2880
- }[];
2881
- /** CreateWebsitePageRequest */
2882
- CreateWebsitePageRequest: {
2883
- venueAccessor: string;
2884
- id?: string;
2885
- ownerType?: components["schemas"]["WebsitePageOwnerType"];
2886
- ownerId?: string | null;
2887
- label?: {
2888
- [key: string]: string;
2889
- } | null;
2890
- target: string;
2891
- };
2892
- /** CreateWebsitePageResponse */
2893
- CreateWebsitePageResponse: {
2894
- id: string;
2895
- venueId: string;
2896
- ownerType: components["schemas"]["WebsitePageOwnerType"];
2897
- ownerId: string | null;
2898
- label: ((string | number | boolean | (null)) | {
2899
- [key: string]: unknown;
2900
- } | unknown[]) | null;
2901
- path: string | null;
2902
- externalUrl: string | null;
2903
- createdBy: string | null;
2904
- updatedBy: string | null;
2905
- createdAt: unknown;
2906
- updatedAt: unknown;
2907
- };
2908
- /** UpdateWebsitePageRequest */
2909
- UpdateWebsitePageRequest: {
2910
- venueAccessor: string;
2911
- id: string;
2912
- label?: {
2913
- [key: string]: string;
2914
- } | null;
2915
- target: string;
2916
- };
2917
- /** UpdateWebsitePageResponse */
2918
- UpdateWebsitePageResponse: {
2919
- id: string;
2920
- venueId: string;
2921
- ownerType: components["schemas"]["WebsitePageOwnerType"];
2922
- ownerId: string | null;
2923
- label: ((string | number | boolean | (null)) | {
2924
- [key: string]: unknown;
2925
- } | unknown[]) | null;
2926
- path: string | null;
2927
- externalUrl: string | null;
2928
- createdBy: string | null;
2929
- updatedBy: string | null;
2930
- createdAt: unknown;
2931
- updatedAt: unknown;
2932
- };
2933
- /** DeleteWebsitePageResponse */
2934
- DeleteWebsitePageResponse: {
2935
- id: string;
2936
- venueId: string;
2937
- ownerType: components["schemas"]["WebsitePageOwnerType"];
2938
- ownerId: string | null;
2939
- label: ((string | number | boolean | (null)) | {
2940
- [key: string]: unknown;
2941
- } | unknown[]) | null;
2942
- path: string | null;
2943
- externalUrl: string | null;
2944
- createdBy: string | null;
2945
- updatedBy: string | null;
2946
- createdAt: unknown;
2947
- updatedAt: unknown;
2948
- };
2949
- /** @enum {string} */
2950
- ActorType: "human" | "robot";
2951
- /** @enum {string} */
2952
- AdditiveFunction: "acid" | "acidity_regulator" | "anti_caking_agent" | "anti_foaming_agent" | "antioxidant" | "bulking_agent" | "carrier" | "colour" | "emulsifier" | "emulsifying_salt" | "firming_agent" | "flavour_enhancer" | "flour_treatment_agent" | "foaming_agent" | "gelling_agent" | "glazing_agent" | "humectant" | "modified_starch" | "preservative" | "packaging_gas" | "propellant_gas" | "raising_agent" | "sequestrant" | "stabiliser" | "sweetener" | "thickener";
2953
- /** @enum {string} */
2954
- AreaBookingMode: "slot" | "day";
2955
- /** @enum {string} */
2956
- AreaBookingRequestSource: "website" | "phone" | "walk_in";
2957
- /** @enum {string} */
2958
- AreaBookingRequestStatus: "pending" | "approved" | "rejected" | "cancelled";
2959
- /** @enum {string} */
2960
- AreaBookingStatus: "confirmed" | "arrived" | "completed" | "cancelled" | "no_show";
2961
- /** @enum {string} */
2962
- AreaType: "indoor" | "outdoor";
2963
- /** @enum {string} */
2964
- ArticleEditorSaveState: "idle" | "saving" | "saved" | "error";
2965
- /** @enum {string} */
2966
- ArticleStatus: "draft" | "published";
2967
- /** @enum {string} */
2968
- BasketStatus: "active" | "abandoned" | "converted";
2969
- /** @enum {string} */
2970
- BeverageCategory: "wine" | "beer" | "coffee" | "tea" | "cocktail" | "juice" | "soft_drink" | "dairy_drink" | "spirit" | "water";
2971
- /** @enum {string} */
2972
- CancellationReason: "guest_request" | "restaurant_request";
2973
- /** @enum {string} */
2974
- ContactPreference: "email" | "phone" | "sms" | "none";
2975
- /** @enum {string} */
2976
- CountryCode: "AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AS" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CC" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CU" | "CV" | "CW" | "CX" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FM" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HM" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IR" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KP" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MH" | "MK" | "ML" | "MM" | "MN" | "MO" | "MP" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NF" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PW" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SD" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SY" | "SZ" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "UM" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VI" | "VN" | "VU" | "WF" | "WS" | "YE" | "YT" | "ZA" | "ZM" | "ZW";
2977
- /** @enum {string} */
2978
- Currency: "EUR" | "CHF";
2979
- /** @enum {string} */
2980
- DepositTransactionType: "charged" | "refunded" | "forfeited" | "waived" | "credit_used";
2981
- /** @enum {string} */
2982
- DepositwareStatus: "available" | "issued" | "returned" | "lost" | "damaged" | "retired";
2983
- /** @enum {string} */
2984
- EntityOwnerType: "event" | "dish" | "beverage" | "venue" | "menu" | "menuSubscription" | "ritual";
2985
- /** @enum {string} */
2986
- IntegrationNotificationType: "order_created" | "order_cancelled" | "order_completed" | "team_order_created" | "reservation_created" | "reservation_confirmed" | "reservation_cancelled";
2987
- /** @enum {string} */
2988
- IntegrationType: "telegram" | "google_ads" | "google_business_profile" | "meta_ads";
2989
- /** @enum {string} */
2990
- InventoryAssetStatus: "available" | "in_use" | "maintenance" | "retired";
2991
- /** @enum {string} */
2992
- InventoryCategory: "depositware" | "furniture" | "equipment" | "utensil";
2993
- /** @enum {string} */
2994
- InvitationScenario: "new_user" | "already_member" | "former_employee";
2995
- /** @enum {string} */
2996
- Locale: "aa" | "ab" | "ae" | "af" | "ak" | "am" | "an" | "ar" | "as" | "av" | "ay" | "az" | "ba" | "be" | "bg" | "bh" | "bi" | "bm" | "bn" | "bo" | "br" | "bs" | "ca" | "ce" | "ch" | "co" | "cr" | "cs" | "cu" | "cv" | "cy" | "da" | "de" | "dv" | "dz" | "ee" | "el" | "en" | "eo" | "es" | "et" | "eu" | "fa" | "ff" | "fi" | "fj" | "fo" | "fr" | "fy" | "ga" | "gd" | "gl" | "gn" | "gu" | "gv" | "ha" | "he" | "hi" | "ho" | "hr" | "ht" | "hu" | "hy" | "hz" | "ia" | "id" | "ie" | "ig" | "ii" | "ik" | "io" | "is" | "it" | "iu" | "ja" | "jv" | "ka" | "kg" | "ki" | "kj" | "kk" | "kl" | "km" | "kn" | "ko" | "kr" | "ks" | "ku" | "kv" | "kw" | "ky" | "la" | "lb" | "lg" | "li" | "ln" | "lo" | "lt" | "lu" | "lv" | "mg" | "mh" | "mi" | "mk" | "ml" | "mn" | "mr" | "ms" | "mt" | "my" | "na" | "nb" | "nd" | "ne" | "ng" | "nl" | "nn" | "no" | "nr" | "nv" | "ny" | "oc" | "oj" | "om" | "or" | "os" | "pa" | "pi" | "pl" | "ps" | "pt" | "qu" | "rm" | "rn" | "ro" | "ru" | "rw" | "sa" | "sc" | "sd" | "se" | "sg" | "si" | "sk" | "sl" | "sm" | "sn" | "so" | "sq" | "sr" | "ss" | "st" | "su" | "sv" | "sw" | "ta" | "te" | "tg" | "th" | "ti" | "tk" | "tl" | "tn" | "to" | "tr" | "ts" | "tt" | "tw" | "ty" | "ug" | "uk" | "ur" | "uz" | "ve" | "vi" | "vo" | "wa" | "wo" | "xh" | "yi" | "yo" | "za" | "zh" | "zu";
2997
- /** @enum {string} */
2998
- MenuItemType: "dish" | "beverage";
2999
- /** @enum {string} */
3000
- OccupancyReason: "ok" | "tables" | "personnel";
3001
- /** @enum {string} */
3002
- FulfillmentType: "pickup" | "delivery";
3003
- /** @enum {string} */
3004
- OrderStatus: "pending" | "in_progress" | "ready" | "completed" | "cancelled";
3005
- /** @enum {string} */
3006
- PaxBand: "1-2" | "3-4" | "5-6" | "7+";
3007
- /** @enum {string} */
3008
- PaymentMethod: "card" | "cash" | "voucher";
3009
- /** @enum {string} */
3010
- PaymentStatus: "unpaid" | "paid" | "refunded" | "authorized" | "cash_pending";
3011
- /** @enum {string} */
3012
- PlatformRole: "platform_maintainer";
3013
- /** @enum {string} */
3014
- ReservationMode: "passive" | "auto_steer";
3015
- /** @enum {string} */
3016
- Role: "superadmin" | "admin" | "manager" | "chef" | "cook" | "waiter" | "rider";
3017
- /** @enum {string} */
3018
- ScanTokenEntityType: "order" | "depositware";
3019
- /** @enum {string} */
3020
- SortOrder: "asc" | "desc";
3021
- /** @enum {string} */
3022
- SubscriberStatus: "active" | "paused" | "cancelled" | "past_due" | "trialing";
3023
- /** @enum {string} */
3024
- SubscriptionCreditStatus: "available" | "redeemed" | "expired";
3025
- /** @enum {string} */
3026
- SubscriptionPeriod: "week" | "month" | "year";
3027
- /** @enum {string} */
3028
- TeamOrderStatus: "draft" | "collecting" | "locked" | "placed" | "ready" | "completed" | "cancelled";
3029
- /** @enum {string} */
3030
- Unit: "grams" | "kilograms" | "liters" | "milliliters" | "pieces";
3031
- /** @enum {string} */
3032
- AdChannel: "google" | "facebook" | "instagram";
3033
- /** @enum {string} */
3034
- AdOwnerType: "event" | "ritual" | "venue" | "dish" | "beverage" | "menu";
3035
- /** @enum {string} */
3036
- AdStatus: "draft" | "ready" | "archived";
3037
- /** @enum {string} */
3038
- MentionEntityType: "dish" | "beverage" | "ingredient" | "menu" | "ritual";
3039
- /** @enum {string} */
3040
- MentionType: "link" | "value";
3041
- /** @enum {string} */
3042
- PendingSuperadminTransferStatus: "pending_invite" | "accepted_awaiting_payment" | "completed" | "cancelled" | "expired";
3043
- /** @enum {string} */
3044
- BillingMode: "single_anchor" | "split";
3045
- /** @enum {string} */
3046
- VenueChargeType: "base" | "addon";
3047
- /** @enum {string} */
3048
- AssetType: "image" | "video" | "document";
3049
- /** @enum {string} */
3050
- GbpMediaCategory: "cover" | "logo" | "gallery" | "video";
3051
- /** @enum {string} */
3052
- GbpSyncStatus: "processing" | "live" | "rejected" | "failed" | "removed";
3053
- /** @enum {string} */
3054
- GeoAreaType: "postcode" | "city" | "region";
3055
- /** @enum {string} */
3056
- Jurisdiction: "DE" | "CH" | "FR" | "IT";
3057
- /** @enum {string} */
3058
- EventAssetSource: "inherited" | "manual";
3059
- /** @enum {string} */
3060
- RitualType: "service" | "special";
3061
- /** @enum {string} */
3062
- DayOfWeek: "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday";
3063
- /** @enum {string} */
3064
- SlotMode: "interval" | "duration";
3065
- /** @enum {string} */
3066
- TeamOrderPaymentStatus: "authorized" | "captured" | "cash_pending" | "cash_received" | "voided" | "failed";
3067
- /** @enum {string} */
3068
- FeatureCategory: "articles" | "auth" | "billing" | "core" | "guests" | "events" | "inventory" | "menus" | "orders" | "platform" | "promotions" | "reservations" | "settings" | "venues";
3069
- /** @enum {string} */
3070
- FeatureStatus: "backlog" | "in_development" | "released";
3071
- /** @enum {string} */
3072
- MentionFieldFormatter: "text" | "currency" | "integer" | "percentage" | "boolean";
3073
- /** @enum {string} */
3074
- KeywordPolarity: "positive" | "negative";
3075
- /** @enum {string} */
3076
- PromotionBenefitType: "free_item" | "discount_percentage" | "discount_amount" | "buy_x_get_y";
3077
- /** @enum {string} */
3078
- ReservationPromotionStatus: "applied" | "redeemed" | "expired";
3079
- /** @enum {string} */
3080
- ReservationStatus: "pending" | "confirmed" | "arrived" | "seated" | "completed" | "cancelled" | "no_show";
3081
- /** @enum {string} */
3082
- ReservationMessageStatus: "draft" | "sent";
3083
- /** @enum {string} */
3084
- VenueEmailSenderStatus: "pending" | "verified" | "failed" | "temporary_failure";
3085
- /** @enum {string} */
3086
- WebsitePageOwnerType: "venue" | "menu" | "dish" | "beverage" | "ingredient" | "event" | "ritual";
3087
- /** @enum {string} */
3088
- VenueAssetType: "logomark" | "wordmark" | "combinationmark_horizontal" | "combinationmark_vertical";
3089
- /** @enum {string} */
3090
- VenueUserStatus: "pending" | "confirmed" | "revoked";
3091
- /** @enum {string} */
3092
- VenueType: "restaurant" | "fine_dining_restaurant" | "ghost_kitchen" | "food_truck";
3093
- /** @enum {string} */
3094
- ParticipantStatus: "browsing" | "authorized" | "cash_pending" | "placed" | "completed" | "cancelled";
3095
- /** @enum {string} */
3096
- EnumTrue: "true";
3097
- /** @enum {string} */
3098
- EnumFalse: "false";
3099
- };
3100
- responses: never;
3101
- parameters: never;
3102
- requestBodies: never;
3103
- headers: never;
3104
- pathItems: never;
3105
- }
3106
-
3107
- type schemas = components['schemas'];
3108
- type CreateEventRequest = schemas['CreateEventRequest'];
3109
- type CreateEventResponse = schemas['CreateEventResponse'];
3110
- type PatchEventRequest = schemas['EditEventRequest'];
3111
- type PatchEventResponse = schemas['EditEventResponse'];
3112
- type DeleteEventResponse = schemas['DeleteEventResponse'];
3113
- type UploadEventAssetResponse = schemas['UploadAssetResponse'];
3114
- /**
3115
- * Args for `client.events.uploadPoster()`. Mirrors
3116
- * {@link UploadFeatureImageArgs} — the SDK accepts a `Buffer` /
3117
- * `Uint8Array` payload + filename + content-type and builds the
3118
- * multipart FormData internally. Client ergonomics, no wire equivalent.
3119
- */
3120
- interface UploadEventAssetArgs {
3121
- data: Buffer | Uint8Array;
3122
- filename: string;
3123
- contentType: string;
3124
- }
3125
- /**
3126
- * A single ad row — generated-bound to the `FetchAdResponse` component
3127
- * (`createSelectSchema(ads)` server-side). Carries the polymorphic owner
3128
- * (`ownerEntityType` / `ownerEntityId`), the `channel`, the paste-ready
3129
- * Google Search Ad `content` document, and the lifecycle `status`.
3130
- */
3131
- type Ad = schemas['FetchAdResponse'];
3132
- /**
3133
- * The ads list response — generated-bound to `FetchAdsResponse` (an array
3134
- * of {@link Ad}), ordered by `createdAt`. Never hand-rolled.
3135
- */
3136
- type ListAdsResponse = schemas['FetchAdsResponse'];
3137
- type CreateAdRequest = schemas['CreateAdRequest'];
3138
- type CreateAdResponse = schemas['CreateAdResponse'];
3139
- type PatchAdRequest = schemas['EditAdRequest'];
3140
- type PatchAdResponse = schemas['EditAdResponse'];
3141
- type DeleteAdResponse = schemas['DeleteAdResponse'];
3142
- type EditMetaAdRequest = schemas['EditMetaAdRequest'];
3143
- type EditMetaAdResponse = schemas['EditMetaAdResponse'];
3144
- type SaveAdCalloutsRequest = schemas['SaveAdCalloutsRequest'];
3145
- type SaveAdCalloutsResponse = schemas['SaveAdCalloutsResponse'];
3146
- type SaveAdKeywordsRequest = schemas['SaveAdKeywordsRequest'];
3147
- type SaveAdKeywordsResponse = schemas['SaveAdKeywordsResponse'];
3148
- type SaveAdNegativeKeywordsRequest = schemas['SaveAdNegativeKeywordsRequest'];
3149
- type SaveAdNegativeKeywordsResponse = schemas['SaveAdNegativeKeywordsResponse'];
3150
- type SaveAdWebsitePagesRequest = schemas['SaveAdWebsitePagesRequest'];
3151
- type SaveAdWebsitePagesResponse = schemas['SaveAdWebsitePagesResponse'];
3152
- type SetAdBudgetRequest = schemas['SetAdBudgetRequest'];
3153
- type SetAdBudgetResponse = schemas['SetAdBudgetResponse'];
3154
- type GetCalloutsResponse = schemas['GetCalloutsResponse'];
3155
- type CreateCalloutRequest = schemas['CreateCalloutRequest'];
3156
- type CreateCalloutResponse = schemas['CreateCalloutResponse'];
3157
- type UpdateCalloutRequest = schemas['UpdateCalloutRequest'];
3158
- type UpdateCalloutResponse = schemas['UpdateCalloutResponse'];
3159
- type DeleteCalloutResponse = schemas['DeleteCalloutResponse'];
3160
- type GetWebsitePagesResponse = schemas['GetWebsitePagesResponse'];
3161
- type CreateWebsitePageRequest = schemas['CreateWebsitePageRequest'];
3162
- type CreateWebsitePageResponse = schemas['CreateWebsitePageResponse'];
3163
- type UpdateWebsitePageRequest = schemas['UpdateWebsitePageRequest'];
3164
- type UpdateWebsitePageResponse = schemas['UpdateWebsitePageResponse'];
3165
- type DeleteWebsitePageResponse = schemas['DeleteWebsitePageResponse'];
3166
- /**
3167
- * Optional filters for `client.ads.list()`. Each narrows the venue's ad
3168
- * set; omit all to list every ad. Client ergonomics, mapped to the wire
3169
- * query string by the resource layer.
3170
- */
3171
- interface ListAdsOptions {
3172
- /** Filter to ads owning this entity type (e.g. `event`). */
3173
- ownerEntityType?: string;
3174
- /** Filter to ads owning this specific entity id. */
3175
- ownerEntityId?: string;
3176
- /** Filter to ads on this channel (e.g. `google`). */
3177
- channel?: string;
3178
- }
3179
- type Article = schemas['FetchArticleResponse'];
3180
- type ListArticlesResponse = schemas['FetchArticlesResponse'];
3181
- type GetArticleResponse = schemas['FetchArticleResponse'];
3182
- type PatchArticleRequest = schemas['EditArticleRequest'];
3183
- type PatchArticleResponse = schemas['EditArticleResponse'];
3184
- type FeatureImage = schemas['FeatureImage'];
3185
- type PatchFeatureImageRequest = schemas['PatchArticleFeatureImageBody'];
3186
- /**
3187
- * Args for `client.articles.uploadFeatureImage()`. The SDK accepts a
3188
- * `Buffer` or `Uint8Array` payload + filename + content-type — it
3189
- * builds the FormData internally so callers don't have to know about
3190
- * multipart wire encoding. Client ergonomics, no wire equivalent.
3191
- */
3192
- interface UploadFeatureImageArgs {
3193
- data: Buffer | Uint8Array;
3194
- filename: string;
3195
- contentType: string;
3196
- }
3197
- interface ListArticlesOptions {
3198
- /** Only return articles whose `tags` array contains this value. */
3199
- tag?: string;
3200
- /** When `true`, include articles whose `publishedAt` is null. Default `false`. */
3201
- includeDrafts?: boolean;
3202
- /** When `true`, include articles whose `isActive` is `false`. Default `false`. */
3203
- includeInactive?: boolean;
3204
- }
3205
- type Venue = schemas['GetVenueResponse'];
3206
- type GetVenueResponse = schemas['GetVenueResponse'];
3207
- /**
3208
- * Order fulfillment type — bound to the generated `FulfillmentType`
3209
- * component (order3000's `order_fulfillment_type` enum, surfaced via
3210
- * `openapi-typescript`). Never hand-rolled.
3211
- */
3212
- type OrderFulfillmentType = schemas['FulfillmentType'];
3213
- type PlaceOrderRequest = Omit<schemas['PlaceOrderRequest'], 'fulfillmentAt'> & {
3214
- /**
3215
- * When the order should be fulfilled (ISO 8601 datetime or Date).
3216
- * Null / omitted in team-order mode — the Lead's pickup-time decision
3217
- * is attached to the team row and backfilled onto each child order at
3218
- * submit time.
3219
- */
3220
- fulfillmentAt?: Date | string | null;
3221
- };
3222
- type PlaceOrderResponse = schemas['PlaceOrderResponse'];
3223
- type MakeReservationRequest = schemas['MakeReservationRequest'];
3224
- type MakeReservationResponse = schemas['MakeReservationResponse'];
3225
- /**
3226
- * Day of week — generated-bound to the `dayOfWeek` enum carried by the
3227
- * events list schedule time-slot rows. The order3000 events output
3228
- * schema is now precise (no more `.passthrough()`), so this derives
3229
- * straight from the wire contract.
3230
- */
3231
- type DayOfWeek = NonNullable<NonNullable<schemas['FetchEventsResponse'][number]['schedule']>['scheduleTimeSlots'][number]['dayOfWeek']>;
3232
- /**
3233
- * A single event time slot — the one slot shape, used by both the weekly
3234
- * recurring `timeSlots[]` and the per-date `scheduleOverrides[].timeSlots[]`.
3235
- * `dayOfWeek` is present only on weekly slots (optional); every field is
3236
- * optional because the underlying join row may be absent, so consumers
3237
- * resolving "the slots bookable on date X" must guard. Generated-bound to
3238
- * the events list response's `timeSlots[]` element.
3239
- */
3240
- type TimeSlot = schemas['FetchEventsResponse'][number]['timeSlots'][number];
3241
- /**
3242
- * A date-specific schedule override for an event. Generated-bound to the
3243
- * events list response's `scheduleOverrides[]` element.
3244
- */
3245
- type ScheduleOverride = schemas['FetchEventsResponse'][number]['scheduleOverrides'][number];
3246
- /**
3247
- * An event's schedule (rrule, validity window, slot-generation settings,
3248
- * plus the nested override / time-slot rows). Generated-bound to the
3249
- * non-null `schedule` object on the events list response.
3250
- *
3251
- * `intervalDuration` / `duration` are milliseconds (codebase convention).
3252
- */
3253
- type Schedule = NonNullable<schemas['FetchEventsResponse'][number]['schedule']>;
3254
- /**
3255
- * An asset (image/video/document) attached to an event. Generated-bound to the
3256
- * events list response's `assets[]` element. Use the asset's `tags` (e.g.
3257
- * `'poster'`) to classify how it's used.
3258
- */
3259
- type EventAsset = schemas['FetchEventsResponse'][number]['assets'][number];
3260
- /**
3261
- * A promotion attached to an event. Generated-bound to the events list
3262
- * response's `promotions[]` element.
3263
- */
3264
- type Promotion = schemas['FetchEventsResponse'][number]['promotions'][number];
3265
- /**
3266
- * A single event as returned by the list endpoint, with schedule,
3267
- * posters, promotions, time slots and overrides inlined. Generated-bound
3268
- * to the events list response element — request-shape drift is now
3269
- * impossible.
3270
- */
3271
- type Event = schemas['FetchEventsResponse'][number];
3272
- interface ListEventsOptions {
3273
- /** Include private events in the response */
3274
- includePrivate?: boolean;
3275
- /** Include inactive events in the response */
3276
- includeInactive?: boolean;
3277
- /** Filter by isPublic status */
3278
- isPublic?: boolean;
3279
- /** Filter by isRecurring status */
3280
- isRecurring?: boolean;
3281
- /** Filter by isClosed status */
3282
- isClosed?: boolean;
3283
- /** Filter for events occurring within N days from today */
3284
- upcomingWithinDays?: number;
3285
- }
3286
- /**
3287
- * The events list response — generated-bound to `FetchEventsResponse`
3288
- * (an array of {@link Event}). Never hand-rolled.
3289
- */
3290
- type ListEventsResponse = schemas['FetchEventsResponse'];
3291
- /**
3292
- * An asset (image/video/document) as returned by the assets-by-tag endpoint,
3293
- * with its resolved Supabase `publicUrl`. Generated-bound to
3294
- * `FetchAssetsByTagResponse`'s element — never hand-rolled.
3295
- */
3296
- type Asset = schemas['FetchAssetsByTagResponse'][number];
3297
- interface ListAssetsOptions {
3298
- /** Required. Only assets carrying this tag are returned. */
3299
- tag: string;
3300
- /** Optional asset-type filter. */
3301
- type?: 'image' | 'video' | 'document';
3302
- }
3303
- /**
3304
- * The assets-by-tag list response — generated-bound to
3305
- * `FetchAssetsByTagResponse` (an array of {@link Asset}). Never hand-rolled.
3306
- */
3307
- type ListAssetsResponse = schemas['FetchAssetsByTagResponse'];
3308
- /**
3309
- * Menu item discriminant — generated-bound to the `type` enum on the
3310
- * menu response's `items[]` element. The `fetchMenu` output schema is
3311
- * now precise; never hand-rolled.
3312
- */
3313
- type MenuItemType = NonNullable<schemas['FetchMenuResponse']['items']>[number]['type'];
3314
- /**
3315
- * Crop area coordinates for assets. Shared UI helper (mirrors the
3316
- * `@kolaveri/molecules` Cropper type) — not a wire DTO.
3317
- */
3318
- interface CropArea {
3319
- x: number;
3320
- y: number;
3321
- width: number;
3322
- height: number;
3323
- }
3324
- /**
3325
- * A menu — generated-bound to `FetchMenuResponse`. order3000's
3326
- * `fetchMenu` action always projects the flat, hydrated client view:
3327
- * `assets[]` (menu-level) and every `items[].dish.assets[]` /
3328
- * `items[].beverage.assets[]` are resolved to flat assets carrying
3329
- * their Supabase `publicUrl`; the raw `*_assets` junction relations are
3330
- * stripped at source and never surface on the wire. Bound here via the
3331
- * same alias-derivation style as `Basket`/`BasketItem`.
3332
- */
3333
- type Menu = NonNullable<schemas['FetchMenuResponse']>;
3334
- /**
3335
- * A single menu item — generated-bound to the element type of
3336
- * `Menu.items[]` (present when `expand=items`).
3337
- */
3338
- type MenuItem = NonNullable<Menu['items']>[number];
3339
- /**
3340
- * The dish carried by a menu item — generated-bound to `MenuItem.dish`.
3341
- */
3342
- type MenuDish = NonNullable<MenuItem['dish']>;
3343
- /**
3344
- * The beverage carried by a menu item — generated-bound to
3345
- * `MenuItem.beverage`.
3346
- */
3347
- type MenuBeverage = NonNullable<MenuItem['beverage']>;
3348
- /**
3349
- * A flat, hydrated asset — generated-bound to the element type of the
3350
- * always-present menu-level `Menu.assets[]`. Identical in shape to the
3351
- * per-item `dish.assets[]` / `beverage.assets[]` elements (all are the
3352
- * same hydrated asset projection with a resolved `publicUrl`).
3353
- */
3354
- type MenuAsset = NonNullable<Menu['assets']>[number];
3355
- interface GetMenuOptions {
3356
- /** Expand related resources (items, assets) */
3357
- expand?: ('items' | 'assets')[];
3358
- }
3359
- /**
3360
- * Wire shape for a single menu bundle, bound to the generated OpenAPI
3361
- * schema (`FetchMenuBundlesResponse`) — never hand-rolled. The
3362
- * authoritative contract is order3000's `fetchMenuBundles` output
3363
- * schema, surfaced here via `openapi-typescript`. Notably `price` is
3364
- * `{ amount, currency }`, not a bare number.
3365
- */
3366
- type MenuBundle = schemas['FetchMenuBundlesResponse'][number];
3367
- type MenuBundleDeposit = NonNullable<MenuBundle['deposit']>;
3368
- /**
3369
- * A single event as returned by the `events.get` endpoint, with
3370
- * optional schedule / menus / posters expansions. Generated-bound to the
3371
- * `FetchEventResponse` component (the order3000 `fetchEvent` output
3372
- * schema is now precise) — request-shape drift is impossible.
3373
- */
3374
- type EventByAccessor = schemas['FetchEventResponse'];
3375
- /**
3376
- * The fetched event's schedule sub-object, including the optional
3377
- * `scheduleTimeSlots[]` expansion. Generated-bound to the non-null
3378
- * `schedule` on `FetchEventResponse`. Kept as a distinct public SDK type
3379
- * name (re-exported as `O3KScheduleWithTimeSlots`) for downstream
3380
- * stability; structurally it is the single-event-fetch schedule shape.
3381
- */
3382
- type ScheduleWithTimeSlots = NonNullable<EventByAccessor['schedule']>;
3383
- /**
3384
- * A single regular time slot on the by-accessor event's schedule.
3385
- * Generated-bound to the element type of the (optional)
3386
- * `schedule.scheduleTimeSlots[]` array on `FetchEventResponse`.
3387
- */
3388
- type ScheduleTimeSlot = NonNullable<ScheduleWithTimeSlots['scheduleTimeSlots']>[number];
3389
- /**
3390
- * A menu summary attached to a by-accessor event. Generated-bound to the
3391
- * element type of `FetchEventResponse`'s optional `menus[]` array.
3392
- */
3393
- type EventMenu = NonNullable<EventByAccessor['menus']>[number];
3394
- /**
3395
- * A single ritual as returned by the `rituals.get` endpoint — its template
3396
- * schedule (time slots + date overrides), media, and the events materialised
3397
- * from it (with per-day covers). Generated-bound to the `FetchRitualResponse`
3398
- * component (the order3000 `fetchRitual` output schema), so request-shape drift
3399
- * is impossible. The component is nullable on the wire (the action returns the
3400
- * ritual or throws); `get()` resolves on success, so the SDK type is non-null.
3401
- */
3402
- type RitualByAccessor = NonNullable<schemas['FetchRitualResponse']>;
3403
- interface GetEventOptions {
3404
- /** Expand related resources (schedule, timeSlots, menus, posters) */
3405
- expand?: ('schedule' | 'timeSlots' | 'menus' | 'assets')[];
3406
- }
3407
- type AreaBookingMode = schemas['FetchAreaResponse']['bookingMode'];
3408
- type AreaBookingRequestStatus = schemas['SubmitAreaBookingRequestResponse']['status'];
3409
- type AreaBookingRequestSource = schemas['SubmitAreaBookingRequestResponse']['source'];
3410
- type AreaBookingStatus = schemas['FetchAreaBookingsResponse'][number]['status'];
3411
- type AreaAsset = NonNullable<schemas['FetchAreaResponse']['assets']>[number];
3412
- type AreaFeature = NonNullable<schemas['FetchAreaResponse']['features']>[number];
3413
- type Area = schemas['FetchAreaResponse'];
3414
- interface GetAreaOptions {
3415
- expand?: 'assets'[];
3416
- }
3417
- type AreaAvailabilityWindow = schemas['GetAreaAvailabilityResponse']['occupied'][number];
3418
- type AreaAvailabilityResponse = schemas['GetAreaAvailabilityResponse'];
3419
- type EventSlotAvailabilityResponse = schemas['FetchSlotAvailabilityResponse'];
3420
- interface GetEventSlotAvailabilityOptions {
3421
- reservationDate: string;
3422
- partySize: number;
3423
- areaId?: string;
3424
- }
3425
- interface GetAreaAvailabilityOptions {
3426
- /** YYYY-MM-DD — defaults to today */
3427
- from?: string;
3428
- /** YYYY-MM-DD — defaults to today + 90d */
3429
- to?: string;
3430
- }
3431
- type SubmitAreaBookingRequestPayload = schemas['SubmitAreaBookingPayload'];
3432
- type AreaBookingRequestResponse = schemas['SubmitAreaBookingRequestResponse'];
3433
- /**
3434
- * Canonical basket — generated-bound to the `FetchBasketResponse`
3435
- * component (the order3000 `fetchBasket` output schema is now precise).
3436
- * Returned by `baskets.get(sessionId)`.
3437
- */
3438
- type Basket = NonNullable<schemas['FetchBasketResponse']>;
3439
- /**
3440
- * Basket lifecycle status — generated-bound to the `status` enum on
3441
- * `FetchBasketResponse`. No longer a bare wire `string`.
3442
- */
3443
- type BasketStatus = Basket['status'];
3444
- type Currency = schemas['BasketTotals']['currency'];
3445
- /**
3446
- * Unit of measurement for portion tracking. Bound to the generated
3447
- * add-to-basket request shape.
3448
- */
3449
- type Unit = NonNullable<schemas['AddToBasketRequest']['menuItems'][number]['unit']>;
3450
- /**
3451
- * A single basket item — generated-bound to the element type of
3452
- * `FetchBasketResponse.items[]`. One physical product (e.g. a TiffinBox
3453
- * with rice, curry, and sides); `Basket.itemCount` is the COUNT of basket
3454
- * items, not a sum of menu-item quantities.
3455
- */
3456
- type BasketItem = Basket['items'][number];
3457
- /**
3458
- * Reference to a menu item within a basket item — generated-bound to the
3459
- * element type of `BasketItem.menuItems[]`. Each ref carries its own
3460
- * portion size (quantity + unit) for precise tracking like
3461
- * "100g rice, 80g curry".
3462
- */
3463
- type BasketItemMenuItemRef = BasketItem['menuItems'][number];
3464
- /**
3465
- * Free-form per-basket-item metadata bag — generated-bound to the
3466
- * (nullable) `metadata` object on `FetchBasketResponse.items[]`. The wire
3467
- * contract types this as an open `{ [key: string]: unknown }` record;
3468
- * thamarai narrows individual keys (`type`, `mode`, `upsell`, `price`) at
3469
- * its own transform boundary.
3470
- */
3471
- type BasketItemMetadata = NonNullable<BasketItem['metadata']>;
3472
- /**
3473
- * Deposit info on a basket item — generated-bound to the (nullable)
3474
- * `deposit` object on `FetchBasketResponse.items[]`. order3000 refuses
3475
- * any inbound deposit money amount; this object is outbound-only, for UI
3476
- * display.
3477
- */
3478
- type BasketItemDeposit = NonNullable<BasketItem['deposit']>;
3479
- /**
3480
- * Order workflow status — generated-bound to the `status` enum on
3481
- * `FetchLatestOrderResponse` (order3000's `order_status`). No longer a
3482
- * bare wire `string`.
3483
- */
3484
- type OrderStatus = NonNullable<schemas['FetchLatestOrderResponse']>['status'];
3485
- /**
3486
- * Payment workflow status — generated-bound to the `paymentStatus` enum
3487
- * on `FetchLatestOrderResponse` (order3000's `payment_status`). No longer
3488
- * a bare wire `string`.
3489
- */
3490
- type PaymentStatus = NonNullable<schemas['FetchLatestOrderResponse']>['paymentStatus'];
3491
- /**
3492
- * The most recent non-team order for a guest session, with the captured
3493
- * basket items + totals + declared returns inlined. Returned by
3494
- * `orders.getLatest(sessionId)` — `null` when the session has no
3495
- * qualifying order (fresh sessionIds and team-only sessions both fall
3496
- * through to `null`). Generated-bound to the `FetchLatestOrderResponse`
3497
- * component (the order3000 `fetchLatestOrder` output schema is now
3498
- * precise).
3499
- */
3500
- type LatestOrder = NonNullable<schemas['FetchLatestOrderResponse']>;
3501
- /**
3502
- * One "I'll return N of this template" declaration. Bound to the
3503
- * generated basket-totals `returnable` element — clients never specify
3504
- * a deposit money amount.
3505
- */
3506
- type DeclaredReturn = schemas['BasketTotals']['returnable'][number];
3507
- /**
3508
- * Canonical basket totals (all cents), bound to the generated
3509
- * `BasketTotals` component. The single figure clients read for every
3510
- * displayed monetary value.
3511
- */
3512
- type BasketTotals = schemas['BasketTotals'];
3513
- /**
3514
- * Request to add an item to the basket.
3515
- *
3516
- * Menu items can optionally include portion information (quantity/unit).
3517
- * If not provided, defaults to the menu item's configured portion size.
3518
- * `venueAccessor` is injected by the SDK resource layer, so it's omitted
3519
- * from the public caller shape.
3520
- */
3521
- type AddToBasketRequest = Omit<schemas['AddToBasketRequest'], 'venueId'>;
3522
- type AddToBasketResponse = schemas['AddToBasketResponse'];
3523
- type RemoveFromBasketResponse = schemas['RemoveFromBasketResponse'];
3524
- type CreatePaymentIntentRequest = Omit<schemas['CreatePaymentIntentRequest'], 'venueAccessor' | 'fulfillmentAt'> & {
3525
- /**
3526
- * Optional — null / omitted in team-order mode. The Lead's pickup-time
3527
- * decision is stored on the team row and backfilled onto each child
3528
- * order at submit time.
3529
- */
3530
- fulfillmentAt?: Date | string | null;
3531
- };
3532
- type CreatePaymentIntentResponse = schemas['CreatePaymentIntentResponse'];
3533
- type CreateDeltaPaymentIntentRequest = Omit<schemas['CreateDeltaPaymentIntentRequest'], 'venueAccessor'>;
3534
- type CreateDeltaPaymentIntentResponse = schemas['CreateDeltaPaymentIntentResponse'];
3535
- type ReduceDeltaPaymentIntentRequest = Omit<schemas['ReduceDeltaPaymentIntentRequest'], 'venueAccessor'>;
3536
- type ReduceDeltaPaymentIntentResponse = schemas['ReduceDeltaPaymentIntentResponse'];
3537
- type ConfirmOrderRequest = Omit<schemas['ConfirmOrderRequest'], 'venueAccessor' | 'orderId'>;
3538
- type ConfirmOrderResponse = schemas['ConfirmOrderResponse'];
3539
- type SubscriptionPeriod = schemas['GetSubscriptionResponse']['billingPeriod'];
3540
- /**
3541
- * Subscriber lifecycle status — generated-bound to the `subscriber_status`
3542
- * pgEnum, surfaced via order3000's `FetchSubscribersResponse[].status`
3543
- * (and `fetchMenuSubscription`). openapi-typescript hoists the shared
3544
- * enum into `components.schemas['SubscriberStatus']`.
3545
- */
3546
- type SubscriberStatus = schemas['SubscriberStatus'];
3547
- type SubscriptionCreditStatus = schemas['GetSubscriptionCreditsResponse'][number]['status'];
3548
- type MenuSubscriptionPoster = NonNullable<schemas['GetSubscriptionResponse']['posters']>[number];
3549
- type MenuSubscription = schemas['GetSubscriptionResponse'];
3550
- type SubscribeRequest = schemas['SubscribeToSubscriptionBody'];
3551
- type SubscribeResponse = schemas['SubscribeToSubscriptionResponse'];
3552
- type SubscriptionCredit = schemas['GetSubscriptionCreditsResponse'][number];
3553
-
3554
65
  declare class AdsResource extends BaseResource {
3555
66
  constructor(tokenManager: TokenManager, baseUrl: string);
3556
67
  /**
@@ -3713,6 +224,32 @@ declare class ArticlesResource extends BaseResource {
3713
224
  patchFeatureImage(idOrAccessor: string, body: PatchFeatureImageRequest): Promise<FeatureImage>;
3714
225
  }
3715
226
 
227
+ /** Result of a venue-scoped asset delete (mirrors the action's response). */
228
+ interface DeleteAssetResponse {
229
+ success: boolean;
230
+ /** Whether the file + row were removed (vs. just unlinked at one entity). */
231
+ deleted: boolean;
232
+ }
233
+ /**
234
+ * Editable fields on a venue asset (mirrors the `editAsset` action's input,
235
+ * minus the path-supplied id + tenant accessor). All optional — only the
236
+ * supplied fields are written. `caption` / `alt` are per-locale records (a flat
237
+ * string or a TipTap doc per locale); the action normalises strings to TipTap.
238
+ */
239
+ interface UpdateAssetInput {
240
+ tags?: string[];
241
+ caption?: Record<string, string | Record<string, unknown>>;
242
+ alt?: Record<string, string | Record<string, unknown>>;
243
+ isActive?: boolean;
244
+ cropArea?: {
245
+ x: number;
246
+ y: number;
247
+ width: number;
248
+ height: number;
249
+ };
250
+ }
251
+ /** The updated asset row (`editAsset`'s response — the central `assets` row). */
252
+ type UpdateAssetResponse = Asset;
3716
253
  declare class AssetsResource extends BaseResource {
3717
254
  constructor(tokenManager: TokenManager, baseUrl: string);
3718
255
  /**
@@ -3727,6 +264,36 @@ declare class AssetsResource extends BaseResource {
3727
264
  * @returns Array of assets with public URLs
3728
265
  */
3729
266
  list(options: ListAssetsOptions): Promise<ListAssetsResponse>;
267
+ /**
268
+ * Permanently remove a venue asset by id — the storage object, the `assets`
269
+ * row, and every junction link (an `everywhere` delete). The venue-wide
270
+ * counterpart to deleting an asset from a single entity.
271
+ *
272
+ * Proxies the dual-mode `deleteAsset` server action via
273
+ * `DELETE /venues/{venueId}/assets/{assetId}`. The action also publishes
274
+ * `order3000.assets.updated`, so every open asset library for the venue
275
+ * updates live.
276
+ *
277
+ * @param assetId - The globally-unique asset id
278
+ * @returns `{ success, deleted }`
279
+ */
280
+ delete(assetId: string): Promise<DeleteAssetResponse>;
281
+ /**
282
+ * Edit a venue asset's metadata (tags / caption / alt / active flag / crop)
283
+ * by id. Only the supplied fields are written; per-locale `caption` / `alt`
284
+ * merge into the existing record rather than overwriting it.
285
+ *
286
+ * Proxies the dual-mode `editAsset` server action via
287
+ * `PATCH /venues/{venueId}/assets/{assetId}`. The action also publishes
288
+ * `order3000.assets.updated`, so every open asset library for the venue
289
+ * updates live — the grid refetches and any open EditAssetModal showing this
290
+ * asset re-seeds to reflect the edit.
291
+ *
292
+ * @param assetId - The globally-unique asset id
293
+ * @param input - The fields to change
294
+ * @returns The updated asset row
295
+ */
296
+ update(assetId: string, input: UpdateAssetInput): Promise<UpdateAssetResponse>;
3730
297
  }
3731
298
 
3732
299
  declare class BasketsResource extends BaseResource {
@@ -3800,6 +367,18 @@ declare class BasketsResource extends BaseResource {
3800
367
  }>;
3801
368
  }
3802
369
 
370
+ declare class BeveragesResource extends BaseResource {
371
+ constructor(tokenManager: TokenManager, baseUrl: string);
372
+ /**
373
+ * Upload an asset image for a beverage. The SDK builds the multipart body
374
+ * internally — pass a Buffer/Uint8Array, the original filename, the MIME type,
375
+ * and optional discovery `tags` (e.g. `['lunch-menu']`). The asset is stored,
376
+ * tagged, and linked to the beverage via `beverage_assets`; returns the new
377
+ * asset and its public URL. The beverage is addressed by its accessor.
378
+ */
379
+ uploadAsset(idOrAccessor: string, file: UploadAssetArgs): Promise<UploadAssetResponse>;
380
+ }
381
+
3803
382
  /**
3804
383
  * The venue's callout pool — the localized "highlight" phrases (≤25 chars per
3805
384
  * locale, Google's CalloutAsset limit) an ad references by id and that publish
@@ -3830,6 +409,30 @@ declare class CalloutsResource extends BaseResource {
3830
409
  delete(calloutId: string): Promise<DeleteCalloutResponse>;
3831
410
  }
3832
411
 
412
+ declare class DishesResource extends BaseResource {
413
+ constructor(tokenManager: TokenManager, baseUrl: string);
414
+ /**
415
+ * Fetch a dish by its `accessor` slug (localized name/description, dietary
416
+ * flags, price, assets with public URLs). Pair with `patch` for a safe
417
+ * read-modify-write rename that preserves untouched locales + flags.
418
+ */
419
+ get(accessor: string): Promise<FetchDishResponse>;
420
+ /**
421
+ * Edit a dish by id. `editDish` replaces the fields it receives (localized
422
+ * `name` is required), so callers wanting a partial change should read the
423
+ * dish with `get` first and merge. Returns the updated dish row.
424
+ */
425
+ patch(dishId: string, body: EditDishRequest): Promise<EditDishResponse>;
426
+ /**
427
+ * Upload an asset image for a dish. The SDK builds the multipart body
428
+ * internally — pass a Buffer/Uint8Array, the original filename, the MIME type,
429
+ * and optional discovery `tags` (e.g. `['lunch-menu']`). The asset is stored,
430
+ * tagged, and linked to the dish via `dish_assets`; returns the new asset and
431
+ * its public URL. The dish is addressed by its accessor.
432
+ */
433
+ uploadAsset(idOrAccessor: string, file: UploadAssetArgs): Promise<UploadAssetResponse>;
434
+ }
435
+
3833
436
  /** Element type of an expanded event's `assets[]` array. */
3834
437
  type EventAssetEntry = NonNullable<EventByAccessor['assets']>[number];
3835
438
  declare class EventsResource extends BaseResource {
@@ -4796,7 +1399,9 @@ declare class O3KClient {
4796
1399
  articles: ArticlesResource;
4797
1400
  assets: AssetsResource;
4798
1401
  baskets: BasketsResource;
1402
+ beverages: BeveragesResource;
4799
1403
  callouts: CalloutsResource;
1404
+ dishes: DishesResource;
4800
1405
  events: EventsResource;
4801
1406
  menus: MenusResource;
4802
1407
  orders: OrdersResource;
@@ -4813,5 +1418,5 @@ declare class O3KClient {
4813
1418
  constructor(config: O3KClientConfig);
4814
1419
  }
4815
1420
 
4816
- export { O3KClient, deliveryAddressSchema as O3KDeliveryAddressSchema, fulfillmentTypeEnum as O3KFulfillmentTypeEnum, getScheduleInfo as O3KGetScheduleInfo, participantStatusEnum as O3KParticipantStatusEnum, paymentMethodEnum as O3KPaymentMethodEnum, teamOrderStatusEnum as O3KTeamOrderStatusEnum };
4817
- export type { Ad as O3KAd, AddToBasketRequest as O3KAddToBasketRequest, AddToBasketResponse as O3KAddToBasketResponse, Area as O3KArea, AreaAsset as O3KAreaAsset, AreaAvailabilityResponse as O3KAreaAvailabilityResponse, AreaAvailabilityWindow as O3KAreaAvailabilityWindow, AreaBookingMode as O3KAreaBookingMode, AreaBookingRequestResponse as O3KAreaBookingRequestResponse, AreaBookingRequestSource as O3KAreaBookingRequestSource, AreaBookingRequestStatus as O3KAreaBookingRequestStatus, AreaBookingStatus as O3KAreaBookingStatus, AreaFeature as O3KAreaFeature, Article as O3KArticle, Asset as O3KAsset, Basket as O3KBasket, BasketItem as O3KBasketItem, BasketItemDeposit as O3KBasketItemDeposit, BasketItemMenuItemRef as O3KBasketItemMenuItemRef, BasketItemMetadata as O3KBasketItemMetadata, BasketStatus as O3KBasketStatus, BasketTotals as O3KBasketTotals, CancelTeamOrderResponse as O3KCancelTeamOrderResponse, O3KClientConfig, ConfirmOrderRequest as O3KConfirmOrderRequest, ConfirmOrderResponse as O3KConfirmOrderResponse, CreateAdRequest as O3KCreateAdRequest, CreateAdResponse as O3KCreateAdResponse, CreateDeltaPaymentIntentRequest as O3KCreateDeltaPaymentIntentRequest, CreateDeltaPaymentIntentResponse as O3KCreateDeltaPaymentIntentResponse, CreateEventRequest as O3KCreateEventRequest, CreateEventResponse as O3KCreateEventResponse, CreatePaymentIntentRequest as O3KCreatePaymentIntentRequest, CreatePaymentIntentResponse as O3KCreatePaymentIntentResponse, CreateTeamOrderRequest as O3KCreateTeamOrderRequest, CreateTeamOrderResponse as O3KCreateTeamOrderResponse, CropArea as O3KCropArea, Currency as O3KCurrency, DayOfWeek as O3KDayOfWeek, DeclaredReturn as O3KDeclaredReturn, DeleteAdResponse as O3KDeleteAdResponse, DeleteEventResponse as O3KDeleteEventResponse, DeliveryAddress as O3KDeliveryAddress, Event as O3KEvent, EventAsset as O3KEventAsset, EventByAccessor as O3KEventByAccessor, EventMenu as O3KEventMenu, EventRow as O3KEventRow, ExtendDeadlineResponse as O3KExtendTeamOrderDeadlineResponse, FeatureImage as O3KFeatureImage, FetchTeamOrderResponse as O3KFetchTeamOrderResponse, GetAreaAvailabilityOptions as O3KGetAreaAvailabilityOptions, GetAreaOptions as O3KGetAreaOptions, GetArticleResponse as O3KGetArticleResponse, GetEventOptions as O3KGetEventOptions, GetMenuOptions as O3KGetMenuOptions, GetVenueResponse as O3KGetVenueResponse, JoinTeamOrderRequest as O3KJoinTeamOrderRequest, JoinTeamOrderResponse as O3KJoinTeamOrderResponse, LatestOrder as O3KLatestOrder, ListAdsOptions as O3KListAdsOptions, ListAdsResponse as O3KListAdsResponse, ListArticlesOptions as O3KListArticlesOptions, ListArticlesResponse as O3KListArticlesResponse, ListAssetsOptions as O3KListAssetsOptions, ListAssetsResponse as O3KListAssetsResponse, ListEventsOptions as O3KListEventsOptions, ListEventsResponse as O3KListEventsResponse, Menu as O3KMenu, MenuAsset as O3KMenuAsset, MenuBeverage as O3KMenuBeverage, MenuBundle as O3KMenuBundle, MenuBundleDeposit as O3KMenuBundleDeposit, MenuDish as O3KMenuDish, MenuItem as O3KMenuItem, MenuItemRow as O3KMenuItemRow, MenuItemType as O3KMenuItemType, MenuSubscription as O3KMenuSubscription, MenuSubscriptionPoster as O3KMenuSubscriptionPoster, OrderFulfillmentType as O3KOrderFulfillmentType, OrderStatus as O3KOrderStatus, PatchAdRequest as O3KPatchAdRequest, PatchAdResponse as O3KPatchAdResponse, PatchArticleRequest as O3KPatchArticleRequest, PatchArticleResponse as O3KPatchArticleResponse, PatchEventRequest as O3KPatchEventRequest, PatchEventResponse as O3KPatchEventResponse, PatchFeatureImageRequest as O3KPatchFeatureImageRequest, PaymentStatus as O3KPaymentStatus, PlaceOrderRequest as O3KPlaceOrderRequest, Promotion as O3KPromotion, RealtimeConfig as O3KRealtimeConfig, RealtimeEvent as O3KRealtimeEvent, RealtimeSubscription as O3KRealtimeSubscription, RemoveFromBasketResponse as O3KRemoveFromBasketResponse, RitualByAccessor as O3KRitual, Schedule as O3KSchedule, ScheduleInfo as O3KScheduleInfo, ScheduleOverride as O3KScheduleOverride, ScheduleOverrideRow as O3KScheduleOverrideRow, ScheduleRow as O3KScheduleRow, ScheduleTimeSlot as O3KScheduleTimeSlot, ScheduleWithTimeSlots as O3KScheduleWithTimeSlots, SubmitAreaBookingRequestPayload as O3KSubmitAreaBookingRequestPayload, SubmitTeamOrderResponse as O3KSubmitTeamOrderResponse, SubscribeRequest as O3KSubscribeRequest, SubscribeResponse as O3KSubscribeResponse, SubscriberStatus as O3KSubscriberStatus, SubscriptionCredit as O3KSubscriptionCredit, SubscriptionCreditStatus as O3KSubscriptionCreditStatus, SubscriptionOptions as O3KSubscriptionOptions, SubscriptionPeriod as O3KSubscriptionPeriod, SwitchFulfillmentResponse as O3KSwitchTeamOrderFulfillmentResponse, TeamDeliveryAddress as O3KTeamDeliveryAddress, TeamOrderBasketItem as O3KTeamOrderBasketItem, TeamOrderBasketItemMenuItemRef as O3KTeamOrderBasketItemMenuItemRef, FulfillmentType as O3KTeamOrderFulfillmentType, TeamOrderParticipant as O3KTeamOrderParticipant, ParticipantStatus as O3KTeamOrderParticipantStatus, PaymentMethod as O3KTeamOrderPaymentMethod, TeamOrderStatus as O3KTeamOrderStatus, ThresholdCheck as O3KTeamOrderThresholdCheck, TimeSlot as O3KTimeSlot, Unit as O3KUnit, UpdateDeliveryAddressResponse as O3KUpdateTeamOrderDeliveryAddressResponse, UploadEventAssetArgs as O3KUploadEventAssetArgs, UploadEventAssetResponse as O3KUploadEventAssetResponse, UploadFeatureImageArgs as O3KUploadFeatureImageArgs, Venue as O3KVenue };
1421
+ export { Ad as O3KAd, AddToBasketRequest as O3KAddToBasketRequest, AddToBasketResponse as O3KAddToBasketResponse, Area as O3KArea, AreaAvailabilityResponse as O3KAreaAvailabilityResponse, AreaBookingRequestResponse as O3KAreaBookingRequestResponse, Article as O3KArticle, Asset as O3KAsset, Basket as O3KBasket, BasketItemMetadata as O3KBasketItemMetadata, BasketTotals as O3KBasketTotals, O3KClient, ConfirmOrderRequest as O3KConfirmOrderRequest, ConfirmOrderResponse as O3KConfirmOrderResponse, CreateAdRequest as O3KCreateAdRequest, CreateAdResponse as O3KCreateAdResponse, CreateDeltaPaymentIntentRequest as O3KCreateDeltaPaymentIntentRequest, CreateDeltaPaymentIntentResponse as O3KCreateDeltaPaymentIntentResponse, CreateEventRequest as O3KCreateEventRequest, CreateEventResponse as O3KCreateEventResponse, CreatePaymentIntentRequest as O3KCreatePaymentIntentRequest, CreatePaymentIntentResponse as O3KCreatePaymentIntentResponse, Currency as O3KCurrency, DayOfWeek as O3KDayOfWeek, DeclaredReturn as O3KDeclaredReturn, DeleteAdResponse as O3KDeleteAdResponse, DeleteEventResponse as O3KDeleteEventResponse, deliveryAddressSchema as O3KDeliveryAddressSchema, EventByAccessor as O3KEventByAccessor, FeatureImage as O3KFeatureImage, fulfillmentTypeEnum as O3KFulfillmentTypeEnum, GetAreaAvailabilityOptions as O3KGetAreaAvailabilityOptions, GetAreaOptions as O3KGetAreaOptions, GetEventOptions as O3KGetEventOptions, GetMenuOptions as O3KGetMenuOptions, getScheduleInfo as O3KGetScheduleInfo, LatestOrder as O3KLatestOrder, ListAdsOptions as O3KListAdsOptions, ListAdsResponse as O3KListAdsResponse, ListArticlesOptions as O3KListArticlesOptions, ListArticlesResponse as O3KListArticlesResponse, ListAssetsOptions as O3KListAssetsOptions, ListAssetsResponse as O3KListAssetsResponse, ListEventsOptions as O3KListEventsOptions, ListEventsResponse as O3KListEventsResponse, Menu as O3KMenu, MenuBundle as O3KMenuBundle, MenuSubscription as O3KMenuSubscription, participantStatusEnum as O3KParticipantStatusEnum, PatchAdRequest as O3KPatchAdRequest, PatchAdResponse as O3KPatchAdResponse, PatchArticleRequest as O3KPatchArticleRequest, PatchEventRequest as O3KPatchEventRequest, PatchEventResponse as O3KPatchEventResponse, PatchFeatureImageRequest as O3KPatchFeatureImageRequest, paymentMethodEnum as O3KPaymentMethodEnum, PlaceOrderRequest as O3KPlaceOrderRequest, RemoveFromBasketResponse as O3KRemoveFromBasketResponse, RitualByAccessor as O3KRitual, ScheduleTimeSlot as O3KScheduleTimeSlot, SubmitAreaBookingRequestPayload as O3KSubmitAreaBookingRequestPayload, SubscribeRequest as O3KSubscribeRequest, SubscribeResponse as O3KSubscribeResponse, SubscriptionCredit as O3KSubscriptionCredit, SubscriptionCreditStatus as O3KSubscriptionCreditStatus, teamOrderStatusEnum as O3KTeamOrderStatusEnum, UploadAssetArgs as O3KUploadAssetArgs, UploadAssetResponse as O3KUploadAssetResponse, UploadEventAssetArgs as O3KUploadEventAssetArgs, UploadEventAssetResponse as O3KUploadEventAssetResponse, UploadFeatureImageArgs as O3KUploadFeatureImageArgs, Venue as O3KVenue };
1422
+ export type { CancelTeamOrderResponse as O3KCancelTeamOrderResponse, O3KClientConfig, CreateTeamOrderRequest as O3KCreateTeamOrderRequest, CreateTeamOrderResponse as O3KCreateTeamOrderResponse, DeliveryAddress as O3KDeliveryAddress, EventRow as O3KEventRow, ExtendDeadlineResponse as O3KExtendTeamOrderDeadlineResponse, FetchTeamOrderResponse as O3KFetchTeamOrderResponse, JoinTeamOrderRequest as O3KJoinTeamOrderRequest, JoinTeamOrderResponse as O3KJoinTeamOrderResponse, MenuItemRow as O3KMenuItemRow, RealtimeConfig as O3KRealtimeConfig, RealtimeEvent as O3KRealtimeEvent, RealtimeSubscription as O3KRealtimeSubscription, ScheduleInfo as O3KScheduleInfo, ScheduleOverrideRow as O3KScheduleOverrideRow, ScheduleRow as O3KScheduleRow, SubmitTeamOrderResponse as O3KSubmitTeamOrderResponse, SubscriptionOptions as O3KSubscriptionOptions, SwitchFulfillmentResponse as O3KSwitchTeamOrderFulfillmentResponse, TeamDeliveryAddress as O3KTeamDeliveryAddress, TeamOrderBasketItem as O3KTeamOrderBasketItem, TeamOrderBasketItemMenuItemRef as O3KTeamOrderBasketItemMenuItemRef, FulfillmentType as O3KTeamOrderFulfillmentType, TeamOrderParticipant as O3KTeamOrderParticipant, ParticipantStatus as O3KTeamOrderParticipantStatus, PaymentMethod as O3KTeamOrderPaymentMethod, TeamOrderStatus as O3KTeamOrderStatus, ThresholdCheck as O3KTeamOrderThresholdCheck, UpdateDeliveryAddressResponse as O3KUpdateTeamOrderDeliveryAddressResponse };