order3000 1.10.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/menu.cjs ADDED
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ const MENU_WEEKDAY_ORDER = [
4
+ "monday",
5
+ "tuesday",
6
+ "wednesday",
7
+ "thursday",
8
+ "friday",
9
+ "saturday",
10
+ "sunday"
11
+ ];
12
+ const isMenuItemAvailableInWeek = (item, isoWeek) => {
13
+ if (!item.availableWeeks) return true;
14
+ return item.availableWeeks.includes(isoWeek);
15
+ };
16
+ const isMenuItemAvailableOnWeekday = (item, weekday) => {
17
+ if (!item.availableDays) return true;
18
+ return item.availableDays.includes(weekday);
19
+ };
20
+ const groupLunchMenuByWeek = (items, isoWeek) => {
21
+ const weekItems = items.filter(
22
+ (item) => item.isActive && isMenuItemAvailableInWeek(item, isoWeek)
23
+ );
24
+ return MENU_WEEKDAY_ORDER.map((weekday) => ({
25
+ weekday,
26
+ items: weekItems.filter(
27
+ (item) => isMenuItemAvailableOnWeekday(item, weekday)
28
+ )
29
+ })).filter((group) => group.items.length > 0);
30
+ };
31
+
32
+ exports.MENU_WEEKDAY_ORDER = MENU_WEEKDAY_ORDER;
33
+ exports.groupLunchMenuByWeek = groupLunchMenuByWeek;
34
+ exports.isMenuItemAvailableInWeek = isMenuItemAvailableInWeek;
35
+ exports.isMenuItemAvailableOnWeekday = isMenuItemAvailableOnWeekday;
@@ -0,0 +1,51 @@
1
+ import { ar as MenuItem } from './index-CQHgJH4m.cjs';
2
+
3
+ /**
4
+ * order3000 lunch-menu availability — the per-item rotation logic, provided by
5
+ * the SDK so every consumer (e.g. thamarai's `/mittagsmenü` page) filters a menu
6
+ * identically without re-implementing the null / `[]` / `[values]` semantics.
7
+ *
8
+ * Each menu item carries two orthogonal, optional rotation dimensions:
9
+ * - `availableWeeks` — ISO calendar weeks (KW 1–53)
10
+ * - `availableDays` — weekdays
11
+ * For each: `null` = no restriction (always), `[]` = never served, `[values]` =
12
+ * only those. An item shows on a given weekday of a given calendar week only
13
+ * when BOTH dimensions pass.
14
+ *
15
+ * Pure and dependency-free (no dates, no `window`) — safe to import in SSR or
16
+ * the browser. Calendar math (which ISO week "today" is, the dates of a week)
17
+ * is the caller's job via `@kolaveri/utils` / `date-fns`.
18
+ */
19
+
20
+ /** A weekday value as carried by a menu item's `availableDays`. */
21
+ type MenuWeekday = NonNullable<MenuItem['availableDays']>[number];
22
+ /** Mon→Sun — the canonical order lunch-menu weekday groups are emitted in. */
23
+ declare const MENU_WEEKDAY_ORDER: readonly MenuWeekday[];
24
+ /**
25
+ * Whether an item is on the rotation for the given ISO calendar week.
26
+ * `null` weeks = every week; `[]` = never; otherwise only the listed weeks.
27
+ */
28
+ declare const isMenuItemAvailableInWeek: (item: Pick<MenuItem, "availableWeeks">, isoWeek: number) => boolean;
29
+ /**
30
+ * Whether an item is on the rotation for the given weekday.
31
+ * `null` days = every weekday; `[]` = never; otherwise only the listed days.
32
+ */
33
+ declare const isMenuItemAvailableOnWeekday: (item: Pick<MenuItem, "availableDays">, weekday: MenuWeekday) => boolean;
34
+ /** One weekday's lunch offering within a calendar week. */
35
+ interface LunchMenuWeekdayGroup {
36
+ weekday: MenuWeekday;
37
+ items: MenuItem[];
38
+ }
39
+ /**
40
+ * Group a menu's items by weekday for one ISO calendar week — the data model
41
+ * behind a calendar-week lunch-menu page.
42
+ *
43
+ * Keeps only active items available in `isoWeek`, buckets them into the weekday
44
+ * groups they're available on (Mon→Sun), and DROPS weekdays with no items.
45
+ * Item order within each group is preserved from the input (order3000 returns
46
+ * `menu.items` pre-sorted by `sortIndex`), so callers should pass them as-is.
47
+ */
48
+ declare const groupLunchMenuByWeek: (items: MenuItem[], isoWeek: number) => LunchMenuWeekdayGroup[];
49
+
50
+ export { MENU_WEEKDAY_ORDER, groupLunchMenuByWeek, isMenuItemAvailableInWeek, isMenuItemAvailableOnWeekday };
51
+ export type { LunchMenuWeekdayGroup, MenuWeekday };
@@ -0,0 +1,51 @@
1
+ import { ar as MenuItem } from './index-CQHgJH4m.mjs';
2
+
3
+ /**
4
+ * order3000 lunch-menu availability — the per-item rotation logic, provided by
5
+ * the SDK so every consumer (e.g. thamarai's `/mittagsmenü` page) filters a menu
6
+ * identically without re-implementing the null / `[]` / `[values]` semantics.
7
+ *
8
+ * Each menu item carries two orthogonal, optional rotation dimensions:
9
+ * - `availableWeeks` — ISO calendar weeks (KW 1–53)
10
+ * - `availableDays` — weekdays
11
+ * For each: `null` = no restriction (always), `[]` = never served, `[values]` =
12
+ * only those. An item shows on a given weekday of a given calendar week only
13
+ * when BOTH dimensions pass.
14
+ *
15
+ * Pure and dependency-free (no dates, no `window`) — safe to import in SSR or
16
+ * the browser. Calendar math (which ISO week "today" is, the dates of a week)
17
+ * is the caller's job via `@kolaveri/utils` / `date-fns`.
18
+ */
19
+
20
+ /** A weekday value as carried by a menu item's `availableDays`. */
21
+ type MenuWeekday = NonNullable<MenuItem['availableDays']>[number];
22
+ /** Mon→Sun — the canonical order lunch-menu weekday groups are emitted in. */
23
+ declare const MENU_WEEKDAY_ORDER: readonly MenuWeekday[];
24
+ /**
25
+ * Whether an item is on the rotation for the given ISO calendar week.
26
+ * `null` weeks = every week; `[]` = never; otherwise only the listed weeks.
27
+ */
28
+ declare const isMenuItemAvailableInWeek: (item: Pick<MenuItem, "availableWeeks">, isoWeek: number) => boolean;
29
+ /**
30
+ * Whether an item is on the rotation for the given weekday.
31
+ * `null` days = every weekday; `[]` = never; otherwise only the listed days.
32
+ */
33
+ declare const isMenuItemAvailableOnWeekday: (item: Pick<MenuItem, "availableDays">, weekday: MenuWeekday) => boolean;
34
+ /** One weekday's lunch offering within a calendar week. */
35
+ interface LunchMenuWeekdayGroup {
36
+ weekday: MenuWeekday;
37
+ items: MenuItem[];
38
+ }
39
+ /**
40
+ * Group a menu's items by weekday for one ISO calendar week — the data model
41
+ * behind a calendar-week lunch-menu page.
42
+ *
43
+ * Keeps only active items available in `isoWeek`, buckets them into the weekday
44
+ * groups they're available on (Mon→Sun), and DROPS weekdays with no items.
45
+ * Item order within each group is preserved from the input (order3000 returns
46
+ * `menu.items` pre-sorted by `sortIndex`), so callers should pass them as-is.
47
+ */
48
+ declare const groupLunchMenuByWeek: (items: MenuItem[], isoWeek: number) => LunchMenuWeekdayGroup[];
49
+
50
+ export { MENU_WEEKDAY_ORDER, groupLunchMenuByWeek, isMenuItemAvailableInWeek, isMenuItemAvailableOnWeekday };
51
+ export type { LunchMenuWeekdayGroup, MenuWeekday };
package/dist/menu.mjs ADDED
@@ -0,0 +1,30 @@
1
+ const MENU_WEEKDAY_ORDER = [
2
+ "monday",
3
+ "tuesday",
4
+ "wednesday",
5
+ "thursday",
6
+ "friday",
7
+ "saturday",
8
+ "sunday"
9
+ ];
10
+ const isMenuItemAvailableInWeek = (item, isoWeek) => {
11
+ if (!item.availableWeeks) return true;
12
+ return item.availableWeeks.includes(isoWeek);
13
+ };
14
+ const isMenuItemAvailableOnWeekday = (item, weekday) => {
15
+ if (!item.availableDays) return true;
16
+ return item.availableDays.includes(weekday);
17
+ };
18
+ const groupLunchMenuByWeek = (items, isoWeek) => {
19
+ const weekItems = items.filter(
20
+ (item) => item.isActive && isMenuItemAvailableInWeek(item, isoWeek)
21
+ );
22
+ return MENU_WEEKDAY_ORDER.map((weekday) => ({
23
+ weekday,
24
+ items: weekItems.filter(
25
+ (item) => isMenuItemAvailableOnWeekday(item, weekday)
26
+ )
27
+ })).filter((group) => group.items.length > 0);
28
+ };
29
+
30
+ export { MENU_WEEKDAY_ORDER, groupLunchMenuByWeek, isMenuItemAvailableInWeek, isMenuItemAvailableOnWeekday };
package/dist/schemas.cjs CHANGED
@@ -1332,6 +1332,72 @@ const editArticleResponseSchema = v4.z.object({
1332
1332
  "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`."
1333
1333
  );
1334
1334
 
1335
+ const editDishRequestSchema = v4.z.object({
1336
+ venueAccessor: v4.z.string().min(1),
1337
+ id: v4.z.string(),
1338
+ name: v4.z.object({}).catchall(v4.z.string().min(1)),
1339
+ shortName: v4.z.object({}).catchall(v4.z.string()).nullish(),
1340
+ description: v4.z.object({}).catchall(v4.z.string()).nullish(),
1341
+ longDescription: v4.z.object({}).catchall(v4.z.string()).nullish(),
1342
+ suggestedPrice: v4.z.number().nullish(),
1343
+ get currency() {
1344
+ return currencySchema;
1345
+ },
1346
+ isVegan: v4.z.boolean().default(false),
1347
+ isVegetarian: v4.z.boolean().default(false),
1348
+ isGlutenFree: v4.z.boolean().default(false),
1349
+ isDairyFree: v4.z.boolean().default(false),
1350
+ spiciness: v4.z.int().min(0).max(9007199254740991).default(0),
1351
+ isActive: v4.z.boolean().default(true)
1352
+ });
1353
+
1354
+ const editDishResponseSchema = v4.z.object({
1355
+ id: v4.z.string(),
1356
+ venueId: v4.z.string(),
1357
+ accessor: v4.z.string(),
1358
+ name: v4.z.union([
1359
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
1360
+ v4.z.array(v4.z.any()),
1361
+ v4.z.object({}).catchall(v4.z.any())
1362
+ ]),
1363
+ shortName: v4.z.nullable(
1364
+ v4.z.union([
1365
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
1366
+ v4.z.array(v4.z.any()),
1367
+ v4.z.object({}).catchall(v4.z.any())
1368
+ ])
1369
+ ),
1370
+ description: v4.z.nullable(
1371
+ v4.z.union([
1372
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
1373
+ v4.z.array(v4.z.any()),
1374
+ v4.z.object({}).catchall(v4.z.any())
1375
+ ])
1376
+ ),
1377
+ longDescription: v4.z.nullable(
1378
+ v4.z.union([
1379
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
1380
+ v4.z.array(v4.z.any()),
1381
+ v4.z.object({}).catchall(v4.z.any())
1382
+ ])
1383
+ ),
1384
+ isVegan: v4.z.nullable(v4.z.boolean()),
1385
+ isVegetarian: v4.z.nullable(v4.z.boolean()),
1386
+ isGlutenFree: v4.z.nullable(v4.z.boolean()),
1387
+ isDairyFree: v4.z.nullable(v4.z.boolean()),
1388
+ spiciness: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
1389
+ suggestedPrice: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
1390
+ get currency() {
1391
+ return currencySchema;
1392
+ },
1393
+ isActive: v4.z.boolean(),
1394
+ sortIndex: v4.z.nullable(v4.z.string().max(255)),
1395
+ updatedAt: v4.z.nullable(v4.z.any()),
1396
+ updatedBy: v4.z.nullable(v4.z.string()),
1397
+ createdAt: v4.z.nullable(v4.z.any()),
1398
+ createdBy: v4.z.nullable(v4.z.string())
1399
+ });
1400
+
1335
1401
  const editEventRequestSchema = v4.z.object({
1336
1402
  accessor: v4.z.string().nullish(),
1337
1403
  name: v4.z.optional(
@@ -2185,6 +2251,100 @@ const fetchBasketResponseSchema = v4.z.object({
2185
2251
  updatedAt: v4.z.nullable(v4.z.string())
2186
2252
  });
2187
2253
 
2254
+ const fetchDishResponseSchema = v4.z.object({
2255
+ id: v4.z.string(),
2256
+ venueId: v4.z.string(),
2257
+ accessor: v4.z.string(),
2258
+ name: v4.z.union([
2259
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
2260
+ v4.z.array(v4.z.any()),
2261
+ v4.z.object({}).catchall(v4.z.any())
2262
+ ]),
2263
+ shortName: v4.z.nullable(
2264
+ v4.z.union([
2265
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
2266
+ v4.z.array(v4.z.any()),
2267
+ v4.z.object({}).catchall(v4.z.any())
2268
+ ])
2269
+ ),
2270
+ description: v4.z.nullable(
2271
+ v4.z.union([
2272
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
2273
+ v4.z.array(v4.z.any()),
2274
+ v4.z.object({}).catchall(v4.z.any())
2275
+ ])
2276
+ ),
2277
+ longDescription: v4.z.nullable(
2278
+ v4.z.union([
2279
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
2280
+ v4.z.array(v4.z.any()),
2281
+ v4.z.object({}).catchall(v4.z.any())
2282
+ ])
2283
+ ),
2284
+ isVegan: v4.z.nullable(v4.z.boolean()),
2285
+ isVegetarian: v4.z.nullable(v4.z.boolean()),
2286
+ isGlutenFree: v4.z.nullable(v4.z.boolean()),
2287
+ isDairyFree: v4.z.nullable(v4.z.boolean()),
2288
+ spiciness: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
2289
+ suggestedPrice: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
2290
+ get currency() {
2291
+ return currencySchema;
2292
+ },
2293
+ isActive: v4.z.boolean(),
2294
+ sortIndex: v4.z.nullable(v4.z.string().max(255)),
2295
+ updatedAt: v4.z.nullable(v4.z.any()),
2296
+ updatedBy: v4.z.nullable(v4.z.string()),
2297
+ createdAt: v4.z.nullable(v4.z.any()),
2298
+ createdBy: v4.z.nullable(v4.z.string()),
2299
+ assets: v4.z.array(
2300
+ v4.z.object({
2301
+ id: v4.z.string(),
2302
+ get type() {
2303
+ return assetTypeSchema;
2304
+ },
2305
+ tags: v4.z.nullable(v4.z.array(v4.z.string())),
2306
+ bucket: v4.z.string(),
2307
+ storagePath: v4.z.string(),
2308
+ filename: v4.z.string(),
2309
+ contentType: v4.z.string(),
2310
+ sizeBytes: v4.z.int().min(-2147483648).max(2147483647),
2311
+ caption: v4.z.union([
2312
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
2313
+ v4.z.array(v4.z.any()),
2314
+ v4.z.object({}).catchall(v4.z.any())
2315
+ ]),
2316
+ alt: v4.z.union([
2317
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
2318
+ v4.z.array(v4.z.any()),
2319
+ v4.z.object({}).catchall(v4.z.any())
2320
+ ]),
2321
+ metadata: v4.z.nullable(
2322
+ v4.z.union([
2323
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
2324
+ v4.z.array(v4.z.any()),
2325
+ v4.z.object({}).catchall(v4.z.any())
2326
+ ])
2327
+ ),
2328
+ cropArea: v4.z.nullable(
2329
+ v4.z.union([
2330
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
2331
+ v4.z.array(v4.z.any()),
2332
+ v4.z.object({}).catchall(v4.z.any())
2333
+ ])
2334
+ ),
2335
+ isActive: v4.z.boolean(),
2336
+ sortIndex: v4.z.nullable(v4.z.string().max(255)),
2337
+ createdAt: v4.z.nullable(v4.z.any()),
2338
+ updatedAt: v4.z.nullable(v4.z.any()),
2339
+ createdBy: v4.z.nullable(v4.z.string()),
2340
+ updatedBy: v4.z.nullable(v4.z.string()),
2341
+ venueId: v4.z.nullable(v4.z.string()),
2342
+ contentHash: v4.z.nullable(v4.z.string()),
2343
+ publicUrl: v4.z.nullable(v4.z.string())
2344
+ })
2345
+ )
2346
+ });
2347
+
2188
2348
  const fetchEventResponseSchema = v4.z.object({
2189
2349
  id: v4.z.string(),
2190
2350
  venueId: v4.z.string(),
@@ -2657,6 +2817,7 @@ const fetchMenuResponseSchema = v4.z.object({
2657
2817
  height: v4.z.number()
2658
2818
  })
2659
2819
  ),
2820
+ contentHash: v4.z.nullable(v4.z.string()),
2660
2821
  publicUrl: v4.z.string()
2661
2822
  })
2662
2823
  ),
@@ -2675,6 +2836,12 @@ const fetchMenuResponseSchema = v4.z.object({
2675
2836
  isActive: v4.z.boolean(),
2676
2837
  isFeatured: v4.z.boolean(),
2677
2838
  sortIndex: v4.z.nullable(v4.z.string()),
2839
+ get availableDays() {
2840
+ return v4.z.array(dayOfWeekSchema).nullable();
2841
+ },
2842
+ availableWeeks: v4.z.nullable(
2843
+ v4.z.array(v4.z.int().min(-9007199254740991).max(9007199254740991))
2844
+ ),
2678
2845
  dish: v4.z.nullable(
2679
2846
  v4.z.object({
2680
2847
  id: v4.z.string(),
@@ -2725,6 +2892,7 @@ const fetchMenuResponseSchema = v4.z.object({
2725
2892
  height: v4.z.number()
2726
2893
  })
2727
2894
  ),
2895
+ contentHash: v4.z.nullable(v4.z.string()),
2728
2896
  publicUrl: v4.z.string()
2729
2897
  })
2730
2898
  )
@@ -2776,6 +2944,7 @@ const fetchMenuResponseSchema = v4.z.object({
2776
2944
  height: v4.z.number()
2777
2945
  })
2778
2946
  ),
2947
+ contentHash: v4.z.nullable(v4.z.string()),
2779
2948
  publicUrl: v4.z.string()
2780
2949
  })
2781
2950
  )
@@ -3304,6 +3473,8 @@ const getWebsitePagesResponseSchema = v4.z.array(
3304
3473
  })
3305
3474
  );
3306
3475
 
3476
+ const googleAdsAssetFamilySchema = v4.z.enum(["sitelinks", "callouts"]);
3477
+
3307
3478
  const integrationNotificationTypeSchema = v4.z.enum([
3308
3479
  "order_created",
3309
3480
  "order_cancelled",
@@ -4343,6 +4514,8 @@ const schemas = {
4343
4514
  EditAdResponse: editAdResponseSchema,
4344
4515
  EditArticleRequest: editArticleRequestSchema,
4345
4516
  EditArticleResponse: editArticleResponseSchema,
4517
+ EditDishRequest: editDishRequestSchema,
4518
+ EditDishResponse: editDishResponseSchema,
4346
4519
  EditEventRequest: editEventRequestSchema,
4347
4520
  EditEventResponse: editEventResponseSchema,
4348
4521
  EditMetaAdRequest: editMetaAdRequestSchema,
@@ -4365,6 +4538,7 @@ const schemas = {
4365
4538
  FetchArticlesResponse: fetchArticlesResponseSchema,
4366
4539
  FetchAssetsByTagResponse: fetchAssetsByTagResponseSchema,
4367
4540
  FetchBasketResponse: fetchBasketResponseSchema,
4541
+ FetchDishResponse: fetchDishResponseSchema,
4368
4542
  FetchEventResponse: fetchEventResponseSchema,
4369
4543
  FetchEventsResponse: fetchEventsResponseSchema,
4370
4544
  FetchLatestOrderResponse: fetchLatestOrderResponseSchema,
@@ -4386,6 +4560,7 @@ const schemas = {
4386
4560
  GetSubscriptionResponse: getSubscriptionResponseSchema,
4387
4561
  GetVenueResponse: getVenueResponseSchema,
4388
4562
  GetWebsitePagesResponse: getWebsitePagesResponseSchema,
4563
+ GoogleAdsAssetFamily: googleAdsAssetFamilySchema,
4389
4564
  IntegrationNotificationType: integrationNotificationTypeSchema,
4390
4565
  IntegrationType: integrationTypeSchema,
4391
4566
  InventoryAssetStatus: inventoryAssetStatusSchema,
@@ -1078,6 +1078,50 @@ declare const schemas: {
1078
1078
  locale: zod.ZodString;
1079
1079
  }, zod_v4_core.$strip>>>;
1080
1080
  }, zod_v4_core.$strip>;
1081
+ readonly EditDishRequest: zod.ZodObject<{
1082
+ venueAccessor: zod.ZodString;
1083
+ id: zod.ZodString;
1084
+ name: zod.ZodObject<{}, zod_v4_core.$catchall<zod.ZodString>>;
1085
+ shortName: zod.ZodOptional<zod.ZodNullable<zod.ZodObject<{}, zod_v4_core.$catchall<zod.ZodString>>>>;
1086
+ description: zod.ZodOptional<zod.ZodNullable<zod.ZodObject<{}, zod_v4_core.$catchall<zod.ZodString>>>>;
1087
+ longDescription: zod.ZodOptional<zod.ZodNullable<zod.ZodObject<{}, zod_v4_core.$catchall<zod.ZodString>>>>;
1088
+ suggestedPrice: zod.ZodOptional<zod.ZodNullable<zod.ZodNumber>>;
1089
+ currency: zod.ZodEnum<{
1090
+ EUR: "EUR";
1091
+ CHF: "CHF";
1092
+ }>;
1093
+ isVegan: zod.ZodDefault<zod.ZodBoolean>;
1094
+ isVegetarian: zod.ZodDefault<zod.ZodBoolean>;
1095
+ isGlutenFree: zod.ZodDefault<zod.ZodBoolean>;
1096
+ isDairyFree: zod.ZodDefault<zod.ZodBoolean>;
1097
+ spiciness: zod.ZodDefault<zod.ZodInt>;
1098
+ isActive: zod.ZodDefault<zod.ZodBoolean>;
1099
+ }, zod_v4_core.$strip>;
1100
+ readonly EditDishResponse: zod.ZodObject<{
1101
+ id: zod.ZodString;
1102
+ venueId: zod.ZodString;
1103
+ accessor: zod.ZodString;
1104
+ name: zod.ZodUnion<readonly [zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodString, zod.ZodNumber, zod.ZodEnum<{}>]>, zod.ZodArray<zod.ZodAny>, zod.ZodObject<{}, zod_v4_core.$catchall<zod.ZodAny>>]>;
1105
+ shortName: zod.ZodNullable<zod.ZodUnion<readonly [zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodString, zod.ZodNumber, zod.ZodEnum<{}>]>, zod.ZodArray<zod.ZodAny>, zod.ZodObject<{}, zod_v4_core.$catchall<zod.ZodAny>>]>>;
1106
+ description: zod.ZodNullable<zod.ZodUnion<readonly [zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodString, zod.ZodNumber, zod.ZodEnum<{}>]>, zod.ZodArray<zod.ZodAny>, zod.ZodObject<{}, zod_v4_core.$catchall<zod.ZodAny>>]>>;
1107
+ longDescription: zod.ZodNullable<zod.ZodUnion<readonly [zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodString, zod.ZodNumber, zod.ZodEnum<{}>]>, zod.ZodArray<zod.ZodAny>, zod.ZodObject<{}, zod_v4_core.$catchall<zod.ZodAny>>]>>;
1108
+ isVegan: zod.ZodNullable<zod.ZodBoolean>;
1109
+ isVegetarian: zod.ZodNullable<zod.ZodBoolean>;
1110
+ isGlutenFree: zod.ZodNullable<zod.ZodBoolean>;
1111
+ isDairyFree: zod.ZodNullable<zod.ZodBoolean>;
1112
+ spiciness: zod.ZodNullable<zod.ZodInt>;
1113
+ suggestedPrice: zod.ZodNullable<zod.ZodInt>;
1114
+ currency: zod.ZodEnum<{
1115
+ EUR: "EUR";
1116
+ CHF: "CHF";
1117
+ }>;
1118
+ isActive: zod.ZodBoolean;
1119
+ sortIndex: zod.ZodNullable<zod.ZodString>;
1120
+ updatedAt: zod.ZodNullable<zod.ZodAny>;
1121
+ updatedBy: zod.ZodNullable<zod.ZodString>;
1122
+ createdAt: zod.ZodNullable<zod.ZodAny>;
1123
+ createdBy: zod.ZodNullable<zod.ZodString>;
1124
+ }, zod_v4_core.$strip>;
1081
1125
  readonly EditEventRequest: zod.ZodObject<{
1082
1126
  accessor: zod.ZodOptional<zod.ZodNullable<zod.ZodString>>;
1083
1127
  name: zod.ZodOptional<zod.ZodUnion<readonly [zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodString, zod.ZodNumber, zod.ZodEnum<{}>]>, zod.ZodArray<zod.ZodAny>, zod.ZodObject<{}, zod_v4_core.$catchall<zod.ZodAny>>]>>;
@@ -1771,6 +1815,58 @@ declare const schemas: {
1771
1815
  createdAt: zod.ZodNullable<zod.ZodString>;
1772
1816
  updatedAt: zod.ZodNullable<zod.ZodString>;
1773
1817
  }, zod_v4_core.$strip>;
1818
+ readonly FetchDishResponse: zod.ZodObject<{
1819
+ id: zod.ZodString;
1820
+ venueId: zod.ZodString;
1821
+ accessor: zod.ZodString;
1822
+ name: zod.ZodUnion<readonly [zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodString, zod.ZodNumber, zod.ZodEnum<{}>]>, zod.ZodArray<zod.ZodAny>, zod.ZodObject<{}, zod_v4_core.$catchall<zod.ZodAny>>]>;
1823
+ shortName: zod.ZodNullable<zod.ZodUnion<readonly [zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodString, zod.ZodNumber, zod.ZodEnum<{}>]>, zod.ZodArray<zod.ZodAny>, zod.ZodObject<{}, zod_v4_core.$catchall<zod.ZodAny>>]>>;
1824
+ description: zod.ZodNullable<zod.ZodUnion<readonly [zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodString, zod.ZodNumber, zod.ZodEnum<{}>]>, zod.ZodArray<zod.ZodAny>, zod.ZodObject<{}, zod_v4_core.$catchall<zod.ZodAny>>]>>;
1825
+ longDescription: zod.ZodNullable<zod.ZodUnion<readonly [zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodString, zod.ZodNumber, zod.ZodEnum<{}>]>, zod.ZodArray<zod.ZodAny>, zod.ZodObject<{}, zod_v4_core.$catchall<zod.ZodAny>>]>>;
1826
+ isVegan: zod.ZodNullable<zod.ZodBoolean>;
1827
+ isVegetarian: zod.ZodNullable<zod.ZodBoolean>;
1828
+ isGlutenFree: zod.ZodNullable<zod.ZodBoolean>;
1829
+ isDairyFree: zod.ZodNullable<zod.ZodBoolean>;
1830
+ spiciness: zod.ZodNullable<zod.ZodInt>;
1831
+ suggestedPrice: zod.ZodNullable<zod.ZodInt>;
1832
+ currency: zod.ZodEnum<{
1833
+ EUR: "EUR";
1834
+ CHF: "CHF";
1835
+ }>;
1836
+ isActive: zod.ZodBoolean;
1837
+ sortIndex: zod.ZodNullable<zod.ZodString>;
1838
+ updatedAt: zod.ZodNullable<zod.ZodAny>;
1839
+ updatedBy: zod.ZodNullable<zod.ZodString>;
1840
+ createdAt: zod.ZodNullable<zod.ZodAny>;
1841
+ createdBy: zod.ZodNullable<zod.ZodString>;
1842
+ assets: zod.ZodArray<zod.ZodObject<{
1843
+ id: zod.ZodString;
1844
+ type: zod.ZodEnum<{
1845
+ image: "image";
1846
+ video: "video";
1847
+ document: "document";
1848
+ }>;
1849
+ tags: zod.ZodNullable<zod.ZodArray<zod.ZodString>>;
1850
+ bucket: zod.ZodString;
1851
+ storagePath: zod.ZodString;
1852
+ filename: zod.ZodString;
1853
+ contentType: zod.ZodString;
1854
+ sizeBytes: zod.ZodInt;
1855
+ caption: zod.ZodUnion<readonly [zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodString, zod.ZodNumber, zod.ZodEnum<{}>]>, zod.ZodArray<zod.ZodAny>, zod.ZodObject<{}, zod_v4_core.$catchall<zod.ZodAny>>]>;
1856
+ alt: zod.ZodUnion<readonly [zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodString, zod.ZodNumber, zod.ZodEnum<{}>]>, zod.ZodArray<zod.ZodAny>, zod.ZodObject<{}, zod_v4_core.$catchall<zod.ZodAny>>]>;
1857
+ metadata: zod.ZodNullable<zod.ZodUnion<readonly [zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodString, zod.ZodNumber, zod.ZodEnum<{}>]>, zod.ZodArray<zod.ZodAny>, zod.ZodObject<{}, zod_v4_core.$catchall<zod.ZodAny>>]>>;
1858
+ cropArea: zod.ZodNullable<zod.ZodUnion<readonly [zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodString, zod.ZodNumber, zod.ZodEnum<{}>]>, zod.ZodArray<zod.ZodAny>, zod.ZodObject<{}, zod_v4_core.$catchall<zod.ZodAny>>]>>;
1859
+ isActive: zod.ZodBoolean;
1860
+ sortIndex: zod.ZodNullable<zod.ZodString>;
1861
+ createdAt: zod.ZodNullable<zod.ZodAny>;
1862
+ updatedAt: zod.ZodNullable<zod.ZodAny>;
1863
+ createdBy: zod.ZodNullable<zod.ZodString>;
1864
+ updatedBy: zod.ZodNullable<zod.ZodString>;
1865
+ venueId: zod.ZodNullable<zod.ZodString>;
1866
+ contentHash: zod.ZodNullable<zod.ZodString>;
1867
+ publicUrl: zod.ZodNullable<zod.ZodString>;
1868
+ }, zod_v4_core.$strip>>;
1869
+ }, zod_v4_core.$strip>;
1774
1870
  readonly FetchEventResponse: zod.ZodObject<{
1775
1871
  id: zod.ZodString;
1776
1872
  venueId: zod.ZodString;
@@ -2213,6 +2309,7 @@ declare const schemas: {
2213
2309
  width: zod.ZodNumber;
2214
2310
  height: zod.ZodNumber;
2215
2311
  }, zod_v4_core.$strip>>;
2312
+ contentHash: zod.ZodNullable<zod.ZodString>;
2216
2313
  publicUrl: zod.ZodString;
2217
2314
  }, zod_v4_core.$strip>>;
2218
2315
  items: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
@@ -2230,6 +2327,16 @@ declare const schemas: {
2230
2327
  isActive: zod.ZodBoolean;
2231
2328
  isFeatured: zod.ZodBoolean;
2232
2329
  sortIndex: zod.ZodNullable<zod.ZodString>;
2330
+ availableDays: zod.ZodNullable<zod.ZodArray<zod.ZodEnum<{
2331
+ monday: "monday";
2332
+ tuesday: "tuesday";
2333
+ wednesday: "wednesday";
2334
+ thursday: "thursday";
2335
+ friday: "friday";
2336
+ saturday: "saturday";
2337
+ sunday: "sunday";
2338
+ }>>>;
2339
+ availableWeeks: zod.ZodNullable<zod.ZodArray<zod.ZodInt>>;
2233
2340
  dish: zod.ZodNullable<zod.ZodObject<{
2234
2341
  id: zod.ZodString;
2235
2342
  accessor: zod.ZodString;
@@ -2275,6 +2382,7 @@ declare const schemas: {
2275
2382
  width: zod.ZodNumber;
2276
2383
  height: zod.ZodNumber;
2277
2384
  }, zod_v4_core.$strip>>;
2385
+ contentHash: zod.ZodNullable<zod.ZodString>;
2278
2386
  publicUrl: zod.ZodString;
2279
2387
  }, zod_v4_core.$strip>>>;
2280
2388
  }, zod_v4_core.$strip>>;
@@ -2318,6 +2426,7 @@ declare const schemas: {
2318
2426
  width: zod.ZodNumber;
2319
2427
  height: zod.ZodNumber;
2320
2428
  }, zod_v4_core.$strip>>;
2429
+ contentHash: zod.ZodNullable<zod.ZodString>;
2321
2430
  publicUrl: zod.ZodString;
2322
2431
  }, zod_v4_core.$strip>>>;
2323
2432
  }, zod_v4_core.$strip>>;
@@ -2830,6 +2939,10 @@ declare const schemas: {
2830
2939
  createdAt: zod.ZodAny;
2831
2940
  updatedAt: zod.ZodAny;
2832
2941
  }, zod_v4_core.$strip>>;
2942
+ readonly GoogleAdsAssetFamily: zod.ZodEnum<{
2943
+ sitelinks: "sitelinks";
2944
+ callouts: "callouts";
2945
+ }>;
2833
2946
  readonly IntegrationNotificationType: zod.ZodEnum<{
2834
2947
  order_created: "order_created";
2835
2948
  order_cancelled: "order_cancelled";