@feedmepos/mf-order-setting 0.0.91 → 0.0.92

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.
Files changed (75) hide show
  1. package/dist/{DisplaySystemView-n7Kqdw-h.js → DisplaySystemView-DZS7EVfk.js} +1 -1
  2. package/dist/{KioskDevicesView-Bz6seroM.js → KioskDevicesView-d2WLB0-w.js} +1 -1
  3. package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-I39sE8Pe.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-rs-hNWUW.js} +3 -3
  4. package/dist/{KioskSettingView-Cajjh4Zm.js → KioskSettingView-DFE3_u5c.js} +3 -3
  5. package/dist/{KioskView-BPSbsMi5.js → KioskView-C3Pi3lWW.js} +5 -5
  6. package/dist/{OrderSettingsView-jPxZ3JDM.js → OrderSettingsView-Dxg9RjSd.js} +26999 -25299
  7. package/dist/{app-DIhv5ssA.js → app-BFlQtcsd.js} +3253 -3062
  8. package/dist/app.js +1 -1
  9. package/dist/common/order-platform/index.d.ts +20 -0
  10. package/dist/frontend/mf-order/src/api/reservation/index.d.ts +8 -0
  11. package/dist/frontend/mf-order/src/app.d.ts +84 -0
  12. package/dist/frontend/mf-order/src/main.d.ts +84 -0
  13. package/dist/frontend/mf-order/src/stores/order-setting/index.d.ts +3 -3
  14. package/dist/frontend/mf-order/src/stores/restaurant/index.d.ts +3 -0
  15. package/dist/frontend/mf-order/src/views/order-settings/reservation/CopySettingsSheet.vue.d.ts +186 -0
  16. package/dist/frontend/mf-order/src/views/order-settings/reservation/CustomTimePicker.vue.d.ts +11 -0
  17. package/dist/frontend/mf-order/src/views/order-settings/reservation/ReservationSetting.vue.d.ts +2 -0
  18. package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
  19. package/dist/{index-vaSLX6r3.js → index-ByiTrmdq.js} +2 -2
  20. package/dist/{index-Clp_YRJ2.js → index-CaO7aaaT.js} +1 -1
  21. package/dist/{index-CmqNrkNl.js → index-s2kWGMtz.js} +1 -1
  22. package/dist/order.dto-C829lA69.js +41528 -0
  23. package/dist/package/entity/delivery/delivery.dto.d.ts +7 -0
  24. package/dist/package/entity/food-court/food-court.dto.d.ts +315 -264
  25. package/dist/package/entity/food-court/order-v2.do.d.ts +231 -0
  26. package/dist/package/entity/food-court/order-v2.do.spec.d.ts +1 -0
  27. package/dist/package/entity/incoming-order/incoming-order-to-bill.dto.d.ts +15 -6
  28. package/dist/package/entity/index.d.ts +7 -0
  29. package/dist/package/entity/index.frontend.d.ts +2 -0
  30. package/dist/package/entity/member/member.dto.d.ts +2 -2
  31. package/dist/package/entity/order/dine-in/dine-in.do.d.ts +44 -9
  32. package/dist/package/entity/order/dine-in/dine-in.dto.d.ts +17 -3
  33. package/dist/package/entity/order/menu/menu.dto.d.ts +33 -3
  34. package/dist/package/entity/order/order-item/order-item.dto.d.ts +18 -18
  35. package/dist/package/entity/order/order.do.d.ts +87 -12
  36. package/dist/package/entity/order/order.dto.d.ts +762 -358
  37. package/dist/package/entity/order/order.enum.d.ts +1 -1
  38. package/dist/package/entity/order-platform/foodpanda/foodpanda-order.dto.d.ts +7 -0
  39. package/dist/package/entity/order-platform/grabfood/grabfood-order.do.d.ts +7 -0
  40. package/dist/package/entity/order-platform/menu.dto.d.ts +10 -10
  41. package/dist/package/entity/order-platform/order-platform.dto.d.ts +92 -0
  42. package/dist/package/entity/order-platform/shopeefood/shopeefood-order.do.d.ts +7 -0
  43. package/dist/package/entity/order-platform/tng/tng-menu.do.d.ts +6 -6
  44. package/dist/package/entity/order-setting/order-setting.do.d.ts +866 -5
  45. package/dist/package/entity/order-setting/order-setting.dto.d.ts +10 -10
  46. package/dist/package/entity/order-setting/reservationV2/reservation.do.d.ts +1269 -0
  47. package/dist/package/entity/order-setting/sms/sms.do.d.ts +3 -3
  48. package/dist/package/entity/order-setting/sms/sms.dto.d.ts +3 -3
  49. package/dist/package/entity/queue/queue.dto.d.ts +175 -121
  50. package/dist/package/entity/reservation/reservation-pos.do.d.ts +222 -0
  51. package/dist/package/entity/reservation/reservation.do.d.ts +205 -0
  52. package/dist/package/entity/reservation/reservation.dto.d.ts +428 -0
  53. package/dist/package/entity/reservation/reservation.enum.d.ts +3 -0
  54. package/dist/package/entity/reservation/reservation.utils.d.ts +152 -0
  55. package/dist/package/entity/restaurant/restaurant.dto.d.ts +39 -24
  56. package/dist/package/entity/user/user.do.d.ts +2 -2
  57. package/dist/package/entity/websocket/websocket.dto.d.ts +161 -21
  58. package/dist/package/entity/websocket/websocket.enum.d.ts +1 -1
  59. package/dist/style.css +1 -1
  60. package/package.json +2 -2
  61. package/src/api/reservation/index.ts +25 -0
  62. package/src/assets/images/not-found.png +0 -0
  63. package/src/locales/en-US.json +21 -0
  64. package/src/locales/ja-JP.json +21 -0
  65. package/src/locales/th-TH.json +21 -0
  66. package/src/locales/zh-CN.json +21 -0
  67. package/src/views/order-settings/OrderSettingsView.vue +9 -2
  68. package/src/views/order-settings/delivery/delivery.spec.ts +21 -0
  69. package/src/views/order-settings/delivery/delivery.ts +2 -51
  70. package/src/views/order-settings/dine-in/DineInSetting.vue +11 -1
  71. package/src/views/order-settings/reservation/CopySettingsSheet.vue +256 -0
  72. package/src/views/order-settings/reservation/CustomTimePicker.vue +311 -0
  73. package/src/views/order-settings/reservation/ReservationSetting.vue +1549 -0
  74. package/vitest.config.ts +2 -1
  75. package/dist/order.dto-DV1qL3Q_.js +0 -40301
@@ -0,0 +1,222 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * pos-v8's local mirror of one backend reservation, stored in the restaurant
4
+ * CouchDB as `reservation_<reservation._id>`. reservation-backend stays the
5
+ * source of truth; Main POS is the only writer of these documents (poll + Ably
6
+ * upsert, purge outside the list window), so a Sub POS can read them later.
7
+ */
8
+ export declare const FdoPosReservation: z.ZodObject<{
9
+ /** Couch document id, `reservation_<reservation._id>` */
10
+ _id: z.ZodString;
11
+ reservation: z.ZodObject<{
12
+ _id: z.ZodEffects<z.ZodString, string, string>;
13
+ status: z.ZodEnum<["DRAFT", "CONFIRMED", "CANCELLED", "SEATED", "NO_SHOW"]>;
14
+ restaurant: z.ZodEffects<z.ZodString, string, string>;
15
+ capacityTierId: z.ZodString;
16
+ rangeId: z.ZodString;
17
+ startDate: z.ZodEffects<z.ZodString, string, string>;
18
+ endDate: z.ZodEffects<z.ZodString, string, string>;
19
+ pax: z.ZodNumber;
20
+ userName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
21
+ userPhone: z.ZodNullable<z.ZodOptional<z.ZodString>>;
22
+ userEmail: z.ZodNullable<z.ZodOptional<z.ZodString>>;
23
+ userId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
24
+ slotNumber: z.ZodNullable<z.ZodOptional<z.ZodString>>;
25
+ slotLockedAt: z.ZodNullable<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
26
+ customerRemarks: z.ZodNullable<z.ZodOptional<z.ZodString>>;
27
+ guestPreferences: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
28
+ name: z.ZodString;
29
+ value: z.ZodArray<z.ZodString, "many">;
30
+ }, "strip", z.ZodTypeAny, {
31
+ name: string;
32
+ value: string[];
33
+ }, {
34
+ name: string;
35
+ value: string[];
36
+ }>, "many">>>;
37
+ reservedUntil: z.ZodEffects<z.ZodString, string, string>;
38
+ orderId: z.ZodNullable<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
39
+ staffRemarks: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
40
+ text: z.ZodString;
41
+ authorName: z.ZodString;
42
+ createdAt: z.ZodEffects<z.ZodString, string, string>;
43
+ }, "strip", z.ZodTypeAny, {
44
+ text: string;
45
+ createdAt: string;
46
+ authorName: string;
47
+ }, {
48
+ text: string;
49
+ createdAt: string;
50
+ authorName: string;
51
+ }>, "many">>>;
52
+ createdAt: z.ZodNullable<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
53
+ createdBy: z.ZodNullable<z.ZodOptional<z.ZodString>>;
54
+ confirmedAt: z.ZodNullable<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
55
+ confirmedBy: z.ZodNullable<z.ZodOptional<z.ZodString>>;
56
+ seatedAt: z.ZodNullable<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
57
+ seatedBy: z.ZodNullable<z.ZodOptional<z.ZodString>>;
58
+ cancelledAt: z.ZodNullable<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
59
+ cancelledBy: z.ZodNullable<z.ZodOptional<z.ZodString>>;
60
+ noShowAt: z.ZodNullable<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
61
+ noShowBy: z.ZodNullable<z.ZodOptional<z.ZodString>>;
62
+ }, "strip", z.ZodTypeAny, {
63
+ orderId?: string | null | undefined;
64
+ createdAt?: string | null | undefined;
65
+ createdBy?: string | null | undefined;
66
+ userId?: string | null | undefined;
67
+ userName?: string | null | undefined;
68
+ guestPreferences?: {
69
+ name: string;
70
+ value: string[];
71
+ }[] | null | undefined;
72
+ userPhone?: string | null | undefined;
73
+ userEmail?: string | null | undefined;
74
+ slotNumber?: string | null | undefined;
75
+ slotLockedAt?: string | null | undefined;
76
+ customerRemarks?: string | null | undefined;
77
+ staffRemarks?: {
78
+ text: string;
79
+ createdAt: string;
80
+ authorName: string;
81
+ }[] | null | undefined;
82
+ confirmedAt?: string | null | undefined;
83
+ confirmedBy?: string | null | undefined;
84
+ seatedAt?: string | null | undefined;
85
+ seatedBy?: string | null | undefined;
86
+ cancelledAt?: string | null | undefined;
87
+ cancelledBy?: string | null | undefined;
88
+ noShowAt?: string | null | undefined;
89
+ noShowBy?: string | null | undefined;
90
+ status: "CANCELLED" | "DRAFT" | "CONFIRMED" | "SEATED" | "NO_SHOW";
91
+ restaurant: string;
92
+ _id: string;
93
+ pax: number;
94
+ startDate: string;
95
+ endDate: string;
96
+ reservedUntil: string;
97
+ capacityTierId: string;
98
+ rangeId: string;
99
+ }, {
100
+ orderId?: string | null | undefined;
101
+ createdAt?: string | null | undefined;
102
+ createdBy?: string | null | undefined;
103
+ userId?: string | null | undefined;
104
+ userName?: string | null | undefined;
105
+ guestPreferences?: {
106
+ name: string;
107
+ value: string[];
108
+ }[] | null | undefined;
109
+ userPhone?: string | null | undefined;
110
+ userEmail?: string | null | undefined;
111
+ slotNumber?: string | null | undefined;
112
+ slotLockedAt?: string | null | undefined;
113
+ customerRemarks?: string | null | undefined;
114
+ staffRemarks?: {
115
+ text: string;
116
+ createdAt: string;
117
+ authorName: string;
118
+ }[] | null | undefined;
119
+ confirmedAt?: string | null | undefined;
120
+ confirmedBy?: string | null | undefined;
121
+ seatedAt?: string | null | undefined;
122
+ seatedBy?: string | null | undefined;
123
+ cancelledAt?: string | null | undefined;
124
+ cancelledBy?: string | null | undefined;
125
+ noShowAt?: string | null | undefined;
126
+ noShowBy?: string | null | undefined;
127
+ status: "CANCELLED" | "DRAFT" | "CONFIRMED" | "SEATED" | "NO_SHOW";
128
+ restaurant: string;
129
+ _id: string;
130
+ pax: number;
131
+ startDate: string;
132
+ endDate: string;
133
+ reservedUntil: string;
134
+ capacityTierId: string;
135
+ rangeId: string;
136
+ }>;
137
+ /** When Main POS last wrote this mirror from the backend */
138
+ syncedAt: z.ZodEffects<z.ZodString, string, string>;
139
+ }, "strip", z.ZodTypeAny, {
140
+ _id: string;
141
+ reservation: {
142
+ orderId?: string | null | undefined;
143
+ createdAt?: string | null | undefined;
144
+ createdBy?: string | null | undefined;
145
+ userId?: string | null | undefined;
146
+ userName?: string | null | undefined;
147
+ guestPreferences?: {
148
+ name: string;
149
+ value: string[];
150
+ }[] | null | undefined;
151
+ userPhone?: string | null | undefined;
152
+ userEmail?: string | null | undefined;
153
+ slotNumber?: string | null | undefined;
154
+ slotLockedAt?: string | null | undefined;
155
+ customerRemarks?: string | null | undefined;
156
+ staffRemarks?: {
157
+ text: string;
158
+ createdAt: string;
159
+ authorName: string;
160
+ }[] | null | undefined;
161
+ confirmedAt?: string | null | undefined;
162
+ confirmedBy?: string | null | undefined;
163
+ seatedAt?: string | null | undefined;
164
+ seatedBy?: string | null | undefined;
165
+ cancelledAt?: string | null | undefined;
166
+ cancelledBy?: string | null | undefined;
167
+ noShowAt?: string | null | undefined;
168
+ noShowBy?: string | null | undefined;
169
+ status: "CANCELLED" | "DRAFT" | "CONFIRMED" | "SEATED" | "NO_SHOW";
170
+ restaurant: string;
171
+ _id: string;
172
+ pax: number;
173
+ startDate: string;
174
+ endDate: string;
175
+ reservedUntil: string;
176
+ capacityTierId: string;
177
+ rangeId: string;
178
+ };
179
+ syncedAt: string;
180
+ }, {
181
+ _id: string;
182
+ reservation: {
183
+ orderId?: string | null | undefined;
184
+ createdAt?: string | null | undefined;
185
+ createdBy?: string | null | undefined;
186
+ userId?: string | null | undefined;
187
+ userName?: string | null | undefined;
188
+ guestPreferences?: {
189
+ name: string;
190
+ value: string[];
191
+ }[] | null | undefined;
192
+ userPhone?: string | null | undefined;
193
+ userEmail?: string | null | undefined;
194
+ slotNumber?: string | null | undefined;
195
+ slotLockedAt?: string | null | undefined;
196
+ customerRemarks?: string | null | undefined;
197
+ staffRemarks?: {
198
+ text: string;
199
+ createdAt: string;
200
+ authorName: string;
201
+ }[] | null | undefined;
202
+ confirmedAt?: string | null | undefined;
203
+ confirmedBy?: string | null | undefined;
204
+ seatedAt?: string | null | undefined;
205
+ seatedBy?: string | null | undefined;
206
+ cancelledAt?: string | null | undefined;
207
+ cancelledBy?: string | null | undefined;
208
+ noShowAt?: string | null | undefined;
209
+ noShowBy?: string | null | undefined;
210
+ status: "CANCELLED" | "DRAFT" | "CONFIRMED" | "SEATED" | "NO_SHOW";
211
+ restaurant: string;
212
+ _id: string;
213
+ pax: number;
214
+ startDate: string;
215
+ endDate: string;
216
+ reservedUntil: string;
217
+ capacityTierId: string;
218
+ rangeId: string;
219
+ };
220
+ syncedAt: string;
221
+ }>;
222
+ export type FdoPosReservation = z.infer<typeof FdoPosReservation>;
@@ -0,0 +1,205 @@
1
+ import { z } from 'zod';
2
+ /** Guest preference value - supports text, single select (radio), and multi select (checkbox) */
3
+ export declare const FdoGuestPreferenceValue: z.ZodObject<{
4
+ /** The preference name (matches FdoReservationPreference.name) */
5
+ name: z.ZodString;
6
+ /** The customer's selection - string for text/radio, array for checkbox */
7
+ value: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ name: string;
10
+ value: string | string[];
11
+ }, {
12
+ name: string;
13
+ value: string | string[];
14
+ }>;
15
+ export type FdoGuestPreferenceValue = z.infer<typeof FdoGuestPreferenceValue>;
16
+ /** Maximum number of staff remarks kept on one reservation. */
17
+ export declare const RESERVATION_STAFF_REMARK_LIMIT = 30;
18
+ /** Maximum length of one staff remark. */
19
+ export declare const RESERVATION_STAFF_REMARK_MAX_LENGTH = 300;
20
+ /** Actor recorded on `…By` fields for status changes made by the backend cron. */
21
+ export declare const RESERVATION_ACTOR_SYSTEM = "system";
22
+ /** Actor recorded on `…By` fields for status changes made by the customer. */
23
+ export declare const RESERVATION_ACTOR_CUSTOMER = "customer";
24
+ /**
25
+ * One entry of the staff remarks thread shown in the POS reservation detail.
26
+ * Append-only; the customer's own booking note stays in `customerRemarks`.
27
+ */
28
+ export declare const FdoReservationStaffRemark: z.ZodObject<{
29
+ text: z.ZodString;
30
+ /** Name of the POS employee who wrote it, as asserted by the POS */
31
+ authorName: z.ZodString;
32
+ createdAt: z.ZodEffects<z.ZodString, string, string>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ text: string;
35
+ createdAt: string;
36
+ authorName: string;
37
+ }, {
38
+ text: string;
39
+ createdAt: string;
40
+ authorName: string;
41
+ }>;
42
+ export type FdoReservationStaffRemark = z.infer<typeof FdoReservationStaffRemark>;
43
+ export declare const FdoRestaurantReservation: z.ZodObject<{
44
+ _id: z.ZodEffects<z.ZodString, string, string>;
45
+ status: z.ZodEnum<["DRAFT", "CONFIRMED", "CANCELLED", "SEATED", "NO_SHOW"]>;
46
+ /** * The timestamp until which this slot is held/blocked for the user.
47
+ * If the current time > reservedUntil and status is DRAFT,
48
+ * the inventory is released back to the public.
49
+ */
50
+ reservedUntil: z.ZodEffects<z.ZodString, string, string>;
51
+ /** Restaurant _id */
52
+ restaurant: z.ZodEffects<z.ZodString, string, string>;
53
+ /** The capacity tier ID - the actual inventory unit being booked */
54
+ capacityTierId: z.ZodString;
55
+ /** The range ID - the zone/area this reservation belongs to */
56
+ rangeId: z.ZodString;
57
+ orderId: z.ZodNullable<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
58
+ /** Pax */
59
+ pax: z.ZodNumber;
60
+ startDate: z.ZodEffects<z.ZodString, string, string>;
61
+ endDate: z.ZodEffects<z.ZodString, string, string>;
62
+ userName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
63
+ /** User phone and email can be null if created by POS */
64
+ userPhone: z.ZodNullable<z.ZodOptional<z.ZodString>>;
65
+ userEmail: z.ZodNullable<z.ZodOptional<z.ZodString>>;
66
+ /** User _id that created the reservation, can be null if created by POS */
67
+ userId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
68
+ /** POS assigned slot number */
69
+ slotNumber: z.ZodNullable<z.ZodOptional<z.ZodString>>;
70
+ /** POS table lock timestamp. Null means unlocked. */
71
+ slotLockedAt: z.ZodNullable<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
72
+ /** Customer remarks, can be preset/custom */
73
+ customerRemarks: z.ZodNullable<z.ZodOptional<z.ZodString>>;
74
+ /** Guest preferences - customer's selections from range preferences */
75
+ guestPreferences: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
76
+ /** The preference name (matches FdoReservationPreference.name) */
77
+ name: z.ZodString;
78
+ /** The customer's selection - string for text/radio, array for checkbox */
79
+ value: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
80
+ }, "strip", z.ZodTypeAny, {
81
+ name: string;
82
+ value: string | string[];
83
+ }, {
84
+ name: string;
85
+ value: string | string[];
86
+ }>, "many">>>;
87
+ /**
88
+ * Staff remarks thread (POS). Bounded to RESERVATION_STAFF_REMARK_LIMIT
89
+ * entries; only written through `POST /pos/reservation/:id/remarks`.
90
+ */
91
+ staffRemarks: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
92
+ text: z.ZodString;
93
+ /** Name of the POS employee who wrote it, as asserted by the POS */
94
+ authorName: z.ZodString;
95
+ createdAt: z.ZodEffects<z.ZodString, string, string>;
96
+ }, "strip", z.ZodTypeAny, {
97
+ text: string;
98
+ createdAt: string;
99
+ authorName: string;
100
+ }, {
101
+ text: string;
102
+ createdAt: string;
103
+ authorName: string;
104
+ }>, "many">>>;
105
+ /** When the reservation document was created. Absent on documents created before 2026-10. */
106
+ createdAt: z.ZodNullable<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
107
+ /** Who created it: the POS employee name, or "customer" for an online booking. */
108
+ createdBy: z.ZodNullable<z.ZodOptional<z.ZodString>>;
109
+ /**
110
+ * Status timestamps and actors, used by the POS Activity tab. Each is set
111
+ * by the backend at the transition. `…By` is the POS employee name,
112
+ * RESERVATION_ACTOR_CUSTOMER or RESERVATION_ACTOR_SYSTEM.
113
+ */
114
+ confirmedAt: z.ZodNullable<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
115
+ confirmedBy: z.ZodNullable<z.ZodOptional<z.ZodString>>;
116
+ seatedAt: z.ZodNullable<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
117
+ seatedBy: z.ZodNullable<z.ZodOptional<z.ZodString>>;
118
+ cancelledAt: z.ZodNullable<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
119
+ cancelledBy: z.ZodNullable<z.ZodOptional<z.ZodString>>;
120
+ noShowAt: z.ZodNullable<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
121
+ noShowBy: z.ZodNullable<z.ZodOptional<z.ZodString>>;
122
+ /**
123
+ * Seat lock: set while a Start Ordering request is creating the order, so
124
+ * a second terminal's concurrent request is rejected. Cleared on success
125
+ * or failure; a stale lock older than the seat-lock TTL is ignored.
126
+ */
127
+ seatingAt: z.ZodNullable<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
128
+ }, "strip", z.ZodTypeAny, {
129
+ orderId?: string | null | undefined;
130
+ createdAt?: string | null | undefined;
131
+ createdBy?: string | null | undefined;
132
+ userId?: string | null | undefined;
133
+ userName?: string | null | undefined;
134
+ guestPreferences?: {
135
+ name: string;
136
+ value: string | string[];
137
+ }[] | null | undefined;
138
+ userPhone?: string | null | undefined;
139
+ userEmail?: string | null | undefined;
140
+ slotNumber?: string | null | undefined;
141
+ slotLockedAt?: string | null | undefined;
142
+ customerRemarks?: string | null | undefined;
143
+ staffRemarks?: {
144
+ text: string;
145
+ createdAt: string;
146
+ authorName: string;
147
+ }[] | null | undefined;
148
+ confirmedAt?: string | null | undefined;
149
+ confirmedBy?: string | null | undefined;
150
+ seatedAt?: string | null | undefined;
151
+ seatedBy?: string | null | undefined;
152
+ cancelledAt?: string | null | undefined;
153
+ cancelledBy?: string | null | undefined;
154
+ noShowAt?: string | null | undefined;
155
+ noShowBy?: string | null | undefined;
156
+ seatingAt?: string | null | undefined;
157
+ status: "CANCELLED" | "DRAFT" | "CONFIRMED" | "SEATED" | "NO_SHOW";
158
+ restaurant: string;
159
+ _id: string;
160
+ pax: number;
161
+ startDate: string;
162
+ endDate: string;
163
+ reservedUntil: string;
164
+ capacityTierId: string;
165
+ rangeId: string;
166
+ }, {
167
+ orderId?: string | null | undefined;
168
+ createdAt?: string | null | undefined;
169
+ createdBy?: string | null | undefined;
170
+ userId?: string | null | undefined;
171
+ userName?: string | null | undefined;
172
+ guestPreferences?: {
173
+ name: string;
174
+ value: string | string[];
175
+ }[] | null | undefined;
176
+ userPhone?: string | null | undefined;
177
+ userEmail?: string | null | undefined;
178
+ slotNumber?: string | null | undefined;
179
+ slotLockedAt?: string | null | undefined;
180
+ customerRemarks?: string | null | undefined;
181
+ staffRemarks?: {
182
+ text: string;
183
+ createdAt: string;
184
+ authorName: string;
185
+ }[] | null | undefined;
186
+ confirmedAt?: string | null | undefined;
187
+ confirmedBy?: string | null | undefined;
188
+ seatedAt?: string | null | undefined;
189
+ seatedBy?: string | null | undefined;
190
+ cancelledAt?: string | null | undefined;
191
+ cancelledBy?: string | null | undefined;
192
+ noShowAt?: string | null | undefined;
193
+ noShowBy?: string | null | undefined;
194
+ seatingAt?: string | null | undefined;
195
+ status: "CANCELLED" | "DRAFT" | "CONFIRMED" | "SEATED" | "NO_SHOW";
196
+ restaurant: string;
197
+ _id: string;
198
+ pax: number;
199
+ startDate: string;
200
+ endDate: string;
201
+ reservedUntil: string;
202
+ capacityTierId: string;
203
+ rangeId: string;
204
+ }>;
205
+ export type FdoRestaurantReservation = z.infer<typeof FdoRestaurantReservation>;