order3000 1.7.0 → 1.8.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.cjs CHANGED
@@ -134,6 +134,8 @@ const areaBookingStatusSchema = v4.z.enum([
134
134
  "no_show"
135
135
  ]);
136
136
 
137
+ const areaTypeSchema = v4.z.enum(["indoor", "outdoor"]);
138
+
137
139
  const assetTypeSchema = v4.z.enum(["image", "video", "document"]);
138
140
 
139
141
  const areaSchema = v4.z.object({
@@ -169,6 +171,11 @@ const areaSchema = v4.z.object({
169
171
  isBookable: v4.z.optional(v4.z.boolean()),
170
172
  isPublic: v4.z.optional(v4.z.boolean()),
171
173
  isActive: v4.z.optional(v4.z.boolean()),
174
+ get areaType() {
175
+ return areaTypeSchema.optional();
176
+ },
177
+ turnTimes: v4.z.object({}).catchall(v4.z.number()).nullish(),
178
+ cleanup: v4.z.int().min(-9007199254740991).max(9007199254740991).nullish(),
172
179
  assets: v4.z.optional(
173
180
  v4.z.array(
174
181
  v4.z.object({
@@ -197,6 +204,16 @@ const areaSchema = v4.z.object({
197
204
  publicUrl: v4.z.url()
198
205
  })
199
206
  )
207
+ ),
208
+ closures: v4.z.optional(
209
+ v4.z.array(
210
+ v4.z.object({
211
+ id: v4.z.string(),
212
+ date: v4.z.string(),
213
+ reason: v4.z.nullable(v4.z.object({}).catchall(v4.z.string())),
214
+ isActive: v4.z.boolean()
215
+ })
216
+ )
200
217
  )
201
218
  }).describe(
202
219
  "A bookable + public area for a venue. Assets are only included when the request expands them. Operational flags (`isActive`, `isPublic`, `isBookable`) and audit columns are only populated for authenticated venue staff."
@@ -689,6 +706,11 @@ const createEventRequestSchema = v4.z.object({
689
706
  maxGuests: v4.z.int().min(-2147483648).max(2147483647).nullish(),
690
707
  minPartySize: v4.z.int().min(-2147483648).max(2147483647).nullish(),
691
708
  maxPartySize: v4.z.int().min(-2147483648).max(2147483647).nullish(),
709
+ staffByRole: v4.z.union([
710
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
711
+ v4.z.array(v4.z.any()),
712
+ v4.z.object({}).catchall(v4.z.any())
713
+ ]).nullish(),
692
714
  isPublic: v4.z.optional(v4.z.boolean()),
693
715
  reservationsEnabled: v4.z.optional(v4.z.boolean()),
694
716
  bookingOpensAtDays: v4.z.int().min(-2147483648).max(2147483647).nullish(),
@@ -746,6 +768,13 @@ const createEventResponseSchema = v4.z.object({
746
768
  maxGuests: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
747
769
  minPartySize: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
748
770
  maxPartySize: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
771
+ staffByRole: v4.z.nullable(
772
+ v4.z.union([
773
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
774
+ v4.z.array(v4.z.any()),
775
+ v4.z.object({}).catchall(v4.z.any())
776
+ ])
777
+ ),
749
778
  isPublic: v4.z.boolean(),
750
779
  reservationsEnabled: v4.z.boolean(),
751
780
  bookingOpensAtDays: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
@@ -936,6 +965,13 @@ const deleteEventResponseSchema = v4.z.object({
936
965
  maxGuests: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
937
966
  minPartySize: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
938
967
  maxPartySize: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
968
+ staffByRole: v4.z.nullable(
969
+ v4.z.union([
970
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
971
+ v4.z.array(v4.z.any()),
972
+ v4.z.object({}).catchall(v4.z.any())
973
+ ])
974
+ ),
939
975
  isPublic: v4.z.boolean(),
940
976
  reservationsEnabled: v4.z.boolean(),
941
977
  bookingOpensAtDays: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
@@ -1146,6 +1182,11 @@ const editEventRequestSchema = v4.z.object({
1146
1182
  maxGuests: v4.z.int().min(-2147483648).max(2147483647).nullish(),
1147
1183
  minPartySize: v4.z.int().min(-2147483648).max(2147483647).nullish(),
1148
1184
  maxPartySize: v4.z.int().min(-2147483648).max(2147483647).nullish(),
1185
+ staffByRole: v4.z.union([
1186
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
1187
+ v4.z.array(v4.z.any()),
1188
+ v4.z.object({}).catchall(v4.z.any())
1189
+ ]).nullish(),
1149
1190
  isPublic: v4.z.optional(v4.z.boolean()),
1150
1191
  reservationsEnabled: v4.z.optional(v4.z.boolean()),
1151
1192
  bookingOpensAtDays: v4.z.int().min(-2147483648).max(2147483647).nullish(),
@@ -1179,6 +1220,120 @@ const editEventRequestSchema = v4.z.object({
1179
1220
  ritualAccessor: v4.z.string().nullish()
1180
1221
  }).describe("Partial-update body for an existing event");
1181
1222
 
1223
+ const scheduleSchema = v4.z.object({
1224
+ id: v4.z.string(),
1225
+ name: v4.z.union([
1226
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
1227
+ v4.z.array(v4.z.any()),
1228
+ v4.z.object({}).catchall(v4.z.any())
1229
+ ]),
1230
+ description: v4.z.nullable(
1231
+ v4.z.union([
1232
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
1233
+ v4.z.array(v4.z.any()),
1234
+ v4.z.object({}).catchall(v4.z.any())
1235
+ ])
1236
+ ),
1237
+ timezone: v4.z.string(),
1238
+ rrule: v4.z.nullable(v4.z.string()),
1239
+ exdates: v4.z.nullable(v4.z.array(v4.z.string())),
1240
+ validFrom: v4.z.nullable(v4.z.string()),
1241
+ validTo: v4.z.nullable(v4.z.string()),
1242
+ get slotMode() {
1243
+ return slotModeSchema;
1244
+ },
1245
+ intervalDuration: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
1246
+ duration: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
1247
+ isActive: v4.z.boolean(),
1248
+ sortIndex: v4.z.nullable(v4.z.string().max(255)),
1249
+ updatedAt: v4.z.nullable(v4.z.any()),
1250
+ updatedBy: v4.z.nullable(v4.z.string()),
1251
+ createdAt: v4.z.nullable(v4.z.any()),
1252
+ createdBy: v4.z.nullable(v4.z.string()),
1253
+ scheduleTimeSlots: v4.z.optional(
1254
+ v4.z.array(
1255
+ v4.z.object({
1256
+ scheduleId: v4.z.nullable(v4.z.string()),
1257
+ timeSlotId: v4.z.nullable(v4.z.string()),
1258
+ get dayOfWeek() {
1259
+ return dayOfWeekSchema;
1260
+ },
1261
+ sortIndex: v4.z.nullable(v4.z.string().max(255)),
1262
+ timeSlot: v4.z.nullable(
1263
+ v4.z.object({
1264
+ id: v4.z.string(),
1265
+ startTime: v4.z.string(),
1266
+ endTime: v4.z.nullable(v4.z.string()),
1267
+ isActive: v4.z.nullable(v4.z.boolean()),
1268
+ isSchedulable: v4.z.nullable(v4.z.boolean()),
1269
+ maxBookings: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
1270
+ maxGuests: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
1271
+ overflowBookings: v4.z.nullable(
1272
+ v4.z.int().min(-2147483648).max(2147483647)
1273
+ ),
1274
+ overflowGuests: v4.z.nullable(
1275
+ v4.z.int().min(-2147483648).max(2147483647)
1276
+ ),
1277
+ sortIndex: v4.z.nullable(v4.z.string().max(255)),
1278
+ updatedAt: v4.z.nullable(v4.z.any()),
1279
+ updatedBy: v4.z.nullable(v4.z.string()),
1280
+ createdAt: v4.z.nullable(v4.z.any()),
1281
+ createdBy: v4.z.nullable(v4.z.string())
1282
+ })
1283
+ )
1284
+ })
1285
+ )
1286
+ ),
1287
+ scheduleOverrides: v4.z.optional(
1288
+ v4.z.array(
1289
+ v4.z.object({
1290
+ id: v4.z.string(),
1291
+ scheduleId: v4.z.string(),
1292
+ date: v4.z.string(),
1293
+ reason: v4.z.nullable(
1294
+ v4.z.union([
1295
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
1296
+ v4.z.array(v4.z.any()),
1297
+ v4.z.object({}).catchall(v4.z.any())
1298
+ ])
1299
+ ),
1300
+ isActive: v4.z.boolean(),
1301
+ updatedAt: v4.z.nullable(v4.z.any()),
1302
+ updatedBy: v4.z.nullable(v4.z.string()),
1303
+ createdAt: v4.z.nullable(v4.z.any()),
1304
+ createdBy: v4.z.nullable(v4.z.string()),
1305
+ scheduleOverrideTimeSlots: v4.z.array(
1306
+ v4.z.object({
1307
+ overrideId: v4.z.string(),
1308
+ timeSlotId: v4.z.string(),
1309
+ sortIndex: v4.z.nullable(v4.z.string().max(255)),
1310
+ timeSlot: v4.z.object({
1311
+ id: v4.z.string(),
1312
+ startTime: v4.z.string(),
1313
+ endTime: v4.z.nullable(v4.z.string()),
1314
+ isActive: v4.z.nullable(v4.z.boolean()),
1315
+ isSchedulable: v4.z.nullable(v4.z.boolean()),
1316
+ maxBookings: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
1317
+ maxGuests: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
1318
+ overflowBookings: v4.z.nullable(
1319
+ v4.z.int().min(-2147483648).max(2147483647)
1320
+ ),
1321
+ overflowGuests: v4.z.nullable(
1322
+ v4.z.int().min(-2147483648).max(2147483647)
1323
+ ),
1324
+ sortIndex: v4.z.nullable(v4.z.string().max(255)),
1325
+ updatedAt: v4.z.nullable(v4.z.any()),
1326
+ updatedBy: v4.z.nullable(v4.z.string()),
1327
+ createdAt: v4.z.nullable(v4.z.any()),
1328
+ createdBy: v4.z.nullable(v4.z.string())
1329
+ })
1330
+ })
1331
+ )
1332
+ })
1333
+ )
1334
+ )
1335
+ });
1336
+
1182
1337
  const editEventResponseSchema = v4.z.object({
1183
1338
  id: v4.z.string(),
1184
1339
  venueId: v4.z.string(),
@@ -1202,6 +1357,13 @@ const editEventResponseSchema = v4.z.object({
1202
1357
  maxGuests: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
1203
1358
  minPartySize: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
1204
1359
  maxPartySize: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
1360
+ staffByRole: v4.z.nullable(
1361
+ v4.z.union([
1362
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
1363
+ v4.z.array(v4.z.any()),
1364
+ v4.z.object({}).catchall(v4.z.any())
1365
+ ])
1366
+ ),
1205
1367
  isPublic: v4.z.boolean(),
1206
1368
  reservationsEnabled: v4.z.boolean(),
1207
1369
  bookingOpensAtDays: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
@@ -1220,65 +1382,9 @@ const editEventResponseSchema = v4.z.object({
1220
1382
  updatedBy: v4.z.nullable(v4.z.string()),
1221
1383
  createdAt: v4.z.nullable(v4.z.any()),
1222
1384
  updatedAt: v4.z.nullable(v4.z.any()),
1223
- schedule: v4.z.nullable(
1224
- v4.z.object({
1225
- id: v4.z.string(),
1226
- name: v4.z.union([
1227
- v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
1228
- v4.z.array(v4.z.any()),
1229
- v4.z.object({}).catchall(v4.z.any())
1230
- ]),
1231
- description: v4.z.nullable(
1232
- v4.z.union([
1233
- v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
1234
- v4.z.array(v4.z.any()),
1235
- v4.z.object({}).catchall(v4.z.any())
1236
- ])
1237
- ),
1238
- timezone: v4.z.string(),
1239
- rrule: v4.z.nullable(v4.z.string()),
1240
- exdates: v4.z.nullable(v4.z.array(v4.z.string())),
1241
- validFrom: v4.z.nullable(v4.z.string()),
1242
- validTo: v4.z.nullable(v4.z.string()),
1243
- get slotMode() {
1244
- return slotModeSchema;
1245
- },
1246
- intervalDuration: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
1247
- duration: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
1248
- isActive: v4.z.boolean(),
1249
- sortIndex: v4.z.nullable(v4.z.string().max(255)),
1250
- updatedAt: v4.z.nullable(v4.z.any()),
1251
- updatedBy: v4.z.nullable(v4.z.string()),
1252
- createdAt: v4.z.nullable(v4.z.any()),
1253
- createdBy: v4.z.nullable(v4.z.string()),
1254
- scheduleTimeSlots: v4.z.optional(
1255
- v4.z.array(
1256
- v4.z.object({
1257
- scheduleId: v4.z.nullable(v4.z.string()),
1258
- timeSlotId: v4.z.nullable(v4.z.string()),
1259
- get dayOfWeek() {
1260
- return dayOfWeekSchema;
1261
- },
1262
- sortIndex: v4.z.nullable(v4.z.string().max(255)),
1263
- timeSlot: v4.z.nullable(
1264
- v4.z.object({
1265
- id: v4.z.string(),
1266
- startTime: v4.z.string(),
1267
- endTime: v4.z.nullable(v4.z.string()),
1268
- isActive: v4.z.nullable(v4.z.boolean()),
1269
- isSchedulable: v4.z.nullable(v4.z.boolean()),
1270
- sortIndex: v4.z.nullable(v4.z.string().max(255)),
1271
- updatedAt: v4.z.nullable(v4.z.any()),
1272
- updatedBy: v4.z.nullable(v4.z.string()),
1273
- createdAt: v4.z.nullable(v4.z.any()),
1274
- createdBy: v4.z.nullable(v4.z.string())
1275
- })
1276
- )
1277
- })
1278
- )
1279
- )
1280
- })
1281
- )
1385
+ get schedule() {
1386
+ return scheduleSchema.nullable();
1387
+ }
1282
1388
  }).describe("Successfully updated event with schedule");
1283
1389
 
1284
1390
  const editMetaAdRequestSchema = v4.z.object({
@@ -1639,6 +1745,11 @@ const fetchAreaResponseSchema = v4.z.object({
1639
1745
  isBookable: v4.z.optional(v4.z.boolean()),
1640
1746
  isPublic: v4.z.optional(v4.z.boolean()),
1641
1747
  isActive: v4.z.optional(v4.z.boolean()),
1748
+ get areaType() {
1749
+ return areaTypeSchema.optional();
1750
+ },
1751
+ turnTimes: v4.z.object({}).catchall(v4.z.number()).nullish(),
1752
+ cleanup: v4.z.int().min(-9007199254740991).max(9007199254740991).nullish(),
1642
1753
  assets: v4.z.optional(
1643
1754
  v4.z.array(
1644
1755
  v4.z.object({
@@ -1667,6 +1778,16 @@ const fetchAreaResponseSchema = v4.z.object({
1667
1778
  publicUrl: v4.z.url()
1668
1779
  })
1669
1780
  )
1781
+ ),
1782
+ closures: v4.z.optional(
1783
+ v4.z.array(
1784
+ v4.z.object({
1785
+ id: v4.z.string(),
1786
+ date: v4.z.string(),
1787
+ reason: v4.z.nullable(v4.z.object({}).catchall(v4.z.string())),
1788
+ isActive: v4.z.boolean()
1789
+ })
1790
+ )
1670
1791
  )
1671
1792
  }).describe(
1672
1793
  "A bookable + public area for a venue. Assets are only included when the request expands them. Operational flags (`isActive`, `isPublic`, `isBookable`) and audit columns are only populated for authenticated venue staff."
@@ -2599,6 +2720,13 @@ const fetchRitualResponseSchema = v4.z.object({
2599
2720
  maxGuests: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
2600
2721
  minPartySize: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
2601
2722
  maxPartySize: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
2723
+ staffByRole: v4.z.nullable(
2724
+ v4.z.union([
2725
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
2726
+ v4.z.array(v4.z.any()),
2727
+ v4.z.object({}).catchall(v4.z.any())
2728
+ ])
2729
+ ),
2602
2730
  isPublic: v4.z.boolean(),
2603
2731
  reservationsEnabled: v4.z.boolean(),
2604
2732
  bookingOpensAtDays: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
@@ -2622,103 +2750,26 @@ const fetchRitualResponseSchema = v4.z.object({
2622
2750
  covers: v4.z.number()
2623
2751
  })
2624
2752
  ),
2625
- schedule: v4.z.nullable(
2626
- v4.z.object({
2627
- id: v4.z.string(),
2628
- name: v4.z.union([
2629
- v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
2630
- v4.z.array(v4.z.any()),
2631
- v4.z.object({}).catchall(v4.z.any())
2632
- ]),
2633
- description: v4.z.nullable(
2634
- v4.z.union([
2635
- v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
2636
- v4.z.array(v4.z.any()),
2637
- v4.z.object({}).catchall(v4.z.any())
2638
- ])
2639
- ),
2640
- timezone: v4.z.string(),
2641
- rrule: v4.z.nullable(v4.z.string()),
2642
- exdates: v4.z.nullable(v4.z.array(v4.z.string())),
2643
- validFrom: v4.z.nullable(v4.z.string()),
2644
- validTo: v4.z.nullable(v4.z.string()),
2645
- get slotMode() {
2646
- return slotModeSchema;
2647
- },
2648
- intervalDuration: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
2649
- duration: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
2650
- isActive: v4.z.boolean(),
2651
- sortIndex: v4.z.nullable(v4.z.string().max(255)),
2652
- updatedAt: v4.z.nullable(v4.z.any()),
2653
- updatedBy: v4.z.nullable(v4.z.string()),
2654
- createdAt: v4.z.nullable(v4.z.any()),
2655
- createdBy: v4.z.nullable(v4.z.string()),
2656
- scheduleTimeSlots: v4.z.array(
2657
- v4.z.object({
2658
- scheduleId: v4.z.nullable(v4.z.string()),
2659
- timeSlotId: v4.z.nullable(v4.z.string()),
2660
- get dayOfWeek() {
2661
- return dayOfWeekSchema;
2662
- },
2663
- sortIndex: v4.z.nullable(v4.z.string().max(255)),
2664
- timeSlot: v4.z.nullable(
2665
- v4.z.object({
2666
- id: v4.z.string(),
2667
- startTime: v4.z.string(),
2668
- endTime: v4.z.nullable(v4.z.string()),
2669
- isActive: v4.z.nullable(v4.z.boolean()),
2670
- isSchedulable: v4.z.nullable(v4.z.boolean()),
2671
- sortIndex: v4.z.nullable(v4.z.string().max(255)),
2672
- updatedAt: v4.z.nullable(v4.z.any()),
2673
- updatedBy: v4.z.nullable(v4.z.string()),
2674
- createdAt: v4.z.nullable(v4.z.any()),
2675
- createdBy: v4.z.nullable(v4.z.string())
2676
- })
2677
- )
2678
- })
2679
- ),
2680
- scheduleOverrides: v4.z.array(
2681
- v4.z.object({
2682
- id: v4.z.string(),
2683
- scheduleId: v4.z.string(),
2684
- date: v4.z.string(),
2685
- reason: v4.z.nullable(
2686
- v4.z.union([
2687
- v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
2688
- v4.z.array(v4.z.any()),
2689
- v4.z.object({}).catchall(v4.z.any())
2690
- ])
2691
- ),
2692
- isActive: v4.z.boolean(),
2693
- updatedAt: v4.z.nullable(v4.z.any()),
2694
- updatedBy: v4.z.nullable(v4.z.string()),
2695
- createdAt: v4.z.nullable(v4.z.any()),
2696
- createdBy: v4.z.nullable(v4.z.string()),
2697
- scheduleOverrideTimeSlots: v4.z.array(
2698
- v4.z.object({
2699
- overrideId: v4.z.string(),
2700
- timeSlotId: v4.z.string(),
2701
- sortIndex: v4.z.nullable(v4.z.string().max(255)),
2702
- timeSlot: v4.z.object({
2703
- id: v4.z.string(),
2704
- startTime: v4.z.string(),
2705
- endTime: v4.z.nullable(v4.z.string()),
2706
- isActive: v4.z.nullable(v4.z.boolean()),
2707
- isSchedulable: v4.z.nullable(v4.z.boolean()),
2708
- sortIndex: v4.z.nullable(v4.z.string().max(255)),
2709
- updatedAt: v4.z.nullable(v4.z.any()),
2710
- updatedBy: v4.z.nullable(v4.z.string()),
2711
- createdAt: v4.z.nullable(v4.z.any()),
2712
- createdBy: v4.z.nullable(v4.z.string())
2713
- })
2714
- })
2715
- )
2716
- })
2717
- )
2718
- })
2719
- )
2753
+ get schedule() {
2754
+ return scheduleSchema.nullable();
2755
+ }
2720
2756
  });
2721
2757
 
2758
+ const occupancyReasonSchema = v4.z.enum(["ok", "tables", "personnel"]);
2759
+
2760
+ const fetchSlotAvailabilityResponseSchema = v4.z.array(
2761
+ v4.z.object({
2762
+ startTime: v4.z.string().describe("Slot start time in HH:MM:SS format"),
2763
+ acceptable: v4.z.boolean().describe("Whether a party of this size can be booked at this slot"),
2764
+ offered: v4.z.boolean().describe(
2765
+ "Whether the public widget should offer this slot \u2014 passive: always; auto_steer: only when acceptable"
2766
+ ),
2767
+ get reason() {
2768
+ return occupancyReasonSchema;
2769
+ }
2770
+ })
2771
+ );
2772
+
2722
2773
  const fetchTeamOrderResponseSchema = v4.z.object({
2723
2774
  teamOrder: v4.z.object({
2724
2775
  id: v4.z.string(),
@@ -2853,7 +2904,7 @@ const gbpSyncStatusSchema = v4.z.enum([
2853
2904
  "removed"
2854
2905
  ]);
2855
2906
 
2856
- const geoAreaKindSchema = v4.z.enum(["postcode", "city", "region"]);
2907
+ const geoAreaTypeSchema = v4.z.enum(["postcode", "city", "region"]);
2857
2908
 
2858
2909
  const getAreaAvailabilityResponseSchema = v4.z.object({
2859
2910
  from: v4.z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
@@ -3227,6 +3278,9 @@ const makeReservationRequestSchema = v4.z.object({
3227
3278
  "Venue identifier \u2014 UUID or URL-friendly slug (accessor). Resolved server-side."
3228
3279
  ),
3229
3280
  eventId: v4.z.uuid().describe("UUID of the event this reservation is for"),
3281
+ areaId: v4.z.uuid().describe(
3282
+ "UUID of the area to seat this party in. Defaults to the event's primary area (the one with the most tables) when omitted; the occupancy gate evaluates capacity against this area."
3283
+ ).nullish(),
3230
3284
  reservationDate: v4.z.string().describe("Date of the reservation in YYYY-MM-DD format"),
3231
3285
  reservationTime: v4.z.string().describe("Time of the reservation in HH:MM:SS format"),
3232
3286
  partySize: v4.z.int().min(1).max(20).describe("Number of guests in the party. Must be between 1 and 20."),
@@ -3280,6 +3334,7 @@ const makeReservationResponseSchema = v4.z.object({
3280
3334
  id: v4.z.uuid().describe("Unique identifier for the reservation"),
3281
3335
  venueId: v4.z.uuid().describe("Restaurant/tenant identifier"),
3282
3336
  eventId: v4.z.uuid().describe("Event identifier for this reservation"),
3337
+ areaId: v4.z.nullable(v4.z.string()),
3283
3338
  quickReferenceNumber: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
3284
3339
  reservationDate: v4.z.string().describe("Date of the reservation in YYYY-MM-DD format"),
3285
3340
  reservationTime: v4.z.string().describe("Time of the reservation in HH:MM:SS format"),
@@ -3357,7 +3412,7 @@ const mentionFieldFormatterSchema = v4.z.enum([
3357
3412
  "boolean"
3358
3413
  ]);
3359
3414
 
3360
- const mentionKindSchema = v4.z.enum(["link", "value"]);
3415
+ const mentionTypeSchema = v4.z.enum(["link", "value"]);
3361
3416
 
3362
3417
  const patchArticleFeatureImageBodySchema = v4.z.object({
3363
3418
  caption: v4.z.optional(v4.z.object({}).catchall(v4.z.any())),
@@ -3366,6 +3421,8 @@ const patchArticleFeatureImageBodySchema = v4.z.object({
3366
3421
  "Locale-keyed merge of the asset-side `caption` and `alt` records. Each locale value may be a plain string OR a TipTap doc; strings are wrapped server-side. Setting `en` does not touch `de`."
3367
3422
  );
3368
3423
 
3424
+ const paxBandSchema = v4.z.enum(["1-2", "3-4", "5-6", "7+"]);
3425
+
3369
3426
  const pendingSuperadminTransferStatusSchema = v4.z.enum([
3370
3427
  "pending_invite",
3371
3428
  "accepted_awaiting_payment",
@@ -3411,6 +3468,8 @@ const placeOrderResponseSchema = v4.z.object({
3411
3468
  }
3412
3469
  });
3413
3470
 
3471
+ const platformRoleSchema = v4.z.enum(["platform_maintainer"]);
3472
+
3414
3473
  const reduceDeltaPaymentIntentRequestSchema = v4.z.object({
3415
3474
  venueAccessor: v4.z.string().min(1),
3416
3475
  basketId: v4.z.string().min(1),
@@ -3445,12 +3504,24 @@ const removeFromBasketResponseSchema = v4.z.object({
3445
3504
 
3446
3505
  const reservationMessageStatusSchema = v4.z.enum(["draft", "sent"]);
3447
3506
 
3507
+ const reservationModeSchema = v4.z.enum(["passive", "auto_steer"]);
3508
+
3448
3509
  const reservationPromotionStatusSchema = v4.z.enum([
3449
3510
  "applied",
3450
3511
  "redeemed",
3451
3512
  "expired"
3452
3513
  ]);
3453
3514
 
3515
+ const roleSchema = v4.z.enum([
3516
+ "superadmin",
3517
+ "admin",
3518
+ "manager",
3519
+ "chef",
3520
+ "cook",
3521
+ "waiter",
3522
+ "rider"
3523
+ ]);
3524
+
3454
3525
  const saveAdKeywordsRequestSchema = v4.z.object({
3455
3526
  venueAccessor: v4.z.string().min(1),
3456
3527
  adId: v4.z.string().min(1),
@@ -3727,7 +3798,7 @@ const venueAssetTypeSchema = v4.z.enum([
3727
3798
  "combinationmark_vertical"
3728
3799
  ]);
3729
3800
 
3730
- const venueChargeKindSchema = v4.z.enum(["base", "addon"]);
3801
+ const venueChargeTypeSchema = v4.z.enum(["base", "addon"]);
3731
3802
 
3732
3803
  const venueEmailSenderStatusSchema = v4.z.enum([
3733
3804
  "pending",
@@ -3760,6 +3831,7 @@ const schemas = {
3760
3831
  AreaBookingRequestStatus: areaBookingRequestStatusSchema,
3761
3832
  AreaBookingStatus: areaBookingStatusSchema,
3762
3833
  Area: areaSchema,
3834
+ AreaType: areaTypeSchema,
3763
3835
  ArticleEditorSaveState: articleEditorSaveStateSchema,
3764
3836
  ArticleMentionCounts: articleMentionCountsSchema,
3765
3837
  ArticleStatus: articleStatusSchema,
@@ -3830,11 +3902,12 @@ const schemas = {
3830
3902
  FetchMenuResponse: fetchMenuResponseSchema,
3831
3903
  FetchMenuSubscriptionsResponse: fetchMenuSubscriptionsResponseSchema,
3832
3904
  FetchRitualResponse: fetchRitualResponseSchema,
3905
+ FetchSlotAvailabilityResponse: fetchSlotAvailabilityResponseSchema,
3833
3906
  FetchTeamOrderResponse: fetchTeamOrderResponseSchema,
3834
3907
  FulfillmentType: deliveryAddressSchema.fulfillmentTypeSchema,
3835
3908
  GbpMediaCategory: gbpMediaCategorySchema,
3836
3909
  GbpSyncStatus: gbpSyncStatusSchema,
3837
- GeoAreaKind: geoAreaKindSchema,
3910
+ GeoAreaType: geoAreaTypeSchema,
3838
3911
  GetAreaAvailabilityResponse: getAreaAvailabilityResponseSchema,
3839
3912
  GetBasketTotalsRequest: getBasketTotalsRequestSchema,
3840
3913
  GetBasketTotalsResponse: getBasketTotalsResponseSchema,
@@ -3854,28 +3927,34 @@ const schemas = {
3854
3927
  MakeReservationResponse: makeReservationResponseSchema,
3855
3928
  MentionEntityType: mentionEntityTypeSchema,
3856
3929
  MentionFieldFormatter: mentionFieldFormatterSchema,
3857
- MentionKind: mentionKindSchema,
3930
+ MentionType: mentionTypeSchema,
3858
3931
  MenuItemType: menuItemTypeSchema,
3932
+ OccupancyReason: occupancyReasonSchema,
3859
3933
  OgImage: ogImageSchema,
3860
3934
  OrderStatus: orderStatusSchema,
3861
3935
  ParticipantStatus: deliveryAddressSchema.participantStatusSchema,
3862
3936
  PatchArticleFeatureImageBody: patchArticleFeatureImageBodySchema,
3937
+ PaxBand: paxBandSchema,
3863
3938
  PaymentMethod: deliveryAddressSchema.paymentMethodSchema,
3864
3939
  PaymentStatus: paymentStatusSchema,
3865
3940
  PendingSuperadminTransferStatus: pendingSuperadminTransferStatusSchema,
3866
3941
  PlaceOrderRequest: placeOrderRequestSchema,
3867
3942
  PlaceOrderResponse: placeOrderResponseSchema,
3943
+ PlatformRole: platformRoleSchema,
3868
3944
  PromotionBenefitType: promotionBenefitTypeSchema,
3869
3945
  ReduceDeltaPaymentIntentRequest: reduceDeltaPaymentIntentRequestSchema,
3870
3946
  ReduceDeltaPaymentIntentResponse: reduceDeltaPaymentIntentResponseSchema,
3871
3947
  RemoveFromBasketResponse: removeFromBasketResponseSchema,
3872
3948
  ReservationMessageStatus: reservationMessageStatusSchema,
3949
+ ReservationMode: reservationModeSchema,
3873
3950
  ReservationPromotionStatus: reservationPromotionStatusSchema,
3874
3951
  ReservationStatus: reservationStatusSchema,
3875
3952
  RitualType: ritualTypeSchema,
3953
+ Role: roleSchema,
3876
3954
  SaveAdKeywordsRequest: saveAdKeywordsRequestSchema,
3877
3955
  SaveAdKeywordsResponse: saveAdKeywordsResponseSchema,
3878
3956
  ScanTokenEntityType: scanTokenEntityTypeSchema,
3957
+ Schedule: scheduleSchema,
3879
3958
  SetArticleFeatureImageUploadBody: setArticleFeatureImageUploadBodySchema,
3880
3959
  SetBasketDeclaredReturnsRequest: setBasketDeclaredReturnsRequestSchema,
3881
3960
  SetBasketDeclaredReturnsResponse: setBasketDeclaredReturnsResponseSchema,
@@ -3907,7 +3986,7 @@ const schemas = {
3907
3986
  UpdateDeliveryAddressTeamOrderResponse: updateDeliveryAddressTeamOrderResponseSchema,
3908
3987
  UploadAssetResponse: uploadAssetResponseSchema,
3909
3988
  VenueAssetType: venueAssetTypeSchema,
3910
- VenueChargeKind: venueChargeKindSchema,
3989
+ VenueChargeType: venueChargeTypeSchema,
3911
3990
  VenueEmailSenderStatus: venueEmailSenderStatusSchema,
3912
3991
  VenueType: venueTypeSchema,
3913
3992
  VenueUserStatus: venueUserStatusSchema