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/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
 
@@ -274,7 +274,7 @@ const cancelTeamOrderResponseSchema = z.object({
274
274
  });
275
275
 
276
276
  const cancellationReasonSchema = z.enum([
277
- "customer_request",
277
+ "guest_request",
278
278
  "restaurant_request"
279
279
  ]);
280
280
 
@@ -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
+ targetingOverride: 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()),
@@ -588,8 +609,25 @@ const createAdResponseSchema = z.object({
588
609
  z.array(z.any()),
589
610
  z.object({}).catchall(z.any())
590
611
  ]),
612
+ disabledVenueKeywords: z.union([
613
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
614
+ z.array(z.any()),
615
+ z.object({}).catchall(z.any())
616
+ ]),
617
+ dismissedKeywords: z.union([
618
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
619
+ z.array(z.any()),
620
+ z.object({}).catchall(z.any())
621
+ ]),
591
622
  publishedContentHash: z.nullable(z.string()),
592
623
  publishedAt: z.nullable(z.any()),
624
+ pushedKeywords: z.nullable(
625
+ z.union([
626
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
627
+ z.array(z.any()),
628
+ z.object({}).catchall(z.any())
629
+ ])
630
+ ),
593
631
  createdBy: z.nullable(z.string()),
594
632
  updatedBy: z.nullable(z.string()),
595
633
  createdAt: z.nullable(z.any()),
@@ -801,6 +839,27 @@ const deleteAdResponseSchema = z.object({
801
839
  z.array(z.any()),
802
840
  z.object({}).catchall(z.any())
803
841
  ]),
842
+ metaContent: z.nullable(
843
+ z.union([
844
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
845
+ z.array(z.any()),
846
+ z.object({}).catchall(z.any())
847
+ ])
848
+ ),
849
+ metaRefs: z.nullable(
850
+ z.union([
851
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
852
+ z.array(z.any()),
853
+ z.object({}).catchall(z.any())
854
+ ])
855
+ ),
856
+ targetingOverride: z.nullable(
857
+ z.union([
858
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
859
+ z.array(z.any()),
860
+ z.object({}).catchall(z.any())
861
+ ])
862
+ ),
804
863
  keywords: z.union([
805
864
  z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
806
865
  z.array(z.any()),
@@ -811,8 +870,25 @@ const deleteAdResponseSchema = z.object({
811
870
  z.array(z.any()),
812
871
  z.object({}).catchall(z.any())
813
872
  ]),
873
+ disabledVenueKeywords: z.union([
874
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
875
+ z.array(z.any()),
876
+ z.object({}).catchall(z.any())
877
+ ]),
878
+ dismissedKeywords: z.union([
879
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
880
+ z.array(z.any()),
881
+ z.object({}).catchall(z.any())
882
+ ]),
814
883
  publishedContentHash: z.nullable(z.string()),
815
884
  publishedAt: z.nullable(z.any()),
885
+ pushedKeywords: z.nullable(
886
+ z.union([
887
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
888
+ z.array(z.any()),
889
+ z.object({}).catchall(z.any())
890
+ ])
891
+ ),
816
892
  createdBy: z.nullable(z.string()),
817
893
  updatedBy: z.nullable(z.string()),
818
894
  createdAt: z.nullable(z.any()),
@@ -912,6 +988,27 @@ const editAdResponseSchema = z.object({
912
988
  z.array(z.any()),
913
989
  z.object({}).catchall(z.any())
914
990
  ]),
991
+ metaContent: z.nullable(
992
+ z.union([
993
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
994
+ z.array(z.any()),
995
+ z.object({}).catchall(z.any())
996
+ ])
997
+ ),
998
+ metaRefs: z.nullable(
999
+ z.union([
1000
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1001
+ z.array(z.any()),
1002
+ z.object({}).catchall(z.any())
1003
+ ])
1004
+ ),
1005
+ targetingOverride: z.nullable(
1006
+ z.union([
1007
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1008
+ z.array(z.any()),
1009
+ z.object({}).catchall(z.any())
1010
+ ])
1011
+ ),
915
1012
  keywords: z.union([
916
1013
  z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
917
1014
  z.array(z.any()),
@@ -922,8 +1019,25 @@ const editAdResponseSchema = z.object({
922
1019
  z.array(z.any()),
923
1020
  z.object({}).catchall(z.any())
924
1021
  ]),
1022
+ disabledVenueKeywords: z.union([
1023
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1024
+ z.array(z.any()),
1025
+ z.object({}).catchall(z.any())
1026
+ ]),
1027
+ dismissedKeywords: z.union([
1028
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1029
+ z.array(z.any()),
1030
+ z.object({}).catchall(z.any())
1031
+ ]),
925
1032
  publishedContentHash: z.nullable(z.string()),
926
1033
  publishedAt: z.nullable(z.any()),
1034
+ pushedKeywords: z.nullable(
1035
+ z.union([
1036
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1037
+ z.array(z.any()),
1038
+ z.object({}).catchall(z.any())
1039
+ ])
1040
+ ),
927
1041
  createdBy: z.nullable(z.string()),
928
1042
  updatedBy: z.nullable(z.string()),
929
1043
  createdAt: z.nullable(z.any()),
@@ -1135,6 +1249,103 @@ const editEventResponseSchema = z.object({
1135
1249
  )
1136
1250
  }).describe("Successfully updated event with schedule");
1137
1251
 
1252
+ const editMetaAdRequestSchema = z.object({
1253
+ venueAccessor: z.string().min(1),
1254
+ id: z.string().min(1),
1255
+ metaContent: z.optional(
1256
+ z.object({
1257
+ primaryText: z.object({}).catchall(z.string().max(125)),
1258
+ headline: z.object({}).catchall(z.string().max(40)),
1259
+ description: z.object({}).catchall(z.string().max(30)),
1260
+ finalUrl: z.url(),
1261
+ callToAction: z.string(),
1262
+ creatives: z.object({}).catchall(
1263
+ z.object({
1264
+ assetId: z.string()
1265
+ })
1266
+ )
1267
+ })
1268
+ ),
1269
+ get status() {
1270
+ return adStatusSchema.optional();
1271
+ }
1272
+ }).describe("Partial-update body for an existing Meta ad");
1273
+
1274
+ const editMetaAdResponseSchema = z.object({
1275
+ id: z.string(),
1276
+ venueId: z.string(),
1277
+ get ownerEntityType() {
1278
+ return adOwnerTypeSchema;
1279
+ },
1280
+ ownerEntityId: z.string(),
1281
+ get channel() {
1282
+ return adChannelSchema;
1283
+ },
1284
+ get status() {
1285
+ return adStatusSchema;
1286
+ },
1287
+ campaignId: z.nullable(z.string()),
1288
+ content: z.union([
1289
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1290
+ z.array(z.any()),
1291
+ z.object({}).catchall(z.any())
1292
+ ]),
1293
+ metaContent: z.nullable(
1294
+ z.union([
1295
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1296
+ z.array(z.any()),
1297
+ z.object({}).catchall(z.any())
1298
+ ])
1299
+ ),
1300
+ metaRefs: z.nullable(
1301
+ z.union([
1302
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1303
+ z.array(z.any()),
1304
+ z.object({}).catchall(z.any())
1305
+ ])
1306
+ ),
1307
+ targetingOverride: z.nullable(
1308
+ z.union([
1309
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1310
+ z.array(z.any()),
1311
+ z.object({}).catchall(z.any())
1312
+ ])
1313
+ ),
1314
+ keywords: z.union([
1315
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1316
+ z.array(z.any()),
1317
+ z.object({}).catchall(z.any())
1318
+ ]),
1319
+ negativeKeywords: z.union([
1320
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1321
+ z.array(z.any()),
1322
+ z.object({}).catchall(z.any())
1323
+ ]),
1324
+ disabledVenueKeywords: 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
+ dismissedKeywords: z.union([
1330
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1331
+ z.array(z.any()),
1332
+ z.object({}).catchall(z.any())
1333
+ ]),
1334
+ publishedContentHash: z.nullable(z.string()),
1335
+ publishedAt: z.nullable(z.any()),
1336
+ pushedKeywords: z.nullable(
1337
+ z.union([
1338
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1339
+ z.array(z.any()),
1340
+ z.object({}).catchall(z.any())
1341
+ ])
1342
+ ),
1343
+ createdBy: z.nullable(z.string()),
1344
+ updatedBy: z.nullable(z.string()),
1345
+ createdAt: z.nullable(z.any()),
1346
+ updatedAt: z.nullable(z.any())
1347
+ }).describe("Successfully updated Meta ad");
1348
+
1138
1349
  const entityOwnerTypeSchema = z.enum([
1139
1350
  "event",
1140
1351
  "dish",
@@ -1170,7 +1381,7 @@ const featureCategorySchema = z.enum([
1170
1381
  "auth",
1171
1382
  "billing",
1172
1383
  "core",
1173
- "customers",
1384
+ "guests",
1174
1385
  "events",
1175
1386
  "inventory",
1176
1387
  "menus",
@@ -1207,6 +1418,27 @@ const fetchAdResponseSchema = z.object({
1207
1418
  z.array(z.any()),
1208
1419
  z.object({}).catchall(z.any())
1209
1420
  ]),
1421
+ metaContent: z.nullable(
1422
+ z.union([
1423
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1424
+ z.array(z.any()),
1425
+ z.object({}).catchall(z.any())
1426
+ ])
1427
+ ),
1428
+ metaRefs: z.nullable(
1429
+ z.union([
1430
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1431
+ z.array(z.any()),
1432
+ z.object({}).catchall(z.any())
1433
+ ])
1434
+ ),
1435
+ targetingOverride: z.nullable(
1436
+ z.union([
1437
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1438
+ z.array(z.any()),
1439
+ z.object({}).catchall(z.any())
1440
+ ])
1441
+ ),
1210
1442
  keywords: z.union([
1211
1443
  z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1212
1444
  z.array(z.any()),
@@ -1217,8 +1449,25 @@ const fetchAdResponseSchema = z.object({
1217
1449
  z.array(z.any()),
1218
1450
  z.object({}).catchall(z.any())
1219
1451
  ]),
1452
+ disabledVenueKeywords: 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
+ dismissedKeywords: z.union([
1458
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1459
+ z.array(z.any()),
1460
+ z.object({}).catchall(z.any())
1461
+ ]),
1220
1462
  publishedContentHash: z.nullable(z.string()),
1221
1463
  publishedAt: z.nullable(z.any()),
1464
+ pushedKeywords: z.nullable(
1465
+ z.union([
1466
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1467
+ z.array(z.any()),
1468
+ z.object({}).catchall(z.any())
1469
+ ])
1470
+ ),
1222
1471
  createdBy: z.nullable(z.string()),
1223
1472
  updatedBy: z.nullable(z.string()),
1224
1473
  createdAt: z.nullable(z.any()),
@@ -1245,6 +1494,27 @@ const fetchAdsResponseSchema = z.array(
1245
1494
  z.array(z.any()),
1246
1495
  z.object({}).catchall(z.any())
1247
1496
  ]),
1497
+ metaContent: z.nullable(
1498
+ z.union([
1499
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1500
+ z.array(z.any()),
1501
+ z.object({}).catchall(z.any())
1502
+ ])
1503
+ ),
1504
+ metaRefs: z.nullable(
1505
+ z.union([
1506
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1507
+ z.array(z.any()),
1508
+ z.object({}).catchall(z.any())
1509
+ ])
1510
+ ),
1511
+ targetingOverride: z.nullable(
1512
+ z.union([
1513
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1514
+ z.array(z.any()),
1515
+ z.object({}).catchall(z.any())
1516
+ ])
1517
+ ),
1248
1518
  keywords: z.union([
1249
1519
  z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1250
1520
  z.array(z.any()),
@@ -1255,8 +1525,25 @@ const fetchAdsResponseSchema = z.array(
1255
1525
  z.array(z.any()),
1256
1526
  z.object({}).catchall(z.any())
1257
1527
  ]),
1528
+ disabledVenueKeywords: 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
+ dismissedKeywords: z.union([
1534
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1535
+ z.array(z.any()),
1536
+ z.object({}).catchall(z.any())
1537
+ ]),
1258
1538
  publishedContentHash: z.nullable(z.string()),
1259
1539
  publishedAt: z.nullable(z.any()),
1540
+ pushedKeywords: z.nullable(
1541
+ z.union([
1542
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
1543
+ z.array(z.any()),
1544
+ z.object({}).catchall(z.any())
1545
+ ])
1546
+ ),
1260
1547
  createdBy: z.nullable(z.string()),
1261
1548
  updatedBy: z.nullable(z.string()),
1262
1549
  createdAt: z.nullable(z.any()),
@@ -1594,7 +1881,7 @@ const fetchEventResponseSchema = z.object({
1594
1881
  )
1595
1882
  )
1596
1883
  }).describe(
1597
- "Event details. Nested objects (schedule, timeSlots, menus, posters, nextOccurrence) pass through; their shape follows the SDK Event interface."
1884
+ "Event details. Nested objects (schedule, timeSlots, menus, assets, nextOccurrence) pass through; their shape follows the SDK Event interface."
1598
1885
  );
1599
1886
 
1600
1887
  const promotionBenefitTypeSchema = z.enum([
@@ -2165,6 +2452,233 @@ const fetchMenuSubscriptionsResponseSchema = z.array(
2165
2452
  })
2166
2453
  );
2167
2454
 
2455
+ const fetchRitualResponseSchema = z.object({
2456
+ id: z.string(),
2457
+ venueId: z.string(),
2458
+ accessor: z.string(),
2459
+ get ritualType() {
2460
+ return ritualTypeSchema;
2461
+ },
2462
+ scheduleId: z.nullable(z.string()),
2463
+ name: z.union([
2464
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2465
+ z.array(z.any()),
2466
+ z.object({}).catchall(z.any())
2467
+ ]),
2468
+ description: z.nullable(
2469
+ z.union([
2470
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2471
+ z.array(z.any()),
2472
+ z.object({}).catchall(z.any())
2473
+ ])
2474
+ ),
2475
+ playbook: z.nullable(
2476
+ z.union([
2477
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2478
+ z.array(z.any()),
2479
+ z.object({}).catchall(z.any())
2480
+ ])
2481
+ ),
2482
+ maxBookings: z.nullable(z.int().min(-2147483648).max(2147483647)),
2483
+ maxGuests: z.nullable(z.int().min(-2147483648).max(2147483647)),
2484
+ minPartySize: z.nullable(z.int().min(-2147483648).max(2147483647)),
2485
+ maxPartySize: z.nullable(z.int().min(-2147483648).max(2147483647)),
2486
+ isPublic: z.boolean(),
2487
+ reservationsEnabled: z.boolean(),
2488
+ bookingOpensAtDays: z.nullable(z.int().min(-2147483648).max(2147483647)),
2489
+ bookingClosesAtOffset: z.nullable(z.int().min(-2147483648).max(2147483647)),
2490
+ isActive: z.boolean(),
2491
+ isFeatured: z.boolean(),
2492
+ priority: z.int().min(-2147483648).max(2147483647),
2493
+ createdBy: z.nullable(z.string()),
2494
+ updatedBy: z.nullable(z.string()),
2495
+ createdAt: z.nullable(z.any()),
2496
+ updatedAt: z.nullable(z.any()),
2497
+ assets: z.array(
2498
+ z.object({
2499
+ id: z.string(),
2500
+ get type() {
2501
+ return assetTypeSchema;
2502
+ },
2503
+ tags: z.nullable(z.array(z.string())),
2504
+ bucket: z.string(),
2505
+ storagePath: z.string(),
2506
+ filename: z.string(),
2507
+ contentType: z.string(),
2508
+ sizeBytes: z.int().min(-2147483648).max(2147483647),
2509
+ caption: z.union([
2510
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2511
+ z.array(z.any()),
2512
+ z.object({}).catchall(z.any())
2513
+ ]),
2514
+ alt: z.union([
2515
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2516
+ z.array(z.any()),
2517
+ z.object({}).catchall(z.any())
2518
+ ]),
2519
+ metadata: 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
+ cropArea: z.nullable(
2527
+ z.union([
2528
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2529
+ z.array(z.any()),
2530
+ z.object({}).catchall(z.any())
2531
+ ])
2532
+ ),
2533
+ isActive: z.boolean(),
2534
+ sortIndex: z.nullable(z.string().max(255)),
2535
+ createdAt: z.nullable(z.any()),
2536
+ updatedAt: z.nullable(z.any()),
2537
+ createdBy: z.nullable(z.string()),
2538
+ updatedBy: z.nullable(z.string()),
2539
+ venueId: z.nullable(z.string()),
2540
+ publicUrl: z.string()
2541
+ })
2542
+ ),
2543
+ events: z.array(
2544
+ z.object({
2545
+ id: z.string(),
2546
+ venueId: z.string(),
2547
+ accessor: z.nullable(z.string()),
2548
+ name: z.union([
2549
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2550
+ z.array(z.any()),
2551
+ z.object({}).catchall(z.any())
2552
+ ]),
2553
+ description: z.nullable(
2554
+ z.union([
2555
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2556
+ z.array(z.any()),
2557
+ z.object({}).catchall(z.any())
2558
+ ])
2559
+ ),
2560
+ scheduleId: z.nullable(z.string()),
2561
+ ritualId: z.nullable(z.string()),
2562
+ occurrenceDate: z.nullable(z.string()),
2563
+ maxBookings: z.nullable(z.int().min(-2147483648).max(2147483647)),
2564
+ maxGuests: z.nullable(z.int().min(-2147483648).max(2147483647)),
2565
+ minPartySize: z.nullable(z.int().min(-2147483648).max(2147483647)),
2566
+ maxPartySize: z.nullable(z.int().min(-2147483648).max(2147483647)),
2567
+ isPublic: z.boolean(),
2568
+ reservationsEnabled: z.boolean(),
2569
+ bookingOpensAtDays: z.nullable(z.int().min(-2147483648).max(2147483647)),
2570
+ bookingClosesAtOffset: z.nullable(
2571
+ z.int().min(-2147483648).max(2147483647)
2572
+ ),
2573
+ isActive: z.boolean(),
2574
+ isFeatured: z.boolean(),
2575
+ priority: z.int().min(-2147483648).max(2147483647),
2576
+ createdBy: z.nullable(z.string()),
2577
+ updatedBy: z.nullable(z.string()),
2578
+ createdAt: z.nullable(z.any()),
2579
+ updatedAt: z.nullable(z.any()),
2580
+ covers: z.number()
2581
+ })
2582
+ ),
2583
+ schedule: z.nullable(
2584
+ z.object({
2585
+ id: z.string(),
2586
+ name: z.union([
2587
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2588
+ z.array(z.any()),
2589
+ z.object({}).catchall(z.any())
2590
+ ]),
2591
+ description: z.nullable(
2592
+ z.union([
2593
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2594
+ z.array(z.any()),
2595
+ z.object({}).catchall(z.any())
2596
+ ])
2597
+ ),
2598
+ timezone: z.string(),
2599
+ rrule: z.nullable(z.string()),
2600
+ exdates: z.nullable(z.array(z.string())),
2601
+ validFrom: z.nullable(z.string()),
2602
+ validTo: z.nullable(z.string()),
2603
+ priority: z.nullable(z.int().min(-2147483648).max(2147483647)),
2604
+ get slotMode() {
2605
+ return slotModeSchema;
2606
+ },
2607
+ intervalDuration: z.nullable(z.int().min(-2147483648).max(2147483647)),
2608
+ duration: z.nullable(z.int().min(-2147483648).max(2147483647)),
2609
+ isActive: z.boolean(),
2610
+ sortIndex: z.nullable(z.string().max(255)),
2611
+ updatedAt: z.nullable(z.any()),
2612
+ updatedBy: z.nullable(z.string()),
2613
+ createdAt: z.nullable(z.any()),
2614
+ createdBy: z.nullable(z.string()),
2615
+ scheduleTimeSlots: z.array(
2616
+ z.object({
2617
+ scheduleId: z.nullable(z.string()),
2618
+ timeSlotId: z.nullable(z.string()),
2619
+ get dayOfWeek() {
2620
+ return dayOfWeekSchema;
2621
+ },
2622
+ sortIndex: z.nullable(z.string().max(255)),
2623
+ timeSlot: z.nullable(
2624
+ z.object({
2625
+ id: z.string(),
2626
+ startTime: z.string(),
2627
+ endTime: z.nullable(z.string()),
2628
+ isActive: z.nullable(z.boolean()),
2629
+ isSchedulable: z.nullable(z.boolean()),
2630
+ sortIndex: z.nullable(z.string().max(255)),
2631
+ updatedAt: z.nullable(z.any()),
2632
+ updatedBy: z.nullable(z.string()),
2633
+ createdAt: z.nullable(z.any()),
2634
+ createdBy: z.nullable(z.string())
2635
+ })
2636
+ )
2637
+ })
2638
+ ),
2639
+ scheduleOverrides: z.array(
2640
+ z.object({
2641
+ id: z.string(),
2642
+ scheduleId: z.string(),
2643
+ date: z.string(),
2644
+ reason: z.nullable(
2645
+ z.union([
2646
+ z.union([z.boolean(), z.string(), z.number(), z.enum([])]),
2647
+ z.array(z.any()),
2648
+ z.object({}).catchall(z.any())
2649
+ ])
2650
+ ),
2651
+ isActive: z.boolean(),
2652
+ priority: z.nullable(z.int().min(-2147483648).max(2147483647)),
2653
+ updatedAt: z.nullable(z.any()),
2654
+ updatedBy: z.nullable(z.string()),
2655
+ createdAt: z.nullable(z.any()),
2656
+ createdBy: z.nullable(z.string()),
2657
+ scheduleOverrideTimeSlots: z.array(
2658
+ z.object({
2659
+ overrideId: z.string(),
2660
+ timeSlotId: z.string(),
2661
+ sortIndex: z.nullable(z.string().max(255)),
2662
+ timeSlot: z.object({
2663
+ id: z.string(),
2664
+ startTime: z.string(),
2665
+ endTime: z.nullable(z.string()),
2666
+ isActive: z.nullable(z.boolean()),
2667
+ isSchedulable: z.nullable(z.boolean()),
2668
+ sortIndex: z.nullable(z.string().max(255)),
2669
+ updatedAt: z.nullable(z.any()),
2670
+ updatedBy: z.nullable(z.string()),
2671
+ createdAt: z.nullable(z.any()),
2672
+ createdBy: z.nullable(z.string())
2673
+ })
2674
+ })
2675
+ )
2676
+ })
2677
+ )
2678
+ })
2679
+ )
2680
+ });
2681
+
2168
2682
  const fetchTeamOrderResponseSchema = z.object({
2169
2683
  teamOrder: z.object({
2170
2684
  id: z.string(),
@@ -2284,6 +2798,21 @@ const fetchTeamOrderResponseSchema = z.object({
2284
2798
  isLead: z.boolean()
2285
2799
  });
2286
2800
 
2801
+ const gbpMediaCategorySchema = z.enum([
2802
+ "cover",
2803
+ "logo",
2804
+ "gallery",
2805
+ "video"
2806
+ ]);
2807
+
2808
+ const gbpSyncStatusSchema = z.enum([
2809
+ "processing",
2810
+ "live",
2811
+ "rejected",
2812
+ "failed",
2813
+ "removed"
2814
+ ]);
2815
+
2287
2816
  const getAreaAvailabilityResponseSchema = z.object({
2288
2817
  from: z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
2289
2818
  to: z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
@@ -2418,7 +2947,12 @@ const integrationNotificationTypeSchema = z.enum([
2418
2947
  "reservation_cancelled"
2419
2948
  ]);
2420
2949
 
2421
- const integrationTypeSchema = z.enum(["telegram", "google_ads"]);
2950
+ const integrationTypeSchema = z.enum([
2951
+ "telegram",
2952
+ "google_ads",
2953
+ "google_business_profile",
2954
+ "meta_ads"
2955
+ ]);
2422
2956
 
2423
2957
  const inventoryAssetStatusSchema = z.enum([
2424
2958
  "available",
@@ -2684,6 +3218,9 @@ const makeReservationRequestSchema = z.object({
2684
3218
  ).nullish(),
2685
3219
  wbraid: z.string().describe(
2686
3220
  "Google Ads click identifier for web-to-app (iOS) where `gclid` is unavailable."
3221
+ ).nullish(),
3222
+ fbclid: z.string().describe(
3223
+ "Meta (Facebook/Instagram) click identifier from the landing URL. Stored for server-side Conversions API reporting."
2687
3224
  ).nullish()
2688
3225
  }).describe("Request payload for making a new reservation");
2689
3226
 
@@ -2745,6 +3282,7 @@ const makeReservationResponseSchema = z.object({
2745
3282
  gclid: z.nullable(z.string()),
2746
3283
  gbraid: z.nullable(z.string()),
2747
3284
  wbraid: z.nullable(z.string()),
3285
+ fbclid: z.nullable(z.string()),
2748
3286
  specialRequests: z.nullable(
2749
3287
  z.string().describe("Any special requirements or notes")
2750
3288
  ),
@@ -2871,6 +3409,21 @@ const reservationPromotionStatusSchema = z.enum([
2871
3409
  "expired"
2872
3410
  ]);
2873
3411
 
3412
+ const saveAdKeywordsRequestSchema = z.object({
3413
+ venueAccessor: z.string().min(1),
3414
+ adId: z.string().min(1),
3415
+ keywords: z.array(z.string().min(1)),
3416
+ dismissedKeywords: z.array(z.string().min(1)),
3417
+ disabledVenueKeywords: z.array(z.string().min(1))
3418
+ });
3419
+
3420
+ const saveAdKeywordsResponseSchema = z.object({
3421
+ success: z.boolean(),
3422
+ keywords: z.array(z.string()),
3423
+ dismissedKeywords: z.array(z.string()),
3424
+ disabledVenueKeywords: z.array(z.string())
3425
+ });
3426
+
2874
3427
  const scanTokenEntityTypeSchema = z.enum(["order", "depositware"]);
2875
3428
 
2876
3429
  const setArticleFeatureImageUploadBodySchema = z.object({
@@ -3208,6 +3761,8 @@ const schemas = {
3208
3761
  EditArticleResponse: editArticleResponseSchema,
3209
3762
  EditEventRequest: editEventRequestSchema,
3210
3763
  EditEventResponse: editEventResponseSchema,
3764
+ EditMetaAdRequest: editMetaAdRequestSchema,
3765
+ EditMetaAdResponse: editMetaAdResponseSchema,
3211
3766
  EntityOwnerType: entityOwnerTypeSchema,
3212
3767
  EnumFalse: enumFalseSchema,
3213
3768
  EnumTrue: enumTrueSchema,
@@ -3232,8 +3787,11 @@ const schemas = {
3232
3787
  FetchMenuBundlesResponse: fetchMenuBundlesResponseSchema,
3233
3788
  FetchMenuResponse: fetchMenuResponseSchema,
3234
3789
  FetchMenuSubscriptionsResponse: fetchMenuSubscriptionsResponseSchema,
3790
+ FetchRitualResponse: fetchRitualResponseSchema,
3235
3791
  FetchTeamOrderResponse: fetchTeamOrderResponseSchema,
3236
3792
  FulfillmentType: fulfillmentTypeSchema,
3793
+ GbpMediaCategory: gbpMediaCategorySchema,
3794
+ GbpSyncStatus: gbpSyncStatusSchema,
3237
3795
  GetAreaAvailabilityResponse: getAreaAvailabilityResponseSchema,
3238
3796
  GetBasketTotalsRequest: getBasketTotalsRequestSchema,
3239
3797
  GetBasketTotalsResponse: getBasketTotalsResponseSchema,
@@ -3272,6 +3830,8 @@ const schemas = {
3272
3830
  ReservationPromotionStatus: reservationPromotionStatusSchema,
3273
3831
  ReservationStatus: reservationStatusSchema,
3274
3832
  RitualType: ritualTypeSchema,
3833
+ SaveAdKeywordsRequest: saveAdKeywordsRequestSchema,
3834
+ SaveAdKeywordsResponse: saveAdKeywordsResponseSchema,
3275
3835
  ScanTokenEntityType: scanTokenEntityTypeSchema,
3276
3836
  SetArticleFeatureImageUploadBody: setArticleFeatureImageUploadBodySchema,
3277
3837
  SetBasketDeclaredReturnsRequest: setBasketDeclaredReturnsRequestSchema,