order3000 1.4.0 → 1.6.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
@@ -74,14 +74,32 @@ interface components {
74
74
  content: (string | number | boolean | (null)) | {
75
75
  [key: string]: unknown;
76
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
+ targetingOverride: ((string | number | boolean | (null)) | {
84
+ [key: string]: unknown;
85
+ } | unknown[]) | null;
77
86
  keywords: (string | number | boolean | (null)) | {
78
87
  [key: string]: unknown;
79
88
  } | unknown[];
80
89
  negativeKeywords: (string | number | boolean | (null)) | {
81
90
  [key: string]: unknown;
82
91
  } | unknown[];
92
+ disabledVenueKeywords: (string | number | boolean | (null)) | {
93
+ [key: string]: unknown;
94
+ } | unknown[];
95
+ dismissedKeywords: (string | number | boolean | (null)) | {
96
+ [key: string]: unknown;
97
+ } | unknown[];
83
98
  publishedContentHash: string | null;
84
99
  publishedAt: unknown;
100
+ pushedKeywords: ((string | number | boolean | (null)) | {
101
+ [key: string]: unknown;
102
+ } | unknown[]) | null;
85
103
  createdBy: string | null;
86
104
  updatedBy: string | null;
87
105
  createdAt: unknown;
@@ -99,14 +117,32 @@ interface components {
99
117
  content: (string | number | boolean | (null)) | {
100
118
  [key: string]: unknown;
101
119
  } | unknown[];
120
+ metaContent: ((string | number | boolean | (null)) | {
121
+ [key: string]: unknown;
122
+ } | unknown[]) | null;
123
+ metaRefs: ((string | number | boolean | (null)) | {
124
+ [key: string]: unknown;
125
+ } | unknown[]) | null;
126
+ targetingOverride: ((string | number | boolean | (null)) | {
127
+ [key: string]: unknown;
128
+ } | unknown[]) | null;
102
129
  keywords: (string | number | boolean | (null)) | {
103
130
  [key: string]: unknown;
104
131
  } | unknown[];
105
132
  negativeKeywords: (string | number | boolean | (null)) | {
106
133
  [key: string]: unknown;
107
134
  } | unknown[];
135
+ disabledVenueKeywords: (string | number | boolean | (null)) | {
136
+ [key: string]: unknown;
137
+ } | unknown[];
138
+ dismissedKeywords: (string | number | boolean | (null)) | {
139
+ [key: string]: unknown;
140
+ } | unknown[];
108
141
  publishedContentHash: string | null;
109
142
  publishedAt: unknown;
143
+ pushedKeywords: ((string | number | boolean | (null)) | {
144
+ [key: string]: unknown;
145
+ } | unknown[]) | null;
110
146
  createdBy: string | null;
111
147
  updatedBy: string | null;
112
148
  createdAt: unknown;
@@ -137,14 +173,32 @@ interface components {
137
173
  content: (string | number | boolean | (null)) | {
138
174
  [key: string]: unknown;
139
175
  } | unknown[];
176
+ metaContent: ((string | number | boolean | (null)) | {
177
+ [key: string]: unknown;
178
+ } | unknown[]) | null;
179
+ metaRefs: ((string | number | boolean | (null)) | {
180
+ [key: string]: unknown;
181
+ } | unknown[]) | null;
182
+ targetingOverride: ((string | number | boolean | (null)) | {
183
+ [key: string]: unknown;
184
+ } | unknown[]) | null;
140
185
  keywords: (string | number | boolean | (null)) | {
141
186
  [key: string]: unknown;
142
187
  } | unknown[];
143
188
  negativeKeywords: (string | number | boolean | (null)) | {
144
189
  [key: string]: unknown;
145
190
  } | unknown[];
191
+ disabledVenueKeywords: (string | number | boolean | (null)) | {
192
+ [key: string]: unknown;
193
+ } | unknown[];
194
+ dismissedKeywords: (string | number | boolean | (null)) | {
195
+ [key: string]: unknown;
196
+ } | unknown[];
146
197
  publishedContentHash: string | null;
147
198
  publishedAt: unknown;
199
+ pushedKeywords: ((string | number | boolean | (null)) | {
200
+ [key: string]: unknown;
201
+ } | unknown[]) | null;
148
202
  createdBy: string | null;
149
203
  updatedBy: string | null;
150
204
  createdAt: unknown;
@@ -190,19 +244,126 @@ interface components {
190
244
  content: (string | number | boolean | (null)) | {
191
245
  [key: string]: unknown;
192
246
  } | unknown[];
247
+ metaContent: ((string | number | boolean | (null)) | {
248
+ [key: string]: unknown;
249
+ } | unknown[]) | null;
250
+ metaRefs: ((string | number | boolean | (null)) | {
251
+ [key: string]: unknown;
252
+ } | unknown[]) | null;
253
+ targetingOverride: ((string | number | boolean | (null)) | {
254
+ [key: string]: unknown;
255
+ } | unknown[]) | null;
256
+ keywords: (string | number | boolean | (null)) | {
257
+ [key: string]: unknown;
258
+ } | unknown[];
259
+ negativeKeywords: (string | number | boolean | (null)) | {
260
+ [key: string]: unknown;
261
+ } | unknown[];
262
+ disabledVenueKeywords: (string | number | boolean | (null)) | {
263
+ [key: string]: unknown;
264
+ } | unknown[];
265
+ dismissedKeywords: (string | number | boolean | (null)) | {
266
+ [key: string]: unknown;
267
+ } | unknown[];
268
+ publishedContentHash: string | null;
269
+ publishedAt: unknown;
270
+ pushedKeywords: ((string | number | boolean | (null)) | {
271
+ [key: string]: unknown;
272
+ } | unknown[]) | null;
273
+ createdBy: string | null;
274
+ updatedBy: string | null;
275
+ createdAt: unknown;
276
+ updatedAt: unknown;
277
+ };
278
+ /**
279
+ * EditMetaAdRequest
280
+ * @description Partial-update body for an existing Meta ad
281
+ */
282
+ EditMetaAdRequest: {
283
+ venueAccessor: string;
284
+ id: string;
285
+ metaContent?: {
286
+ primaryText: {
287
+ [key: string]: string;
288
+ };
289
+ headline: {
290
+ [key: string]: string;
291
+ };
292
+ description: {
293
+ [key: string]: string;
294
+ };
295
+ /** Format: uri */
296
+ finalUrl: string;
297
+ callToAction: string;
298
+ creatives: {
299
+ [key: string]: {
300
+ assetId: string;
301
+ };
302
+ };
303
+ };
304
+ status?: components["schemas"]["AdStatus"];
305
+ };
306
+ /**
307
+ * EditMetaAdResponse
308
+ * @description Successfully updated Meta ad
309
+ */
310
+ EditMetaAdResponse: {
311
+ id: string;
312
+ venueId: string;
313
+ ownerEntityType: components["schemas"]["AdOwnerType"];
314
+ ownerEntityId: string;
315
+ channel: components["schemas"]["AdChannel"];
316
+ status: components["schemas"]["AdStatus"];
317
+ campaignId: string | null;
318
+ content: (string | number | boolean | (null)) | {
319
+ [key: string]: unknown;
320
+ } | unknown[];
321
+ metaContent: ((string | number | boolean | (null)) | {
322
+ [key: string]: unknown;
323
+ } | unknown[]) | null;
324
+ metaRefs: ((string | number | boolean | (null)) | {
325
+ [key: string]: unknown;
326
+ } | unknown[]) | null;
327
+ targetingOverride: ((string | number | boolean | (null)) | {
328
+ [key: string]: unknown;
329
+ } | unknown[]) | null;
193
330
  keywords: (string | number | boolean | (null)) | {
194
331
  [key: string]: unknown;
195
332
  } | unknown[];
196
333
  negativeKeywords: (string | number | boolean | (null)) | {
197
334
  [key: string]: unknown;
198
335
  } | unknown[];
336
+ disabledVenueKeywords: (string | number | boolean | (null)) | {
337
+ [key: string]: unknown;
338
+ } | unknown[];
339
+ dismissedKeywords: (string | number | boolean | (null)) | {
340
+ [key: string]: unknown;
341
+ } | unknown[];
199
342
  publishedContentHash: string | null;
200
343
  publishedAt: unknown;
344
+ pushedKeywords: ((string | number | boolean | (null)) | {
345
+ [key: string]: unknown;
346
+ } | unknown[]) | null;
201
347
  createdBy: string | null;
202
348
  updatedBy: string | null;
203
349
  createdAt: unknown;
204
350
  updatedAt: unknown;
205
351
  };
352
+ /** SaveAdKeywordsRequest */
353
+ SaveAdKeywordsRequest: {
354
+ venueAccessor: string;
355
+ adId: string;
356
+ keywords: string[];
357
+ dismissedKeywords: string[];
358
+ disabledVenueKeywords: string[];
359
+ };
360
+ /** SaveAdKeywordsResponse */
361
+ SaveAdKeywordsResponse: {
362
+ success: boolean;
363
+ keywords: string[];
364
+ dismissedKeywords: string[];
365
+ disabledVenueKeywords: string[];
366
+ };
206
367
  /** DeleteAdResponse */
207
368
  DeleteAdResponse: {
208
369
  id: string;
@@ -215,14 +376,32 @@ interface components {
215
376
  content: (string | number | boolean | (null)) | {
216
377
  [key: string]: unknown;
217
378
  } | unknown[];
379
+ metaContent: ((string | number | boolean | (null)) | {
380
+ [key: string]: unknown;
381
+ } | unknown[]) | null;
382
+ metaRefs: ((string | number | boolean | (null)) | {
383
+ [key: string]: unknown;
384
+ } | unknown[]) | null;
385
+ targetingOverride: ((string | number | boolean | (null)) | {
386
+ [key: string]: unknown;
387
+ } | unknown[]) | null;
218
388
  keywords: (string | number | boolean | (null)) | {
219
389
  [key: string]: unknown;
220
390
  } | unknown[];
221
391
  negativeKeywords: (string | number | boolean | (null)) | {
222
392
  [key: string]: unknown;
223
393
  } | unknown[];
394
+ disabledVenueKeywords: (string | number | boolean | (null)) | {
395
+ [key: string]: unknown;
396
+ } | unknown[];
397
+ dismissedKeywords: (string | number | boolean | (null)) | {
398
+ [key: string]: unknown;
399
+ } | unknown[];
224
400
  publishedContentHash: string | null;
225
401
  publishedAt: unknown;
402
+ pushedKeywords: ((string | number | boolean | (null)) | {
403
+ [key: string]: unknown;
404
+ } | unknown[]) | null;
226
405
  createdBy: string | null;
227
406
  updatedBy: string | null;
228
407
  createdAt: unknown;
@@ -977,7 +1156,7 @@ interface components {
977
1156
  }[];
978
1157
  /**
979
1158
  * FetchEventResponse
980
- * @description Event details. Nested objects (schedule, timeSlots, menus, posters, nextOccurrence) pass through; their shape follows the SDK Event interface.
1159
+ * @description Event details. Nested objects (schedule, timeSlots, menus, assets, nextOccurrence) pass through; their shape follows the SDK Event interface.
981
1160
  */
982
1161
  FetchEventResponse: {
983
1162
  id: string;
@@ -1761,6 +1940,8 @@ interface components {
1761
1940
  gbraid?: string | null;
1762
1941
  /** @description Google Ads click identifier for web-to-app (iOS) where `gclid` is unavailable. */
1763
1942
  wbraid?: string | null;
1943
+ /** @description Meta (Facebook/Instagram) click identifier from the landing URL. Stored for server-side Conversions API reporting. */
1944
+ fbclid?: string | null;
1764
1945
  };
1765
1946
  /**
1766
1947
  * MakeReservationResponse
@@ -1825,6 +2006,7 @@ interface components {
1825
2006
  gclid: string | null;
1826
2007
  gbraid: string | null;
1827
2008
  wbraid: string | null;
2009
+ fbclid: string | null;
1828
2010
  /** @description Any special requirements or notes */
1829
2011
  specialRequests: string | null;
1830
2012
  /** @description Preferred seating location */
@@ -1838,6 +2020,171 @@ interface components {
1838
2020
  /** @description Last update timestamp */
1839
2021
  updatedAt: unknown;
1840
2022
  };
2023
+ /** FetchRitualResponse */
2024
+ FetchRitualResponse: {
2025
+ id: string;
2026
+ venueId: string;
2027
+ accessor: string;
2028
+ ritualType: components["schemas"]["RitualType"];
2029
+ scheduleId: string | null;
2030
+ name: (string | number | boolean | (null)) | {
2031
+ [key: string]: unknown;
2032
+ } | unknown[];
2033
+ description: ((string | number | boolean | (null)) | {
2034
+ [key: string]: unknown;
2035
+ } | unknown[]) | null;
2036
+ playbook: ((string | number | boolean | (null)) | {
2037
+ [key: string]: unknown;
2038
+ } | unknown[]) | null;
2039
+ maxBookings: number | null;
2040
+ maxGuests: number | null;
2041
+ minPartySize: number | null;
2042
+ maxPartySize: number | null;
2043
+ isPublic: boolean;
2044
+ reservationsEnabled: boolean;
2045
+ bookingOpensAtDays: number | null;
2046
+ bookingClosesAtOffset: number | null;
2047
+ isActive: boolean;
2048
+ isFeatured: boolean;
2049
+ priority: number;
2050
+ createdBy: string | null;
2051
+ updatedBy: string | null;
2052
+ createdAt: unknown;
2053
+ updatedAt: unknown;
2054
+ assets: {
2055
+ id: string;
2056
+ type: components["schemas"]["AssetType"];
2057
+ tags: string[] | null;
2058
+ bucket: string;
2059
+ storagePath: string;
2060
+ filename: string;
2061
+ contentType: string;
2062
+ sizeBytes: number;
2063
+ caption: (string | number | boolean | (null)) | {
2064
+ [key: string]: unknown;
2065
+ } | unknown[];
2066
+ alt: (string | number | boolean | (null)) | {
2067
+ [key: string]: unknown;
2068
+ } | unknown[];
2069
+ metadata: ((string | number | boolean | (null)) | {
2070
+ [key: string]: unknown;
2071
+ } | unknown[]) | null;
2072
+ cropArea: ((string | number | boolean | (null)) | {
2073
+ [key: string]: unknown;
2074
+ } | unknown[]) | null;
2075
+ isActive: boolean;
2076
+ sortIndex: string | null;
2077
+ createdAt: unknown;
2078
+ updatedAt: unknown;
2079
+ createdBy: string | null;
2080
+ updatedBy: string | null;
2081
+ venueId: string | null;
2082
+ publicUrl: string;
2083
+ }[];
2084
+ events: {
2085
+ id: string;
2086
+ venueId: string;
2087
+ accessor: string | null;
2088
+ name: (string | number | boolean | (null)) | {
2089
+ [key: string]: unknown;
2090
+ } | unknown[];
2091
+ description: ((string | number | boolean | (null)) | {
2092
+ [key: string]: unknown;
2093
+ } | unknown[]) | null;
2094
+ scheduleId: string | null;
2095
+ ritualId: string | null;
2096
+ occurrenceDate: string | null;
2097
+ maxBookings: number | null;
2098
+ maxGuests: number | null;
2099
+ minPartySize: number | null;
2100
+ maxPartySize: number | null;
2101
+ isPublic: boolean;
2102
+ reservationsEnabled: boolean;
2103
+ bookingOpensAtDays: number | null;
2104
+ bookingClosesAtOffset: number | null;
2105
+ isActive: boolean;
2106
+ isFeatured: boolean;
2107
+ priority: number;
2108
+ createdBy: string | null;
2109
+ updatedBy: string | null;
2110
+ createdAt: unknown;
2111
+ updatedAt: unknown;
2112
+ covers: number;
2113
+ }[];
2114
+ schedule: {
2115
+ id: string;
2116
+ name: (string | number | boolean | (null)) | {
2117
+ [key: string]: unknown;
2118
+ } | unknown[];
2119
+ description: ((string | number | boolean | (null)) | {
2120
+ [key: string]: unknown;
2121
+ } | unknown[]) | null;
2122
+ timezone: string;
2123
+ rrule: string | null;
2124
+ exdates: string[] | null;
2125
+ validFrom: string | null;
2126
+ validTo: string | null;
2127
+ priority: number | null;
2128
+ slotMode: components["schemas"]["SlotMode"];
2129
+ intervalDuration: number | null;
2130
+ duration: number | null;
2131
+ isActive: boolean;
2132
+ sortIndex: string | null;
2133
+ updatedAt: unknown;
2134
+ updatedBy: string | null;
2135
+ createdAt: unknown;
2136
+ createdBy: string | null;
2137
+ scheduleTimeSlots: {
2138
+ scheduleId: string | null;
2139
+ timeSlotId: string | null;
2140
+ dayOfWeek: components["schemas"]["DayOfWeek"];
2141
+ sortIndex: string | null;
2142
+ timeSlot: {
2143
+ id: string;
2144
+ startTime: string;
2145
+ endTime: string | null;
2146
+ isActive: boolean | null;
2147
+ isSchedulable: boolean | null;
2148
+ sortIndex: string | null;
2149
+ updatedAt: unknown;
2150
+ updatedBy: string | null;
2151
+ createdAt: unknown;
2152
+ createdBy: string | null;
2153
+ } | null;
2154
+ }[];
2155
+ scheduleOverrides: {
2156
+ id: string;
2157
+ scheduleId: string;
2158
+ date: string;
2159
+ reason: ((string | number | boolean | (null)) | {
2160
+ [key: string]: unknown;
2161
+ } | unknown[]) | null;
2162
+ isActive: boolean;
2163
+ priority: number | null;
2164
+ updatedAt: unknown;
2165
+ updatedBy: string | null;
2166
+ createdAt: unknown;
2167
+ createdBy: string | null;
2168
+ scheduleOverrideTimeSlots: {
2169
+ overrideId: string;
2170
+ timeSlotId: string;
2171
+ sortIndex: string | null;
2172
+ timeSlot: {
2173
+ id: string;
2174
+ startTime: string;
2175
+ endTime: string | null;
2176
+ isActive: boolean | null;
2177
+ isSchedulable: boolean | null;
2178
+ sortIndex: string | null;
2179
+ updatedAt: unknown;
2180
+ updatedBy: string | null;
2181
+ createdAt: unknown;
2182
+ createdBy: string | null;
2183
+ };
2184
+ }[];
2185
+ }[];
2186
+ } | null;
2187
+ };
1841
2188
  /** GetSubscriptionResponse */
1842
2189
  GetSubscriptionResponse: {
1843
2190
  id: string;
@@ -2251,7 +2598,7 @@ interface components {
2251
2598
  /** @enum {string} */
2252
2599
  BeverageCategory: "wine" | "beer" | "coffee" | "tea" | "cocktail" | "juice" | "soft_drink" | "dairy_drink" | "spirit" | "water";
2253
2600
  /** @enum {string} */
2254
- CancellationReason: "customer_request" | "restaurant_request";
2601
+ CancellationReason: "guest_request" | "restaurant_request";
2255
2602
  /** @enum {string} */
2256
2603
  ContactPreference: "email" | "phone" | "sms" | "none";
2257
2604
  /** @enum {string} */
@@ -2267,7 +2614,7 @@ interface components {
2267
2614
  /** @enum {string} */
2268
2615
  IntegrationNotificationType: "order_created" | "order_cancelled" | "order_completed" | "team_order_created" | "reservation_created" | "reservation_confirmed" | "reservation_cancelled";
2269
2616
  /** @enum {string} */
2270
- IntegrationType: "telegram" | "google_ads";
2617
+ IntegrationType: "telegram" | "google_ads" | "google_business_profile" | "meta_ads";
2271
2618
  /** @enum {string} */
2272
2619
  InventoryAssetStatus: "available" | "in_use" | "maintenance" | "retired";
2273
2620
  /** @enum {string} */
@@ -2301,9 +2648,9 @@ interface components {
2301
2648
  /** @enum {string} */
2302
2649
  Unit: "grams" | "kilograms" | "liters" | "milliliters" | "pieces";
2303
2650
  /** @enum {string} */
2304
- AdChannel: "google";
2651
+ AdChannel: "google" | "facebook" | "instagram";
2305
2652
  /** @enum {string} */
2306
- AdOwnerType: "event";
2653
+ AdOwnerType: "event" | "ritual";
2307
2654
  /** @enum {string} */
2308
2655
  AdStatus: "draft" | "ready" | "archived";
2309
2656
  /** @enum {string} */
@@ -2319,6 +2666,10 @@ interface components {
2319
2666
  /** @enum {string} */
2320
2667
  AssetType: "image" | "video" | "document";
2321
2668
  /** @enum {string} */
2669
+ GbpMediaCategory: "cover" | "logo" | "gallery" | "video";
2670
+ /** @enum {string} */
2671
+ GbpSyncStatus: "processing" | "live" | "rejected" | "failed" | "removed";
2672
+ /** @enum {string} */
2322
2673
  Jurisdiction: "DE" | "CH" | "FR" | "IT";
2323
2674
  /** @enum {string} */
2324
2675
  EventAssetSource: "inherited" | "manual";
@@ -2331,7 +2682,7 @@ interface components {
2331
2682
  /** @enum {string} */
2332
2683
  TeamOrderPaymentStatus: "authorized" | "captured" | "cash_pending" | "cash_received" | "voided" | "failed";
2333
2684
  /** @enum {string} */
2334
- FeatureCategory: "articles" | "auth" | "billing" | "core" | "customers" | "events" | "inventory" | "menus" | "orders" | "platform" | "promotions" | "reservations" | "settings" | "venues";
2685
+ FeatureCategory: "articles" | "auth" | "billing" | "core" | "guests" | "events" | "inventory" | "menus" | "orders" | "platform" | "promotions" | "reservations" | "settings" | "venues";
2335
2686
  /** @enum {string} */
2336
2687
  FeatureStatus: "backlog" | "in_development" | "released";
2337
2688
  /** @enum {string} */
@@ -2372,14 +2723,14 @@ type CreateEventResponse = schemas['CreateEventResponse'];
2372
2723
  type PatchEventRequest = schemas['EditEventRequest'];
2373
2724
  type PatchEventResponse = schemas['EditEventResponse'];
2374
2725
  type DeleteEventResponse = schemas['DeleteEventResponse'];
2375
- type UploadEventPosterResponse = schemas['UploadAssetResponse'];
2726
+ type UploadEventAssetResponse = schemas['UploadAssetResponse'];
2376
2727
  /**
2377
2728
  * Args for `client.events.uploadPoster()`. Mirrors
2378
2729
  * {@link UploadFeatureImageArgs} — the SDK accepts a `Buffer` /
2379
2730
  * `Uint8Array` payload + filename + content-type and builds the
2380
2731
  * multipart FormData internally. Client ergonomics, no wire equivalent.
2381
2732
  */
2382
- interface UploadEventPosterArgs {
2733
+ interface UploadEventAssetArgs {
2383
2734
  data: Buffer | Uint8Array;
2384
2735
  filename: string;
2385
2736
  contentType: string;
@@ -2401,6 +2752,10 @@ type CreateAdResponse = schemas['CreateAdResponse'];
2401
2752
  type PatchAdRequest = schemas['EditAdRequest'];
2402
2753
  type PatchAdResponse = schemas['EditAdResponse'];
2403
2754
  type DeleteAdResponse = schemas['DeleteAdResponse'];
2755
+ type EditMetaAdRequest = schemas['EditMetaAdRequest'];
2756
+ type EditMetaAdResponse = schemas['EditMetaAdResponse'];
2757
+ type SaveAdKeywordsRequest = schemas['SaveAdKeywordsRequest'];
2758
+ type SaveAdKeywordsResponse = schemas['SaveAdKeywordsResponse'];
2404
2759
  /**
2405
2760
  * Optional filters for `client.ads.list()`. Each narrows the venue's ad
2406
2761
  * set; omit all to list every ad. Client ergonomics, mapped to the wire
@@ -2629,9 +2984,18 @@ type ScheduleTimeSlot = NonNullable<ScheduleWithTimeSlots['scheduleTimeSlots']>[
2629
2984
  * element type of `FetchEventResponse`'s optional `menus[]` array.
2630
2985
  */
2631
2986
  type EventMenu = NonNullable<EventByAccessor['menus']>[number];
2987
+ /**
2988
+ * A single ritual as returned by the `rituals.get` endpoint — its template
2989
+ * schedule (time slots + date overrides), media, and the events materialised
2990
+ * from it (with per-day covers). Generated-bound to the `FetchRitualResponse`
2991
+ * component (the order3000 `fetchRitual` output schema), so request-shape drift
2992
+ * is impossible. The component is nullable on the wire (the action returns the
2993
+ * ritual or throws); `get()` resolves on success, so the SDK type is non-null.
2994
+ */
2995
+ type RitualByAccessor = NonNullable<schemas['FetchRitualResponse']>;
2632
2996
  interface GetEventOptions {
2633
2997
  /** Expand related resources (schedule, timeSlots, menus, posters) */
2634
- expand?: ('schedule' | 'timeSlots' | 'menus' | 'posters')[];
2998
+ expand?: ('schedule' | 'timeSlots' | 'menus' | 'assets')[];
2635
2999
  }
2636
3000
  type AreaBookingMode = schemas['FetchAreaResponse']['bookingMode'];
2637
3001
  type AreaBookingRequestStatus = schemas['SubmitAreaBookingRequestResponse']['status'];
@@ -2802,6 +3166,26 @@ declare class AdsResource extends BaseResource {
2802
3166
  * lifecycle. Returns the resulting ad.
2803
3167
  */
2804
3168
  patch(adId: string, body: PatchAdRequest): Promise<PatchAdResponse>;
3169
+ /**
3170
+ * Replace the ad's three owner-managed keyword sets in one shot: the
3171
+ * active positive `keywords` the campaign bids on (alongside the venue
3172
+ * keywords), the reversible `dismissedKeywords`, and the
3173
+ * `disabledVenueKeywords` (venue keywords toggled off for this event).
3174
+ * Every set is replaced wholesale — call {@link get} first and resend
3175
+ * the full set to preserve existing entries. Texts are lowercased +
3176
+ * de-duplicated server-side; an empty array clears that set. Returns the
3177
+ * cleaned, persisted sets.
3178
+ */
3179
+ saveKeywords(adId: string, body: SaveAdKeywordsRequest): Promise<SaveAdKeywordsResponse>;
3180
+ /**
3181
+ * Write paste-ready Meta (Facebook/Instagram) ad copy + creative onto the
3182
+ * ad's `metaContent` document — the Meta analog of {@link patch} (which writes
3183
+ * Google `content`). Pass `metaContent` (primary text / headline / description
3184
+ * keyed by locale, `finalUrl`, `callToAction`, the per-placement `creatives`
3185
+ * map) and/or `status`; Google `content` is left untouched. Returns the
3186
+ * resulting ad.
3187
+ */
3188
+ editMeta(adId: string, body: EditMetaAdRequest): Promise<EditMetaAdResponse>;
2805
3189
  /**
2806
3190
  * Permanently delete an ad by id. Returns the deleted ad row.
2807
3191
  */
@@ -2970,13 +3354,13 @@ declare class BasketsResource extends BaseResource {
2970
3354
  }
2971
3355
 
2972
3356
  /** Element type of an expanded event's `assets[]` array. */
2973
- type EventPosterEntry = NonNullable<EventByAccessor['assets']>[number];
3357
+ type EventAssetEntry = NonNullable<EventByAccessor['assets']>[number];
2974
3358
  declare class EventsResource extends BaseResource {
2975
3359
  constructor(tokenManager: TokenManager, baseUrl: string);
2976
3360
  /**
2977
3361
  * List all events for the venue
2978
3362
  * @param options - Optional filters for the list request
2979
- * @returns Array of events with schedule, posters, and promotions
3363
+ * @returns Array of events with schedule, assets, and promotions
2980
3364
  */
2981
3365
  list(options?: ListEventsOptions): Promise<ListEventsResponse>;
2982
3366
  /**
@@ -2990,7 +3374,7 @@ declare class EventsResource extends BaseResource {
2990
3374
  * parts. The server resolves either form transparently.
2991
3375
  * @param idOrAccessor - The event UUID or accessor (e.g., 'lunch-menu')
2992
3376
  * @param options - Optional expand options
2993
- * @returns The event with optional schedule, timeSlots, menus, and posters
3377
+ * @returns The event with optional schedule, timeSlots, menus, and assets
2994
3378
  */
2995
3379
  get(idOrAccessor: string, options?: GetEventOptions): Promise<EventByAccessor>;
2996
3380
  private buildQueryString;
@@ -3009,23 +3393,23 @@ declare class EventsResource extends BaseResource {
3009
3393
  */
3010
3394
  delete(idOrAccessor: string): Promise<DeleteEventResponse>;
3011
3395
  /**
3012
- * List the posters attached to an event. Convenience over
3013
- * `get(idOrAccessor, { expand: ['posters'] })` — returns the
3014
- * `posters[]` array (empty when the event has none).
3396
+ * List the assets attached to an event. Convenience over
3397
+ * `get(idOrAccessor, { expand: ['assets'] })` — returns the
3398
+ * `assets[]` array (empty when the event has none).
3015
3399
  */
3016
- listPosters(idOrAccessor: string): Promise<EventPosterEntry[]>;
3400
+ listAssets(idOrAccessor: string): Promise<EventAssetEntry[]>;
3017
3401
  /**
3018
- * Upload a poster image for an event. The SDK builds the multipart
3402
+ * Upload a asset image for an event. The SDK builds the multipart
3019
3403
  * body internally — pass a Buffer/Uint8Array, the original filename,
3020
3404
  * and the MIME type. The asset is stored and linked to the event via
3021
3405
  * `event_assets`; returns the new asset and its public URL.
3022
3406
  */
3023
- uploadPoster(idOrAccessor: string, file: UploadEventPosterArgs): Promise<UploadEventPosterResponse>;
3407
+ uploadAsset(idOrAccessor: string, file: UploadEventAssetArgs): Promise<UploadEventAssetResponse>;
3024
3408
  /**
3025
- * Remove a poster from an event. Deletes the asset (storage object +
3409
+ * Remove a asset from an event. Deletes the asset (storage object +
3026
3410
  * DB row + `event_assets` link). Returns `{ success: true }`.
3027
3411
  */
3028
- removePoster(idOrAccessor: string, assetId: string): Promise<{
3412
+ removeAsset(idOrAccessor: string, assetId: string): Promise<{
3029
3413
  success: boolean;
3030
3414
  }>;
3031
3415
  }
@@ -3125,6 +3509,25 @@ declare class ReservationsResource extends BaseResource {
3125
3509
  get(reservationId: string): Promise<MakeReservationResponse>;
3126
3510
  }
3127
3511
 
3512
+ /**
3513
+ * Read access to a venue's rituals (recurring concepts — `service` rituals are
3514
+ * the venue's operating hours; `special` rituals are recurring happenings such
3515
+ * as an à la carte weekend or a jazz night). The ad-copy agent calls
3516
+ * `rituals.get(accessor)` to study a ritual before writing its ads, mirroring
3517
+ * how it studies an event via `events.get`.
3518
+ */
3519
+ declare class RitualsResource extends BaseResource {
3520
+ constructor(tokenManager: TokenManager, baseUrl: string);
3521
+ /**
3522
+ * Get a single ritual by accessor (slug). Returns the ritual with its
3523
+ * template schedule (time slots + date overrides), media, and the events
3524
+ * materialised from it (with per-day covers).
3525
+ * @param accessor - The ritual accessor (e.g. 'a-la-carte-weekend')
3526
+ * @returns The ritual document
3527
+ */
3528
+ get(accessor: string): Promise<RitualByAccessor>;
3529
+ }
3530
+
3128
3531
  declare class SubscriptionsResource extends BaseResource {
3129
3532
  constructor(tokenManager: TokenManager, baseUrl: string);
3130
3533
  /**
@@ -3883,6 +4286,7 @@ declare class O3KClient {
3883
4286
  orders: OrdersResource;
3884
4287
  paymentIntents: PaymentIntentsResource;
3885
4288
  reservations: ReservationsResource;
4289
+ rituals: RitualsResource;
3886
4290
  subscriptions: SubscriptionsResource;
3887
4291
  teamOrders: TeamOrdersResource;
3888
4292
  venues: VenuesResource;
@@ -3893,4 +4297,4 @@ declare class O3KClient {
3893
4297
  }
3894
4298
 
3895
4299
  export { O3KClient, deliveryAddressSchema as O3KDeliveryAddressSchema, fulfillmentTypeEnum as O3KFulfillmentTypeEnum, getScheduleInfo as O3KGetScheduleInfo, participantStatusEnum as O3KParticipantStatusEnum, paymentMethodEnum as O3KPaymentMethodEnum, teamOrderStatusEnum as O3KTeamOrderStatusEnum };
3896
- 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, 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, UploadEventPosterArgs as O3KUploadEventPosterArgs, UploadEventPosterResponse as O3KUploadEventPosterResponse, UploadFeatureImageArgs as O3KUploadFeatureImageArgs, Venue as O3KVenue };
4300
+ 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 };