order3000 1.5.0 → 1.7.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/schemas.mjs CHANGED
@@ -11,9 +11,9 @@ const abandonBasketResponseSchema = z.object({
11
11
 
12
12
  const actorTypeSchema = z.enum(["human", "robot"]);
13
13
 
14
- const adChannelSchema = z.enum(["google"]);
14
+ const adChannelSchema = z.enum(["google", "facebook", "instagram"]);
15
15
 
16
- const adOwnerTypeSchema = z.enum(["event"]);
16
+ const adOwnerTypeSchema = z.enum(["event", "ritual"]);
17
17
 
18
18
  const adStatusSchema = z.enum(["draft", "ready", "archived"]);
19
19
 
@@ -578,6 +578,27 @@ const createAdResponseSchema = z.object({
578
578
  z.array(z.any()),
579
579
  z.object({}).catchall(z.any())
580
580
  ]),
581
+ metaContent: z.nullable(
582
+ z.union([
583
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
584
+ z.array(z.any()),
585
+ z.object({}).catchall(z.any())
586
+ ])
587
+ ),
588
+ metaRefs: z.nullable(
589
+ z.union([
590
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
591
+ z.array(z.any()),
592
+ z.object({}).catchall(z.any())
593
+ ])
594
+ ),
595
+ servedMarket: z.nullable(
596
+ z.union([
597
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
598
+ z.array(z.any()),
599
+ z.object({}).catchall(z.any())
600
+ ])
601
+ ),
581
602
  keywords: z.union([
582
603
  z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
583
604
  z.array(z.any()),
@@ -672,7 +693,12 @@ const createEventRequestSchema = z.object({
672
693
  bookingClosesAtOffset: z.int().min(-2147483648).max(2147483647).nullish(),
673
694
  isActive: z.optional(z.boolean()),
674
695
  isFeatured: z.optional(z.boolean()),
675
- priority: z.optional(z.int().min(-2147483648).max(2147483647)),
696
+ takesOverDay: z.optional(z.boolean()),
697
+ servedMarket: z.union([
698
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
699
+ z.array(z.any()),
700
+ z.object({}).catchall(z.any())
701
+ ]).nullish(),
676
702
  schedule: z.object({
677
703
  rrule: z.string().nullish(),
678
704
  timezone: z.string().nullish(),
@@ -724,7 +750,14 @@ const createEventResponseSchema = z.object({
724
750
  bookingClosesAtOffset: z.nullable(z.int().min(-2147483648).max(2147483647)),
725
751
  isActive: z.boolean(),
726
752
  isFeatured: z.boolean(),
727
- priority: z.int().min(-2147483648).max(2147483647),
753
+ takesOverDay: z.boolean(),
754
+ servedMarket: z.nullable(
755
+ z.union([
756
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
757
+ z.array(z.any()),
758
+ z.object({}).catchall(z.any())
759
+ ])
760
+ ),
728
761
  createdBy: z.nullable(z.string()),
729
762
  updatedBy: z.nullable(z.string()),
730
763
  createdAt: z.nullable(z.any()),
@@ -818,6 +851,27 @@ const deleteAdResponseSchema = z.object({
818
851
  z.array(z.any()),
819
852
  z.object({}).catchall(z.any())
820
853
  ]),
854
+ metaContent: z.nullable(
855
+ z.union([
856
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
857
+ z.array(z.any()),
858
+ z.object({}).catchall(z.any())
859
+ ])
860
+ ),
861
+ metaRefs: z.nullable(
862
+ z.union([
863
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
864
+ z.array(z.any()),
865
+ z.object({}).catchall(z.any())
866
+ ])
867
+ ),
868
+ servedMarket: z.nullable(
869
+ z.union([
870
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
871
+ z.array(z.any()),
872
+ z.object({}).catchall(z.any())
873
+ ])
874
+ ),
821
875
  keywords: z.union([
822
876
  z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
823
877
  z.array(z.any()),
@@ -886,7 +940,14 @@ const deleteEventResponseSchema = z.object({
886
940
  bookingClosesAtOffset: z.nullable(z.int().min(-2147483648).max(2147483647)),
887
941
  isActive: z.boolean(),
888
942
  isFeatured: z.boolean(),
889
- priority: z.int().min(-2147483648).max(2147483647),
943
+ takesOverDay: z.boolean(),
944
+ servedMarket: z.nullable(
945
+ z.union([
946
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
947
+ z.array(z.any()),
948
+ z.object({}).catchall(z.any())
949
+ ])
950
+ ),
890
951
  createdBy: z.nullable(z.string()),
891
952
  updatedBy: z.nullable(z.string()),
892
953
  createdAt: z.nullable(z.any()),
@@ -946,6 +1007,27 @@ const editAdResponseSchema = z.object({
946
1007
  z.array(z.any()),
947
1008
  z.object({}).catchall(z.any())
948
1009
  ]),
1010
+ metaContent: z.nullable(
1011
+ z.union([
1012
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1013
+ z.array(z.any()),
1014
+ z.object({}).catchall(z.any())
1015
+ ])
1016
+ ),
1017
+ metaRefs: z.nullable(
1018
+ z.union([
1019
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1020
+ z.array(z.any()),
1021
+ z.object({}).catchall(z.any())
1022
+ ])
1023
+ ),
1024
+ servedMarket: z.nullable(
1025
+ z.union([
1026
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1027
+ z.array(z.any()),
1028
+ z.object({}).catchall(z.any())
1029
+ ])
1030
+ ),
949
1031
  keywords: z.union([
950
1032
  z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
951
1033
  z.array(z.any()),
@@ -1068,7 +1150,12 @@ const editEventRequestSchema = z.object({
1068
1150
  bookingClosesAtOffset: z.int().min(-2147483648).max(2147483647).nullish(),
1069
1151
  isActive: z.optional(z.boolean()),
1070
1152
  isFeatured: z.optional(z.boolean()),
1071
- priority: z.optional(z.int().min(-2147483648).max(2147483647)),
1153
+ takesOverDay: z.optional(z.boolean()),
1154
+ servedMarket: z.union([
1155
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1156
+ z.array(z.any()),
1157
+ z.object({}).catchall(z.any())
1158
+ ]).nullish(),
1072
1159
  schedule: z.object({
1073
1160
  rrule: z.string().nullish(),
1074
1161
  timezone: z.string().nullish(),
@@ -1119,7 +1206,14 @@ const editEventResponseSchema = z.object({
1119
1206
  bookingClosesAtOffset: z.nullable(z.int().min(-2147483648).max(2147483647)),
1120
1207
  isActive: z.boolean(),
1121
1208
  isFeatured: z.boolean(),
1122
- priority: z.int().min(-2147483648).max(2147483647),
1209
+ takesOverDay: z.boolean(),
1210
+ servedMarket: z.nullable(
1211
+ z.union([
1212
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1213
+ z.array(z.any()),
1214
+ z.object({}).catchall(z.any())
1215
+ ])
1216
+ ),
1123
1217
  createdBy: z.nullable(z.string()),
1124
1218
  updatedBy: z.nullable(z.string()),
1125
1219
  createdAt: z.nullable(z.any()),
@@ -1144,7 +1238,6 @@ const editEventResponseSchema = z.object({
1144
1238
  exdates: z.nullable(z.array(z.string())),
1145
1239
  validFrom: z.nullable(z.string()),
1146
1240
  validTo: z.nullable(z.string()),
1147
- priority: z.nullable(z.int().min(-2147483648).max(2147483647)),
1148
1241
  get slotMode() {
1149
1242
  return slotModeSchema;
1150
1243
  },
@@ -1186,6 +1279,103 @@ const editEventResponseSchema = z.object({
1186
1279
  )
1187
1280
  }).describe("Successfully updated event with schedule");
1188
1281
 
1282
+ const editMetaAdRequestSchema = z.object({
1283
+ venueAccessor: z.string().min(1),
1284
+ id: z.string().min(1),
1285
+ metaContent: z.optional(
1286
+ z.object({
1287
+ primaryText: z.object({}).catchall(z.string().max(125)),
1288
+ headline: z.object({}).catchall(z.string().max(40)),
1289
+ description: z.object({}).catchall(z.string().max(30)),
1290
+ finalUrl: z.url(),
1291
+ callToAction: z.string(),
1292
+ creatives: z.object({}).catchall(
1293
+ z.object({
1294
+ assetId: z.string()
1295
+ })
1296
+ )
1297
+ })
1298
+ ),
1299
+ get status() {
1300
+ return adStatusSchema.optional();
1301
+ }
1302
+ }).describe("Partial-update body for an existing Meta ad");
1303
+
1304
+ const editMetaAdResponseSchema = z.object({
1305
+ id: z.string(),
1306
+ venueId: z.string(),
1307
+ get ownerEntityType() {
1308
+ return adOwnerTypeSchema;
1309
+ },
1310
+ ownerEntityId: z.string(),
1311
+ get channel() {
1312
+ return adChannelSchema;
1313
+ },
1314
+ get status() {
1315
+ return adStatusSchema;
1316
+ },
1317
+ campaignId: z.nullable(z.string()),
1318
+ content: z.union([
1319
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1320
+ z.array(z.any()),
1321
+ z.object({}).catchall(z.any())
1322
+ ]),
1323
+ metaContent: z.nullable(
1324
+ z.union([
1325
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1326
+ z.array(z.any()),
1327
+ z.object({}).catchall(z.any())
1328
+ ])
1329
+ ),
1330
+ metaRefs: z.nullable(
1331
+ z.union([
1332
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1333
+ z.array(z.any()),
1334
+ z.object({}).catchall(z.any())
1335
+ ])
1336
+ ),
1337
+ servedMarket: z.nullable(
1338
+ z.union([
1339
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1340
+ z.array(z.any()),
1341
+ z.object({}).catchall(z.any())
1342
+ ])
1343
+ ),
1344
+ keywords: z.union([
1345
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1346
+ z.array(z.any()),
1347
+ z.object({}).catchall(z.any())
1348
+ ]),
1349
+ negativeKeywords: z.union([
1350
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1351
+ z.array(z.any()),
1352
+ z.object({}).catchall(z.any())
1353
+ ]),
1354
+ disabledVenueKeywords: z.union([
1355
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1356
+ z.array(z.any()),
1357
+ z.object({}).catchall(z.any())
1358
+ ]),
1359
+ dismissedKeywords: z.union([
1360
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1361
+ z.array(z.any()),
1362
+ z.object({}).catchall(z.any())
1363
+ ]),
1364
+ publishedContentHash: z.nullable(z.string()),
1365
+ publishedAt: z.nullable(z.any()),
1366
+ pushedKeywords: z.nullable(
1367
+ z.union([
1368
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1369
+ z.array(z.any()),
1370
+ z.object({}).catchall(z.any())
1371
+ ])
1372
+ ),
1373
+ createdBy: z.nullable(z.string()),
1374
+ updatedBy: z.nullable(z.string()),
1375
+ createdAt: z.nullable(z.any()),
1376
+ updatedAt: z.nullable(z.any())
1377
+ }).describe("Successfully updated Meta ad");
1378
+
1189
1379
  const entityOwnerTypeSchema = z.enum([
1190
1380
  "event",
1191
1381
  "dish",
@@ -1258,6 +1448,27 @@ const fetchAdResponseSchema = z.object({
1258
1448
  z.array(z.any()),
1259
1449
  z.object({}).catchall(z.any())
1260
1450
  ]),
1451
+ metaContent: z.nullable(
1452
+ z.union([
1453
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1454
+ z.array(z.any()),
1455
+ z.object({}).catchall(z.any())
1456
+ ])
1457
+ ),
1458
+ metaRefs: z.nullable(
1459
+ z.union([
1460
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1461
+ z.array(z.any()),
1462
+ z.object({}).catchall(z.any())
1463
+ ])
1464
+ ),
1465
+ servedMarket: z.nullable(
1466
+ z.union([
1467
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1468
+ z.array(z.any()),
1469
+ z.object({}).catchall(z.any())
1470
+ ])
1471
+ ),
1261
1472
  keywords: z.union([
1262
1473
  z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1263
1474
  z.array(z.any()),
@@ -1313,6 +1524,27 @@ const fetchAdsResponseSchema = z.array(
1313
1524
  z.array(z.any()),
1314
1525
  z.object({}).catchall(z.any())
1315
1526
  ]),
1527
+ metaContent: z.nullable(
1528
+ z.union([
1529
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1530
+ z.array(z.any()),
1531
+ z.object({}).catchall(z.any())
1532
+ ])
1533
+ ),
1534
+ metaRefs: z.nullable(
1535
+ z.union([
1536
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1537
+ z.array(z.any()),
1538
+ z.object({}).catchall(z.any())
1539
+ ])
1540
+ ),
1541
+ servedMarket: z.nullable(
1542
+ z.union([
1543
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1544
+ z.array(z.any()),
1545
+ z.object({}).catchall(z.any())
1546
+ ])
1547
+ ),
1316
1548
  keywords: z.union([
1317
1549
  z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1318
1550
  z.array(z.any()),
@@ -1615,7 +1847,7 @@ const fetchEventResponseSchema = z.object({
1615
1847
  bookingClosesAtOffset: z.nullable(z.number()),
1616
1848
  isActive: z.boolean(),
1617
1849
  isFeatured: z.boolean(),
1618
- priority: z.number(),
1850
+ takesOverDay: z.boolean(),
1619
1851
  createdAt: z.nullable(z.any()),
1620
1852
  updatedAt: z.nullable(z.any()),
1621
1853
  nextOccurrence: z.string().nullish(),
@@ -1629,7 +1861,6 @@ const fetchEventResponseSchema = z.object({
1629
1861
  exdates: z.nullable(z.array(z.string())),
1630
1862
  validFrom: z.nullable(z.string()),
1631
1863
  validTo: z.nullable(z.string()),
1632
- priority: z.nullable(z.number()),
1633
1864
  isActive: z.boolean(),
1634
1865
  get slotMode() {
1635
1866
  return slotModeSchema;
@@ -1679,7 +1910,7 @@ const fetchEventResponseSchema = z.object({
1679
1910
  )
1680
1911
  )
1681
1912
  }).describe(
1682
- "Event details. Nested objects (schedule, timeSlots, menus, posters, nextOccurrence) pass through; their shape follows the SDK Event interface."
1913
+ "Event details. Nested objects (schedule, timeSlots, menus, assets, nextOccurrence) pass through; their shape follows the SDK Event interface."
1683
1914
  );
1684
1915
 
1685
1916
  const promotionBenefitTypeSchema = z.enum([
@@ -1715,7 +1946,7 @@ const fetchEventsResponseSchema = z.array(
1715
1946
  bookingClosesAtOffset: z.nullable(z.number()),
1716
1947
  isActive: z.boolean(),
1717
1948
  isFeatured: z.boolean(),
1718
- priority: z.number(),
1949
+ takesOverDay: z.boolean(),
1719
1950
  createdBy: z.nullable(z.string()),
1720
1951
  updatedBy: z.nullable(z.string()),
1721
1952
  createdAt: z.nullable(z.any()),
@@ -1731,7 +1962,6 @@ const fetchEventsResponseSchema = z.array(
1731
1962
  exdates: z.nullable(z.array(z.string())),
1732
1963
  validFrom: z.nullable(z.string()),
1733
1964
  validTo: z.nullable(z.string()),
1734
- priority: z.nullable(z.number()),
1735
1965
  get slotMode() {
1736
1966
  return slotModeSchema;
1737
1967
  },
@@ -1746,7 +1976,6 @@ const fetchEventsResponseSchema = z.array(
1746
1976
  z.object({
1747
1977
  id: z.string(),
1748
1978
  date: z.string(),
1749
- priority: z.nullable(z.number()),
1750
1979
  isActive: z.boolean(),
1751
1980
  updatedAt: z.nullable(z.any()),
1752
1981
  updatedBy: z.nullable(z.string()),
@@ -2250,6 +2479,244 @@ const fetchMenuSubscriptionsResponseSchema = z.array(
2250
2479
  })
2251
2480
  );
2252
2481
 
2482
+ const fetchRitualResponseSchema = z.object({
2483
+ id: z.string(),
2484
+ venueId: z.string(),
2485
+ accessor: z.string(),
2486
+ get ritualType() {
2487
+ return ritualTypeSchema;
2488
+ },
2489
+ scheduleId: z.nullable(z.string()),
2490
+ name: z.union([
2491
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2492
+ z.array(z.any()),
2493
+ z.object({}).catchall(z.any())
2494
+ ]),
2495
+ description: z.nullable(
2496
+ z.union([
2497
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2498
+ z.array(z.any()),
2499
+ z.object({}).catchall(z.any())
2500
+ ])
2501
+ ),
2502
+ playbook: z.nullable(
2503
+ z.union([
2504
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2505
+ z.array(z.any()),
2506
+ z.object({}).catchall(z.any())
2507
+ ])
2508
+ ),
2509
+ maxBookings: z.nullable(z.int().min(-2147483648).max(2147483647)),
2510
+ maxGuests: z.nullable(z.int().min(-2147483648).max(2147483647)),
2511
+ minPartySize: z.nullable(z.int().min(-2147483648).max(2147483647)),
2512
+ maxPartySize: z.nullable(z.int().min(-2147483648).max(2147483647)),
2513
+ isPublic: z.boolean(),
2514
+ reservationsEnabled: z.boolean(),
2515
+ bookingOpensAtDays: z.nullable(z.int().min(-2147483648).max(2147483647)),
2516
+ bookingClosesAtOffset: z.nullable(z.int().min(-2147483648).max(2147483647)),
2517
+ isActive: z.boolean(),
2518
+ isFeatured: z.boolean(),
2519
+ servedMarket: z.nullable(
2520
+ z.union([
2521
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2522
+ z.array(z.any()),
2523
+ z.object({}).catchall(z.any())
2524
+ ])
2525
+ ),
2526
+ createdBy: z.nullable(z.string()),
2527
+ updatedBy: z.nullable(z.string()),
2528
+ createdAt: z.nullable(z.any()),
2529
+ updatedAt: z.nullable(z.any()),
2530
+ assets: z.array(
2531
+ z.object({
2532
+ id: z.string(),
2533
+ get type() {
2534
+ return assetTypeSchema;
2535
+ },
2536
+ tags: z.nullable(z.array(z.string())),
2537
+ bucket: z.string(),
2538
+ storagePath: z.string(),
2539
+ filename: z.string(),
2540
+ contentType: z.string(),
2541
+ sizeBytes: z.int().min(-2147483648).max(2147483647),
2542
+ caption: z.union([
2543
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2544
+ z.array(z.any()),
2545
+ z.object({}).catchall(z.any())
2546
+ ]),
2547
+ alt: z.union([
2548
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2549
+ z.array(z.any()),
2550
+ z.object({}).catchall(z.any())
2551
+ ]),
2552
+ metadata: z.nullable(
2553
+ z.union([
2554
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2555
+ z.array(z.any()),
2556
+ z.object({}).catchall(z.any())
2557
+ ])
2558
+ ),
2559
+ cropArea: z.nullable(
2560
+ z.union([
2561
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2562
+ z.array(z.any()),
2563
+ z.object({}).catchall(z.any())
2564
+ ])
2565
+ ),
2566
+ isActive: z.boolean(),
2567
+ sortIndex: z.nullable(z.string().max(255)),
2568
+ createdAt: z.nullable(z.any()),
2569
+ updatedAt: z.nullable(z.any()),
2570
+ createdBy: z.nullable(z.string()),
2571
+ updatedBy: z.nullable(z.string()),
2572
+ venueId: z.nullable(z.string()),
2573
+ publicUrl: z.string()
2574
+ })
2575
+ ),
2576
+ events: z.array(
2577
+ z.object({
2578
+ id: z.string(),
2579
+ venueId: z.string(),
2580
+ accessor: z.nullable(z.string()),
2581
+ name: z.union([
2582
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2583
+ z.array(z.any()),
2584
+ z.object({}).catchall(z.any())
2585
+ ]),
2586
+ description: z.nullable(
2587
+ z.union([
2588
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2589
+ z.array(z.any()),
2590
+ z.object({}).catchall(z.any())
2591
+ ])
2592
+ ),
2593
+ scheduleId: z.nullable(z.string()),
2594
+ ritualId: z.nullable(z.string()),
2595
+ occurrenceDate: z.nullable(z.string()),
2596
+ maxBookings: z.nullable(z.int().min(-2147483648).max(2147483647)),
2597
+ maxGuests: z.nullable(z.int().min(-2147483648).max(2147483647)),
2598
+ minPartySize: z.nullable(z.int().min(-2147483648).max(2147483647)),
2599
+ maxPartySize: z.nullable(z.int().min(-2147483648).max(2147483647)),
2600
+ isPublic: z.boolean(),
2601
+ reservationsEnabled: z.boolean(),
2602
+ bookingOpensAtDays: z.nullable(z.int().min(-2147483648).max(2147483647)),
2603
+ bookingClosesAtOffset: z.nullable(
2604
+ z.int().min(-2147483648).max(2147483647)
2605
+ ),
2606
+ isActive: z.boolean(),
2607
+ isFeatured: z.boolean(),
2608
+ takesOverDay: z.boolean(),
2609
+ servedMarket: z.nullable(
2610
+ z.union([
2611
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2612
+ z.array(z.any()),
2613
+ z.object({}).catchall(z.any())
2614
+ ])
2615
+ ),
2616
+ createdBy: z.nullable(z.string()),
2617
+ updatedBy: z.nullable(z.string()),
2618
+ createdAt: z.nullable(z.any()),
2619
+ updatedAt: z.nullable(z.any()),
2620
+ covers: z.number()
2621
+ })
2622
+ ),
2623
+ schedule: z.nullable(
2624
+ z.object({
2625
+ id: z.string(),
2626
+ name: z.union([
2627
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2628
+ z.array(z.any()),
2629
+ z.object({}).catchall(z.any())
2630
+ ]),
2631
+ description: z.nullable(
2632
+ z.union([
2633
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2634
+ z.array(z.any()),
2635
+ z.object({}).catchall(z.any())
2636
+ ])
2637
+ ),
2638
+ timezone: z.string(),
2639
+ rrule: z.nullable(z.string()),
2640
+ exdates: z.nullable(z.array(z.string())),
2641
+ validFrom: z.nullable(z.string()),
2642
+ validTo: z.nullable(z.string()),
2643
+ get slotMode() {
2644
+ return slotModeSchema;
2645
+ },
2646
+ intervalDuration: z.nullable(z.int().min(-2147483648).max(2147483647)),
2647
+ duration: z.nullable(z.int().min(-2147483648).max(2147483647)),
2648
+ isActive: z.boolean(),
2649
+ sortIndex: z.nullable(z.string().max(255)),
2650
+ updatedAt: z.nullable(z.any()),
2651
+ updatedBy: z.nullable(z.string()),
2652
+ createdAt: z.nullable(z.any()),
2653
+ createdBy: z.nullable(z.string()),
2654
+ scheduleTimeSlots: z.array(
2655
+ z.object({
2656
+ scheduleId: z.nullable(z.string()),
2657
+ timeSlotId: z.nullable(z.string()),
2658
+ get dayOfWeek() {
2659
+ return dayOfWeekSchema;
2660
+ },
2661
+ sortIndex: z.nullable(z.string().max(255)),
2662
+ timeSlot: z.nullable(
2663
+ z.object({
2664
+ id: z.string(),
2665
+ startTime: z.string(),
2666
+ endTime: z.nullable(z.string()),
2667
+ isActive: z.nullable(z.boolean()),
2668
+ isSchedulable: z.nullable(z.boolean()),
2669
+ sortIndex: z.nullable(z.string().max(255)),
2670
+ updatedAt: z.nullable(z.any()),
2671
+ updatedBy: z.nullable(z.string()),
2672
+ createdAt: z.nullable(z.any()),
2673
+ createdBy: z.nullable(z.string())
2674
+ })
2675
+ )
2676
+ })
2677
+ ),
2678
+ scheduleOverrides: z.array(
2679
+ z.object({
2680
+ id: z.string(),
2681
+ scheduleId: z.string(),
2682
+ date: z.string(),
2683
+ reason: z.nullable(
2684
+ z.union([
2685
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2686
+ z.array(z.any()),
2687
+ z.object({}).catchall(z.any())
2688
+ ])
2689
+ ),
2690
+ isActive: z.boolean(),
2691
+ updatedAt: z.nullable(z.any()),
2692
+ updatedBy: z.nullable(z.string()),
2693
+ createdAt: z.nullable(z.any()),
2694
+ createdBy: z.nullable(z.string()),
2695
+ scheduleOverrideTimeSlots: z.array(
2696
+ z.object({
2697
+ overrideId: z.string(),
2698
+ timeSlotId: z.string(),
2699
+ sortIndex: z.nullable(z.string().max(255)),
2700
+ timeSlot: z.object({
2701
+ id: z.string(),
2702
+ startTime: z.string(),
2703
+ endTime: z.nullable(z.string()),
2704
+ isActive: z.nullable(z.boolean()),
2705
+ isSchedulable: z.nullable(z.boolean()),
2706
+ sortIndex: z.nullable(z.string().max(255)),
2707
+ updatedAt: z.nullable(z.any()),
2708
+ updatedBy: z.nullable(z.string()),
2709
+ createdAt: z.nullable(z.any()),
2710
+ createdBy: z.nullable(z.string())
2711
+ })
2712
+ })
2713
+ )
2714
+ })
2715
+ )
2716
+ })
2717
+ )
2718
+ });
2719
+
2253
2720
  const fetchTeamOrderResponseSchema = z.object({
2254
2721
  teamOrder: z.object({
2255
2722
  id: z.string(),
@@ -2369,6 +2836,23 @@ const fetchTeamOrderResponseSchema = z.object({
2369
2836
  isLead: z.boolean()
2370
2837
  });
2371
2838
 
2839
+ const gbpMediaCategorySchema = z.enum([
2840
+ "cover",
2841
+ "logo",
2842
+ "gallery",
2843
+ "video"
2844
+ ]);
2845
+
2846
+ const gbpSyncStatusSchema = z.enum([
2847
+ "processing",
2848
+ "live",
2849
+ "rejected",
2850
+ "failed",
2851
+ "removed"
2852
+ ]);
2853
+
2854
+ const geoAreaKindSchema = z.enum(["postcode", "city", "region"]);
2855
+
2372
2856
  const getAreaAvailabilityResponseSchema = z.object({
2373
2857
  from: z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
2374
2858
  to: z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
@@ -2503,7 +2987,12 @@ const integrationNotificationTypeSchema = z.enum([
2503
2987
  "reservation_cancelled"
2504
2988
  ]);
2505
2989
 
2506
- const integrationTypeSchema = z.enum(["telegram", "google_ads"]);
2990
+ const integrationTypeSchema = z.enum([
2991
+ "telegram",
2992
+ "google_ads",
2993
+ "google_business_profile",
2994
+ "meta_ads"
2995
+ ]);
2507
2996
 
2508
2997
  const inventoryAssetStatusSchema = z.enum([
2509
2998
  "available",
@@ -2769,6 +3258,9 @@ const makeReservationRequestSchema = z.object({
2769
3258
  ).nullish(),
2770
3259
  wbraid: z.string().describe(
2771
3260
  "Google Ads click identifier for web-to-app (iOS) where `gclid` is unavailable."
3261
+ ).nullish(),
3262
+ fbclid: z.string().describe(
3263
+ "Meta (Facebook/Instagram) click identifier from the landing URL. Stored for server-side Conversions API reporting."
2772
3264
  ).nullish()
2773
3265
  }).describe("Request payload for making a new reservation");
2774
3266
 
@@ -2830,6 +3322,7 @@ const makeReservationResponseSchema = z.object({
2830
3322
  gclid: z.nullable(z.string()),
2831
3323
  gbraid: z.nullable(z.string()),
2832
3324
  wbraid: z.nullable(z.string()),
3325
+ fbclid: z.nullable(z.string()),
2833
3326
  specialRequests: z.nullable(
2834
3327
  z.string().describe("Any special requirements or notes")
2835
3328
  ),
@@ -3308,6 +3801,8 @@ const schemas = {
3308
3801
  EditArticleResponse: editArticleResponseSchema,
3309
3802
  EditEventRequest: editEventRequestSchema,
3310
3803
  EditEventResponse: editEventResponseSchema,
3804
+ EditMetaAdRequest: editMetaAdRequestSchema,
3805
+ EditMetaAdResponse: editMetaAdResponseSchema,
3311
3806
  EntityOwnerType: entityOwnerTypeSchema,
3312
3807
  EnumFalse: enumFalseSchema,
3313
3808
  EnumTrue: enumTrueSchema,
@@ -3332,8 +3827,12 @@ const schemas = {
3332
3827
  FetchMenuBundlesResponse: fetchMenuBundlesResponseSchema,
3333
3828
  FetchMenuResponse: fetchMenuResponseSchema,
3334
3829
  FetchMenuSubscriptionsResponse: fetchMenuSubscriptionsResponseSchema,
3830
+ FetchRitualResponse: fetchRitualResponseSchema,
3335
3831
  FetchTeamOrderResponse: fetchTeamOrderResponseSchema,
3336
3832
  FulfillmentType: fulfillmentTypeSchema,
3833
+ GbpMediaCategory: gbpMediaCategorySchema,
3834
+ GbpSyncStatus: gbpSyncStatusSchema,
3835
+ GeoAreaKind: geoAreaKindSchema,
3337
3836
  GetAreaAvailabilityResponse: getAreaAvailabilityResponseSchema,
3338
3837
  GetBasketTotalsRequest: getBasketTotalsRequestSchema,
3339
3838
  GetBasketTotalsResponse: getBasketTotalsResponseSchema,