@ingenx-io/valets-schema-mcp-server 0.1.0 → 0.1.2
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/README.md +65 -0
- package/data/docs/collections/firestore-paths.md +48 -0
- package/data/docs/decisions/migrations.md +56 -0
- package/data/docs/decisions/summary.md +78 -0
- package/data/docs/enums/booking-status.md +26 -0
- package/data/docs/enums/customer-payment-status.md +26 -0
- package/data/docs/enums/customer-payment-target-type.md +23 -0
- package/data/docs/enums/delivery-type.md +23 -0
- package/data/docs/enums/event-status.md +30 -0
- package/data/docs/enums/fulfillment-status.md +32 -0
- package/data/docs/enums/loyalty-transaction-type.md +32 -0
- package/data/docs/enums/order-status.md +65 -0
- package/data/docs/enums/payment-method.md +36 -0
- package/data/docs/enums/payment-proof-status.md +23 -0
- package/data/docs/enums/payment-status.md +34 -0
- package/data/docs/enums/return-status.md +32 -0
- package/data/docs/enums/session-status.md +32 -0
- package/data/docs/enums/ticket-status.md +29 -0
- package/data/docs/index.md +95 -0
- package/data/docs/models/booking-version.md +295 -0
- package/data/docs/models/booking.md +1754 -0
- package/data/docs/models/customer-payment-allocation.md +336 -0
- package/data/docs/models/customer-payment.md +392 -0
- package/data/docs/models/customer.md +475 -0
- package/data/docs/models/event.md +386 -0
- package/data/docs/models/loyalty-config.md +317 -0
- package/data/docs/models/loyalty-reward.md +236 -0
- package/data/docs/models/loyalty-status.md +328 -0
- package/data/docs/models/loyalty-transaction.md +326 -0
- package/data/docs/models/metrics-current.md +532 -0
- package/data/docs/models/metrics-daily.md +548 -0
- package/data/docs/models/metrics-monthly.md +548 -0
- package/data/docs/models/order-item.md +361 -0
- package/data/docs/models/order.md +1637 -0
- package/data/docs/models/sale.md +540 -0
- package/data/docs/models/ticket.md +405 -0
- package/data/docs/triggers/event-ticket-triggers.md +204 -0
- package/data/docs/triggers/loyalty-automation.md +123 -0
- package/data/static/decisions.json +966 -0
- package/data/static/llms.txt +1046 -0
- package/data/static/openapi.yaml +3090 -0
- package/data/static/schemas.json +4012 -0
- package/package.json +1 -1
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "OrderItem"
|
|
3
|
+
sidebar_label: "OrderItem"
|
|
4
|
+
sidebar_position: 15
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# OrderItem
|
|
8
|
+
|
|
9
|
+
<details>
|
|
10
|
+
<summary>Example JSON</summary>
|
|
11
|
+
|
|
12
|
+
```json
|
|
13
|
+
{
|
|
14
|
+
"name": "Shea Butter Body Lotion",
|
|
15
|
+
"quantity": 3,
|
|
16
|
+
"price": 15000,
|
|
17
|
+
"productId": null,
|
|
18
|
+
"increment": null,
|
|
19
|
+
"variantId": null,
|
|
20
|
+
"supplierId": null,
|
|
21
|
+
"supplierName": null,
|
|
22
|
+
"sentAt": "sentAt",
|
|
23
|
+
"startedCookingAt": "startedCookingAt",
|
|
24
|
+
"readyAt": "readyAt",
|
|
25
|
+
"servedAt": "servedAt"
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
</details>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
- [1. Property `name`](#name)
|
|
33
|
+
- [2. Property `quantity`](#quantity)
|
|
34
|
+
- [3. Property `price`](#price)
|
|
35
|
+
- [4. Property `productId`](#productId)
|
|
36
|
+
- [5. Property `increment`](#increment)
|
|
37
|
+
- [6. Property `variantId`](#variantId)
|
|
38
|
+
- [7. Property `supplierId`](#supplierId)
|
|
39
|
+
- [8. Property `supplierName`](#supplierName)
|
|
40
|
+
- [9. Property `sentAt`](#sentAt)
|
|
41
|
+
- [9.1. Property `firestore-timestamp`](#sentAt_anyOf_i0)
|
|
42
|
+
- [9.1.1. Property `_seconds`](#sentAt_anyOf_i0__seconds)
|
|
43
|
+
- [9.1.2. Property `_nanoseconds`](#sentAt_anyOf_i0__nanoseconds)
|
|
44
|
+
- [9.2. Property `item 1`](#sentAt_anyOf_i1)
|
|
45
|
+
- [10. Property `startedCookingAt`](#startedCookingAt)
|
|
46
|
+
- [10.1. Property `firestore-timestamp`](#startedCookingAt_anyOf_i0)
|
|
47
|
+
- [10.2. Property `item 1`](#startedCookingAt_anyOf_i1)
|
|
48
|
+
- [11. Property `readyAt`](#readyAt)
|
|
49
|
+
- [11.1. Property `firestore-timestamp`](#readyAt_anyOf_i0)
|
|
50
|
+
- [11.2. Property `item 1`](#readyAt_anyOf_i1)
|
|
51
|
+
- [12. Property `servedAt`](#servedAt)
|
|
52
|
+
- [12.1. Property `firestore-timestamp`](#servedAt_anyOf_i0)
|
|
53
|
+
- [12.2. Property `item 1`](#servedAt_anyOf_i1)
|
|
54
|
+
|
|
55
|
+
| | |
|
|
56
|
+
| ------------------------- | ------------------------ |
|
|
57
|
+
| **Type** | `object` |
|
|
58
|
+
| **Required** | No |
|
|
59
|
+
| **Additional properties** | Not allowed |
|
|
60
|
+
| **Defined in** | #/definitions/order-item |
|
|
61
|
+
|
|
62
|
+
**Description:** Line item within an Order or Sale/Purchase. Canonical fields: name, quantity, price, productId. Optional commerce fields (increment, variantId, supplierId, supplierName) and kitchen tracking fields (sentAt, startedCookingAt, readyAt, servedAt) are TBD/WIP pending cross-platform alignment.
|
|
63
|
+
|
|
64
|
+
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|
|
65
|
+
| ---------------------------------------- | ------- | -------------- | ---------- | ---------- | ------------------------------------------------------------------------------------------------- |
|
|
66
|
+
| + [name](#name ) | No | string | No | - | Display name of the product or service. |
|
|
67
|
+
| + [quantity](#quantity ) | No | number | No | - | Number of units ordered. |
|
|
68
|
+
| + [price](#price ) | No | number | No | - | Unit price. Canonical name per D11. |
|
|
69
|
+
| - [productId](#productId ) | No | string or null | No | - | FK → Product document ID. |
|
|
70
|
+
| - [increment](#increment ) | No | number or null | No | - | Quantity step for bundle/bulk items (e.g. 5 for a 5-pack). Dashboard/Firebase only. |
|
|
71
|
+
| - [variantId](#variantId ) | No | string or null | No | - | FK → ProductVariant ID within the product. Dashboard/Firebase only. |
|
|
72
|
+
| - [supplierId](#supplierId ) | No | string or null | No | - | FK → Supplier document ID. B2B orders only. |
|
|
73
|
+
| - [supplierName](#supplierName ) | No | string or null | No | - | (Denormalized) From Supplier.name at write time. B2B orders only. |
|
|
74
|
+
| - [sentAt](#sentAt ) | No | Combination | No | - | (Read-only) Timestamp when the item was sent to the kitchen. TBD/WIP — archived CBL flow. |
|
|
75
|
+
| - [startedCookingAt](#startedCookingAt ) | No | Combination | No | - | (Read-only) Timestamp when the kitchen started preparing this item. TBD/WIP — archived CBL flow. |
|
|
76
|
+
| - [readyAt](#readyAt ) | No | Combination | No | - | (Read-only) Timestamp when the item was ready for pickup or service. TBD/WIP — archived CBL flow. |
|
|
77
|
+
| - [servedAt](#servedAt ) | No | Combination | No | - | (Read-only) Timestamp when the item was served to the customer. TBD/WIP — archived CBL flow. |
|
|
78
|
+
|
|
79
|
+
## <a name="name"></a>1. Property `name`
|
|
80
|
+
|
|
81
|
+
| | |
|
|
82
|
+
| ------------ | -------- |
|
|
83
|
+
| **Type** | `string` |
|
|
84
|
+
| **Required** | Yes |
|
|
85
|
+
|
|
86
|
+
**Description:** Display name of the product or service.
|
|
87
|
+
|
|
88
|
+
## <a name="quantity"></a>2. Property `quantity`
|
|
89
|
+
|
|
90
|
+
| | |
|
|
91
|
+
| ------------ | -------- |
|
|
92
|
+
| **Type** | `number` |
|
|
93
|
+
| **Required** | Yes |
|
|
94
|
+
|
|
95
|
+
**Description:** Number of units ordered.
|
|
96
|
+
|
|
97
|
+
## <a name="price"></a>3. Property `price`
|
|
98
|
+
|
|
99
|
+
| | |
|
|
100
|
+
| ------------ | -------- |
|
|
101
|
+
| **Type** | `number` |
|
|
102
|
+
| **Required** | Yes |
|
|
103
|
+
|
|
104
|
+
**Description:** Unit price. Canonical name per D11.
|
|
105
|
+
|
|
106
|
+
## <a name="productId"></a>4. Property `productId`
|
|
107
|
+
|
|
108
|
+
| | |
|
|
109
|
+
| ------------ | ---------------- |
|
|
110
|
+
| **Type** | `string or null` |
|
|
111
|
+
| **Required** | No |
|
|
112
|
+
|
|
113
|
+
**Description:** FK → Product document ID.
|
|
114
|
+
|
|
115
|
+
## <a name="increment"></a>5. Property `increment`
|
|
116
|
+
|
|
117
|
+
| | |
|
|
118
|
+
| ------------ | ---------------- |
|
|
119
|
+
| **Type** | `number or null` |
|
|
120
|
+
| **Required** | No |
|
|
121
|
+
|
|
122
|
+
**Description:** Quantity step for bundle/bulk items (e.g. 5 for a 5-pack). Dashboard/Firebase only.
|
|
123
|
+
|
|
124
|
+
:::note
|
|
125
|
+
TBD/WIP — Dashboard/Firebase only. Canonical status pending cross-platform alignment.
|
|
126
|
+
:::
|
|
127
|
+
|
|
128
|
+
## <a name="variantId"></a>6. Property `variantId`
|
|
129
|
+
|
|
130
|
+
| | |
|
|
131
|
+
| ------------ | ---------------- |
|
|
132
|
+
| **Type** | `string or null` |
|
|
133
|
+
| **Required** | No |
|
|
134
|
+
|
|
135
|
+
**Description:** FK → ProductVariant ID within the product. Dashboard/Firebase only.
|
|
136
|
+
|
|
137
|
+
:::note
|
|
138
|
+
TBD/WIP — Dashboard/Firebase only. Canonical status pending cross-platform alignment.
|
|
139
|
+
:::
|
|
140
|
+
|
|
141
|
+
## <a name="supplierId"></a>7. Property `supplierId`
|
|
142
|
+
|
|
143
|
+
| | |
|
|
144
|
+
| ------------ | ---------------- |
|
|
145
|
+
| **Type** | `string or null` |
|
|
146
|
+
| **Required** | No |
|
|
147
|
+
|
|
148
|
+
**Description:** FK → Supplier document ID. B2B orders only.
|
|
149
|
+
|
|
150
|
+
:::note
|
|
151
|
+
TBD/WIP — B2B orders only. Canonical status pending cross-platform alignment.
|
|
152
|
+
:::
|
|
153
|
+
|
|
154
|
+
## <a name="supplierName"></a>8. Property `supplierName`
|
|
155
|
+
|
|
156
|
+
| | |
|
|
157
|
+
| ------------ | ---------------- |
|
|
158
|
+
| **Type** | `string or null` |
|
|
159
|
+
| **Required** | No |
|
|
160
|
+
|
|
161
|
+
**Description:** (Denormalized) From Supplier.name at write time. B2B orders only.
|
|
162
|
+
|
|
163
|
+
:::note
|
|
164
|
+
TBD/WIP — B2B orders only. Canonical status pending cross-platform alignment.
|
|
165
|
+
:::
|
|
166
|
+
|
|
167
|
+
## <a name="sentAt"></a>9. Property `sentAt`
|
|
168
|
+
|
|
169
|
+
| | |
|
|
170
|
+
| ------------------------- | ---------------- |
|
|
171
|
+
| **Type** | `combining` |
|
|
172
|
+
| **Required** | No |
|
|
173
|
+
| **Additional properties** | Any type allowed |
|
|
174
|
+
|
|
175
|
+
**Description:** (Read-only) Timestamp when the item was sent to the kitchen. TBD/WIP — archived CBL flow.
|
|
176
|
+
|
|
177
|
+
| Any of(Option) |
|
|
178
|
+
| --------------------------------------- |
|
|
179
|
+
| [firestore-timestamp](#sentAt_anyOf_i0) |
|
|
180
|
+
| [item 1](#sentAt_anyOf_i1) |
|
|
181
|
+
|
|
182
|
+
### <a name="sentAt_anyOf_i0"></a>9.1. Property `firestore-timestamp`
|
|
183
|
+
|
|
184
|
+
| | |
|
|
185
|
+
| ------------------------- | --------------------------------- |
|
|
186
|
+
| **Type** | `object` |
|
|
187
|
+
| **Required** | No |
|
|
188
|
+
| **Additional properties** | Not allowed |
|
|
189
|
+
| **Defined in** | #/definitions/firestore-timestamp |
|
|
190
|
+
|
|
191
|
+
**Description:** Firestore Timestamp serialized representation
|
|
192
|
+
|
|
193
|
+
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|
|
194
|
+
| ------------------------------------------------ | ------- | ------- | ---------- | ---------- | ----------------- |
|
|
195
|
+
| + [_seconds](#sentAt_anyOf_i0__seconds ) | No | integer | No | - | - |
|
|
196
|
+
| + [_nanoseconds](#sentAt_anyOf_i0__nanoseconds ) | No | integer | No | - | - |
|
|
197
|
+
|
|
198
|
+
#### <a name="sentAt_anyOf_i0__seconds"></a>9.1.1. Property `_seconds`
|
|
199
|
+
|
|
200
|
+
| | |
|
|
201
|
+
| ------------ | --------- |
|
|
202
|
+
| **Type** | `integer` |
|
|
203
|
+
| **Required** | Yes |
|
|
204
|
+
|
|
205
|
+
| Restrictions | |
|
|
206
|
+
| ------------ | ---------------------- |
|
|
207
|
+
| **Minimum** | ≥ -9007199254740991 |
|
|
208
|
+
| **Maximum** | ≤ 9007199254740991 |
|
|
209
|
+
|
|
210
|
+
#### <a name="sentAt_anyOf_i0__nanoseconds"></a>9.1.2. Property `_nanoseconds`
|
|
211
|
+
|
|
212
|
+
| | |
|
|
213
|
+
| ------------ | --------- |
|
|
214
|
+
| **Type** | `integer` |
|
|
215
|
+
| **Required** | Yes |
|
|
216
|
+
|
|
217
|
+
| Restrictions | |
|
|
218
|
+
| ------------ | ---------------------- |
|
|
219
|
+
| **Minimum** | ≥ -9007199254740991 |
|
|
220
|
+
| **Maximum** | ≤ 9007199254740991 |
|
|
221
|
+
|
|
222
|
+
### <a name="sentAt_anyOf_i1"></a>9.2. Property `item 1`
|
|
223
|
+
|
|
224
|
+
| | |
|
|
225
|
+
| ------------ | ------ |
|
|
226
|
+
| **Type** | `null` |
|
|
227
|
+
| **Required** | No |
|
|
228
|
+
|
|
229
|
+
:::warning Server-set
|
|
230
|
+
Do not include in write requests. This field is set exclusively by the server (Firestore trigger or Admin SDK). Clients that send it will have the value silently ignored or may receive a validation error.
|
|
231
|
+
:::
|
|
232
|
+
|
|
233
|
+
:::note
|
|
234
|
+
TBD/WIP — Originally from the archived Couchbase Lite (CBL) restaurant flow. Canonical inclusion in Firestore model is pending review.
|
|
235
|
+
:::
|
|
236
|
+
|
|
237
|
+
## <a name="startedCookingAt"></a>10. Property `startedCookingAt`
|
|
238
|
+
|
|
239
|
+
| | |
|
|
240
|
+
| ------------------------- | ---------------- |
|
|
241
|
+
| **Type** | `combining` |
|
|
242
|
+
| **Required** | No |
|
|
243
|
+
| **Additional properties** | Any type allowed |
|
|
244
|
+
|
|
245
|
+
**Description:** (Read-only) Timestamp when the kitchen started preparing this item. TBD/WIP — archived CBL flow.
|
|
246
|
+
|
|
247
|
+
| Any of(Option) |
|
|
248
|
+
| ------------------------------------------------- |
|
|
249
|
+
| [firestore-timestamp](#startedCookingAt_anyOf_i0) |
|
|
250
|
+
| [item 1](#startedCookingAt_anyOf_i1) |
|
|
251
|
+
|
|
252
|
+
### <a name="startedCookingAt_anyOf_i0"></a>10.1. Property `firestore-timestamp`
|
|
253
|
+
|
|
254
|
+
| | |
|
|
255
|
+
| ------------------------- | ----------------------------------- |
|
|
256
|
+
| **Type** | `object` |
|
|
257
|
+
| **Required** | No |
|
|
258
|
+
| **Additional properties** | Not allowed |
|
|
259
|
+
| **Same definition as** | [sentAt_anyOf_i0](#sentAt_anyOf_i0) |
|
|
260
|
+
|
|
261
|
+
**Description:** Firestore Timestamp serialized representation
|
|
262
|
+
|
|
263
|
+
### <a name="startedCookingAt_anyOf_i1"></a>10.2. Property `item 1`
|
|
264
|
+
|
|
265
|
+
| | |
|
|
266
|
+
| ------------ | ------ |
|
|
267
|
+
| **Type** | `null` |
|
|
268
|
+
| **Required** | No |
|
|
269
|
+
|
|
270
|
+
:::warning Server-set
|
|
271
|
+
Do not include in write requests. This field is set exclusively by the server (Firestore trigger or Admin SDK). Clients that send it will have the value silently ignored or may receive a validation error.
|
|
272
|
+
:::
|
|
273
|
+
|
|
274
|
+
:::note
|
|
275
|
+
TBD/WIP — Originally from the archived Couchbase Lite (CBL) restaurant flow. Canonical inclusion in Firestore model is pending review.
|
|
276
|
+
:::
|
|
277
|
+
|
|
278
|
+
## <a name="readyAt"></a>11. Property `readyAt`
|
|
279
|
+
|
|
280
|
+
| | |
|
|
281
|
+
| ------------------------- | ---------------- |
|
|
282
|
+
| **Type** | `combining` |
|
|
283
|
+
| **Required** | No |
|
|
284
|
+
| **Additional properties** | Any type allowed |
|
|
285
|
+
|
|
286
|
+
**Description:** (Read-only) Timestamp when the item was ready for pickup or service. TBD/WIP — archived CBL flow.
|
|
287
|
+
|
|
288
|
+
| Any of(Option) |
|
|
289
|
+
| ---------------------------------------- |
|
|
290
|
+
| [firestore-timestamp](#readyAt_anyOf_i0) |
|
|
291
|
+
| [item 1](#readyAt_anyOf_i1) |
|
|
292
|
+
|
|
293
|
+
### <a name="readyAt_anyOf_i0"></a>11.1. Property `firestore-timestamp`
|
|
294
|
+
|
|
295
|
+
| | |
|
|
296
|
+
| ------------------------- | ----------------------------------- |
|
|
297
|
+
| **Type** | `object` |
|
|
298
|
+
| **Required** | No |
|
|
299
|
+
| **Additional properties** | Not allowed |
|
|
300
|
+
| **Same definition as** | [sentAt_anyOf_i0](#sentAt_anyOf_i0) |
|
|
301
|
+
|
|
302
|
+
**Description:** Firestore Timestamp serialized representation
|
|
303
|
+
|
|
304
|
+
### <a name="readyAt_anyOf_i1"></a>11.2. Property `item 1`
|
|
305
|
+
|
|
306
|
+
| | |
|
|
307
|
+
| ------------ | ------ |
|
|
308
|
+
| **Type** | `null` |
|
|
309
|
+
| **Required** | No |
|
|
310
|
+
|
|
311
|
+
:::warning Server-set
|
|
312
|
+
Do not include in write requests. This field is set exclusively by the server (Firestore trigger or Admin SDK). Clients that send it will have the value silently ignored or may receive a validation error.
|
|
313
|
+
:::
|
|
314
|
+
|
|
315
|
+
:::note
|
|
316
|
+
TBD/WIP — Originally from the archived Couchbase Lite (CBL) restaurant flow. Canonical inclusion in Firestore model is pending review.
|
|
317
|
+
:::
|
|
318
|
+
|
|
319
|
+
## <a name="servedAt"></a>12. Property `servedAt`
|
|
320
|
+
|
|
321
|
+
| | |
|
|
322
|
+
| ------------------------- | ---------------- |
|
|
323
|
+
| **Type** | `combining` |
|
|
324
|
+
| **Required** | No |
|
|
325
|
+
| **Additional properties** | Any type allowed |
|
|
326
|
+
|
|
327
|
+
**Description:** (Read-only) Timestamp when the item was served to the customer. TBD/WIP — archived CBL flow.
|
|
328
|
+
|
|
329
|
+
| Any of(Option) |
|
|
330
|
+
| ----------------------------------------- |
|
|
331
|
+
| [firestore-timestamp](#servedAt_anyOf_i0) |
|
|
332
|
+
| [item 1](#servedAt_anyOf_i1) |
|
|
333
|
+
|
|
334
|
+
### <a name="servedAt_anyOf_i0"></a>12.1. Property `firestore-timestamp`
|
|
335
|
+
|
|
336
|
+
| | |
|
|
337
|
+
| ------------------------- | ----------------------------------- |
|
|
338
|
+
| **Type** | `object` |
|
|
339
|
+
| **Required** | No |
|
|
340
|
+
| **Additional properties** | Not allowed |
|
|
341
|
+
| **Same definition as** | [sentAt_anyOf_i0](#sentAt_anyOf_i0) |
|
|
342
|
+
|
|
343
|
+
**Description:** Firestore Timestamp serialized representation
|
|
344
|
+
|
|
345
|
+
### <a name="servedAt_anyOf_i1"></a>12.2. Property `item 1`
|
|
346
|
+
|
|
347
|
+
| | |
|
|
348
|
+
| ------------ | ------ |
|
|
349
|
+
| **Type** | `null` |
|
|
350
|
+
| **Required** | No |
|
|
351
|
+
|
|
352
|
+
----------------------------------------------------------------------------------------------------------------------------
|
|
353
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-03-09 at 13:15:53 +0000
|
|
354
|
+
|
|
355
|
+
:::warning Server-set
|
|
356
|
+
Do not include in write requests. This field is set exclusively by the server (Firestore trigger or Admin SDK). Clients that send it will have the value silently ignored or may receive a validation error.
|
|
357
|
+
:::
|
|
358
|
+
|
|
359
|
+
:::note
|
|
360
|
+
TBD/WIP — Originally from the archived Couchbase Lite (CBL) restaurant flow. Canonical inclusion in Firestore model is pending review.
|
|
361
|
+
:::
|