order3000 0.24.4 → 0.25.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
@@ -1,142 +1,1355 @@
1
1
  'use strict';
2
2
 
3
- var zod = require('zod');
4
-
5
- const Area = zod.z.object({ id: zod.z.string(), venueId: zod.z.string(), accessor: zod.z.string(), name: zod.z.record(zod.z.string()), description: zod.z.record(zod.z.string()).nullable(), longDescription: zod.z.record(zod.z.string()).nullable(), minCapacity: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991).nullable(), maxCapacity: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991), currency: zod.z.enum(["EUR", "CHF"]), basePrice: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991).nullable(), perPersonPrice: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991).nullable(), features: zod.z.array(zod.z.object({ icon: zod.z.string(), label: zod.z.record(zod.z.string()), description: zod.z.record(zod.z.string()).optional() }).strict()).nullable(), bookingMode: zod.z.enum(["slot", "day"]), assets: zod.z.array(zod.z.object({ id: zod.z.string(), type: zod.z.enum(["image", "video", "document"]), tags: zod.z.array(zod.z.string()).nullable(), filename: zod.z.string(), contentType: zod.z.string(), metadata: zod.z.object({ width: zod.z.number(), height: zod.z.number(), duration: zod.z.number() }).partial().strict().nullable(), cropArea: zod.z.object({ x: zod.z.number(), y: zod.z.number(), width: zod.z.number(), height: zod.z.number() }).strict().nullable(), publicUrl: zod.z.string().url() }).strict()).optional() }).strict();
6
- const ListAreasResponse = zod.z.array(Area);
7
- const GetAreaResponse = zod.z.object({ id: zod.z.string(), venueId: zod.z.string(), accessor: zod.z.string(), name: zod.z.record(zod.z.string()), description: zod.z.record(zod.z.string()).nullable(), longDescription: zod.z.record(zod.z.string()).nullable(), minCapacity: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991).nullable(), maxCapacity: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991), currency: zod.z.enum(["EUR", "CHF"]), basePrice: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991).nullable(), perPersonPrice: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991).nullable(), features: zod.z.array(zod.z.object({ icon: zod.z.string(), label: zod.z.record(zod.z.string()), description: zod.z.record(zod.z.string()).optional() }).strict()).nullable(), bookingMode: zod.z.enum(["slot", "day"]), assets: zod.z.array(zod.z.object({ id: zod.z.string(), type: zod.z.enum(["image", "video", "document"]), tags: zod.z.array(zod.z.string()).nullable(), filename: zod.z.string(), contentType: zod.z.string(), metadata: zod.z.object({ width: zod.z.number(), height: zod.z.number(), duration: zod.z.number() }).partial().strict().nullable(), cropArea: zod.z.object({ x: zod.z.number(), y: zod.z.number(), width: zod.z.number(), height: zod.z.number() }).strict().nullable(), publicUrl: zod.z.string().url() }).strict()).optional() }).strict();
8
- const GetAreaAvailabilityResponse = zod.z.object({ from: zod.z.string().regex(/^\d{4}-\d{2}-\d{2}$/), to: zod.z.string().regex(/^\d{4}-\d{2}-\d{2}$/), bookingMode: zod.z.enum(["slot", "day"]), occupied: zod.z.array(zod.z.object({ date: zod.z.string().regex(/^\d{4}-\d{2}-\d{2}$/), startTime: zod.z.string().regex(/^\d{2}:\d{2}(:\d{2})?$/).nullable(), endTime: zod.z.string().regex(/^\d{2}:\d{2}(:\d{2})?$/).nullable() }).strict()) }).strict();
9
- const SubmitAreaBookingRequest = zod.z.object({ requestedDate: zod.z.string().regex(/^\d{4}-\d{2}-\d{2}$/), requestedStartTime: zod.z.string().regex(/^\d{2}:\d{2}(:\d{2})?$/).optional(), requestedEndTime: zod.z.string().regex(/^\d{2}:\d{2}(:\d{2})?$/).optional(), partySize: zod.z.number().int().lte(9007199254740991), customerFirstName: zod.z.string().min(1), customerLastName: zod.z.string().min(1), customerEmail: zod.z.string().regex(/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/).email(), customerPhone: zod.z.string().optional(), message: zod.z.string().optional(), source: zod.z.enum(["website", "phone", "walk_in"]).optional() }).strict();
10
- const SubmitAreaBookingResponse = zod.z.object({ id: zod.z.string(), venueId: zod.z.string(), areaId: zod.z.string(), requestedDate: zod.z.string().regex(/^\d{4}-\d{2}-\d{2}$/), requestedStartTime: zod.z.string().regex(/^\d{2}:\d{2}(:\d{2})?$/).nullable(), requestedEndTime: zod.z.string().regex(/^\d{2}:\d{2}(:\d{2})?$/).nullable(), partySize: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991), customerFirstName: zod.z.string(), customerLastName: zod.z.string(), customerEmail: zod.z.string(), customerPhone: zod.z.string().nullable(), message: zod.z.string().nullable(), source: zod.z.enum(["website", "phone", "walk_in"]), status: zod.z.enum(["pending", "approved", "rejected", "cancelled"]), areaBookingId: zod.z.string().nullable(), createdAt: zod.z.string().nullable(), updatedAt: zod.z.string().nullable() }).strict();
11
- const includeDrafts = zod.z.union([zod.z.literal("true"), zod.z.literal("false")]).optional();
12
- const FeatureImage = zod.z.object({ id: zod.z.string(), publicUrl: zod.z.string().nullable(), locale: zod.z.string(), caption: zod.z.object({}).partial().strict().passthrough().nullable(), alt: zod.z.object({}).partial().strict().passthrough().nullable(), captionByLocale: zod.z.object({}).partial().strict().passthrough(), altByLocale: zod.z.object({}).partial().strict().passthrough() }).strict();
13
- const Article = zod.z.object({ id: zod.z.string(), venueId: zod.z.string(), accessor: zod.z.string(), slug: zod.z.record(zod.z.object({}).partial().strict().passthrough()), title: zod.z.record(zod.z.object({}).partial().strict().passthrough()), excerpt: zod.z.record(zod.z.object({}).partial().strict().passthrough()), content: zod.z.object({}).partial().strict().passthrough().nullable(), tags: zod.z.array(zod.z.string()), isActive: zod.z.boolean(), isFeatured: zod.z.boolean(), priority: zod.z.number().int().gte(-2147483648).lte(2147483647), publishedAt: zod.z.unknown().nullable(), createdAt: zod.z.unknown().nullable(), updatedAt: zod.z.unknown().nullable(), featureImage: FeatureImage.nullable() }).strict();
14
- const ListArticlesResponse = zod.z.array(Article);
15
- const GetArticleResponse = zod.z.object({ id: zod.z.string(), venueId: zod.z.string(), accessor: zod.z.string(), slug: zod.z.record(zod.z.object({}).partial().strict().passthrough()), title: zod.z.record(zod.z.object({}).partial().strict().passthrough()), excerpt: zod.z.record(zod.z.object({}).partial().strict().passthrough()), content: zod.z.object({}).partial().strict().passthrough().nullable(), tags: zod.z.array(zod.z.string()), isActive: zod.z.boolean(), isFeatured: zod.z.boolean(), priority: zod.z.number().int().gte(-2147483648).lte(2147483647), publishedAt: zod.z.unknown().nullable(), createdAt: zod.z.unknown().nullable(), updatedAt: zod.z.unknown().nullable(), featureImage: FeatureImage.nullable() }).strict();
16
- const PatchArticleRequest = zod.z.object({ slug: zod.z.record(zod.z.union([zod.z.string(), zod.z.object({}).partial().strict().passthrough()])), title: zod.z.record(zod.z.union([zod.z.string(), zod.z.object({}).partial().strict().passthrough()])), excerpt: zod.z.record(zod.z.union([zod.z.string(), zod.z.object({}).partial().strict().passthrough()])), content: zod.z.object({}).partial().strict().passthrough(), tags: zod.z.array(zod.z.string()), isActive: zod.z.boolean(), isFeatured: zod.z.boolean(), priority: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991) }).partial().strict();
17
- const PatchArticleResponse = zod.z.object({ id: zod.z.string(), venueId: zod.z.string(), accessor: zod.z.string(), slug: zod.z.record(zod.z.object({}).partial().strict().passthrough()), title: zod.z.record(zod.z.object({}).partial().strict().passthrough()), excerpt: zod.z.record(zod.z.object({}).partial().strict().passthrough()), content: zod.z.object({}).partial().strict().passthrough().nullable(), tags: zod.z.array(zod.z.string()), isActive: zod.z.boolean(), isFeatured: zod.z.boolean(), priority: zod.z.number().int().gte(-2147483648).lte(2147483647), publishedAt: zod.z.unknown().nullable(), createdAt: zod.z.unknown().nullable(), updatedAt: zod.z.unknown().nullable(), featureImage: FeatureImage.nullable() }).strict();
18
- const UploadFeatureImageRequest = zod.z.object({ file: zod.z.unknown() }).strict();
19
- const PatchFeatureImageRequest = zod.z.object({ caption: zod.z.object({}).partial().strict().passthrough(), alt: zod.z.object({}).partial().strict().passthrough() }).partial().strict();
20
- const AddToBasketRequest = zod.z.object({ venueId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid(), sessionId: zod.z.string().min(1), menuItems: zod.z.array(zod.z.object({ menuItemId: zod.z.string().min(1), role: zod.z.string().optional(), quantity: zod.z.number().gt(0).optional(), unit: zod.z.enum(["grams", "kilograms", "liters", "milliliters", "pieces"]).optional() }).strict()).min(1), metadata: zod.z.object({}).partial().strict().passthrough().optional() }).strict();
21
- const AddToBasketResponse = zod.z.object({ basketItemId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid(), itemCount: zod.z.number().int().gte(0).lte(9007199254740991), deposit: zod.z.object({ depositwareTemplateId: zod.z.string(), name: zod.z.record(zod.z.string()), amount: zod.z.number().int().gte(0).lte(9007199254740991), currency: zod.z.enum(["EUR", "CHF"]) }).strict().nullable(), totals: zod.z.object({ currency: zod.z.enum(["EUR", "CHF"]), itemsTotal: zod.z.number().int().gte(0).lte(9007199254740991), taxAmount: zod.z.number().int().gte(0).lte(9007199254740991), depositCharge: zod.z.number().int().gte(0).lte(9007199254740991), grossTotal: zod.z.number().int().gte(0).lte(9007199254740991), depositCredit: zod.z.number().int().gte(0).lte(9007199254740991), effectiveTotal: zod.z.number().int().gte(0).lte(9007199254740991), cashRefund: zod.z.number().int().gte(0).lte(9007199254740991), returnable: zod.z.array(zod.z.object({ depositwareTemplateId: zod.z.string(), count: zod.z.number().int().gte(0).lte(9007199254740991) }).strict()) }).strict() }).strict();
22
- const RemoveFromBasketResponse = zod.z.object({ success: zod.z.boolean(), basketItemId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid(), itemCount: zod.z.number().int().gte(0).lte(9007199254740991), totals: zod.z.object({ currency: zod.z.enum(["EUR", "CHF"]), itemsTotal: zod.z.number().int().gte(0).lte(9007199254740991), taxAmount: zod.z.number().int().gte(0).lte(9007199254740991), depositCharge: zod.z.number().int().gte(0).lte(9007199254740991), grossTotal: zod.z.number().int().gte(0).lte(9007199254740991), depositCredit: zod.z.number().int().gte(0).lte(9007199254740991), effectiveTotal: zod.z.number().int().gte(0).lte(9007199254740991), cashRefund: zod.z.number().int().gte(0).lte(9007199254740991), returnable: zod.z.array(zod.z.object({ depositwareTemplateId: zod.z.string(), count: zod.z.number().int().gte(0).lte(9007199254740991) }).strict()) }).strict().nullable() }).strict();
23
- const GetBasketTotalsRequest = zod.z.object({ declaredReturns: zod.z.array(zod.z.object({ depositwareTemplateId: zod.z.string().min(1), count: zod.z.number().int().gte(0).lte(9007199254740991) }).strict()) }).partial().strict();
24
- const GetBasketTotalsResponse = zod.z.object({ currency: zod.z.enum(["EUR", "CHF"]), itemsTotal: zod.z.number().int().gte(0).lte(9007199254740991), taxAmount: zod.z.number().int().gte(0).lte(9007199254740991), depositCharge: zod.z.number().int().gte(0).lte(9007199254740991), grossTotal: zod.z.number().int().gte(0).lte(9007199254740991), depositCredit: zod.z.number().int().gte(0).lte(9007199254740991), effectiveTotal: zod.z.number().int().gte(0).lte(9007199254740991), cashRefund: zod.z.number().int().gte(0).lte(9007199254740991), returnable: zod.z.array(zod.z.object({ depositwareTemplateId: zod.z.string(), count: zod.z.number().int().gte(0).lte(9007199254740991) }).strict()) }).strict();
25
- const SetBasketDeclaredReturnsRequest = zod.z.object({ basketId: zod.z.string().min(1), sessionId: zod.z.string().min(1), declaredReturns: zod.z.array(zod.z.object({ depositwareTemplateId: zod.z.string().min(1), count: zod.z.number().int().gte(0).lte(9007199254740991) }).strict()) }).strict();
26
- const SetBasketDeclaredReturnsResponse = zod.z.object({ basketId: zod.z.string(), declaredReturns: zod.z.array(zod.z.object({ depositwareTemplateId: zod.z.string().min(1), count: zod.z.number().int().gte(0).lte(9007199254740991) }).strict()) }).strict();
27
- const CreateEventRequest = zod.z.object({ accessor: zod.z.string().nullish(), name: zod.z.union([zod.z.union([zod.z.string(), zod.z.number(), zod.z.boolean(), zod.z.literal(null)]), zod.z.object({}).partial().strict().passthrough(), zod.z.array(zod.z.unknown())]), description: zod.z.union([zod.z.union([zod.z.string(), zod.z.number(), zod.z.boolean(), zod.z.literal(null)]), zod.z.object({}).partial().strict().passthrough(), zod.z.array(zod.z.unknown())]).nullish(), scheduleId: zod.z.string().nullish(), maxBookings: zod.z.number().int().gte(-2147483648).lte(2147483647).nullish(), maxGuests: zod.z.number().int().gte(-2147483648).lte(2147483647).nullish(), minPartySize: zod.z.number().int().gte(-2147483648).lte(2147483647).nullish(), maxPartySize: zod.z.number().int().gte(-2147483648).lte(2147483647).nullish(), isPublic: zod.z.boolean().optional(), isRecurring: zod.z.boolean().optional(), reservationsEnabled: zod.z.boolean().optional(), bookingOpensAtDays: zod.z.number().int().gte(-2147483648).lte(2147483647).nullish(), bookingClosesAtHours: zod.z.number().int().gte(-2147483648).lte(2147483647).nullish(), isActive: zod.z.boolean().optional(), isFeatured: zod.z.boolean().optional(), priority: zod.z.number().int().gte(-2147483648).lte(2147483647).optional(), schedule: zod.z.object({ rrule: zod.z.string().nullish(), timezone: zod.z.string().nullish(), validFrom: zod.z.string().regex(/^\d{4}-\d{2}-\d{2}$/).nullish(), validTo: zod.z.string().regex(/^\d{4}-\d{2}-\d{2}$/).nullish(), timeRanges: zod.z.array(zod.z.object({ startTime: zod.z.string().regex(/^\d{2}:\d{2}$/), endTime: zod.z.string().regex(/^\d{2}:\d{2}$/), lastSeatingTime: zod.z.string().regex(/^\d{2}:\d{2}$/).nullish() }).strict()).min(1), slotMode: zod.z.enum(["interval", "duration"]).nullish(), intervalMinutes: zod.z.number().nullish(), durationMinutes: zod.z.number().nullish() }).strict().nullish(), ritualAccessor: zod.z.string().nullish(), venueAccessor: zod.z.string().min(1) }).strict();
28
- const CreateEventResponse = zod.z.object({ id: zod.z.string(), venueId: zod.z.string(), accessor: zod.z.string().nullable(), name: zod.z.union([zod.z.union([zod.z.string(), zod.z.number(), zod.z.boolean(), zod.z.literal(null)]), zod.z.object({}).partial().strict().passthrough(), zod.z.array(zod.z.unknown())]), description: zod.z.union([zod.z.union([zod.z.string(), zod.z.number(), zod.z.boolean(), zod.z.literal(null)]), zod.z.object({}).partial().strict().passthrough(), zod.z.array(zod.z.unknown())]).nullable(), scheduleId: zod.z.string().nullable(), ritualId: zod.z.string().nullable(), maxBookings: zod.z.number().int().gte(-2147483648).lte(2147483647).nullable(), maxGuests: zod.z.number().int().gte(-2147483648).lte(2147483647).nullable(), minPartySize: zod.z.number().int().gte(-2147483648).lte(2147483647).nullable(), maxPartySize: zod.z.number().int().gte(-2147483648).lte(2147483647).nullable(), isPublic: zod.z.boolean(), isRecurring: zod.z.boolean(), reservationsEnabled: zod.z.boolean(), bookingOpensAtDays: zod.z.number().int().gte(-2147483648).lte(2147483647).nullable(), bookingClosesAtHours: zod.z.number().int().gte(-2147483648).lte(2147483647).nullable(), isActive: zod.z.boolean(), isFeatured: zod.z.boolean(), priority: zod.z.number().int().gte(-2147483648).lte(2147483647), createdBy: zod.z.string().nullable(), updatedBy: zod.z.string().nullable(), createdAt: zod.z.unknown().nullable(), updatedAt: zod.z.unknown().nullable() }).strict();
29
- const GetMenuResponse = zod.z.object({ id: zod.z.string(), venueId: zod.z.string(), accessor: zod.z.string(), name: zod.z.record(zod.z.string()) }).strict().passthrough();
30
- const ListMenuBundlesResponse = zod.z.array(zod.z.object({ id: zod.z.string(), menuId: zod.z.string() }).strict().passthrough());
31
- const ListMenuSubscriptionsResponse = zod.z.array(zod.z.object({ id: zod.z.string(), menuId: zod.z.string() }).strict().passthrough());
32
- const PlaceOrderRequest = zod.z.object({ id: zod.z.string().optional(), venueId: zod.z.string(), basketId: zod.z.string(), publicId: zod.z.string().nullish(), quickReferenceNumber: zod.z.number().int().gte(-2147483648).lte(2147483647).nullish(), status: zod.z.enum(["pending", "in_progress", "ready", "completed", "cancelled"]).optional(), paymentIntentId: zod.z.string().nullish(), paymentMethod: zod.z.enum(["card", "cash", "voucher"]).nullish(), paymentStatus: zod.z.enum(["unpaid", "paid", "refunded", "authorized", "cash_pending"]).optional(), taxAmount: zod.z.number().int().gte(-2147483648).lte(2147483647), totalAmount: zod.z.number().int().gte(-2147483648).lte(2147483647), currency: zod.z.enum(["EUR", "CHF"]).optional(), fulfillmentType: zod.z.enum(["pickup", "delivery"]).nullish(), fulfillmentAt: zod.z.unknown().nullish(), orderedAt: zod.z.unknown().optional(), orderedBy: zod.z.string(), updatedAt: zod.z.unknown().nullish(), updatedBy: zod.z.string().nullish(), teamOrderId: zod.z.string().nullish(), participantDisplayName: zod.z.string().nullish(), leadSettledAt: zod.z.unknown().nullish() }).strict();
33
- const PlaceOrderResponse = zod.z.object({ id: zod.z.string(), venueId: zod.z.string(), basketId: zod.z.string(), publicId: zod.z.string().nullable(), quickReferenceNumber: zod.z.number().int().gte(-2147483648).lte(2147483647).nullable(), status: zod.z.enum(["pending", "in_progress", "ready", "completed", "cancelled"]), paymentIntentId: zod.z.string().nullable(), paymentMethod: zod.z.enum(["card", "cash", "voucher"]).nullable(), paymentStatus: zod.z.enum(["unpaid", "paid", "refunded", "authorized", "cash_pending"]), taxAmount: zod.z.number().int().gte(-2147483648).lte(2147483647), totalAmount: zod.z.number().int().gte(-2147483648).lte(2147483647), currency: zod.z.enum(["EUR", "CHF"]), fulfillmentType: zod.z.enum(["pickup", "delivery"]).nullable(), fulfillmentAt: zod.z.unknown().nullable(), orderedAt: zod.z.unknown(), orderedBy: zod.z.string(), updatedAt: zod.z.unknown().nullable(), updatedBy: zod.z.string().nullable(), teamOrderId: zod.z.string().nullable(), participantDisplayName: zod.z.string().nullable(), leadSettledAt: zod.z.unknown().nullable() }).strict();
34
- const CreatePaymentIntentRequest = zod.z.object({ basketId: zod.z.string().min(1), currency: zod.z.enum(["EUR", "CHF"]), sessionId: zod.z.string().min(1), fulfillmentType: zod.z.enum(["pickup", "delivery"]), fulfillmentAt: zod.z.string().regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/).datetime({ offset: true }).nullish(), customerFirstName: zod.z.string().optional(), customerLastName: zod.z.string().optional(), teamOrderPublicId: zod.z.string().optional(), declaredReturns: zod.z.array(zod.z.object({ depositwareTemplateId: zod.z.string().min(1), count: zod.z.number().int().gte(0).lte(9007199254740991) }).strict()).optional() }).strict();
35
- const CreatePaymentIntentResponse = zod.z.object({ clientSecret: zod.z.string().nullable(), paymentIntentId: zod.z.string(), orderId: zod.z.string() }).strict();
36
- const CreateDeltaPaymentIntentRequest = zod.z.object({ basketId: zod.z.string().min(1), sessionId: zod.z.string().min(1), currency: zod.z.enum(["EUR", "CHF"]), declaredReturns: zod.z.array(zod.z.object({ depositwareTemplateId: zod.z.string().min(1), count: zod.z.number().int().gte(0).lte(9007199254740991) }).strict()).optional() }).strict();
37
- const CreateDeltaPaymentIntentResponse = zod.z.object({ clientSecret: zod.z.string().nullable(), paymentIntentId: zod.z.string(), orderId: zod.z.string(), amount: zod.z.number().int().lte(9007199254740991), status: zod.z.enum(["requires_payment_method", "requires_confirmation", "requires_action", "processing", "requires_capture", "canceled", "succeeded"]) }).strict();
38
- const ReduceDeltaPaymentIntentRequest = zod.z.object({ basketId: zod.z.string().min(1), sessionId: zod.z.string().min(1), currency: zod.z.enum(["EUR", "CHF"]), declaredReturns: zod.z.array(zod.z.object({ depositwareTemplateId: zod.z.string().min(1), count: zod.z.number().int().gte(0).lte(9007199254740991) }).strict()).optional() }).strict();
39
- const ReduceDeltaPaymentIntentResponse = zod.z.object({ orderId: zod.z.string(), paidTotal: zod.z.number().int().gte(0).lte(9007199254740991), released: zod.z.number().int().gte(0).lte(9007199254740991) }).strict();
40
- const MakeReservationRequest = zod.z.object({ eventId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid(), quickReferenceNumber: zod.z.number().int().gte(-2147483648).lte(2147483647).nullish(), reservationDate: zod.z.string(), reservationTime: zod.z.string(), partySize: zod.z.number().int().gte(1).lte(20), duration: zod.z.number().int().gte(30).lte(300).nullable(), customerId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid().nullable(), customerFirstName: zod.z.string().min(1).max(50), customerLastName: zod.z.string().min(1).max(50), customerEmail: zod.z.string().regex(/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/).email().nullish(), customerPhone: zod.z.string().min(1).nullish(), contactPreference: zod.z.enum(["email", "phone", "sms", "none"]), source: zod.z.enum(["website", "phone", "walk_in"]), specialRequests: zod.z.string().max(500).nullable(), tablePreference: zod.z.string().max(100).nullable(), venueAccessor: zod.z.string().min(1) }).strict();
41
- const MakeReservationResponse = zod.z.object({ id: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid(), venueId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid(), eventId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid(), quickReferenceNumber: zod.z.number().int().gte(-2147483648).lte(2147483647).nullable(), reservationDate: zod.z.string(), reservationTime: zod.z.string(), partySize: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991), duration: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991).nullable(), customerId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid().nullable(), customerFirstName: zod.z.string(), customerLastName: zod.z.string(), customerEmail: zod.z.string().nullable(), customerPhone: zod.z.string().nullable(), contactPreference: zod.z.enum(["email", "phone", "sms", "none"]), status: zod.z.enum(["pending", "confirmed", "arrived", "seated", "completed", "cancelled", "no_show"]), confirmationCode: zod.z.string().nullable(), confirmedAt: zod.z.unknown().nullable(), arrivedAt: zod.z.unknown().nullable(), seatedAt: zod.z.unknown().nullable(), completedAt: zod.z.unknown().nullable(), cancelledAt: zod.z.unknown().nullable(), cancellationReason: zod.z.enum(["customer_request", "restaurant_request"]).nullable(), cancellationNote: zod.z.string().nullable(), source: zod.z.enum(["website", "phone", "walk_in"]), specialRequests: zod.z.string().nullable(), tablePreference: zod.z.string().nullable(), createdBy: zod.z.string().nullable(), updatedBy: zod.z.string().nullable(), createdAt: zod.z.unknown().nullable(), updatedAt: zod.z.unknown().nullable() }).strict();
42
- const GetSubscriptionResponse = zod.z.object({ id: zod.z.string(), menuId: zod.z.string(), accessor: zod.z.string(), name: zod.z.record(zod.z.string()), shortName: zod.z.record(zod.z.string()).nullable(), description: zod.z.record(zod.z.string()).nullable(), scheduleId: zod.z.string().nullable(), allowance: zod.z.number().int().lte(9007199254740991), billingPeriod: zod.z.enum(["week", "month", "year"]), allowancePeriod: zod.z.enum(["week", "month", "year"]), redeemableTagSets: zod.z.array(zod.z.string()).nullable(), expiryInDays: zod.z.number().int().lte(9007199254740991).nullable(), price: zod.z.number().int().gte(0).lte(9007199254740991), currency: zod.z.enum(["EUR", "CHF"]), isActive: zod.z.boolean(), sortIndex: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991).nullable(), posters: zod.z.array(zod.z.object({ id: zod.z.string(), menuSubscriptionId: zod.z.string(), storagePath: zod.z.string(), publicUrl: zod.z.string().url(), filename: zod.z.string(), contentType: zod.z.string(), sizeBytes: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991).nullable(), sortIndex: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991).nullable(), createdBy: zod.z.string().nullable(), createdAt: zod.z.string().nullable() }).strict()) }).strict();
43
- const SubscribeRequest = zod.z.object({ email: zod.z.string().regex(/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/).email(), firstName: zod.z.string().optional(), lastName: zod.z.string().optional(), sessionId: zod.z.string().optional(), successUrl: zod.z.string().url(), cancelUrl: zod.z.string().url() }).strict();
44
- const SubscribeResponse = zod.z.object({ checkoutUrl: zod.z.string().url().nullable(), sessionId: zod.z.string() }).strict();
45
- const CancelSubscriptionRequest = zod.z.object({ subscriberId: zod.z.string().min(1) }).strict();
46
- const CancelSubscriptionResponse = zod.z.object({ success: zod.z.literal(true) }).strict();
47
- const GetSubscriptionCreditsResponse = zod.z.array(zod.z.object({ id: zod.z.string(), subscriberId: zod.z.string(), periodStart: zod.z.string(), periodEnd: zod.z.string(), expiresAt: zod.z.string().nullable(), status: zod.z.enum(["available", "redeemed", "expired"]), redeemedAt: zod.z.string().nullable(), orderId: zod.z.string().nullable(), createdAt: zod.z.string().nullable() }).strict());
48
- const CreateTeamOrderRequest = zod.z.object({ venueId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid(), sessionId: zod.z.string().min(1), menuId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid(), leadDisplayName: zod.z.string().min(1), teamName: zod.z.string().min(1).optional(), logoUrl: zod.z.string().url().optional(), deadlineAt: zod.z.string().regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/).datetime({ offset: true }).nullish(), fulfillmentType: zod.z.enum(["pickup", "delivery"]), fulfillmentAt: zod.z.string().regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/).datetime({ offset: true }).nullish(), deliveryAddress: zod.z.object({ street: zod.z.string(), city: zod.z.string(), state: zod.z.string(), postalCode: zod.z.string(), country: zod.z.string() }).strict().optional(), allowedPaymentMethods: zod.z.array(zod.z.enum(["card", "cash", "voucher"])).min(1), eventId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid().optional() }).strict();
49
- const CreateTeamOrderResponse = zod.z.object({ publicId: zod.z.string(), teamOrderId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid() }).strict();
50
- const FetchTeamOrderResponse = zod.z.object({ teamOrder: zod.z.object({ id: zod.z.string(), publicId: zod.z.string(), venueId: zod.z.string(), menuId: zod.z.string(), eventId: zod.z.string().nullable(), teamName: zod.z.string().nullable(), logoUrl: zod.z.string().nullable(), leadDisplayName: zod.z.string(), status: zod.z.enum(["draft", "collecting", "locked", "placed", "ready", "completed", "cancelled"]), allowedPaymentMethods: zod.z.array(zod.z.enum(["card", "cash", "voucher"])), fulfillmentType: zod.z.enum(["pickup", "delivery"]), fulfillmentAt: zod.z.string().regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/).datetime({ offset: true }).nullable(), deadlineAt: zod.z.string().regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/).datetime({ offset: true }).nullable(), lockedAt: zod.z.string().regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/).datetime({ offset: true }).nullable(), placedAt: zod.z.string().regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/).datetime({ offset: true }).nullable(), cancelledAt: zod.z.string().regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/).datetime({ offset: true }).nullable(), cancelReason: zod.z.string().nullable(), deliveryAddressId: zod.z.string().nullable(), diningLocation: zod.z.string().nullable(), diningTime: zod.z.string().nullable(), isDeliveryEnabled: zod.z.boolean(), quickReferenceNumber: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991).nullable() }).strict(), deliveryThreshold: zod.z.object({ amount: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991).nullable(), quantity: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991).nullable() }).strict(), participants: zod.z.array(zod.z.object({ customerId: zod.z.string(), basketId: zod.z.string().nullable(), orderId: zod.z.string().nullable(), participantNumber: zod.z.number().int().lte(9007199254740991).nullable(), displayName: zod.z.string().nullable(), status: zod.z.enum(["browsing", "authorized", "cash_pending", "placed", "completed", "cancelled"]), bundleCount: zod.z.number().int().gte(0).lte(9007199254740991), amount: zod.z.number().int().gte(0).lte(9007199254740991), paymentMethod: zod.z.enum(["card", "cash", "voucher"]).nullable(), isLead: zod.z.boolean(), isMe: zod.z.boolean(), joinedAt: zod.z.string().regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/).datetime({ offset: true }), items: zod.z.array(zod.z.object({ id: zod.z.string(), metadata: zod.z.unknown().nullable(), menuItems: zod.z.array(zod.z.object({ menuItemId: zod.z.string(), role: zod.z.string().nullable(), quantity: zod.z.number(), unit: zod.z.enum(["grams", "kilograms", "liters", "milliliters", "pieces"]) }).strict()), isPaid: zod.z.boolean() }).strict()), payments: zod.z.array(zod.z.object({ amount: zod.z.number().int().gte(0).lte(9007199254740991), method: zod.z.enum(["card", "cash", "voucher"]), status: zod.z.enum(["authorized", "captured", "cash_pending", "cash_received"]), createdAt: zod.z.string().regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/).datetime({ offset: true }), cardLast4: zod.z.string().min(4).max(4).nullable() }).strict()), paidTotal: zod.z.number().int().gte(0).lte(9007199254740991), amountDue: zod.z.number().int().gte(0).lte(9007199254740991), declaredReturns: zod.z.array(zod.z.object({ depositwareTemplateId: zod.z.string(), count: zod.z.number().int().gte(0).lte(9007199254740991) }).strict()), leadSettledAt: zod.z.string().nullable() }).strict()), aggregatedTotals: zod.z.object({ confirmedBundleCount: zod.z.number().int().gte(0).lte(9007199254740991), confirmedAmount: zod.z.number().int().gte(0).lte(9007199254740991), totalBundleCount: zod.z.number().int().gte(0).lte(9007199254740991) }).strict(), thresholdCheck: zod.z.object({ meets: zod.z.boolean(), failedConstraints: zod.z.array(zod.z.enum(["quantity", "amount"])), requiredQuantity: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991).nullable(), currentQuantity: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991), requiredAmount: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991).nullable(), currentAmount: zod.z.number().int().gte(-9007199254740991).lte(9007199254740991) }).strict(), isLead: zod.z.boolean() }).strict();
51
- const JoinTeamOrderRequest = zod.z.object({ publicId: zod.z.string().min(1), sessionId: zod.z.string().min(1), displayName: zod.z.string().min(1).optional() }).strict();
52
- const JoinTeamOrderResponse = zod.z.object({ teamOrderId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid(), basketId: zod.z.string(), customerId: zod.z.string(), status: zod.z.enum(["draft", "collecting", "locked", "placed", "ready", "completed", "cancelled"]), isLead: zod.z.boolean(), alreadyJoined: zod.z.boolean() }).strict();
53
- const SubmitTeamOrderRequest = zod.z.object({ publicId: zod.z.string().min(1), sessionId: zod.z.string().min(1) }).strict();
54
- const SubmitTeamOrderResponse = zod.z.object({ teamOrderId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid(), status: zod.z.enum(["draft", "collecting", "locked", "placed", "ready", "completed", "cancelled"]), capturedOrderIds: zod.z.array(zod.z.string()), cashPendingOrderIds: zod.z.array(zod.z.string()), droppedBasketIds: zod.z.array(zod.z.string()), placedAt: zod.z.string().regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/).datetime({ offset: true }) }).strict();
55
- const CancelTeamOrderRequest = zod.z.object({ publicId: zod.z.string().min(1), sessionId: zod.z.string().min(1), reason: zod.z.string().max(500).optional() }).strict();
56
- const CancelTeamOrderResponse = zod.z.object({ teamOrderId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid(), status: zod.z.enum(["draft", "collecting", "locked", "placed", "ready", "completed", "cancelled"]), voidedPaymentIntentIds: zod.z.array(zod.z.string()), cancelledAt: zod.z.string().regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/).datetime({ offset: true }) }).strict();
57
- const ExtendDeadlineTeamOrderRequest = zod.z.object({ publicId: zod.z.string().min(1), sessionId: zod.z.string().min(1), newDeadlineAt: zod.z.string().regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/).datetime({ offset: true }) }).strict();
58
- const ExtendDeadlineTeamOrderResponse = zod.z.object({ teamOrderId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid(), status: zod.z.enum(["draft", "collecting", "locked", "placed", "ready", "completed", "cancelled"]), deadlineAt: zod.z.string().regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/).datetime({ offset: true }).nullable() }).strict();
59
- const SetFulfillmentAtTeamOrderRequest = zod.z.object({ publicId: zod.z.string().min(1), sessionId: zod.z.string().min(1), fulfillmentAt: zod.z.string().regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/).datetime({ offset: true }) }).strict();
60
- const SetFulfillmentAtTeamOrderResponse = zod.z.object({ teamOrderId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid(), status: zod.z.enum(["draft", "collecting", "locked", "placed", "ready", "completed", "cancelled"]), fulfillmentAt: zod.z.string().regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/).datetime({ offset: true }), deadlineAt: zod.z.string().regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/).datetime({ offset: true }).nullable() }).strict();
61
- const SetDiningLocationTeamOrderRequest = zod.z.object({ publicId: zod.z.string().min(1), sessionId: zod.z.string().min(1), diningLocation: zod.z.string().max(200) }).strict();
62
- const SetDiningLocationTeamOrderResponse = zod.z.object({ teamOrderId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid(), status: zod.z.enum(["draft", "collecting", "locked", "placed", "ready", "completed", "cancelled"]), diningLocation: zod.z.string().nullable() }).strict();
63
- const SetDiningTimeTeamOrderRequest = zod.z.object({ publicId: zod.z.string().min(1), sessionId: zod.z.string().min(1), diningTime: zod.z.string().regex(/^\d{2}:\d{2}$/) }).strict();
64
- const SetDiningTimeTeamOrderResponse = zod.z.object({ teamOrderId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid(), status: zod.z.enum(["draft", "collecting", "locked", "placed", "ready", "completed", "cancelled"]), diningTime: zod.z.string(), diningOffsetMinutes: zod.z.number().int().gte(0).lte(9007199254740991) }).strict();
65
- const postTeamOrdersPublicIdleadSettled_Body = zod.z.object({ publicId: zod.z.string().min(1), sessionId: zod.z.string().min(1), orderId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid(), settled: zod.z.boolean() }).strict();
66
- const postTeamOrdersPublicIdautoExtendFulfillmentIfExpired_Body = zod.z.object({ publicId: zod.z.string().min(1), sessionId: zod.z.string().min(1), proposedFulfillmentAt: zod.z.string().regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/).datetime({ offset: true }) }).strict();
67
- const SwitchFulfillmentTeamOrderRequest = zod.z.object({ publicId: zod.z.string().min(1), sessionId: zod.z.string().min(1), fulfillmentType: zod.z.enum(["pickup", "delivery"]), deliveryAddress: zod.z.object({ street: zod.z.string(), city: zod.z.string(), state: zod.z.string(), postalCode: zod.z.string(), country: zod.z.string() }).strict().optional() }).strict();
68
- const SwitchFulfillmentTeamOrderResponse = zod.z.object({ teamOrderId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid(), status: zod.z.enum(["draft", "collecting", "locked", "placed", "ready", "completed", "cancelled"]), fulfillmentType: zod.z.enum(["pickup", "delivery"]), deliveryAddressId: zod.z.string().nullable() }).strict();
69
- const UpdateDeliveryAddressTeamOrderRequest = zod.z.object({ publicId: zod.z.string().min(1), sessionId: zod.z.string().min(1), deliveryAddress: zod.z.object({ street: zod.z.string(), city: zod.z.string(), state: zod.z.string(), postalCode: zod.z.string(), country: zod.z.string() }).strict() }).strict();
70
- const UpdateDeliveryAddressTeamOrderResponse = zod.z.object({ teamOrderId: zod.z.string().regex(/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/).uuid(), deliveryAddressId: zod.z.string() }).strict();
71
- const GetVenueResponse = zod.z.object({ id: zod.z.string(), accessor: zod.z.string(), officialName: zod.z.string(), legalName: zod.z.string(), shortName: zod.z.string(), brandName: zod.z.string(), primaryLocale: zod.z.string(), supportedLocales: zod.z.array(zod.z.string()), timezone: zod.z.string(), createdAt: zod.z.unknown().nullable(), updatedAt: zod.z.unknown().nullable() }).strict();
3
+ var v4 = require('zod/v4');
4
+ var deliveryAddressSchema = require('./deliveryAddressSchema-DQJ8BDYX.cjs');
5
+
6
+ const addToBasketRequestSchema = v4.z.object({
7
+ venueId: v4.z.uuid(),
8
+ sessionId: v4.z.string().min(1),
9
+ menuItems: v4.z.array(
10
+ v4.z.object({
11
+ menuItemId: v4.z.string().min(1),
12
+ role: v4.z.optional(v4.z.string()),
13
+ quantity: v4.z.optional(v4.z.number().gt(0)),
14
+ unit: v4.z.optional(
15
+ v4.z.enum(["grams", "kilograms", "liters", "milliliters", "pieces"])
16
+ )
17
+ })
18
+ ).min(1),
19
+ metadata: v4.z.optional(v4.z.object({}).catchall(v4.z.any()))
20
+ }).describe("Add an item to the shopping basket");
21
+
22
+ const basketTotalsSchema = v4.z.object({
23
+ currency: v4.z.enum(["EUR", "CHF"]),
24
+ itemsTotal: v4.z.int().min(0).max(9007199254740991),
25
+ taxAmount: v4.z.int().min(0).max(9007199254740991),
26
+ depositCharge: v4.z.int().min(0).max(9007199254740991),
27
+ grossTotal: v4.z.int().min(0).max(9007199254740991),
28
+ depositCredit: v4.z.int().min(0).max(9007199254740991),
29
+ effectiveTotal: v4.z.int().min(0).max(9007199254740991),
30
+ cashRefund: v4.z.int().min(0).max(9007199254740991),
31
+ returnable: v4.z.array(
32
+ v4.z.object({
33
+ depositwareTemplateId: v4.z.string(),
34
+ count: v4.z.int().min(0).max(9007199254740991)
35
+ })
36
+ )
37
+ });
38
+
39
+ const addToBasketResponseSchema = v4.z.object({
40
+ basketItemId: v4.z.uuid(),
41
+ itemCount: v4.z.int().min(0).max(9007199254740991),
42
+ deposit: v4.z.nullable(
43
+ v4.z.object({
44
+ depositwareTemplateId: v4.z.string(),
45
+ name: v4.z.object({}).catchall(v4.z.string()),
46
+ amount: v4.z.int().min(0).max(9007199254740991),
47
+ currency: v4.z.enum(["EUR", "CHF"])
48
+ })
49
+ ),
50
+ get totals() {
51
+ return basketTotalsSchema;
52
+ }
53
+ });
54
+
55
+ const areaSchema = v4.z.object({
56
+ id: v4.z.string(),
57
+ venueId: v4.z.string(),
58
+ accessor: v4.z.string(),
59
+ name: v4.z.object({}).catchall(v4.z.string()),
60
+ description: v4.z.nullable(v4.z.object({}).catchall(v4.z.string())),
61
+ longDescription: v4.z.nullable(v4.z.object({}).catchall(v4.z.string())),
62
+ minCapacity: v4.z.nullable(
63
+ v4.z.int().min(-9007199254740991).max(9007199254740991)
64
+ ),
65
+ maxCapacity: v4.z.int().min(-9007199254740991).max(9007199254740991),
66
+ currency: v4.z.enum(["EUR", "CHF"]),
67
+ basePrice: v4.z.nullable(v4.z.int().min(-9007199254740991).max(9007199254740991)),
68
+ perPersonPrice: v4.z.nullable(
69
+ v4.z.int().min(-9007199254740991).max(9007199254740991)
70
+ ),
71
+ features: v4.z.nullable(
72
+ v4.z.array(
73
+ v4.z.object({
74
+ icon: v4.z.string(),
75
+ label: v4.z.object({}).catchall(v4.z.string()),
76
+ description: v4.z.optional(v4.z.object({}).catchall(v4.z.string()))
77
+ })
78
+ )
79
+ ),
80
+ bookingMode: v4.z.enum(["slot", "day"]),
81
+ assets: v4.z.optional(
82
+ v4.z.array(
83
+ v4.z.object({
84
+ id: v4.z.string(),
85
+ type: v4.z.enum(["image", "video", "document"]),
86
+ tags: v4.z.nullable(v4.z.array(v4.z.string())),
87
+ filename: v4.z.string(),
88
+ contentType: v4.z.string(),
89
+ metadata: v4.z.nullable(
90
+ v4.z.object({
91
+ width: v4.z.optional(v4.z.number()),
92
+ height: v4.z.optional(v4.z.number()),
93
+ duration: v4.z.optional(v4.z.number())
94
+ })
95
+ ),
96
+ cropArea: v4.z.nullable(
97
+ v4.z.object({
98
+ x: v4.z.number(),
99
+ y: v4.z.number(),
100
+ width: v4.z.number(),
101
+ height: v4.z.number()
102
+ })
103
+ ),
104
+ publicUrl: v4.z.url()
105
+ })
106
+ )
107
+ )
108
+ }).describe(
109
+ "A bookable + public area for a venue. Assets are only included when the request expands them."
110
+ );
111
+
112
+ const articleMentionCountsSchema = v4.z.object({
113
+ dishes: v4.z.int().min(0).max(9007199254740991),
114
+ beverages: v4.z.int().min(0).max(9007199254740991),
115
+ ingredients: v4.z.int().min(0).max(9007199254740991),
116
+ menus: v4.z.int().min(0).max(9007199254740991),
117
+ rituals: v4.z.int().min(0).max(9007199254740991)
118
+ });
119
+
120
+ const cancelSubscriptionRequestSchema = v4.z.object({
121
+ subscriberId: v4.z.string().min(1)
122
+ });
123
+
124
+ const cancelSubscriptionResponseSchema = v4.z.object({
125
+ success: v4.z.literal(true)
126
+ });
127
+
128
+ const cancelTeamOrderRequestSchema = v4.z.object({
129
+ publicId: v4.z.string().min(1),
130
+ sessionId: v4.z.string().min(1),
131
+ reason: v4.z.optional(v4.z.string().max(500))
132
+ });
133
+
134
+ const cancelTeamOrderResponseSchema = v4.z.object({
135
+ teamOrderId: v4.z.uuid(),
136
+ get status() {
137
+ return deliveryAddressSchema.teamOrderStatusSchema;
138
+ },
139
+ voidedPaymentIntentIds: v4.z.array(v4.z.string()),
140
+ cancelledAt: v4.z.iso.datetime()
141
+ });
142
+
143
+ const confirmOrderRequestSchema = v4.z.object({
144
+ venueAccessor: v4.z.string().min(1),
145
+ orderId: v4.z.string().min(1),
146
+ paymentIntentId: v4.z.string().min(1)
147
+ });
148
+
149
+ const confirmOrderResponseSchema = v4.z.object({
150
+ id: v4.z.string(),
151
+ status: v4.z.string(),
152
+ publicId: v4.z.nullable(v4.z.string()),
153
+ quickReferenceNumber: v4.z.nullable(
154
+ v4.z.int().min(-9007199254740991).max(9007199254740991)
155
+ ),
156
+ customerId: v4.z.optional(v4.z.string())
157
+ });
158
+
159
+ const createDeltaPaymentIntentRequestSchema = v4.z.object({
160
+ venueAccessor: v4.z.string().min(1),
161
+ basketId: v4.z.string().min(1),
162
+ sessionId: v4.z.string().min(1),
163
+ currency: v4.z.enum(["EUR", "CHF"]),
164
+ declaredReturns: v4.z.optional(
165
+ v4.z.array(
166
+ v4.z.object({
167
+ depositwareTemplateId: v4.z.string().min(1),
168
+ count: v4.z.int().min(0).max(9007199254740991)
169
+ })
170
+ )
171
+ )
172
+ });
173
+
174
+ const createDeltaPaymentIntentResponseSchema = v4.z.object({
175
+ clientSecret: v4.z.nullable(v4.z.string()),
176
+ paymentIntentId: v4.z.string(),
177
+ orderId: v4.z.string(),
178
+ amount: v4.z.int().max(9007199254740991),
179
+ status: v4.z.enum([
180
+ "requires_payment_method",
181
+ "requires_confirmation",
182
+ "requires_action",
183
+ "processing",
184
+ "requires_capture",
185
+ "canceled",
186
+ "succeeded"
187
+ ])
188
+ });
189
+
190
+ const createEventRequestSchema = v4.z.object({
191
+ accessor: v4.z.string().nullish(),
192
+ name: v4.z.union([
193
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
194
+ v4.z.array(v4.z.any()),
195
+ v4.z.object({}).catchall(v4.z.any())
196
+ ]),
197
+ description: v4.z.union([
198
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
199
+ v4.z.array(v4.z.any()),
200
+ v4.z.object({}).catchall(v4.z.any())
201
+ ]).nullish(),
202
+ scheduleId: v4.z.string().nullish(),
203
+ maxBookings: v4.z.int().min(-2147483648).max(2147483647).nullish(),
204
+ maxGuests: v4.z.int().min(-2147483648).max(2147483647).nullish(),
205
+ minPartySize: v4.z.int().min(-2147483648).max(2147483647).nullish(),
206
+ maxPartySize: v4.z.int().min(-2147483648).max(2147483647).nullish(),
207
+ isPublic: v4.z.optional(v4.z.boolean()),
208
+ isRecurring: v4.z.optional(v4.z.boolean()),
209
+ reservationsEnabled: v4.z.optional(v4.z.boolean()),
210
+ bookingOpensAtDays: v4.z.int().min(-2147483648).max(2147483647).nullish(),
211
+ bookingClosesAtOffset: v4.z.int().min(-2147483648).max(2147483647).nullish(),
212
+ isActive: v4.z.optional(v4.z.boolean()),
213
+ isFeatured: v4.z.optional(v4.z.boolean()),
214
+ priority: v4.z.optional(v4.z.int().min(-2147483648).max(2147483647)),
215
+ schedule: v4.z.object({
216
+ rrule: v4.z.string().nullish(),
217
+ timezone: v4.z.string().nullish(),
218
+ validFrom: v4.z.string().regex(/^\d{4}-\d{2}-\d{2}$/).nullish(),
219
+ validTo: v4.z.string().regex(/^\d{4}-\d{2}-\d{2}$/).nullish(),
220
+ timeRanges: v4.z.array(
221
+ v4.z.object({
222
+ startTime: v4.z.string().regex(/^\d{2}:\d{2}$/),
223
+ endTime: v4.z.string().regex(/^\d{2}:\d{2}$/),
224
+ lastSeatingTime: v4.z.string().regex(/^\d{2}:\d{2}$/).nullish()
225
+ })
226
+ ).min(1),
227
+ slotMode: v4.z.enum(["interval", "duration"]).nullish(),
228
+ intervalDuration: v4.z.number().nullish(),
229
+ duration: v4.z.number().nullish()
230
+ }).nullish(),
231
+ ritualAccessor: v4.z.string().nullish(),
232
+ venueAccessor: v4.z.string().min(1)
233
+ }).describe("Request payload for creating a new event");
234
+
235
+ const createEventResponseSchema = v4.z.object({
236
+ id: v4.z.string(),
237
+ venueId: v4.z.string(),
238
+ accessor: v4.z.nullable(v4.z.string()),
239
+ name: v4.z.union([
240
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
241
+ v4.z.array(v4.z.any()),
242
+ v4.z.object({}).catchall(v4.z.any())
243
+ ]),
244
+ description: v4.z.nullable(
245
+ v4.z.union([
246
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
247
+ v4.z.array(v4.z.any()),
248
+ v4.z.object({}).catchall(v4.z.any())
249
+ ])
250
+ ),
251
+ scheduleId: v4.z.nullable(v4.z.string()),
252
+ ritualId: v4.z.nullable(v4.z.string()),
253
+ maxBookings: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
254
+ maxGuests: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
255
+ minPartySize: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
256
+ maxPartySize: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
257
+ isPublic: v4.z.boolean(),
258
+ isRecurring: v4.z.boolean(),
259
+ reservationsEnabled: v4.z.boolean(),
260
+ bookingOpensAtDays: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
261
+ bookingClosesAtOffset: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
262
+ isActive: v4.z.boolean(),
263
+ isFeatured: v4.z.boolean(),
264
+ priority: v4.z.int().min(-2147483648).max(2147483647),
265
+ createdBy: v4.z.nullable(v4.z.string()),
266
+ updatedBy: v4.z.nullable(v4.z.string()),
267
+ createdAt: v4.z.nullable(v4.z.any()),
268
+ updatedAt: v4.z.nullable(v4.z.any())
269
+ }).describe("Successfully created event");
270
+
271
+ const createPaymentIntentRequestSchema = v4.z.object({
272
+ venueAccessor: v4.z.string().min(1),
273
+ basketId: v4.z.string().min(1),
274
+ currency: v4.z.enum(["EUR", "CHF"]),
275
+ sessionId: v4.z.string().min(1),
276
+ get fulfillmentType() {
277
+ return deliveryAddressSchema.fulfillmentTypeSchema;
278
+ },
279
+ fulfillmentAt: v4.z.iso.datetime().nullish(),
280
+ customerFirstName: v4.z.optional(v4.z.string()),
281
+ customerLastName: v4.z.optional(v4.z.string()),
282
+ teamOrderPublicId: v4.z.optional(v4.z.string()),
283
+ declaredReturns: v4.z.optional(
284
+ v4.z.array(
285
+ v4.z.object({
286
+ depositwareTemplateId: v4.z.string().min(1),
287
+ count: v4.z.int().min(0).max(9007199254740991)
288
+ })
289
+ )
290
+ )
291
+ });
292
+
293
+ const createPaymentIntentResponseSchema = v4.z.object({
294
+ clientSecret: v4.z.nullable(v4.z.string()),
295
+ paymentIntentId: v4.z.string(),
296
+ orderId: v4.z.string()
297
+ });
298
+
299
+ const createTeamOrderRequestSchema = v4.z.object({
300
+ venueAccessor: v4.z.string().min(1),
301
+ sessionId: v4.z.string().min(1),
302
+ menuId: v4.z.uuid(),
303
+ leadDisplayName: v4.z.string().min(1),
304
+ teamName: v4.z.optional(v4.z.string().min(1)),
305
+ logoUrl: v4.z.optional(v4.z.url()),
306
+ deadlineAt: v4.z.iso.datetime().nullish(),
307
+ get fulfillmentType() {
308
+ return deliveryAddressSchema.fulfillmentTypeSchema;
309
+ },
310
+ fulfillmentAt: v4.z.iso.datetime().nullish(),
311
+ get deliveryAddress() {
312
+ return deliveryAddressSchema.deliveryAddressSchema.optional();
313
+ },
314
+ get allowedPaymentMethods() {
315
+ return v4.z.array(deliveryAddressSchema.paymentMethodSchema).min(1);
316
+ },
317
+ eventId: v4.z.optional(v4.z.uuid())
318
+ }).describe(
319
+ "Create a team order: promotes the lead's active basket into a shared team basket and returns the share token."
320
+ );
321
+
322
+ const createTeamOrderResponseSchema = v4.z.object({
323
+ publicId: v4.z.string(),
324
+ teamOrderId: v4.z.uuid()
325
+ });
326
+
327
+ const editArticleRequestSchema = v4.z.object({
328
+ slug: v4.z.optional(v4.z.object({}).catchall(v4.z.any())),
329
+ title: v4.z.optional(v4.z.object({}).catchall(v4.z.any())),
330
+ excerpt: v4.z.optional(v4.z.object({}).catchall(v4.z.any())),
331
+ content: v4.z.optional(v4.z.object({}).catchall(v4.z.any())),
332
+ metaTitle: v4.z.optional(v4.z.object({}).catchall(v4.z.string())),
333
+ metaDescription: v4.z.optional(v4.z.object({}).catchall(v4.z.string())),
334
+ tags: v4.z.optional(v4.z.array(v4.z.string())),
335
+ isActive: v4.z.optional(v4.z.boolean()),
336
+ isFeatured: v4.z.optional(v4.z.boolean()),
337
+ priority: v4.z.optional(v4.z.int().min(-9007199254740991).max(9007199254740991))
338
+ });
339
+
340
+ const featureImageSchema = v4.z.object({
341
+ id: v4.z.string(),
342
+ publicUrl: v4.z.nullable(v4.z.string()),
343
+ locale: v4.z.string(),
344
+ caption: v4.z.nullable(v4.z.object({}).catchall(v4.z.any())),
345
+ alt: v4.z.nullable(v4.z.object({}).catchall(v4.z.any())),
346
+ captionByLocale: v4.z.object({}).catchall(v4.z.any()),
347
+ altByLocale: v4.z.object({}).catchall(v4.z.any())
348
+ }).describe(
349
+ "An article's resolved feature image. `caption` / `alt` are per-locale TipTap docs (PATCH accepts plain strings \u2014 server normalises). `captionByLocale` / `altByLocale` expose the raw per-locale records for editor surfaces."
350
+ );
351
+
352
+ const ogImageSchema = v4.z.object({
353
+ id: v4.z.string(),
354
+ publicUrl: v4.z.nullable(v4.z.string()),
355
+ locale: v4.z.string()
356
+ });
357
+
358
+ const editArticleResponseSchema = v4.z.object({
359
+ id: v4.z.string(),
360
+ venueId: v4.z.string(),
361
+ accessor: v4.z.string(),
362
+ slug: v4.z.object({}).catchall(v4.z.object({}).catchall(v4.z.any())),
363
+ title: v4.z.object({}).catchall(v4.z.object({}).catchall(v4.z.any())),
364
+ excerpt: v4.z.object({}).catchall(v4.z.object({}).catchall(v4.z.any())),
365
+ content: v4.z.nullable(v4.z.object({}).catchall(v4.z.any())),
366
+ metaTitle: v4.z.nullable(v4.z.object({}).catchall(v4.z.string())),
367
+ metaDescription: v4.z.nullable(v4.z.object({}).catchall(v4.z.string())),
368
+ tags: v4.z.array(v4.z.string()),
369
+ isActive: v4.z.boolean(),
370
+ isFeatured: v4.z.boolean(),
371
+ priority: v4.z.int().min(-2147483648).max(2147483647),
372
+ status: v4.z.enum(["draft", "published"]),
373
+ publishedAt: v4.z.nullable(v4.z.string()),
374
+ createdAt: v4.z.nullable(v4.z.string()),
375
+ updatedAt: v4.z.nullable(v4.z.string()),
376
+ get featureImage() {
377
+ return featureImageSchema.nullable();
378
+ },
379
+ get ogImage() {
380
+ return ogImageSchema.nullish();
381
+ }
382
+ }).describe(
383
+ "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`."
384
+ );
385
+
386
+ const extendDeadlineTeamOrderRequestSchema = v4.z.object({
387
+ publicId: v4.z.string().min(1),
388
+ sessionId: v4.z.string().min(1),
389
+ newDeadlineAt: v4.z.iso.datetime()
390
+ });
391
+
392
+ const extendDeadlineTeamOrderResponseSchema = v4.z.object({
393
+ teamOrderId: v4.z.uuid(),
394
+ get status() {
395
+ return deliveryAddressSchema.teamOrderStatusSchema;
396
+ },
397
+ deadlineAt: v4.z.nullable(v4.z.iso.datetime())
398
+ });
399
+
400
+ const fetchArticleResponseSchema = v4.z.object({
401
+ id: v4.z.string(),
402
+ venueId: v4.z.string(),
403
+ accessor: v4.z.string(),
404
+ slug: v4.z.object({}).catchall(v4.z.object({}).catchall(v4.z.any())),
405
+ title: v4.z.object({}).catchall(v4.z.object({}).catchall(v4.z.any())),
406
+ excerpt: v4.z.object({}).catchall(v4.z.object({}).catchall(v4.z.any())),
407
+ content: v4.z.nullable(v4.z.object({}).catchall(v4.z.any())),
408
+ metaTitle: v4.z.nullable(v4.z.object({}).catchall(v4.z.string())),
409
+ metaDescription: v4.z.nullable(v4.z.object({}).catchall(v4.z.string())),
410
+ tags: v4.z.array(v4.z.string()),
411
+ isActive: v4.z.boolean(),
412
+ isFeatured: v4.z.boolean(),
413
+ priority: v4.z.int().min(-2147483648).max(2147483647),
414
+ status: v4.z.enum(["draft", "published"]),
415
+ publishedAt: v4.z.nullable(v4.z.string()),
416
+ createdAt: v4.z.nullable(v4.z.string()),
417
+ updatedAt: v4.z.nullable(v4.z.string()),
418
+ get featureImage() {
419
+ return featureImageSchema.nullable();
420
+ },
421
+ get ogImage() {
422
+ return ogImageSchema.nullish();
423
+ }
424
+ }).describe(
425
+ "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`."
426
+ );
427
+
428
+ const fetchArticlesResponseSchema = v4.z.array(
429
+ v4.z.object({
430
+ id: v4.z.string(),
431
+ venueId: v4.z.string(),
432
+ accessor: v4.z.string(),
433
+ slug: v4.z.object({}).catchall(v4.z.object({}).catchall(v4.z.any())),
434
+ title: v4.z.object({}).catchall(v4.z.object({}).catchall(v4.z.any())),
435
+ excerpt: v4.z.object({}).catchall(v4.z.object({}).catchall(v4.z.any())),
436
+ content: v4.z.nullable(v4.z.object({}).catchall(v4.z.any())),
437
+ metaTitle: v4.z.nullable(v4.z.object({}).catchall(v4.z.string())),
438
+ metaDescription: v4.z.nullable(v4.z.object({}).catchall(v4.z.string())),
439
+ tags: v4.z.array(v4.z.string()),
440
+ isActive: v4.z.boolean(),
441
+ isFeatured: v4.z.boolean(),
442
+ priority: v4.z.int().min(-2147483648).max(2147483647),
443
+ status: v4.z.enum(["draft", "published"]),
444
+ publishedAt: v4.z.nullable(v4.z.string()),
445
+ createdAt: v4.z.nullable(v4.z.string()),
446
+ updatedAt: v4.z.nullable(v4.z.string()),
447
+ get featureImage() {
448
+ return featureImageSchema.nullable();
449
+ },
450
+ get ogImage() {
451
+ return ogImageSchema.nullish();
452
+ },
453
+ get mentionCounts() {
454
+ return articleMentionCountsSchema.optional();
455
+ }
456
+ })
457
+ );
458
+
459
+ const fetchEventResponseSchema = v4.z.object({
460
+ id: v4.z.string(),
461
+ venueId: v4.z.string(),
462
+ accessor: v4.z.nullable(v4.z.string()),
463
+ name: v4.z.object({}).catchall(v4.z.string())
464
+ }).catchall(v4.z.any()).describe(
465
+ "Event details. Nested objects (schedule, timeSlots, menus, posters, nextOccurrence) pass through; their shape follows the SDK Event interface."
466
+ );
467
+
468
+ const fetchEventsResponseSchema = v4.z.array(
469
+ v4.z.object({
470
+ id: v4.z.string(),
471
+ venueId: v4.z.string()
472
+ }).catchall(v4.z.any())
473
+ );
474
+
475
+ const fetchMenuBundlesResponseSchema = v4.z.array(
476
+ v4.z.object({
477
+ id: v4.z.string(),
478
+ menuId: v4.z.string(),
479
+ name: v4.z.object({}).catchall(v4.z.string()),
480
+ shortName: v4.z.nullable(v4.z.object({}).catchall(v4.z.string())),
481
+ description: v4.z.nullable(v4.z.object({}).catchall(v4.z.string())),
482
+ tags: v4.z.array(v4.z.string()),
483
+ price: v4.z.object({
484
+ amount: v4.z.number(),
485
+ currency: v4.z.enum(["EUR", "CHF"])
486
+ }),
487
+ currency: v4.z.enum(["EUR", "CHF"]),
488
+ taxRateId: v4.z.string(),
489
+ isActive: v4.z.boolean(),
490
+ sortIndex: v4.z.nullable(v4.z.string()),
491
+ depositwareTemplateId: v4.z.nullable(v4.z.string()),
492
+ depositwareTemplate: v4.z.nullable(
493
+ v4.z.object({
494
+ name: v4.z.object({}).catchall(v4.z.string())
495
+ })
496
+ ),
497
+ deposit: v4.z.nullable(
498
+ v4.z.object({
499
+ amount: v4.z.number(),
500
+ currency: v4.z.enum(["EUR", "CHF"])
501
+ })
502
+ )
503
+ }).catchall(v4.z.any())
504
+ );
505
+
506
+ const fetchMenuResponseSchema = v4.z.object({
507
+ id: v4.z.string(),
508
+ venueId: v4.z.string(),
509
+ accessor: v4.z.string(),
510
+ name: v4.z.union([
511
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
512
+ v4.z.array(v4.z.any()),
513
+ v4.z.object({}).catchall(v4.z.any())
514
+ ]),
515
+ description: v4.z.nullable(
516
+ v4.z.union([
517
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
518
+ v4.z.array(v4.z.any()),
519
+ v4.z.object({}).catchall(v4.z.any())
520
+ ])
521
+ ),
522
+ metadata: v4.z.nullable(
523
+ v4.z.union([
524
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
525
+ v4.z.array(v4.z.any()),
526
+ v4.z.object({}).catchall(v4.z.any())
527
+ ])
528
+ ),
529
+ sortIndex: v4.z.nullable(v4.z.string().max(255)),
530
+ deliveryThresholdAmount: v4.z.nullable(
531
+ v4.z.int().min(-2147483648).max(2147483647)
532
+ ),
533
+ deliveryThresholdQuantity: v4.z.nullable(
534
+ v4.z.int().min(-2147483648).max(2147483647)
535
+ ),
536
+ createdAt: v4.z.nullable(v4.z.any()),
537
+ updatedAt: v4.z.nullable(v4.z.any()),
538
+ createdBy: v4.z.nullable(v4.z.string()),
539
+ updatedBy: v4.z.nullable(v4.z.string()),
540
+ assets: v4.z.optional(
541
+ v4.z.array(
542
+ v4.z.object({
543
+ id: v4.z.string(),
544
+ type: v4.z.enum(["image", "video", "document"]),
545
+ tags: v4.z.nullable(v4.z.array(v4.z.string())),
546
+ bucket: v4.z.string(),
547
+ storagePath: v4.z.string(),
548
+ filename: v4.z.string(),
549
+ contentType: v4.z.string(),
550
+ sizeBytes: v4.z.int().min(-2147483648).max(2147483647),
551
+ caption: v4.z.union([
552
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
553
+ v4.z.array(v4.z.any()),
554
+ v4.z.object({}).catchall(v4.z.any())
555
+ ]),
556
+ alt: v4.z.union([
557
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
558
+ v4.z.array(v4.z.any()),
559
+ v4.z.object({}).catchall(v4.z.any())
560
+ ]),
561
+ metadata: v4.z.nullable(
562
+ v4.z.union([
563
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
564
+ v4.z.array(v4.z.any()),
565
+ v4.z.object({}).catchall(v4.z.any())
566
+ ])
567
+ ),
568
+ cropArea: v4.z.nullable(
569
+ v4.z.union([
570
+ v4.z.union([v4.z.boolean(), v4.z.string(), v4.z.number(), v4.z.enum([])]),
571
+ v4.z.array(v4.z.any()),
572
+ v4.z.object({}).catchall(v4.z.any())
573
+ ])
574
+ ),
575
+ isActive: v4.z.boolean(),
576
+ sortIndex: v4.z.nullable(v4.z.string().max(255)),
577
+ createdAt: v4.z.nullable(v4.z.any()),
578
+ updatedAt: v4.z.nullable(v4.z.any()),
579
+ createdBy: v4.z.nullable(v4.z.string()),
580
+ updatedBy: v4.z.nullable(v4.z.string()),
581
+ venueId: v4.z.nullable(v4.z.string()),
582
+ publicUrl: v4.z.nullable(v4.z.string())
583
+ })
584
+ )
585
+ ),
586
+ items: v4.z.optional(v4.z.array(v4.z.object({}).catchall(v4.z.any())))
587
+ }).catchall(v4.z.any()).describe(
588
+ "Menu details. Nested arrays (items, assets, bundles, schedule, etc.) pass through; their shape follows the SDK Menu interface."
589
+ );
590
+
591
+ const fetchMenuSubscriptionsResponseSchema = v4.z.array(
592
+ v4.z.object({
593
+ id: v4.z.string(),
594
+ menuId: v4.z.string(),
595
+ accessor: v4.z.string(),
596
+ name: v4.z.object({}).catchall(v4.z.string()),
597
+ shortName: v4.z.nullable(v4.z.object({}).catchall(v4.z.string())),
598
+ description: v4.z.nullable(v4.z.object({}).catchall(v4.z.string())),
599
+ scheduleId: v4.z.nullable(v4.z.string()),
600
+ allowance: v4.z.number(),
601
+ billingPeriod: v4.z.enum(["week", "month", "year"]),
602
+ allowancePeriod: v4.z.enum(["week", "month", "year"]),
603
+ expiryInDays: v4.z.number(),
604
+ price: v4.z.number(),
605
+ currency: v4.z.enum(["EUR", "CHF"]),
606
+ stripeProductId: v4.z.nullable(v4.z.string()),
607
+ stripePriceId: v4.z.nullable(v4.z.string()),
608
+ isActive: v4.z.boolean(),
609
+ sortIndex: v4.z.nullable(v4.z.string()),
610
+ subscriberCount: v4.z.number(),
611
+ redeemableTagSets: v4.z.array(v4.z.array(v4.z.string())),
612
+ posters: v4.z.optional(
613
+ v4.z.array(
614
+ v4.z.object({
615
+ id: v4.z.string(),
616
+ menuSubscriptionId: v4.z.string(),
617
+ storagePath: v4.z.string(),
618
+ publicUrl: v4.z.nullable(v4.z.string()),
619
+ filename: v4.z.string(),
620
+ contentType: v4.z.string(),
621
+ sizeBytes: v4.z.nullable(v4.z.number()),
622
+ sortIndex: v4.z.nullable(v4.z.string()),
623
+ createdBy: v4.z.nullable(v4.z.string()),
624
+ createdAt: v4.z.nullable(v4.z.string())
625
+ })
626
+ )
627
+ )
628
+ }).catchall(v4.z.any())
629
+ );
630
+
631
+ const fetchTeamOrderResponseSchema = v4.z.object({
632
+ teamOrder: v4.z.object({
633
+ id: v4.z.string(),
634
+ publicId: v4.z.string(),
635
+ venueId: v4.z.string(),
636
+ menuId: v4.z.string(),
637
+ eventId: v4.z.nullable(v4.z.string()),
638
+ teamName: v4.z.nullable(v4.z.string()),
639
+ logoUrl: v4.z.nullable(v4.z.string()),
640
+ leadDisplayName: v4.z.string(),
641
+ get status() {
642
+ return deliveryAddressSchema.teamOrderStatusSchema;
643
+ },
644
+ get allowedPaymentMethods() {
645
+ return v4.z.array(deliveryAddressSchema.paymentMethodSchema);
646
+ },
647
+ get fulfillmentType() {
648
+ return deliveryAddressSchema.fulfillmentTypeSchema;
649
+ },
650
+ fulfillmentAt: v4.z.nullable(v4.z.iso.datetime()),
651
+ deadlineAt: v4.z.nullable(v4.z.iso.datetime()),
652
+ lockedAt: v4.z.nullable(v4.z.iso.datetime()),
653
+ placedAt: v4.z.nullable(v4.z.iso.datetime()),
654
+ cancelledAt: v4.z.nullable(v4.z.iso.datetime()),
655
+ cancelReason: v4.z.nullable(v4.z.string()),
656
+ deliveryAddressId: v4.z.nullable(v4.z.string()),
657
+ diningLocation: v4.z.nullable(v4.z.string()),
658
+ diningTime: v4.z.nullable(v4.z.string()),
659
+ isDeliveryEnabled: v4.z.boolean(),
660
+ quickReferenceNumber: v4.z.nullable(
661
+ v4.z.int().min(-9007199254740991).max(9007199254740991)
662
+ )
663
+ }),
664
+ deliveryThreshold: v4.z.object({
665
+ amount: v4.z.nullable(v4.z.int().min(-9007199254740991).max(9007199254740991)),
666
+ quantity: v4.z.nullable(v4.z.int().min(-9007199254740991).max(9007199254740991))
667
+ }),
668
+ participants: v4.z.array(
669
+ v4.z.object({
670
+ customerId: v4.z.string(),
671
+ basketId: v4.z.nullable(v4.z.string()),
672
+ orderId: v4.z.nullable(v4.z.string()),
673
+ participantNumber: v4.z.nullable(v4.z.int().max(9007199254740991)),
674
+ displayName: v4.z.nullable(v4.z.string()),
675
+ get status() {
676
+ return deliveryAddressSchema.participantStatusSchema;
677
+ },
678
+ bundleCount: v4.z.int().min(0).max(9007199254740991),
679
+ amount: v4.z.int().min(0).max(9007199254740991),
680
+ get paymentMethod() {
681
+ return deliveryAddressSchema.paymentMethodSchema;
682
+ },
683
+ isLead: v4.z.boolean(),
684
+ isMe: v4.z.boolean(),
685
+ joinedAt: v4.z.iso.datetime(),
686
+ items: v4.z.array(
687
+ v4.z.object({
688
+ id: v4.z.string(),
689
+ metadata: v4.z.nullable(v4.z.any()),
690
+ menuItems: v4.z.array(
691
+ v4.z.object({
692
+ menuItemId: v4.z.string(),
693
+ role: v4.z.nullable(v4.z.string()),
694
+ quantity: v4.z.number(),
695
+ unit: v4.z.enum([
696
+ "grams",
697
+ "kilograms",
698
+ "liters",
699
+ "milliliters",
700
+ "pieces"
701
+ ])
702
+ })
703
+ ),
704
+ isPaid: v4.z.boolean()
705
+ })
706
+ ),
707
+ payments: v4.z.array(
708
+ v4.z.object({
709
+ amount: v4.z.int().min(0).max(9007199254740991),
710
+ get method() {
711
+ return deliveryAddressSchema.paymentMethodSchema;
712
+ },
713
+ status: v4.z.enum([
714
+ "authorized",
715
+ "captured",
716
+ "cash_pending",
717
+ "cash_received"
718
+ ]),
719
+ createdAt: v4.z.iso.datetime(),
720
+ cardLast4: v4.z.nullable(v4.z.string().min(4).max(4))
721
+ })
722
+ ),
723
+ paidTotal: v4.z.int().min(0).max(9007199254740991),
724
+ amountDue: v4.z.int().min(0).max(9007199254740991),
725
+ declaredReturns: v4.z.array(
726
+ v4.z.object({
727
+ depositwareTemplateId: v4.z.string(),
728
+ count: v4.z.int().min(0).max(9007199254740991)
729
+ })
730
+ ),
731
+ leadSettledAt: v4.z.nullable(v4.z.string())
732
+ })
733
+ ),
734
+ aggregatedTotals: v4.z.object({
735
+ confirmedBundleCount: v4.z.int().min(0).max(9007199254740991),
736
+ confirmedAmount: v4.z.int().min(0).max(9007199254740991),
737
+ totalBundleCount: v4.z.int().min(0).max(9007199254740991)
738
+ }),
739
+ thresholdCheck: v4.z.object({
740
+ meets: v4.z.boolean(),
741
+ failedConstraints: v4.z.array(v4.z.enum(["quantity", "amount"])),
742
+ requiredQuantity: v4.z.nullable(
743
+ v4.z.int().min(-9007199254740991).max(9007199254740991)
744
+ ),
745
+ currentQuantity: v4.z.int().min(-9007199254740991).max(9007199254740991),
746
+ requiredAmount: v4.z.nullable(
747
+ v4.z.int().min(-9007199254740991).max(9007199254740991)
748
+ ),
749
+ currentAmount: v4.z.int().min(-9007199254740991).max(9007199254740991)
750
+ }),
751
+ isLead: v4.z.boolean()
752
+ });
753
+
754
+ const getAreaAvailabilityResponseSchema = v4.z.object({
755
+ from: v4.z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
756
+ to: v4.z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
757
+ bookingMode: v4.z.enum(["slot", "day"]),
758
+ occupied: v4.z.array(
759
+ v4.z.object({
760
+ date: v4.z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
761
+ startTime: v4.z.nullable(v4.z.string().regex(/^\d{2}:\d{2}(:\d{2})?$/)),
762
+ endTime: v4.z.nullable(v4.z.string().regex(/^\d{2}:\d{2}(:\d{2})?$/))
763
+ })
764
+ )
765
+ });
766
+
767
+ const getAreaResponseSchema = v4.z.object({
768
+ id: v4.z.string(),
769
+ venueId: v4.z.string(),
770
+ accessor: v4.z.string(),
771
+ name: v4.z.object({}).catchall(v4.z.string()),
772
+ description: v4.z.nullable(v4.z.object({}).catchall(v4.z.string())),
773
+ longDescription: v4.z.nullable(v4.z.object({}).catchall(v4.z.string())),
774
+ minCapacity: v4.z.nullable(
775
+ v4.z.int().min(-9007199254740991).max(9007199254740991)
776
+ ),
777
+ maxCapacity: v4.z.int().min(-9007199254740991).max(9007199254740991),
778
+ currency: v4.z.enum(["EUR", "CHF"]),
779
+ basePrice: v4.z.nullable(v4.z.int().min(-9007199254740991).max(9007199254740991)),
780
+ perPersonPrice: v4.z.nullable(
781
+ v4.z.int().min(-9007199254740991).max(9007199254740991)
782
+ ),
783
+ features: v4.z.nullable(
784
+ v4.z.array(
785
+ v4.z.object({
786
+ icon: v4.z.string(),
787
+ label: v4.z.object({}).catchall(v4.z.string()),
788
+ description: v4.z.optional(v4.z.object({}).catchall(v4.z.string()))
789
+ })
790
+ )
791
+ ),
792
+ bookingMode: v4.z.enum(["slot", "day"]),
793
+ assets: v4.z.optional(
794
+ v4.z.array(
795
+ v4.z.object({
796
+ id: v4.z.string(),
797
+ type: v4.z.enum(["image", "video", "document"]),
798
+ tags: v4.z.nullable(v4.z.array(v4.z.string())),
799
+ filename: v4.z.string(),
800
+ contentType: v4.z.string(),
801
+ metadata: v4.z.nullable(
802
+ v4.z.object({
803
+ width: v4.z.optional(v4.z.number()),
804
+ height: v4.z.optional(v4.z.number()),
805
+ duration: v4.z.optional(v4.z.number())
806
+ })
807
+ ),
808
+ cropArea: v4.z.nullable(
809
+ v4.z.object({
810
+ x: v4.z.number(),
811
+ y: v4.z.number(),
812
+ width: v4.z.number(),
813
+ height: v4.z.number()
814
+ })
815
+ ),
816
+ publicUrl: v4.z.url()
817
+ })
818
+ )
819
+ )
820
+ }).describe(
821
+ "A bookable + public area for a venue. Assets are only included when the request expands them."
822
+ );
823
+
824
+ const getBasketTotalsRequestSchema = v4.z.object({
825
+ venueAccessor: v4.z.string().min(1),
826
+ basketId: v4.z.string().min(1),
827
+ declaredReturns: v4.z.optional(
828
+ v4.z.array(
829
+ v4.z.object({
830
+ depositwareTemplateId: v4.z.string().min(1),
831
+ count: v4.z.int().min(0).max(9007199254740991)
832
+ })
833
+ )
834
+ )
835
+ });
836
+
837
+ const getBasketTotalsResponseSchema = v4.z.object({
838
+ currency: v4.z.enum(["EUR", "CHF"]),
839
+ itemsTotal: v4.z.int().min(0).max(9007199254740991),
840
+ taxAmount: v4.z.int().min(0).max(9007199254740991),
841
+ depositCharge: v4.z.int().min(0).max(9007199254740991),
842
+ grossTotal: v4.z.int().min(0).max(9007199254740991),
843
+ depositCredit: v4.z.int().min(0).max(9007199254740991),
844
+ effectiveTotal: v4.z.int().min(0).max(9007199254740991),
845
+ cashRefund: v4.z.int().min(0).max(9007199254740991),
846
+ returnable: v4.z.array(
847
+ v4.z.object({
848
+ depositwareTemplateId: v4.z.string(),
849
+ count: v4.z.int().min(0).max(9007199254740991)
850
+ })
851
+ )
852
+ });
853
+
854
+ const getSubscriptionCreditsResponseSchema = v4.z.array(
855
+ v4.z.object({
856
+ id: v4.z.string(),
857
+ subscriberId: v4.z.string(),
858
+ periodStart: v4.z.string(),
859
+ periodEnd: v4.z.string(),
860
+ expiresAt: v4.z.nullable(v4.z.string()),
861
+ status: v4.z.enum(["available", "redeemed", "expired"]),
862
+ redeemedAt: v4.z.nullable(v4.z.string()),
863
+ orderId: v4.z.nullable(v4.z.string()),
864
+ createdAt: v4.z.nullable(v4.z.string())
865
+ })
866
+ );
867
+
868
+ const getSubscriptionResponseSchema = v4.z.object({
869
+ id: v4.z.string(),
870
+ menuId: v4.z.string(),
871
+ accessor: v4.z.string(),
872
+ name: v4.z.object({}).catchall(v4.z.string()),
873
+ shortName: v4.z.nullable(v4.z.object({}).catchall(v4.z.string())),
874
+ description: v4.z.nullable(v4.z.object({}).catchall(v4.z.string())),
875
+ scheduleId: v4.z.nullable(v4.z.string()),
876
+ allowance: v4.z.int().max(9007199254740991),
877
+ billingPeriod: v4.z.enum(["week", "month", "year"]),
878
+ allowancePeriod: v4.z.enum(["week", "month", "year"]),
879
+ redeemableTagSets: v4.z.array(v4.z.array(v4.z.string())),
880
+ expiryInDays: v4.z.nullable(v4.z.int().max(9007199254740991)),
881
+ price: v4.z.int().min(0).max(9007199254740991),
882
+ currency: v4.z.enum(["EUR", "CHF"]),
883
+ isActive: v4.z.boolean(),
884
+ sortIndex: v4.z.nullable(v4.z.string()),
885
+ posters: v4.z.array(
886
+ v4.z.object({
887
+ id: v4.z.string(),
888
+ menuSubscriptionId: v4.z.string(),
889
+ storagePath: v4.z.string(),
890
+ publicUrl: v4.z.url(),
891
+ filename: v4.z.string(),
892
+ contentType: v4.z.string(),
893
+ sizeBytes: v4.z.int().min(-9007199254740991).max(9007199254740991),
894
+ sortIndex: v4.z.nullable(v4.z.string()),
895
+ createdBy: v4.z.nullable(v4.z.string()),
896
+ createdAt: v4.z.nullable(v4.z.string())
897
+ })
898
+ )
899
+ });
900
+
901
+ const getVenueResponseSchema = v4.z.object({
902
+ id: v4.z.string(),
903
+ accessor: v4.z.string(),
904
+ officialName: v4.z.string(),
905
+ legalName: v4.z.string(),
906
+ shortName: v4.z.string(),
907
+ brandName: v4.z.string(),
908
+ primaryLocale: v4.z.string(),
909
+ supportedLocales: v4.z.array(v4.z.string()),
910
+ timezone: v4.z.string(),
911
+ createdAt: v4.z.nullable(v4.z.any()),
912
+ updatedAt: v4.z.nullable(v4.z.any())
913
+ }).describe(
914
+ "A venue. The public API exposes only the minimal id + accessor + naming + locale fields the CLI's `venues use` / `auth whoami` consume."
915
+ );
916
+
917
+ const joinTeamOrderRequestSchema = v4.z.object({
918
+ publicId: v4.z.string().min(1),
919
+ sessionId: v4.z.string().min(1),
920
+ displayName: v4.z.optional(v4.z.string().min(1))
921
+ });
922
+
923
+ const joinTeamOrderResponseSchema = v4.z.object({
924
+ teamOrderId: v4.z.uuid(),
925
+ basketId: v4.z.string(),
926
+ customerId: v4.z.string(),
927
+ get status() {
928
+ return deliveryAddressSchema.teamOrderStatusSchema;
929
+ },
930
+ isLead: v4.z.boolean(),
931
+ alreadyJoined: v4.z.boolean()
932
+ });
933
+
934
+ const listAreasResponseSchema = v4.z.array(
935
+ v4.z.lazy(() => areaSchema).describe(
936
+ "A bookable + public area for a venue. Assets are only included when the request expands them."
937
+ )
938
+ );
939
+
940
+ const makeReservationRequestSchema = v4.z.object({
941
+ venueAccessor: v4.z.string().min(1).describe(
942
+ "Venue identifier \u2014 UUID or URL-friendly slug (accessor). Resolved server-side."
943
+ ),
944
+ eventId: v4.z.uuid().describe("UUID of the event this reservation is for"),
945
+ reservationDate: v4.z.string().describe("Date of the reservation in YYYY-MM-DD format"),
946
+ reservationTime: v4.z.string().describe("Time of the reservation in HH:MM:SS format"),
947
+ partySize: v4.z.int().min(1).max(20).describe("Number of guests in the party. Must be between 1 and 20."),
948
+ duration: v4.z.int().min(30).max(300).describe(
949
+ "Reservation duration in minutes. Defaults to 120 minutes if not specified. Range: 30-300 minutes."
950
+ ).nullish(),
951
+ customerId: v4.z.uuid().describe("UUID of existing customer profile if available").nullish(),
952
+ customerFirstName: v4.z.string().min(1).max(50).describe("First name of the customer making the reservation"),
953
+ customerLastName: v4.z.string().min(1).max(50).describe("Last name of the customer making the reservation"),
954
+ customerEmail: v4.z.email().describe("Email address for reservation confirmations and updates").nullish(),
955
+ customerPhone: v4.z.string().min(1).describe(
956
+ "Phone number for reservation confirmations and updates. Include country code for international numbers."
957
+ ).nullish(),
958
+ contactPreference: v4.z.optional(
959
+ v4.z.enum(["email", "phone", "sms", "none"]).describe("Preferred contact method. Defaults to `email` when omitted.")
960
+ ),
961
+ source: v4.z.optional(
962
+ v4.z.enum(["website", "phone", "walk_in"]).describe(
963
+ "Origin of the reservation request. Defaults to `website` when omitted."
964
+ )
965
+ ),
966
+ specialRequests: v4.z.string().max(500).describe(
967
+ "Any dietary restrictions, allergies, or special occasions (max 500 characters)"
968
+ ).nullish(),
969
+ tablePreference: v4.z.string().max(100).describe(
970
+ 'Preferred seating area or table type (e.g., "window seat", "quiet area", "patio")'
971
+ ).nullish()
972
+ }).describe("Request payload for making a new reservation");
973
+
974
+ const makeReservationResponseSchema = v4.z.object({
975
+ id: v4.z.uuid().describe("Unique identifier for the reservation"),
976
+ venueId: v4.z.uuid().describe("Restaurant/tenant identifier"),
977
+ eventId: v4.z.uuid().describe("Event identifier for this reservation"),
978
+ quickReferenceNumber: v4.z.nullable(v4.z.int().min(-2147483648).max(2147483647)),
979
+ reservationDate: v4.z.string().describe("Date of the reservation in YYYY-MM-DD format"),
980
+ reservationTime: v4.z.string().describe("Time of the reservation in HH:MM:SS format"),
981
+ partySize: v4.z.int().min(-9007199254740991).max(9007199254740991).describe("Number of guests in the party"),
982
+ duration: v4.z.nullable(
983
+ v4.z.int().min(-9007199254740991).max(9007199254740991).describe("Reservation duration in minutes")
984
+ ),
985
+ customerId: v4.z.nullable(
986
+ v4.z.uuid().describe("Link to customer profile if exists")
987
+ ),
988
+ customerFirstName: v4.z.string().describe("First name of the customer"),
989
+ customerLastName: v4.z.string().describe("Last name of the customer"),
990
+ customerEmail: v4.z.nullable(v4.z.string().describe("Customer email address")),
991
+ customerPhone: v4.z.nullable(v4.z.string().describe("Customer phone number")),
992
+ contactPreference: v4.z.enum(["email", "phone", "sms", "none"]).describe("Preferred contact method"),
993
+ status: v4.z.enum([
994
+ "pending",
995
+ "confirmed",
996
+ "arrived",
997
+ "seated",
998
+ "completed",
999
+ "cancelled",
1000
+ "no_show"
1001
+ ]).describe("Current status of the reservation"),
1002
+ confirmationCode: v4.z.nullable(
1003
+ v4.z.string().describe("6-character confirmation code for the reservation")
1004
+ ),
1005
+ confirmedAt: v4.z.nullable(
1006
+ v4.z.any().describe("When the reservation was confirmed")
1007
+ ),
1008
+ arrivedAt: v4.z.nullable(v4.z.any().describe("When the guest arrived")),
1009
+ seatedAt: v4.z.nullable(v4.z.any().describe("When the guest was seated")),
1010
+ completedAt: v4.z.nullable(v4.z.any().describe("When the dining was completed")),
1011
+ cancelledAt: v4.z.nullable(
1012
+ v4.z.any().describe("When the reservation was cancelled")
1013
+ ),
1014
+ cancellationReason: v4.z.nullable(
1015
+ v4.z.enum(["customer_request", "restaurant_request"]).describe("Who initiated the cancellation")
1016
+ ),
1017
+ cancellationNote: v4.z.nullable(
1018
+ v4.z.string().describe("Additional cancellation details")
1019
+ ),
1020
+ source: v4.z.enum(["website", "phone", "walk_in"]).describe("Origin of the reservation"),
1021
+ specialRequests: v4.z.nullable(
1022
+ v4.z.string().describe("Any special requirements or notes")
1023
+ ),
1024
+ tablePreference: v4.z.nullable(
1025
+ v4.z.string().describe("Preferred seating location")
1026
+ ),
1027
+ createdBy: v4.z.nullable(
1028
+ v4.z.string().describe("User ID who created the reservation")
1029
+ ),
1030
+ updatedBy: v4.z.nullable(
1031
+ v4.z.string().describe("User ID who last updated the reservation")
1032
+ ),
1033
+ createdAt: v4.z.nullable(v4.z.any().describe("Reservation creation timestamp")),
1034
+ updatedAt: v4.z.nullable(v4.z.any().describe("Last update timestamp"))
1035
+ }).describe("Successfully created reservation");
1036
+
1037
+ const patchFeatureImageRequestSchema = v4.z.object({
1038
+ caption: v4.z.optional(v4.z.object({}).catchall(v4.z.any())),
1039
+ alt: v4.z.optional(v4.z.object({}).catchall(v4.z.any()))
1040
+ }).describe(
1041
+ "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`."
1042
+ );
1043
+
1044
+ const placeOrderRequestSchema = v4.z.object({
1045
+ venueAccessor: v4.z.string().min(1),
1046
+ basketId: v4.z.string().min(1),
1047
+ sessionId: v4.z.string().min(1),
1048
+ get paymentMethod() {
1049
+ return deliveryAddressSchema.paymentMethodSchema;
1050
+ },
1051
+ get fulfillmentType() {
1052
+ return deliveryAddressSchema.fulfillmentTypeSchema;
1053
+ },
1054
+ fulfillmentAt: v4.z.iso.datetime().nullish(),
1055
+ customerFirstName: v4.z.optional(v4.z.string()),
1056
+ customerLastName: v4.z.optional(v4.z.string()),
1057
+ customerEmail: v4.z.optional(v4.z.string()),
1058
+ declaredReturns: v4.z.optional(
1059
+ v4.z.array(
1060
+ v4.z.object({
1061
+ depositwareTemplateId: v4.z.string().min(1),
1062
+ count: v4.z.int().min(0).max(9007199254740991)
1063
+ })
1064
+ )
1065
+ )
1066
+ }).describe("Place a new order for a specific venue");
1067
+
1068
+ const placeOrderResponseSchema = v4.z.object({
1069
+ id: v4.z.string(),
1070
+ status: v4.z.string(),
1071
+ publicId: v4.z.nullable(v4.z.string()),
1072
+ orderId: v4.z.string(),
1073
+ quickReferenceNumber: v4.z.nullable(
1074
+ v4.z.int().min(-9007199254740991).max(9007199254740991)
1075
+ ),
1076
+ currency: v4.z.enum(["EUR", "CHF"])
1077
+ });
1078
+
1079
+ const reduceDeltaPaymentIntentRequestSchema = v4.z.object({
1080
+ venueAccessor: v4.z.string().min(1),
1081
+ basketId: v4.z.string().min(1),
1082
+ sessionId: v4.z.string().min(1),
1083
+ currency: v4.z.enum(["EUR", "CHF"]),
1084
+ declaredReturns: v4.z.optional(
1085
+ v4.z.array(
1086
+ v4.z.object({
1087
+ depositwareTemplateId: v4.z.string().min(1),
1088
+ count: v4.z.int().min(0).max(9007199254740991)
1089
+ })
1090
+ )
1091
+ )
1092
+ });
1093
+
1094
+ const reduceDeltaPaymentIntentResponseSchema = v4.z.object({
1095
+ orderId: v4.z.string(),
1096
+ paidTotal: v4.z.int().min(0).max(9007199254740991),
1097
+ released: v4.z.int().min(0).max(9007199254740991)
1098
+ });
1099
+
1100
+ const removeFromBasketResponseSchema = v4.z.object({
1101
+ success: v4.z.boolean(),
1102
+ basketItemId: v4.z.uuid(),
1103
+ itemCount: v4.z.int().min(0).max(9007199254740991),
1104
+ get totals() {
1105
+ return basketTotalsSchema.nullable();
1106
+ }
1107
+ });
1108
+
1109
+ const setBasketDeclaredReturnsRequestSchema = v4.z.object({
1110
+ venueAccessor: v4.z.string().min(1),
1111
+ basketId: v4.z.string().min(1),
1112
+ sessionId: v4.z.string().min(1),
1113
+ declaredReturns: v4.z.array(
1114
+ v4.z.object({
1115
+ depositwareTemplateId: v4.z.string().min(1),
1116
+ count: v4.z.int().min(0).max(9007199254740991)
1117
+ })
1118
+ )
1119
+ });
1120
+
1121
+ const setBasketDeclaredReturnsResponseSchema = v4.z.object({
1122
+ basketId: v4.z.string(),
1123
+ declaredReturns: v4.z.array(
1124
+ v4.z.object({
1125
+ depositwareTemplateId: v4.z.string().min(1),
1126
+ count: v4.z.int().min(0).max(9007199254740991)
1127
+ })
1128
+ )
1129
+ });
1130
+
1131
+ const setDiningLocationTeamOrderRequestSchema = v4.z.object({
1132
+ publicId: v4.z.string().min(1),
1133
+ sessionId: v4.z.string().min(1),
1134
+ diningLocation: v4.z.string().max(200)
1135
+ });
1136
+
1137
+ const setDiningLocationTeamOrderResponseSchema = v4.z.object({
1138
+ teamOrderId: v4.z.uuid(),
1139
+ get status() {
1140
+ return deliveryAddressSchema.teamOrderStatusSchema;
1141
+ },
1142
+ diningLocation: v4.z.nullable(v4.z.string())
1143
+ });
1144
+
1145
+ const setDiningTimeTeamOrderRequestSchema = v4.z.object({
1146
+ publicId: v4.z.string().min(1),
1147
+ sessionId: v4.z.string().min(1),
1148
+ diningTime: v4.z.string().regex(/^\d{2}:\d{2}$/)
1149
+ });
1150
+
1151
+ const setDiningTimeTeamOrderResponseSchema = v4.z.object({
1152
+ teamOrderId: v4.z.uuid(),
1153
+ get status() {
1154
+ return deliveryAddressSchema.teamOrderStatusSchema;
1155
+ },
1156
+ diningTime: v4.z.string(),
1157
+ diningOffset: v4.z.int().min(0).max(9007199254740991)
1158
+ });
1159
+
1160
+ const setFulfillmentAtTeamOrderRequestSchema = v4.z.object({
1161
+ publicId: v4.z.string().min(1),
1162
+ sessionId: v4.z.string().min(1),
1163
+ fulfillmentAt: v4.z.iso.datetime()
1164
+ });
1165
+
1166
+ const setFulfillmentAtTeamOrderResponseSchema = v4.z.object({
1167
+ teamOrderId: v4.z.uuid(),
1168
+ get status() {
1169
+ return deliveryAddressSchema.teamOrderStatusSchema;
1170
+ },
1171
+ fulfillmentAt: v4.z.iso.datetime(),
1172
+ deadlineAt: v4.z.nullable(v4.z.iso.datetime())
1173
+ });
1174
+
1175
+ const submitAreaBookingRequestSchema = v4.z.object({
1176
+ requestedDate: v4.z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
1177
+ requestedStartTime: v4.z.optional(v4.z.string().regex(/^\d{2}:\d{2}(:\d{2})?$/)),
1178
+ requestedEndTime: v4.z.optional(v4.z.string().regex(/^\d{2}:\d{2}(:\d{2})?$/)),
1179
+ partySize: v4.z.int().max(9007199254740991),
1180
+ customerFirstName: v4.z.string().min(1),
1181
+ customerLastName: v4.z.string().min(1),
1182
+ customerEmail: v4.z.email(),
1183
+ customerPhone: v4.z.optional(v4.z.string()),
1184
+ message: v4.z.optional(v4.z.string()),
1185
+ source: v4.z.optional(v4.z.enum(["website", "phone", "walk_in"]))
1186
+ });
1187
+
1188
+ const submitAreaBookingResponseSchema = v4.z.object({
1189
+ id: v4.z.string(),
1190
+ venueId: v4.z.string(),
1191
+ areaId: v4.z.string(),
1192
+ requestedDate: v4.z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
1193
+ requestedStartTime: v4.z.nullable(v4.z.string().regex(/^\d{2}:\d{2}(:\d{2})?$/)),
1194
+ requestedEndTime: v4.z.nullable(v4.z.string().regex(/^\d{2}:\d{2}(:\d{2})?$/)),
1195
+ partySize: v4.z.int().min(-9007199254740991).max(9007199254740991),
1196
+ customerFirstName: v4.z.string(),
1197
+ customerLastName: v4.z.string(),
1198
+ customerEmail: v4.z.string(),
1199
+ customerPhone: v4.z.nullable(v4.z.string()),
1200
+ message: v4.z.nullable(v4.z.string()),
1201
+ source: v4.z.enum(["website", "phone", "walk_in"]),
1202
+ status: v4.z.enum(["pending", "approved", "rejected", "cancelled"]),
1203
+ areaBookingId: v4.z.nullable(v4.z.string()),
1204
+ createdAt: v4.z.nullable(v4.z.string()),
1205
+ updatedAt: v4.z.nullable(v4.z.string())
1206
+ });
1207
+
1208
+ const submitTeamOrderRequestSchema = v4.z.object({
1209
+ publicId: v4.z.string().min(1),
1210
+ sessionId: v4.z.string().min(1)
1211
+ });
1212
+
1213
+ const submitTeamOrderResponseSchema = v4.z.object({
1214
+ teamOrderId: v4.z.uuid(),
1215
+ get status() {
1216
+ return deliveryAddressSchema.teamOrderStatusSchema;
1217
+ },
1218
+ capturedOrderIds: v4.z.array(v4.z.string()),
1219
+ cashPendingOrderIds: v4.z.array(v4.z.string()),
1220
+ droppedBasketIds: v4.z.array(v4.z.string()),
1221
+ placedAt: v4.z.iso.datetime()
1222
+ });
1223
+
1224
+ const subscribeRequestSchema = v4.z.object({
1225
+ email: v4.z.email(),
1226
+ firstName: v4.z.optional(v4.z.string()),
1227
+ lastName: v4.z.optional(v4.z.string()),
1228
+ sessionId: v4.z.optional(v4.z.string()),
1229
+ successUrl: v4.z.url(),
1230
+ cancelUrl: v4.z.url()
1231
+ });
1232
+
1233
+ const subscribeResponseSchema = v4.z.object({
1234
+ checkoutUrl: v4.z.nullable(v4.z.url()),
1235
+ sessionId: v4.z.string()
1236
+ });
1237
+
1238
+ const switchFulfillmentTeamOrderRequestSchema = v4.z.object({
1239
+ publicId: v4.z.string().min(1),
1240
+ sessionId: v4.z.string().min(1),
1241
+ get fulfillmentType() {
1242
+ return deliveryAddressSchema.fulfillmentTypeSchema;
1243
+ },
1244
+ get deliveryAddress() {
1245
+ return deliveryAddressSchema.deliveryAddressSchema.optional();
1246
+ }
1247
+ });
1248
+
1249
+ const switchFulfillmentTeamOrderResponseSchema = v4.z.object({
1250
+ teamOrderId: v4.z.uuid(),
1251
+ get status() {
1252
+ return deliveryAddressSchema.teamOrderStatusSchema;
1253
+ },
1254
+ get fulfillmentType() {
1255
+ return deliveryAddressSchema.fulfillmentTypeSchema;
1256
+ },
1257
+ deliveryAddressId: v4.z.nullable(v4.z.string())
1258
+ });
1259
+
1260
+ const updateDeliveryAddressTeamOrderRequestSchema = v4.z.object({
1261
+ publicId: v4.z.string().min(1),
1262
+ sessionId: v4.z.string().min(1),
1263
+ get deliveryAddress() {
1264
+ return deliveryAddressSchema.deliveryAddressSchema;
1265
+ }
1266
+ });
1267
+
1268
+ const updateDeliveryAddressTeamOrderResponseSchema = v4.z.object({
1269
+ teamOrderId: v4.z.uuid(),
1270
+ deliveryAddressId: v4.z.string()
1271
+ });
1272
+
1273
+ const uploadFeatureImageRequestSchema = v4.z.object({
1274
+ file: v4.z.any().describe("Image file (multipart/form-data field)")
1275
+ });
1276
+
72
1277
  const schemas = {
73
- Area,
74
- ListAreasResponse,
75
- GetAreaResponse,
76
- GetAreaAvailabilityResponse,
77
- SubmitAreaBookingRequest,
78
- SubmitAreaBookingResponse,
79
- includeDrafts,
80
- FeatureImage,
81
- Article,
82
- ListArticlesResponse,
83
- GetArticleResponse,
84
- PatchArticleRequest,
85
- PatchArticleResponse,
86
- UploadFeatureImageRequest,
87
- PatchFeatureImageRequest,
88
- AddToBasketRequest,
89
- AddToBasketResponse,
90
- RemoveFromBasketResponse,
91
- GetBasketTotalsRequest,
92
- GetBasketTotalsResponse,
93
- SetBasketDeclaredReturnsRequest,
94
- SetBasketDeclaredReturnsResponse,
95
- CreateEventRequest,
96
- CreateEventResponse,
97
- GetMenuResponse,
98
- ListMenuBundlesResponse,
99
- ListMenuSubscriptionsResponse,
100
- PlaceOrderRequest,
101
- PlaceOrderResponse,
102
- CreatePaymentIntentRequest,
103
- CreatePaymentIntentResponse,
104
- CreateDeltaPaymentIntentRequest,
105
- CreateDeltaPaymentIntentResponse,
106
- ReduceDeltaPaymentIntentRequest,
107
- ReduceDeltaPaymentIntentResponse,
108
- MakeReservationRequest,
109
- MakeReservationResponse,
110
- GetSubscriptionResponse,
111
- SubscribeRequest,
112
- SubscribeResponse,
113
- CancelSubscriptionRequest,
114
- CancelSubscriptionResponse,
115
- GetSubscriptionCreditsResponse,
116
- CreateTeamOrderRequest,
117
- CreateTeamOrderResponse,
118
- FetchTeamOrderResponse,
119
- JoinTeamOrderRequest,
120
- JoinTeamOrderResponse,
121
- SubmitTeamOrderRequest,
122
- SubmitTeamOrderResponse,
123
- CancelTeamOrderRequest,
124
- CancelTeamOrderResponse,
125
- ExtendDeadlineTeamOrderRequest,
126
- ExtendDeadlineTeamOrderResponse,
127
- SetFulfillmentAtTeamOrderRequest,
128
- SetFulfillmentAtTeamOrderResponse,
129
- SetDiningLocationTeamOrderRequest,
130
- SetDiningLocationTeamOrderResponse,
131
- SetDiningTimeTeamOrderRequest,
132
- SetDiningTimeTeamOrderResponse,
133
- postTeamOrdersPublicIdleadSettled_Body,
134
- postTeamOrdersPublicIdautoExtendFulfillmentIfExpired_Body,
135
- SwitchFulfillmentTeamOrderRequest,
136
- SwitchFulfillmentTeamOrderResponse,
137
- UpdateDeliveryAddressTeamOrderRequest,
138
- UpdateDeliveryAddressTeamOrderResponse,
139
- GetVenueResponse
1278
+ AddToBasketRequest: addToBasketRequestSchema,
1279
+ AddToBasketResponse: addToBasketResponseSchema,
1280
+ Area: areaSchema,
1281
+ ArticleMentionCounts: articleMentionCountsSchema,
1282
+ BasketTotals: basketTotalsSchema,
1283
+ CancelSubscriptionRequest: cancelSubscriptionRequestSchema,
1284
+ CancelSubscriptionResponse: cancelSubscriptionResponseSchema,
1285
+ CancelTeamOrderRequest: cancelTeamOrderRequestSchema,
1286
+ CancelTeamOrderResponse: cancelTeamOrderResponseSchema,
1287
+ ConfirmOrderRequest: confirmOrderRequestSchema,
1288
+ ConfirmOrderResponse: confirmOrderResponseSchema,
1289
+ CreateDeltaPaymentIntentRequest: createDeltaPaymentIntentRequestSchema,
1290
+ CreateDeltaPaymentIntentResponse: createDeltaPaymentIntentResponseSchema,
1291
+ CreateEventRequest: createEventRequestSchema,
1292
+ CreateEventResponse: createEventResponseSchema,
1293
+ CreatePaymentIntentRequest: createPaymentIntentRequestSchema,
1294
+ CreatePaymentIntentResponse: createPaymentIntentResponseSchema,
1295
+ CreateTeamOrderRequest: createTeamOrderRequestSchema,
1296
+ CreateTeamOrderResponse: createTeamOrderResponseSchema,
1297
+ DeliveryAddress: deliveryAddressSchema.deliveryAddressSchema,
1298
+ EditArticleRequest: editArticleRequestSchema,
1299
+ EditArticleResponse: editArticleResponseSchema,
1300
+ ExtendDeadlineTeamOrderRequest: extendDeadlineTeamOrderRequestSchema,
1301
+ ExtendDeadlineTeamOrderResponse: extendDeadlineTeamOrderResponseSchema,
1302
+ FeatureImage: featureImageSchema,
1303
+ FetchArticleResponse: fetchArticleResponseSchema,
1304
+ FetchArticlesResponse: fetchArticlesResponseSchema,
1305
+ FetchEventResponse: fetchEventResponseSchema,
1306
+ FetchEventsResponse: fetchEventsResponseSchema,
1307
+ FetchMenuBundlesResponse: fetchMenuBundlesResponseSchema,
1308
+ FetchMenuResponse: fetchMenuResponseSchema,
1309
+ FetchMenuSubscriptionsResponse: fetchMenuSubscriptionsResponseSchema,
1310
+ FetchTeamOrderResponse: fetchTeamOrderResponseSchema,
1311
+ FulfillmentType: deliveryAddressSchema.fulfillmentTypeSchema,
1312
+ GetAreaAvailabilityResponse: getAreaAvailabilityResponseSchema,
1313
+ GetAreaResponse: getAreaResponseSchema,
1314
+ GetBasketTotalsRequest: getBasketTotalsRequestSchema,
1315
+ GetBasketTotalsResponse: getBasketTotalsResponseSchema,
1316
+ GetSubscriptionCreditsResponse: getSubscriptionCreditsResponseSchema,
1317
+ GetSubscriptionResponse: getSubscriptionResponseSchema,
1318
+ GetVenueResponse: getVenueResponseSchema,
1319
+ JoinTeamOrderRequest: joinTeamOrderRequestSchema,
1320
+ JoinTeamOrderResponse: joinTeamOrderResponseSchema,
1321
+ ListAreasResponse: listAreasResponseSchema,
1322
+ MakeReservationRequest: makeReservationRequestSchema,
1323
+ MakeReservationResponse: makeReservationResponseSchema,
1324
+ OgImage: ogImageSchema,
1325
+ ParticipantStatus: deliveryAddressSchema.participantStatusSchema,
1326
+ PatchFeatureImageRequest: patchFeatureImageRequestSchema,
1327
+ PaymentMethod: deliveryAddressSchema.paymentMethodSchema,
1328
+ PlaceOrderRequest: placeOrderRequestSchema,
1329
+ PlaceOrderResponse: placeOrderResponseSchema,
1330
+ ReduceDeltaPaymentIntentRequest: reduceDeltaPaymentIntentRequestSchema,
1331
+ ReduceDeltaPaymentIntentResponse: reduceDeltaPaymentIntentResponseSchema,
1332
+ RemoveFromBasketResponse: removeFromBasketResponseSchema,
1333
+ SetBasketDeclaredReturnsRequest: setBasketDeclaredReturnsRequestSchema,
1334
+ SetBasketDeclaredReturnsResponse: setBasketDeclaredReturnsResponseSchema,
1335
+ SetDiningLocationTeamOrderRequest: setDiningLocationTeamOrderRequestSchema,
1336
+ SetDiningLocationTeamOrderResponse: setDiningLocationTeamOrderResponseSchema,
1337
+ SetDiningTimeTeamOrderRequest: setDiningTimeTeamOrderRequestSchema,
1338
+ SetDiningTimeTeamOrderResponse: setDiningTimeTeamOrderResponseSchema,
1339
+ SetFulfillmentAtTeamOrderRequest: setFulfillmentAtTeamOrderRequestSchema,
1340
+ SetFulfillmentAtTeamOrderResponse: setFulfillmentAtTeamOrderResponseSchema,
1341
+ SubmitAreaBookingRequest: submitAreaBookingRequestSchema,
1342
+ SubmitAreaBookingResponse: submitAreaBookingResponseSchema,
1343
+ SubmitTeamOrderRequest: submitTeamOrderRequestSchema,
1344
+ SubmitTeamOrderResponse: submitTeamOrderResponseSchema,
1345
+ SubscribeRequest: subscribeRequestSchema,
1346
+ SubscribeResponse: subscribeResponseSchema,
1347
+ SwitchFulfillmentTeamOrderRequest: switchFulfillmentTeamOrderRequestSchema,
1348
+ SwitchFulfillmentTeamOrderResponse: switchFulfillmentTeamOrderResponseSchema,
1349
+ TeamOrderStatus: deliveryAddressSchema.teamOrderStatusSchema,
1350
+ UpdateDeliveryAddressTeamOrderRequest: updateDeliveryAddressTeamOrderRequestSchema,
1351
+ UpdateDeliveryAddressTeamOrderResponse: updateDeliveryAddressTeamOrderResponseSchema,
1352
+ UploadFeatureImageRequest: uploadFeatureImageRequestSchema
140
1353
  };
141
1354
 
142
1355
  exports.schemas = schemas;