@ingenx-io/valets-schema-mcp-server 0.2.5 → 0.2.7
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/data/docs/collections/firestore-paths.md +20 -0
- package/data/docs/enums/app-status.md +1 -1
- package/data/docs/enums/attention-status.md +1 -1
- package/data/docs/enums/booking-status.md +1 -1
- package/data/docs/enums/contract-status.md +24 -0
- package/data/docs/enums/customer-payment-status.md +2 -2
- package/data/docs/enums/customer-payment-target-type.md +2 -2
- package/data/docs/enums/delivery-type.md +2 -2
- package/data/docs/enums/deployment-link-type.md +2 -2
- package/data/docs/enums/event-status.md +2 -2
- package/data/docs/enums/expense-payment-status.md +24 -0
- package/data/docs/enums/fulfillment-status.md +2 -2
- package/data/docs/enums/loyalty-transaction-type.md +2 -2
- package/data/docs/enums/milestone-status.md +23 -0
- package/data/docs/enums/notification-channel.md +2 -2
- package/data/docs/enums/notification-entity-type.md +2 -2
- package/data/docs/enums/notification-status.md +2 -2
- package/data/docs/enums/order-status.md +2 -2
- package/data/docs/enums/outbound-message-format.md +2 -2
- package/data/docs/enums/outbound-message-purpose.md +2 -2
- package/data/docs/enums/outbound-message-status.md +2 -2
- package/data/docs/enums/payment-method.md +4 -3
- package/data/docs/enums/payment-proof-status.md +2 -2
- package/data/docs/enums/payment-status.md +2 -2
- package/data/docs/enums/pending-issue.md +2 -2
- package/data/docs/enums/return-status.md +2 -2
- package/data/docs/enums/session-status.md +2 -2
- package/data/docs/enums/site-status.md +2 -2
- package/data/docs/enums/stocktake-frequency.md +2 -2
- package/data/docs/enums/stocktake-item-status.md +2 -2
- package/data/docs/enums/stocktake-status.md +2 -2
- package/data/docs/enums/ticket-status.md +2 -2
- package/data/docs/enums/waba-label.md +3 -3
- package/data/docs/enums/whatsapp-button-sub-type.md +2 -2
- package/data/docs/enums/whatsapp-template-component.md +2 -2
- package/data/docs/enums/whatsapp-template-status.md +2 -2
- package/data/docs/index.md +15 -6
- package/data/docs/models/allowed-user.md +1 -1
- package/data/docs/models/analytics-backfill.md +1 -1
- package/data/docs/models/analytics-daily.md +1 -1
- package/data/docs/models/analytics-event.md +1 -1
- package/data/docs/models/analytics-hourly.md +1 -1
- package/data/docs/models/app-payment.md +1 -1
- package/data/docs/models/app.md +45 -21
- package/data/docs/models/booking-version.md +1 -1
- package/data/docs/models/booking.md +1 -1
- package/data/docs/models/contract.md +454 -0
- package/data/docs/models/customer-payment-allocation.md +2 -2
- package/data/docs/models/customer-payment.md +23 -22
- package/data/docs/models/customer.md +2 -2
- package/data/docs/models/event.md +2 -2
- package/data/docs/models/expense.md +434 -0
- package/data/docs/models/loyalty-config.md +2 -2
- package/data/docs/models/loyalty-reward.md +2 -2
- package/data/docs/models/loyalty-status.md +2 -2
- package/data/docs/models/loyalty-transaction.md +2 -2
- package/data/docs/models/magic-link-request.md +2 -2
- package/data/docs/models/metrics-current.md +22 -2
- package/data/docs/models/metrics-daily.md +92 -41
- package/data/docs/models/metrics-monthly.md +22 -2
- package/data/docs/models/notification-record.md +2 -2
- package/data/docs/models/order-item.md +2 -2
- package/data/docs/models/order.md +291 -270
- package/data/docs/models/outbound-payment-allocation.md +195 -0
- package/data/docs/models/outbound-payment.md +319 -0
- package/data/docs/models/payment-webhook-delivery.md +321 -0
- package/data/docs/models/payment-webhook-endpoint.md +191 -0
- package/data/docs/models/sale.md +2 -2
- package/data/docs/models/site-payment.md +2 -2
- package/data/docs/models/site.md +2 -2
- package/data/docs/models/stocktake-item.md +2 -2
- package/data/docs/models/stocktake.md +2 -2
- package/data/docs/models/ticket.md +2 -2
- package/data/docs/models/user.md +2 -2
- package/data/docs/models/whatsapp-inbound-message.md +6 -2
- package/data/docs/models/whatsapp-outbound-lifecycle-event.md +2 -2
- package/data/docs/models/whatsapp-outbound-message.md +39 -23
- package/data/docs/models/whatsapp-template.md +6 -2
- package/data/static/llms.txt +242 -10
- package/data/static/openapi.yaml +826 -23
- package/data/static/schemas.json +877 -71
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Order"
|
|
3
3
|
sidebar_label: "Order"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 25
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Order
|
|
@@ -16,6 +16,7 @@ sidebar_position: 23
|
|
|
16
16
|
"companyId": "comp_xyz789",
|
|
17
17
|
"appId": null,
|
|
18
18
|
"orderNumber": "ORD-2026-0042",
|
|
19
|
+
"followUpUrl": null,
|
|
19
20
|
"status": "status",
|
|
20
21
|
"paymentStatus": "paymentStatus",
|
|
21
22
|
"fulfillmentStatus": "fulfillmentStatus",
|
|
@@ -70,114 +71,115 @@ sidebar_position: 23
|
|
|
70
71
|
- [3. Property `companyId`](#companyId)
|
|
71
72
|
- [4. Property `appId`](#appId)
|
|
72
73
|
- [5. Property `orderNumber`](#orderNumber)
|
|
73
|
-
- [6. Property `
|
|
74
|
-
- [7. Property `
|
|
75
|
-
|
|
76
|
-
- [
|
|
77
|
-
- [8. Property `
|
|
78
|
-
|
|
79
|
-
- [
|
|
80
|
-
- [9. Property `
|
|
81
|
-
|
|
82
|
-
- [
|
|
83
|
-
- [10. Property `
|
|
84
|
-
|
|
85
|
-
- [
|
|
86
|
-
- [11. Property `
|
|
87
|
-
|
|
88
|
-
- [
|
|
89
|
-
- [12. Property `
|
|
90
|
-
- [13. Property `
|
|
91
|
-
- [14. Property `
|
|
92
|
-
- [15. Property `
|
|
93
|
-
- [16. Property `
|
|
94
|
-
- [17. Property `
|
|
95
|
-
- [18. Property `
|
|
96
|
-
- [19. Property `
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
- [
|
|
100
|
-
- [
|
|
101
|
-
- [
|
|
102
|
-
- [
|
|
103
|
-
- [
|
|
104
|
-
- [
|
|
105
|
-
- [
|
|
106
|
-
- [
|
|
107
|
-
|
|
108
|
-
- [
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
- [
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
- [
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
- [
|
|
118
|
-
- [20. Property `
|
|
119
|
-
- [21. Property `
|
|
120
|
-
- [22. Property `
|
|
121
|
-
- [23. Property `
|
|
122
|
-
|
|
123
|
-
- [
|
|
124
|
-
- [24. Property `
|
|
125
|
-
- [25. Property `
|
|
126
|
-
|
|
127
|
-
- [
|
|
128
|
-
- [26. Property `
|
|
129
|
-
|
|
130
|
-
- [
|
|
131
|
-
- [27. Property `
|
|
132
|
-
|
|
133
|
-
- [
|
|
134
|
-
- [28. Property `
|
|
135
|
-
- [29. Property `
|
|
136
|
-
- [30. Property `
|
|
137
|
-
- [31. Property `
|
|
138
|
-
|
|
139
|
-
- [
|
|
140
|
-
- [32. Property `
|
|
141
|
-
- [33. Property `
|
|
142
|
-
- [34. Property `
|
|
143
|
-
|
|
144
|
-
- [
|
|
145
|
-
- [35. Property `
|
|
146
|
-
|
|
147
|
-
- [
|
|
148
|
-
- [36. Property `
|
|
149
|
-
- [37. Property `
|
|
150
|
-
|
|
151
|
-
- [
|
|
152
|
-
- [38. Property `
|
|
153
|
-
- [39. Property `
|
|
154
|
-
- [40. Property `
|
|
155
|
-
- [41. Property `
|
|
156
|
-
- [42. Property `
|
|
157
|
-
|
|
158
|
-
- [
|
|
159
|
-
- [43. Property `
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
- [
|
|
163
|
-
- [
|
|
164
|
-
- [
|
|
165
|
-
- [
|
|
166
|
-
- [
|
|
167
|
-
- [
|
|
168
|
-
- [44. Property `
|
|
169
|
-
- [45. Property `
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
- [
|
|
173
|
-
- [
|
|
174
|
-
|
|
175
|
-
- [
|
|
176
|
-
|
|
177
|
-
- [
|
|
178
|
-
- [46. Property `
|
|
179
|
-
- [47. Property `
|
|
180
|
-
- [48. Property `
|
|
74
|
+
- [6. Property `followUpUrl`](#followUpUrl)
|
|
75
|
+
- [7. Property `status`](#status)
|
|
76
|
+
- [8. Property `paymentStatus`](#paymentStatus)
|
|
77
|
+
- [8.1. Property `payment-status`](#paymentStatus_anyOf_i0)
|
|
78
|
+
- [8.2. Property `item 1`](#paymentStatus_anyOf_i1)
|
|
79
|
+
- [9. Property `fulfillmentStatus`](#fulfillmentStatus)
|
|
80
|
+
- [9.1. Property `fulfillment-status`](#fulfillmentStatus_anyOf_i0)
|
|
81
|
+
- [9.2. Property `item 1`](#fulfillmentStatus_anyOf_i1)
|
|
82
|
+
- [10. Property `returnStatus`](#returnStatus)
|
|
83
|
+
- [10.1. Property `return-status`](#returnStatus_anyOf_i0)
|
|
84
|
+
- [10.2. Property `item 1`](#returnStatus_anyOf_i1)
|
|
85
|
+
- [11. Property `deliveryType`](#deliveryType)
|
|
86
|
+
- [11.1. Property `delivery-type`](#deliveryType_anyOf_i0)
|
|
87
|
+
- [11.2. Property `item 1`](#deliveryType_anyOf_i1)
|
|
88
|
+
- [12. Property `paymentMethod`](#paymentMethod)
|
|
89
|
+
- [12.1. Property `payment-method`](#paymentMethod_anyOf_i0)
|
|
90
|
+
- [12.2. Property `item 1`](#paymentMethod_anyOf_i1)
|
|
91
|
+
- [13. Property `invoiceId`](#invoiceId)
|
|
92
|
+
- [14. Property `customerId`](#customerId)
|
|
93
|
+
- [15. Property `customerName`](#customerName)
|
|
94
|
+
- [16. Property `customerEmail`](#customerEmail)
|
|
95
|
+
- [17. Property `customerPhone`](#customerPhone)
|
|
96
|
+
- [18. Property `clientEmail`](#clientEmail)
|
|
97
|
+
- [19. Property `clientPhoneNumber`](#clientPhoneNumber)
|
|
98
|
+
- [20. Property `items`](#items)
|
|
99
|
+
- [20.1. order-item](#items_items)
|
|
100
|
+
- [20.1.1. Property `name`](#items_items_name)
|
|
101
|
+
- [20.1.2. Property `quantity`](#items_items_quantity)
|
|
102
|
+
- [20.1.3. Property `price`](#items_items_price)
|
|
103
|
+
- [20.1.4. Property `productId`](#items_items_productId)
|
|
104
|
+
- [20.1.5. Property `increment`](#items_items_increment)
|
|
105
|
+
- [20.1.6. Property `variantId`](#items_items_variantId)
|
|
106
|
+
- [20.1.7. Property `supplierId`](#items_items_supplierId)
|
|
107
|
+
- [20.1.8. Property `supplierName`](#items_items_supplierName)
|
|
108
|
+
- [20.1.9. Property `sentAt`](#items_items_sentAt)
|
|
109
|
+
- [20.1.9.1. Property `_seconds`](#items_items_sentAt__seconds)
|
|
110
|
+
- [20.1.9.2. Property `_nanoseconds`](#items_items_sentAt__nanoseconds)
|
|
111
|
+
- [20.1.10. Property `startedCookingAt`](#items_items_startedCookingAt)
|
|
112
|
+
- [20.1.10.1. Property `_seconds`](#items_items_startedCookingAt__seconds)
|
|
113
|
+
- [20.1.10.2. Property `_nanoseconds`](#items_items_startedCookingAt__nanoseconds)
|
|
114
|
+
- [20.1.11. Property `readyAt`](#items_items_readyAt)
|
|
115
|
+
- [20.1.11.1. Property `_seconds`](#items_items_readyAt__seconds)
|
|
116
|
+
- [20.1.11.2. Property `_nanoseconds`](#items_items_readyAt__nanoseconds)
|
|
117
|
+
- [20.1.12. Property `servedAt`](#items_items_servedAt)
|
|
118
|
+
- [20.1.12.1. Property `_seconds`](#items_items_servedAt__seconds)
|
|
119
|
+
- [20.1.12.2. Property `_nanoseconds`](#items_items_servedAt__nanoseconds)
|
|
120
|
+
- [21. Property `amount`](#amount)
|
|
121
|
+
- [22. Property `amountPaid`](#amountPaid)
|
|
122
|
+
- [23. Property `total`](#total)
|
|
123
|
+
- [24. Property `createdAt`](#createdAt)
|
|
124
|
+
- [24.1. Property `_seconds`](#createdAt__seconds)
|
|
125
|
+
- [24.2. Property `_nanoseconds`](#createdAt__nanoseconds)
|
|
126
|
+
- [25. Property `orderDate`](#orderDate)
|
|
127
|
+
- [26. Property `PROCESSING_ON`](#PROCESSING_ON)
|
|
128
|
+
- [26.1. Property `firestore-timestamp`](#PROCESSING_ON_anyOf_i0)
|
|
129
|
+
- [26.2. Property `item 1`](#PROCESSING_ON_anyOf_i1)
|
|
130
|
+
- [27. Property `COMPLETED_ON`](#COMPLETED_ON)
|
|
131
|
+
- [27.1. Property `firestore-timestamp`](#COMPLETED_ON_anyOf_i0)
|
|
132
|
+
- [27.2. Property `item 1`](#COMPLETED_ON_anyOf_i1)
|
|
133
|
+
- [28. Property `CANCELLED_ON`](#CANCELLED_ON)
|
|
134
|
+
- [28.1. Property `firestore-timestamp`](#CANCELLED_ON_anyOf_i0)
|
|
135
|
+
- [28.2. Property `item 1`](#CANCELLED_ON_anyOf_i1)
|
|
136
|
+
- [29. Property `cancellationReason`](#cancellationReason)
|
|
137
|
+
- [30. Property `shippingCarrier`](#shippingCarrier)
|
|
138
|
+
- [31. Property `trackingNumber`](#trackingNumber)
|
|
139
|
+
- [32. Property `estimatedDeliveryDate`](#estimatedDeliveryDate)
|
|
140
|
+
- [32.1. Property `firestore-timestamp`](#estimatedDeliveryDate_anyOf_i0)
|
|
141
|
+
- [32.2. Property `item 1`](#estimatedDeliveryDate_anyOf_i1)
|
|
142
|
+
- [33. Property `shippingCost`](#shippingCost)
|
|
143
|
+
- [34. Property `paymentProofUrl`](#paymentProofUrl)
|
|
144
|
+
- [35. Property `paymentProofStatus`](#paymentProofStatus)
|
|
145
|
+
- [35.1. Property `payment-proof-status`](#paymentProofStatus_anyOf_i0)
|
|
146
|
+
- [35.2. Property `item 1`](#paymentProofStatus_anyOf_i1)
|
|
147
|
+
- [36. Property `paymentProofAddedAt`](#paymentProofAddedAt)
|
|
148
|
+
- [36.1. Property `firestore-timestamp`](#paymentProofAddedAt_anyOf_i0)
|
|
149
|
+
- [36.2. Property `item 1`](#paymentProofAddedAt_anyOf_i1)
|
|
150
|
+
- [37. Property `paymentProofAddedBy`](#paymentProofAddedBy)
|
|
151
|
+
- [38. Property `paymentProofReviewedAt`](#paymentProofReviewedAt)
|
|
152
|
+
- [38.1. Property `firestore-timestamp`](#paymentProofReviewedAt_anyOf_i0)
|
|
153
|
+
- [38.2. Property `item 1`](#paymentProofReviewedAt_anyOf_i1)
|
|
154
|
+
- [39. Property `paymentProofReviewedBy`](#paymentProofReviewedBy)
|
|
155
|
+
- [40. Property `paymentProofRejectionReason`](#paymentProofRejectionReason)
|
|
156
|
+
- [41. Property `paymentStatusChangeReason`](#paymentStatusChangeReason)
|
|
157
|
+
- [42. Property `paymentStatusChangedBy`](#paymentStatusChangedBy)
|
|
158
|
+
- [43. Property `paymentStatusChangedAt`](#paymentStatusChangedAt)
|
|
159
|
+
- [43.1. Property `firestore-timestamp`](#paymentStatusChangedAt_anyOf_i0)
|
|
160
|
+
- [43.2. Property `item 1`](#paymentStatusChangedAt_anyOf_i1)
|
|
161
|
+
- [44. Property `payments`](#payments)
|
|
162
|
+
- [44.1. payments items](#payments_items)
|
|
163
|
+
- [44.1.1. Property `paymentId`](#payments_items_paymentId)
|
|
164
|
+
- [44.1.2. Property `amount`](#payments_items_amount)
|
|
165
|
+
- [44.1.3. Property `currency`](#payments_items_currency)
|
|
166
|
+
- [44.1.4. Property `paymentMethod`](#payments_items_paymentMethod)
|
|
167
|
+
- [44.1.5. Property `paymentDate`](#payments_items_paymentDate)
|
|
168
|
+
- [44.1.6. Property `referenceNumber`](#payments_items_referenceNumber)
|
|
169
|
+
- [44.1.7. Property `status`](#payments_items_status)
|
|
170
|
+
- [45. Property `totalOverridden`](#totalOverridden)
|
|
171
|
+
- [46. Property `notes`](#notes)
|
|
172
|
+
- [46.1. notes items](#notes_items)
|
|
173
|
+
- [46.1.1. Property `id`](#notes_items_id)
|
|
174
|
+
- [46.1.2. Property `text`](#notes_items_text)
|
|
175
|
+
- [46.1.3. Property `createdAt`](#notes_items_createdAt)
|
|
176
|
+
- [46.1.3.1. Property `_seconds`](#createdAt__seconds)
|
|
177
|
+
- [46.1.3.2. Property `_nanoseconds`](#createdAt__nanoseconds)
|
|
178
|
+
- [46.1.4. Property `createdBy`](#notes_items_createdBy)
|
|
179
|
+
- [46.1.5. Property `createdByName`](#notes_items_createdByName)
|
|
180
|
+
- [47. Property `additionalInfo`](#additionalInfo)
|
|
181
|
+
- [48. Property `appliedDiscountCode`](#appliedDiscountCode)
|
|
182
|
+
- [49. Property `purchaseId`](#purchaseId)
|
|
181
183
|
|
|
182
184
|
| | |
|
|
183
185
|
| ------------------------- | ------------------- |
|
|
@@ -188,56 +190,57 @@ sidebar_position: 23
|
|
|
188
190
|
|
|
189
191
|
**Description:** Order model (D34). Collection: companies/\{companyId\}/orders/\{orderId\}. Status decomposed into 4 orthogonal fields per D34: status (OrderStatus), paymentStatus, fulfillmentStatus, returnStatus. deliveryType determines the fulfillment channel. MIG-11 migrates the old flat 20-value enum.
|
|
190
192
|
|
|
191
|
-
| Property | Pattern | Type | Deprecated | Definition | Title/Description
|
|
192
|
-
| -------------------------------------------------------------- | ------- | ----------------------- | ---------- | ------------------------------------ |
|
|
193
|
-
| + [id](#id ) | No | string | No | - | (Read-only) Firestore document ID. Note: some models also have uid; see ID conventions.
|
|
194
|
-
| + [uid](#uid ) | No | string | No | - | (Read-only) Entity UID. Often mirrors id.
|
|
195
|
-
| + [companyId](#companyId ) | No | string | No | - | (Immutable) FK → Company document ID. Scopes all queries.
|
|
196
|
-
| - [appId](#appId ) | No | string or null | No | - | (Immutable, Optional) FK → App document ID (D43 / ADR-003, renamed from siteId per D44). null = company-wide.
|
|
197
|
-
| + [orderNumber](#orderNumber ) | No | string | No | - | (Read-only) Server-generated order number.
|
|
198
|
-
|
|
|
199
|
-
|
|
|
200
|
-
| - [
|
|
201
|
-
| - [
|
|
202
|
-
| - [
|
|
203
|
-
| - [
|
|
204
|
-
| - [
|
|
205
|
-
| - [
|
|
206
|
-
| - [
|
|
207
|
-
| - [
|
|
208
|
-
| - [
|
|
209
|
-
| - [
|
|
210
|
-
| - [
|
|
211
|
-
| - [
|
|
212
|
-
|
|
|
213
|
-
|
|
|
214
|
-
| - [
|
|
215
|
-
|
|
|
216
|
-
| + [
|
|
217
|
-
|
|
|
218
|
-
| - [
|
|
219
|
-
| - [
|
|
220
|
-
| - [
|
|
221
|
-
| - [
|
|
222
|
-
| - [
|
|
223
|
-
| - [
|
|
224
|
-
| - [
|
|
225
|
-
| - [
|
|
226
|
-
| - [
|
|
227
|
-
| - [
|
|
228
|
-
| - [
|
|
229
|
-
| - [
|
|
230
|
-
| - [
|
|
231
|
-
| - [
|
|
232
|
-
| - [
|
|
233
|
-
| - [
|
|
234
|
-
| - [
|
|
235
|
-
| - [
|
|
236
|
-
| - [
|
|
237
|
-
| - [
|
|
238
|
-
| - [
|
|
239
|
-
| - [
|
|
240
|
-
| - [
|
|
193
|
+
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|
|
194
|
+
| -------------------------------------------------------------- | ------- | ----------------------- | ---------- | ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
195
|
+
| + [id](#id ) | No | string | No | - | (Read-only) Firestore document ID. Note: some models also have uid; see ID conventions. |
|
|
196
|
+
| + [uid](#uid ) | No | string | No | - | (Read-only) Entity UID. Often mirrors id. |
|
|
197
|
+
| + [companyId](#companyId ) | No | string | No | - | (Immutable) FK → Company document ID. Scopes all queries. |
|
|
198
|
+
| - [appId](#appId ) | No | string or null | No | - | (Immutable, Optional) FK → App document ID (D43 / ADR-003, renamed from siteId per D44). null = company-wide. |
|
|
199
|
+
| + [orderNumber](#orderNumber ) | No | string | No | - | (Read-only) Server-generated order number. |
|
|
200
|
+
| - [followUpUrl](#followUpUrl ) | No | string or null | No | - | Optional URL for receipt QR code / post-order follow-up. Canonical casing: followUpUrl (#6). |
|
|
201
|
+
| + [status](#status ) | No | enum (of string) | No | In #/definitions/order-status | Core lifecycle status (D34, MIG-11). See OrderStatus enum for the legacy value migration mapping. |
|
|
202
|
+
| - [paymentStatus](#paymentStatus ) | No | Combination | No | - | Payment lifecycle (D34). Null until payment is initiated. |
|
|
203
|
+
| - [fulfillmentStatus](#fulfillmentStatus ) | No | Combination | No | - | Delivery/fulfillment lifecycle (D34). |
|
|
204
|
+
| - [returnStatus](#returnStatus ) | No | Combination | No | - | Return/exchange lifecycle (D34). Null until a return or exchange is initiated. |
|
|
205
|
+
| - [deliveryType](#deliveryType ) | No | Combination | No | - | Fulfillment channel for this order (ON_SITE, PICK_UP, DELIVERY). |
|
|
206
|
+
| - [paymentMethod](#paymentMethod ) | No | Combination | No | - | Unified payment method set with African + global methods (D02). Note: the metrics writer historically emits "OM" instead of "ORANGE_MONEY" as a paymentsByMethod map key — treat OM as deprecated; canonical value is ORANGE_MONEY (#21). |
|
|
207
|
+
| - [invoiceId](#invoiceId ) | No | string or null | No | - | FK → Invoice document ID. |
|
|
208
|
+
| - [customerId](#customerId ) | No | string or null | No | - | FK → Customer.id (Firestore doc ID). Used to resolve customer details. |
|
|
209
|
+
| - [customerName](#customerName ) | No | string or null | No | - | (Denormalized) From Customer.name at write time. |
|
|
210
|
+
| - [customerEmail](#customerEmail ) | No | string or null | No | - | (Denormalized) From Customer.email at write time. Canonical field per D24. |
|
|
211
|
+
| - [customerPhone](#customerPhone ) | No | string or null | No | - | (Denormalized) From Customer.phone at write time. Canonical field per D24. |
|
|
212
|
+
| - [clientEmail](#clientEmail ) | No | string or null | No | - | (Denormalized) Legacy — use \`customerEmail\`. D24 standardized to customer* prefix. |
|
|
213
|
+
| - [clientPhoneNumber](#clientPhoneNumber ) | No | string or null | No | - | (Denormalized) Legacy — use \`customerPhone\`. D24 standardized to customer* prefix. |
|
|
214
|
+
| - [items](#items ) | No | array or null | No | - | - |
|
|
215
|
+
| + [amount](#amount ) | No | number | No | - | Total order amount. Canonical field for the order total. |
|
|
216
|
+
| - [amountPaid](#amountPaid ) | No | number or null | No | - | Amount of \`amount\` paid to date. Derived from payment allocations. |
|
|
217
|
+
| - [total](#total ) | No | number or null | No | - | Mobile-only legacy total field. Deprecated — use \`amount\`. |
|
|
218
|
+
| + [createdAt](#createdAt ) | No | object | No | In #/definitions/firestore-timestamp | (Read-only) Server-generated creation timestamp. |
|
|
219
|
+
| + [orderDate](#orderDate ) | No | object | No | Same as [createdAt](#createdAt ) | Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10). |
|
|
220
|
+
| - [PROCESSING_ON](#PROCESSING_ON ) | No | Combination | No | - | (Read-only) Timestamp when order entered PROCESSING (D04 SCREAMING_SNAKE). MIG-01 renames from camelCase. |
|
|
221
|
+
| - [COMPLETED_ON](#COMPLETED_ON ) | No | Combination | No | - | (Read-only) Timestamp when order completed (D04 SCREAMING_SNAKE). MIG-01 renames from camelCase. |
|
|
222
|
+
| - [CANCELLED_ON](#CANCELLED_ON ) | No | Combination | No | - | (Read-only) Timestamp when order cancelled (D04 SCREAMING_SNAKE). MIG-01 renames from camelCase. |
|
|
223
|
+
| - [cancellationReason](#cancellationReason ) | No | string or null | No | - | - |
|
|
224
|
+
| - [shippingCarrier](#shippingCarrier ) | No | string or null | No | - | - |
|
|
225
|
+
| - [trackingNumber](#trackingNumber ) | No | string or null | No | - | - |
|
|
226
|
+
| - [estimatedDeliveryDate](#estimatedDeliveryDate ) | No | Combination | No | - | Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10). |
|
|
227
|
+
| - [shippingCost](#shippingCost ) | No | number or null | No | - | - |
|
|
228
|
+
| - [paymentProofUrl](#paymentProofUrl ) | No | string or null | No | - | URL to uploaded payment proof image/document. |
|
|
229
|
+
| - [paymentProofStatus](#paymentProofStatus ) | No | Combination | No | - | Payment proof review status. |
|
|
230
|
+
| - [paymentProofAddedAt](#paymentProofAddedAt ) | No | Combination | No | - | (Read-only) Timestamp when proof was uploaded. |
|
|
231
|
+
| - [paymentProofAddedBy](#paymentProofAddedBy ) | No | string or null | No | - | FK → User/staff UID who uploaded the payment proof. |
|
|
232
|
+
| - [paymentProofReviewedAt](#paymentProofReviewedAt ) | No | Combination | No | - | (Read-only) Timestamp when proof was reviewed. |
|
|
233
|
+
| - [paymentProofReviewedBy](#paymentProofReviewedBy ) | No | string or null | No | - | FK → User/staff UID who reviewed the payment proof. |
|
|
234
|
+
| - [paymentProofRejectionReason](#paymentProofRejectionReason ) | No | string or null | No | - | - |
|
|
235
|
+
| - [paymentStatusChangeReason](#paymentStatusChangeReason ) | No | string or null | No | - | - |
|
|
236
|
+
| - [paymentStatusChangedBy](#paymentStatusChangedBy ) | No | string or null | No | - | FK → User/staff UID who changed payment status. |
|
|
237
|
+
| - [paymentStatusChangedAt](#paymentStatusChangedAt ) | No | Combination | No | - | (Read-only) Timestamp of last payment status change. |
|
|
238
|
+
| - [payments](#payments ) | No | array of object or null | No | - | [TBD/WIP — IG-4] Denormalized snapshots of CustomerPayments allocated to this order. Sync rules pending IG-4 resolution. |
|
|
239
|
+
| - [totalOverridden](#totalOverridden ) | No | boolean or null | No | - | Mobile-only. When true, total was manually overridden by user (D14). |
|
|
240
|
+
| - [notes](#notes ) | No | array of object or null | No | - | - |
|
|
241
|
+
| - [additionalInfo](#additionalInfo ) | No | string or null | No | - | - |
|
|
242
|
+
| - [appliedDiscountCode](#appliedDiscountCode ) | No | string or null | No | - | - |
|
|
243
|
+
| - [purchaseId](#purchaseId ) | No | string or null | No | - | FK → Sale.id. Link to associated Sale document. |
|
|
241
244
|
|
|
242
245
|
## <a name="id"></a>1. Property `id`
|
|
243
246
|
|
|
@@ -316,7 +319,24 @@ Set at order creation when the client knows which app the order originated from
|
|
|
316
319
|
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.
|
|
317
320
|
:::
|
|
318
321
|
|
|
319
|
-
## <a name="
|
|
322
|
+
## <a name="followUpUrl"></a>6. Property `followUpUrl`
|
|
323
|
+
|
|
324
|
+
| | |
|
|
325
|
+
| ------------ | ---------------- |
|
|
326
|
+
| **Type** | `string or null` |
|
|
327
|
+
| **Required** | No |
|
|
328
|
+
|
|
329
|
+
**Description:** Optional URL for receipt QR code / post-order follow-up. Canonical casing: followUpUrl (#6).
|
|
330
|
+
|
|
331
|
+
:::note
|
|
332
|
+
Standardized casing is followUpUrl (not followUpURL). Mobile legacy code reads both casings for backward compat but writes followUpUrl going forward (#6).
|
|
333
|
+
:::
|
|
334
|
+
|
|
335
|
+
:::tip When to set
|
|
336
|
+
Used by mobile to generate QR codes on printed receipts. If absent, the mobile app derives a deterministic fallback: https://zahoui.web.app/reviews?orderNumber=\{orderNumber\}.
|
|
337
|
+
:::
|
|
338
|
+
|
|
339
|
+
## <a name="status"></a>7. Property `status`
|
|
320
340
|
|
|
321
341
|
| | |
|
|
322
342
|
| -------------- | -------------------------- |
|
|
@@ -335,7 +355,7 @@ Must be one of:
|
|
|
335
355
|
* "CANCELLED"
|
|
336
356
|
* "EXPIRED"
|
|
337
357
|
|
|
338
|
-
## <a name="paymentStatus"></a>
|
|
358
|
+
## <a name="paymentStatus"></a>8. Property `paymentStatus`
|
|
339
359
|
|
|
340
360
|
| | |
|
|
341
361
|
| ------------------------- | ---------------- |
|
|
@@ -350,7 +370,7 @@ Must be one of:
|
|
|
350
370
|
| [payment-status](#paymentStatus_anyOf_i0) |
|
|
351
371
|
| [item 1](#paymentStatus_anyOf_i1) |
|
|
352
372
|
|
|
353
|
-
### <a name="paymentStatus_anyOf_i0"></a>
|
|
373
|
+
### <a name="paymentStatus_anyOf_i0"></a>8.1. Property `payment-status`
|
|
354
374
|
|
|
355
375
|
| | |
|
|
356
376
|
| -------------- | ---------------------------- |
|
|
@@ -369,14 +389,14 @@ Must be one of:
|
|
|
369
389
|
* "REFUNDED"
|
|
370
390
|
* "PARTIALLY_REFUNDED"
|
|
371
391
|
|
|
372
|
-
### <a name="paymentStatus_anyOf_i1"></a>
|
|
392
|
+
### <a name="paymentStatus_anyOf_i1"></a>8.2. Property `item 1`
|
|
373
393
|
|
|
374
394
|
| | |
|
|
375
395
|
| ------------ | ------ |
|
|
376
396
|
| **Type** | `null` |
|
|
377
397
|
| **Required** | No |
|
|
378
398
|
|
|
379
|
-
## <a name="fulfillmentStatus"></a>
|
|
399
|
+
## <a name="fulfillmentStatus"></a>9. Property `fulfillmentStatus`
|
|
380
400
|
|
|
381
401
|
| | |
|
|
382
402
|
| ------------------------- | ---------------- |
|
|
@@ -391,7 +411,7 @@ Must be one of:
|
|
|
391
411
|
| [fulfillment-status](#fulfillmentStatus_anyOf_i0) |
|
|
392
412
|
| [item 1](#fulfillmentStatus_anyOf_i1) |
|
|
393
413
|
|
|
394
|
-
### <a name="fulfillmentStatus_anyOf_i0"></a>
|
|
414
|
+
### <a name="fulfillmentStatus_anyOf_i0"></a>9.1. Property `fulfillment-status`
|
|
395
415
|
|
|
396
416
|
| | |
|
|
397
417
|
| -------------- | -------------------------------- |
|
|
@@ -409,7 +429,7 @@ Must be one of:
|
|
|
409
429
|
* "DELIVERED"
|
|
410
430
|
* "PICKED_UP"
|
|
411
431
|
|
|
412
|
-
### <a name="fulfillmentStatus_anyOf_i1"></a>
|
|
432
|
+
### <a name="fulfillmentStatus_anyOf_i1"></a>9.2. Property `item 1`
|
|
413
433
|
|
|
414
434
|
| | |
|
|
415
435
|
| ------------ | ------ |
|
|
@@ -424,7 +444,7 @@ Null for ON_SITE and PICK_UP orders. Set when deliveryType is DELIVERY and a phy
|
|
|
424
444
|
**Decisions:** `D34`
|
|
425
445
|
:::
|
|
426
446
|
|
|
427
|
-
## <a name="returnStatus"></a>
|
|
447
|
+
## <a name="returnStatus"></a>10. Property `returnStatus`
|
|
428
448
|
|
|
429
449
|
| | |
|
|
430
450
|
| ------------------------- | ---------------- |
|
|
@@ -439,7 +459,7 @@ Null for ON_SITE and PICK_UP orders. Set when deliveryType is DELIVERY and a phy
|
|
|
439
459
|
| [return-status](#returnStatus_anyOf_i0) |
|
|
440
460
|
| [item 1](#returnStatus_anyOf_i1) |
|
|
441
461
|
|
|
442
|
-
### <a name="returnStatus_anyOf_i0"></a>
|
|
462
|
+
### <a name="returnStatus_anyOf_i0"></a>10.1. Property `return-status`
|
|
443
463
|
|
|
444
464
|
| | |
|
|
445
465
|
| -------------- | --------------------------- |
|
|
@@ -457,14 +477,14 @@ Must be one of:
|
|
|
457
477
|
* "EXCHANGE_PROCESSING"
|
|
458
478
|
* "EXCHANGE_COMPLETED"
|
|
459
479
|
|
|
460
|
-
### <a name="returnStatus_anyOf_i1"></a>
|
|
480
|
+
### <a name="returnStatus_anyOf_i1"></a>10.2. Property `item 1`
|
|
461
481
|
|
|
462
482
|
| | |
|
|
463
483
|
| ------------ | ------ |
|
|
464
484
|
| **Type** | `null` |
|
|
465
485
|
| **Required** | No |
|
|
466
486
|
|
|
467
|
-
## <a name="deliveryType"></a>
|
|
487
|
+
## <a name="deliveryType"></a>11. Property `deliveryType`
|
|
468
488
|
|
|
469
489
|
| | |
|
|
470
490
|
| ------------------------- | ---------------- |
|
|
@@ -479,7 +499,7 @@ Must be one of:
|
|
|
479
499
|
| [delivery-type](#deliveryType_anyOf_i0) |
|
|
480
500
|
| [item 1](#deliveryType_anyOf_i1) |
|
|
481
501
|
|
|
482
|
-
### <a name="deliveryType_anyOf_i0"></a>
|
|
502
|
+
### <a name="deliveryType_anyOf_i0"></a>11.1. Property `delivery-type`
|
|
483
503
|
|
|
484
504
|
| | |
|
|
485
505
|
| -------------- | --------------------------- |
|
|
@@ -494,7 +514,7 @@ Must be one of:
|
|
|
494
514
|
* "PICK_UP"
|
|
495
515
|
* "DELIVERY"
|
|
496
516
|
|
|
497
|
-
### <a name="deliveryType_anyOf_i1"></a>
|
|
517
|
+
### <a name="deliveryType_anyOf_i1"></a>11.2. Property `item 1`
|
|
498
518
|
|
|
499
519
|
| | |
|
|
500
520
|
| ------------ | ------ |
|
|
@@ -505,7 +525,7 @@ Must be one of:
|
|
|
505
525
|
Drives whether fulfillmentStatus is relevant. ON_SITE and PICK_UP orders typically have no fulfillmentStatus.
|
|
506
526
|
:::
|
|
507
527
|
|
|
508
|
-
## <a name="paymentMethod"></a>
|
|
528
|
+
## <a name="paymentMethod"></a>12. Property `paymentMethod`
|
|
509
529
|
|
|
510
530
|
| | |
|
|
511
531
|
| ------------------------- | ---------------- |
|
|
@@ -513,14 +533,14 @@ Drives whether fulfillmentStatus is relevant. ON_SITE and PICK_UP orders typical
|
|
|
513
533
|
| **Required** | No |
|
|
514
534
|
| **Additional properties** | Any type allowed |
|
|
515
535
|
|
|
516
|
-
**Description:** Unified payment method set with African + global methods (D02).
|
|
536
|
+
**Description:** Unified payment method set with African + global methods (D02). Note: the metrics writer historically emits "OM" instead of "ORANGE_MONEY" as a paymentsByMethod map key — treat OM as deprecated; canonical value is ORANGE_MONEY (#21).
|
|
517
537
|
|
|
518
538
|
| Any of(Option) |
|
|
519
539
|
| ----------------------------------------- |
|
|
520
540
|
| [payment-method](#paymentMethod_anyOf_i0) |
|
|
521
541
|
| [item 1](#paymentMethod_anyOf_i1) |
|
|
522
542
|
|
|
523
|
-
### <a name="paymentMethod_anyOf_i0"></a>
|
|
543
|
+
### <a name="paymentMethod_anyOf_i0"></a>12.1. Property `payment-method`
|
|
524
544
|
|
|
525
545
|
| | |
|
|
526
546
|
| -------------- | ---------------------------- |
|
|
@@ -528,7 +548,7 @@ Drives whether fulfillmentStatus is relevant. ON_SITE and PICK_UP orders typical
|
|
|
528
548
|
| **Required** | No |
|
|
529
549
|
| **Defined in** | #/definitions/payment-method |
|
|
530
550
|
|
|
531
|
-
**Description:** Unified payment method set with African + global methods (D02).
|
|
551
|
+
**Description:** Unified payment method set with African + global methods (D02). Note: the metrics writer historically emits "OM" instead of "ORANGE_MONEY" as a paymentsByMethod map key — treat OM as deprecated; canonical value is ORANGE_MONEY (#21).
|
|
532
552
|
|
|
533
553
|
Must be one of:
|
|
534
554
|
* "CASH"
|
|
@@ -541,15 +561,16 @@ Must be one of:
|
|
|
541
561
|
* "PAYPAL"
|
|
542
562
|
* "STRIPE"
|
|
543
563
|
* "OTHER"
|
|
564
|
+
* "OM"
|
|
544
565
|
|
|
545
|
-
### <a name="paymentMethod_anyOf_i1"></a>
|
|
566
|
+
### <a name="paymentMethod_anyOf_i1"></a>12.2. Property `item 1`
|
|
546
567
|
|
|
547
568
|
| | |
|
|
548
569
|
| ------------ | ------ |
|
|
549
570
|
| **Type** | `null` |
|
|
550
571
|
| **Required** | No |
|
|
551
572
|
|
|
552
|
-
## <a name="invoiceId"></a>
|
|
573
|
+
## <a name="invoiceId"></a>13. Property `invoiceId`
|
|
553
574
|
|
|
554
575
|
| | |
|
|
555
576
|
| ------------ | ---------------- |
|
|
@@ -558,7 +579,7 @@ Must be one of:
|
|
|
558
579
|
|
|
559
580
|
**Description:** FK → Invoice document ID.
|
|
560
581
|
|
|
561
|
-
## <a name="customerId"></a>
|
|
582
|
+
## <a name="customerId"></a>14. Property `customerId`
|
|
562
583
|
|
|
563
584
|
| | |
|
|
564
585
|
| ------------ | ---------------- |
|
|
@@ -567,7 +588,7 @@ Must be one of:
|
|
|
567
588
|
|
|
568
589
|
**Description:** FK → Customer.id (Firestore doc ID). Used to resolve customer details.
|
|
569
590
|
|
|
570
|
-
## <a name="customerName"></a>
|
|
591
|
+
## <a name="customerName"></a>15. Property `customerName`
|
|
571
592
|
|
|
572
593
|
| | |
|
|
573
594
|
| ------------ | ---------------- |
|
|
@@ -576,7 +597,7 @@ Must be one of:
|
|
|
576
597
|
|
|
577
598
|
**Description:** (Denormalized) From Customer.name at write time.
|
|
578
599
|
|
|
579
|
-
## <a name="customerEmail"></a>
|
|
600
|
+
## <a name="customerEmail"></a>16. Property `customerEmail`
|
|
580
601
|
|
|
581
602
|
| | |
|
|
582
603
|
| ------------ | ---------------- |
|
|
@@ -585,7 +606,7 @@ Must be one of:
|
|
|
585
606
|
|
|
586
607
|
**Description:** (Denormalized) From Customer.email at write time. Canonical field per D24.
|
|
587
608
|
|
|
588
|
-
## <a name="customerPhone"></a>
|
|
609
|
+
## <a name="customerPhone"></a>17. Property `customerPhone`
|
|
589
610
|
|
|
590
611
|
| | |
|
|
591
612
|
| ------------ | ---------------- |
|
|
@@ -594,7 +615,7 @@ Must be one of:
|
|
|
594
615
|
|
|
595
616
|
**Description:** (Denormalized) From Customer.phone at write time. Canonical field per D24.
|
|
596
617
|
|
|
597
|
-
## <a name="clientEmail"></a>
|
|
618
|
+
## <a name="clientEmail"></a>18. Property `clientEmail`
|
|
598
619
|
|
|
599
620
|
| | |
|
|
600
621
|
| ------------ | ---------------- |
|
|
@@ -611,7 +632,7 @@ This field is deprecated. Do not write it in new code.
|
|
|
611
632
|
Use `customerEmail` instead.
|
|
612
633
|
:::
|
|
613
634
|
|
|
614
|
-
## <a name="clientPhoneNumber"></a>
|
|
635
|
+
## <a name="clientPhoneNumber"></a>19. Property `clientPhoneNumber`
|
|
615
636
|
|
|
616
637
|
| | |
|
|
617
638
|
| ------------ | ---------------- |
|
|
@@ -628,7 +649,7 @@ This field is deprecated. Do not write it in new code.
|
|
|
628
649
|
Use `customerPhone` instead.
|
|
629
650
|
:::
|
|
630
651
|
|
|
631
|
-
## <a name="items"></a>
|
|
652
|
+
## <a name="items"></a>20. Property `items`
|
|
632
653
|
|
|
633
654
|
| | |
|
|
634
655
|
| ------------ | --------------- |
|
|
@@ -647,7 +668,7 @@ Use `customerPhone` instead.
|
|
|
647
668
|
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
648
669
|
| [order-item](#items_items) | 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. |
|
|
649
670
|
|
|
650
|
-
### <a name="items_items"></a>
|
|
671
|
+
### <a name="items_items"></a>20.1. order-item
|
|
651
672
|
|
|
652
673
|
| | |
|
|
653
674
|
| ------------------------- | ------------------------ |
|
|
@@ -673,7 +694,7 @@ Use `customerPhone` instead.
|
|
|
673
694
|
| - [readyAt](#items_items_readyAt ) | No | object | No | - | (Read-only) Timestamp when the item was ready for pickup or service. TBD/WIP — archived CBL flow. |
|
|
674
695
|
| - [servedAt](#items_items_servedAt ) | No | object | No | - | (Read-only) Timestamp when the item was served to the customer. TBD/WIP — archived CBL flow. |
|
|
675
696
|
|
|
676
|
-
#### <a name="items_items_name"></a>
|
|
697
|
+
#### <a name="items_items_name"></a>20.1.1. Property `name`
|
|
677
698
|
|
|
678
699
|
| | |
|
|
679
700
|
| ------------ | -------- |
|
|
@@ -682,7 +703,7 @@ Use `customerPhone` instead.
|
|
|
682
703
|
|
|
683
704
|
**Description:** Display name of the product or service.
|
|
684
705
|
|
|
685
|
-
#### <a name="items_items_quantity"></a>
|
|
706
|
+
#### <a name="items_items_quantity"></a>20.1.2. Property `quantity`
|
|
686
707
|
|
|
687
708
|
| | |
|
|
688
709
|
| ------------ | -------- |
|
|
@@ -691,7 +712,7 @@ Use `customerPhone` instead.
|
|
|
691
712
|
|
|
692
713
|
**Description:** Number of units ordered.
|
|
693
714
|
|
|
694
|
-
#### <a name="items_items_price"></a>
|
|
715
|
+
#### <a name="items_items_price"></a>20.1.3. Property `price`
|
|
695
716
|
|
|
696
717
|
| | |
|
|
697
718
|
| ------------ | -------- |
|
|
@@ -700,7 +721,7 @@ Use `customerPhone` instead.
|
|
|
700
721
|
|
|
701
722
|
**Description:** Unit price. Canonical name per D11.
|
|
702
723
|
|
|
703
|
-
#### <a name="items_items_productId"></a>
|
|
724
|
+
#### <a name="items_items_productId"></a>20.1.4. Property `productId`
|
|
704
725
|
|
|
705
726
|
| | |
|
|
706
727
|
| ------------ | -------- |
|
|
@@ -709,7 +730,7 @@ Use `customerPhone` instead.
|
|
|
709
730
|
|
|
710
731
|
**Description:** FK → Product document ID.
|
|
711
732
|
|
|
712
|
-
#### <a name="items_items_increment"></a>
|
|
733
|
+
#### <a name="items_items_increment"></a>20.1.5. Property `increment`
|
|
713
734
|
|
|
714
735
|
| | |
|
|
715
736
|
| ------------ | -------- |
|
|
@@ -718,7 +739,7 @@ Use `customerPhone` instead.
|
|
|
718
739
|
|
|
719
740
|
**Description:** Quantity step for bundle/bulk items (e.g. 5 for a 5-pack). Dashboard/Firebase only.
|
|
720
741
|
|
|
721
|
-
#### <a name="items_items_variantId"></a>
|
|
742
|
+
#### <a name="items_items_variantId"></a>20.1.6. Property `variantId`
|
|
722
743
|
|
|
723
744
|
| | |
|
|
724
745
|
| ------------ | -------- |
|
|
@@ -727,7 +748,7 @@ Use `customerPhone` instead.
|
|
|
727
748
|
|
|
728
749
|
**Description:** FK → ProductVariant ID within the product. Dashboard/Firebase only.
|
|
729
750
|
|
|
730
|
-
#### <a name="items_items_supplierId"></a>
|
|
751
|
+
#### <a name="items_items_supplierId"></a>20.1.7. Property `supplierId`
|
|
731
752
|
|
|
732
753
|
| | |
|
|
733
754
|
| ------------ | -------- |
|
|
@@ -736,7 +757,7 @@ Use `customerPhone` instead.
|
|
|
736
757
|
|
|
737
758
|
**Description:** FK → Supplier document ID. B2B orders only.
|
|
738
759
|
|
|
739
|
-
#### <a name="items_items_supplierName"></a>
|
|
760
|
+
#### <a name="items_items_supplierName"></a>20.1.8. Property `supplierName`
|
|
740
761
|
|
|
741
762
|
| | |
|
|
742
763
|
| ------------ | -------- |
|
|
@@ -745,7 +766,7 @@ Use `customerPhone` instead.
|
|
|
745
766
|
|
|
746
767
|
**Description:** (Denormalized) From Supplier.name at write time. B2B orders only.
|
|
747
768
|
|
|
748
|
-
#### <a name="items_items_sentAt"></a>
|
|
769
|
+
#### <a name="items_items_sentAt"></a>20.1.9. Property `sentAt`
|
|
749
770
|
|
|
750
771
|
| | |
|
|
751
772
|
| ------------------------- | ----------- |
|
|
@@ -760,7 +781,7 @@ Use `customerPhone` instead.
|
|
|
760
781
|
| + [_seconds](#items_items_sentAt__seconds ) | No | integer | No | - | - |
|
|
761
782
|
| + [_nanoseconds](#items_items_sentAt__nanoseconds ) | No | integer | No | - | - |
|
|
762
783
|
|
|
763
|
-
##### <a name="items_items_sentAt__seconds"></a>
|
|
784
|
+
##### <a name="items_items_sentAt__seconds"></a>20.1.9.1. Property `_seconds`
|
|
764
785
|
|
|
765
786
|
| | |
|
|
766
787
|
| ------------ | --------- |
|
|
@@ -772,7 +793,7 @@ Use `customerPhone` instead.
|
|
|
772
793
|
| **Minimum** | ≥ -9007199254740991 |
|
|
773
794
|
| **Maximum** | ≤ 9007199254740991 |
|
|
774
795
|
|
|
775
|
-
##### <a name="items_items_sentAt__nanoseconds"></a>
|
|
796
|
+
##### <a name="items_items_sentAt__nanoseconds"></a>20.1.9.2. Property `_nanoseconds`
|
|
776
797
|
|
|
777
798
|
| | |
|
|
778
799
|
| ------------ | --------- |
|
|
@@ -784,7 +805,7 @@ Use `customerPhone` instead.
|
|
|
784
805
|
| **Minimum** | ≥ -9007199254740991 |
|
|
785
806
|
| **Maximum** | ≤ 9007199254740991 |
|
|
786
807
|
|
|
787
|
-
#### <a name="items_items_startedCookingAt"></a>
|
|
808
|
+
#### <a name="items_items_startedCookingAt"></a>20.1.10. Property `startedCookingAt`
|
|
788
809
|
|
|
789
810
|
| | |
|
|
790
811
|
| ------------------------- | ----------- |
|
|
@@ -799,7 +820,7 @@ Use `customerPhone` instead.
|
|
|
799
820
|
| + [_seconds](#items_items_startedCookingAt__seconds ) | No | integer | No | - | - |
|
|
800
821
|
| + [_nanoseconds](#items_items_startedCookingAt__nanoseconds ) | No | integer | No | - | - |
|
|
801
822
|
|
|
802
|
-
##### <a name="items_items_startedCookingAt__seconds"></a>
|
|
823
|
+
##### <a name="items_items_startedCookingAt__seconds"></a>20.1.10.1. Property `_seconds`
|
|
803
824
|
|
|
804
825
|
| | |
|
|
805
826
|
| ------------ | --------- |
|
|
@@ -811,7 +832,7 @@ Use `customerPhone` instead.
|
|
|
811
832
|
| **Minimum** | ≥ -9007199254740991 |
|
|
812
833
|
| **Maximum** | ≤ 9007199254740991 |
|
|
813
834
|
|
|
814
|
-
##### <a name="items_items_startedCookingAt__nanoseconds"></a>
|
|
835
|
+
##### <a name="items_items_startedCookingAt__nanoseconds"></a>20.1.10.2. Property `_nanoseconds`
|
|
815
836
|
|
|
816
837
|
| | |
|
|
817
838
|
| ------------ | --------- |
|
|
@@ -823,7 +844,7 @@ Use `customerPhone` instead.
|
|
|
823
844
|
| **Minimum** | ≥ -9007199254740991 |
|
|
824
845
|
| **Maximum** | ≤ 9007199254740991 |
|
|
825
846
|
|
|
826
|
-
#### <a name="items_items_readyAt"></a>
|
|
847
|
+
#### <a name="items_items_readyAt"></a>20.1.11. Property `readyAt`
|
|
827
848
|
|
|
828
849
|
| | |
|
|
829
850
|
| ------------------------- | ----------- |
|
|
@@ -838,7 +859,7 @@ Use `customerPhone` instead.
|
|
|
838
859
|
| + [_seconds](#items_items_readyAt__seconds ) | No | integer | No | - | - |
|
|
839
860
|
| + [_nanoseconds](#items_items_readyAt__nanoseconds ) | No | integer | No | - | - |
|
|
840
861
|
|
|
841
|
-
##### <a name="items_items_readyAt__seconds"></a>
|
|
862
|
+
##### <a name="items_items_readyAt__seconds"></a>20.1.11.1. Property `_seconds`
|
|
842
863
|
|
|
843
864
|
| | |
|
|
844
865
|
| ------------ | --------- |
|
|
@@ -850,7 +871,7 @@ Use `customerPhone` instead.
|
|
|
850
871
|
| **Minimum** | ≥ -9007199254740991 |
|
|
851
872
|
| **Maximum** | ≤ 9007199254740991 |
|
|
852
873
|
|
|
853
|
-
##### <a name="items_items_readyAt__nanoseconds"></a>
|
|
874
|
+
##### <a name="items_items_readyAt__nanoseconds"></a>20.1.11.2. Property `_nanoseconds`
|
|
854
875
|
|
|
855
876
|
| | |
|
|
856
877
|
| ------------ | --------- |
|
|
@@ -862,7 +883,7 @@ Use `customerPhone` instead.
|
|
|
862
883
|
| **Minimum** | ≥ -9007199254740991 |
|
|
863
884
|
| **Maximum** | ≤ 9007199254740991 |
|
|
864
885
|
|
|
865
|
-
#### <a name="items_items_servedAt"></a>
|
|
886
|
+
#### <a name="items_items_servedAt"></a>20.1.12. Property `servedAt`
|
|
866
887
|
|
|
867
888
|
| | |
|
|
868
889
|
| ------------------------- | ----------- |
|
|
@@ -877,7 +898,7 @@ Use `customerPhone` instead.
|
|
|
877
898
|
| + [_seconds](#items_items_servedAt__seconds ) | No | integer | No | - | - |
|
|
878
899
|
| + [_nanoseconds](#items_items_servedAt__nanoseconds ) | No | integer | No | - | - |
|
|
879
900
|
|
|
880
|
-
##### <a name="items_items_servedAt__seconds"></a>
|
|
901
|
+
##### <a name="items_items_servedAt__seconds"></a>20.1.12.1. Property `_seconds`
|
|
881
902
|
|
|
882
903
|
| | |
|
|
883
904
|
| ------------ | --------- |
|
|
@@ -889,7 +910,7 @@ Use `customerPhone` instead.
|
|
|
889
910
|
| **Minimum** | ≥ -9007199254740991 |
|
|
890
911
|
| **Maximum** | ≤ 9007199254740991 |
|
|
891
912
|
|
|
892
|
-
##### <a name="items_items_servedAt__nanoseconds"></a>
|
|
913
|
+
##### <a name="items_items_servedAt__nanoseconds"></a>20.1.12.2. Property `_nanoseconds`
|
|
893
914
|
|
|
894
915
|
| | |
|
|
895
916
|
| ------------ | --------- |
|
|
@@ -901,7 +922,7 @@ Use `customerPhone` instead.
|
|
|
901
922
|
| **Minimum** | ≥ -9007199254740991 |
|
|
902
923
|
| **Maximum** | ≤ 9007199254740991 |
|
|
903
924
|
|
|
904
|
-
## <a name="amount"></a>
|
|
925
|
+
## <a name="amount"></a>21. Property `amount`
|
|
905
926
|
|
|
906
927
|
| | |
|
|
907
928
|
| ------------ | -------- |
|
|
@@ -910,7 +931,7 @@ Use `customerPhone` instead.
|
|
|
910
931
|
|
|
911
932
|
**Description:** Total order amount. Canonical field for the order total.
|
|
912
933
|
|
|
913
|
-
## <a name="amountPaid"></a>
|
|
934
|
+
## <a name="amountPaid"></a>22. Property `amountPaid`
|
|
914
935
|
|
|
915
936
|
| | |
|
|
916
937
|
| ------------ | ---------------- |
|
|
@@ -919,7 +940,7 @@ Use `customerPhone` instead.
|
|
|
919
940
|
|
|
920
941
|
**Description:** Amount of `amount` paid to date. Derived from payment allocations.
|
|
921
942
|
|
|
922
|
-
## <a name="total"></a>
|
|
943
|
+
## <a name="total"></a>23. Property `total`
|
|
923
944
|
|
|
924
945
|
| | |
|
|
925
946
|
| ------------ | ---------------- |
|
|
@@ -940,7 +961,7 @@ Sent by Mobile only. Mirrors `amount`. Use `amount` for all new writes. Pending
|
|
|
940
961
|
Use `amount` instead.
|
|
941
962
|
:::
|
|
942
963
|
|
|
943
|
-
## <a name="createdAt"></a>
|
|
964
|
+
## <a name="createdAt"></a>24. Property `createdAt`
|
|
944
965
|
|
|
945
966
|
| | |
|
|
946
967
|
| ------------------------- | --------------------------------- |
|
|
@@ -956,7 +977,7 @@ Use `amount` instead.
|
|
|
956
977
|
| + [_seconds](#createdAt__seconds ) | No | integer | No | - | - |
|
|
957
978
|
| + [_nanoseconds](#createdAt__nanoseconds ) | No | integer | No | - | - |
|
|
958
979
|
|
|
959
|
-
### <a name="createdAt__seconds"></a>
|
|
980
|
+
### <a name="createdAt__seconds"></a>24.1. Property `_seconds`
|
|
960
981
|
|
|
961
982
|
| | |
|
|
962
983
|
| ------------ | --------- |
|
|
@@ -968,7 +989,7 @@ Use `amount` instead.
|
|
|
968
989
|
| **Minimum** | ≥ -9007199254740991 |
|
|
969
990
|
| **Maximum** | ≤ 9007199254740991 |
|
|
970
991
|
|
|
971
|
-
### <a name="createdAt__nanoseconds"></a>
|
|
992
|
+
### <a name="createdAt__nanoseconds"></a>24.2. Property `_nanoseconds`
|
|
972
993
|
|
|
973
994
|
| | |
|
|
974
995
|
| ------------ | --------- |
|
|
@@ -984,7 +1005,7 @@ Use `amount` instead.
|
|
|
984
1005
|
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.
|
|
985
1006
|
:::
|
|
986
1007
|
|
|
987
|
-
## <a name="orderDate"></a>
|
|
1008
|
+
## <a name="orderDate"></a>25. Property `orderDate`
|
|
988
1009
|
|
|
989
1010
|
| | |
|
|
990
1011
|
| ------------------------- | ----------------------- |
|
|
@@ -995,7 +1016,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
995
1016
|
|
|
996
1017
|
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
997
1018
|
|
|
998
|
-
## <a name="PROCESSING_ON"></a>
|
|
1019
|
+
## <a name="PROCESSING_ON"></a>26. Property `PROCESSING_ON`
|
|
999
1020
|
|
|
1000
1021
|
| | |
|
|
1001
1022
|
| ------------------------- | ---------------- |
|
|
@@ -1010,7 +1031,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1010
1031
|
| [firestore-timestamp](#PROCESSING_ON_anyOf_i0) |
|
|
1011
1032
|
| [item 1](#PROCESSING_ON_anyOf_i1) |
|
|
1012
1033
|
|
|
1013
|
-
### <a name="PROCESSING_ON_anyOf_i0"></a>
|
|
1034
|
+
### <a name="PROCESSING_ON_anyOf_i0"></a>26.1. Property `firestore-timestamp`
|
|
1014
1035
|
|
|
1015
1036
|
| | |
|
|
1016
1037
|
| ------------------------- | ----------------------- |
|
|
@@ -1021,7 +1042,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1021
1042
|
|
|
1022
1043
|
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
1023
1044
|
|
|
1024
|
-
### <a name="PROCESSING_ON_anyOf_i1"></a>
|
|
1045
|
+
### <a name="PROCESSING_ON_anyOf_i1"></a>26.2. Property `item 1`
|
|
1025
1046
|
|
|
1026
1047
|
| | |
|
|
1027
1048
|
| ------------ | ------ |
|
|
@@ -1041,7 +1062,7 @@ Never write this field directly. The server sets it automatically on status tran
|
|
|
1041
1062
|
**Migrations:** `MIG-01`
|
|
1042
1063
|
:::
|
|
1043
1064
|
|
|
1044
|
-
## <a name="COMPLETED_ON"></a>
|
|
1065
|
+
## <a name="COMPLETED_ON"></a>27. Property `COMPLETED_ON`
|
|
1045
1066
|
|
|
1046
1067
|
| | |
|
|
1047
1068
|
| ------------------------- | ---------------- |
|
|
@@ -1056,7 +1077,7 @@ Never write this field directly. The server sets it automatically on status tran
|
|
|
1056
1077
|
| [firestore-timestamp](#COMPLETED_ON_anyOf_i0) |
|
|
1057
1078
|
| [item 1](#COMPLETED_ON_anyOf_i1) |
|
|
1058
1079
|
|
|
1059
|
-
### <a name="COMPLETED_ON_anyOf_i0"></a>
|
|
1080
|
+
### <a name="COMPLETED_ON_anyOf_i0"></a>27.1. Property `firestore-timestamp`
|
|
1060
1081
|
|
|
1061
1082
|
| | |
|
|
1062
1083
|
| ------------------------- | ----------------------- |
|
|
@@ -1067,7 +1088,7 @@ Never write this field directly. The server sets it automatically on status tran
|
|
|
1067
1088
|
|
|
1068
1089
|
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
1069
1090
|
|
|
1070
|
-
### <a name="COMPLETED_ON_anyOf_i1"></a>
|
|
1091
|
+
### <a name="COMPLETED_ON_anyOf_i1"></a>27.2. Property `item 1`
|
|
1071
1092
|
|
|
1072
1093
|
| | |
|
|
1073
1094
|
| ------------ | ------ |
|
|
@@ -1078,7 +1099,7 @@ Never write this field directly. The server sets it automatically on status tran
|
|
|
1078
1099
|
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.
|
|
1079
1100
|
:::
|
|
1080
1101
|
|
|
1081
|
-
## <a name="CANCELLED_ON"></a>
|
|
1102
|
+
## <a name="CANCELLED_ON"></a>28. Property `CANCELLED_ON`
|
|
1082
1103
|
|
|
1083
1104
|
| | |
|
|
1084
1105
|
| ------------------------- | ---------------- |
|
|
@@ -1093,7 +1114,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1093
1114
|
| [firestore-timestamp](#CANCELLED_ON_anyOf_i0) |
|
|
1094
1115
|
| [item 1](#CANCELLED_ON_anyOf_i1) |
|
|
1095
1116
|
|
|
1096
|
-
### <a name="CANCELLED_ON_anyOf_i0"></a>
|
|
1117
|
+
### <a name="CANCELLED_ON_anyOf_i0"></a>28.1. Property `firestore-timestamp`
|
|
1097
1118
|
|
|
1098
1119
|
| | |
|
|
1099
1120
|
| ------------------------- | ----------------------- |
|
|
@@ -1104,7 +1125,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1104
1125
|
|
|
1105
1126
|
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
1106
1127
|
|
|
1107
|
-
### <a name="CANCELLED_ON_anyOf_i1"></a>
|
|
1128
|
+
### <a name="CANCELLED_ON_anyOf_i1"></a>28.2. Property `item 1`
|
|
1108
1129
|
|
|
1109
1130
|
| | |
|
|
1110
1131
|
| ------------ | ------ |
|
|
@@ -1115,28 +1136,28 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1115
1136
|
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.
|
|
1116
1137
|
:::
|
|
1117
1138
|
|
|
1118
|
-
## <a name="cancellationReason"></a>
|
|
1139
|
+
## <a name="cancellationReason"></a>29. Property `cancellationReason`
|
|
1119
1140
|
|
|
1120
1141
|
| | |
|
|
1121
1142
|
| ------------ | ---------------- |
|
|
1122
1143
|
| **Type** | `string or null` |
|
|
1123
1144
|
| **Required** | No |
|
|
1124
1145
|
|
|
1125
|
-
## <a name="shippingCarrier"></a>
|
|
1146
|
+
## <a name="shippingCarrier"></a>30. Property `shippingCarrier`
|
|
1126
1147
|
|
|
1127
1148
|
| | |
|
|
1128
1149
|
| ------------ | ---------------- |
|
|
1129
1150
|
| **Type** | `string or null` |
|
|
1130
1151
|
| **Required** | No |
|
|
1131
1152
|
|
|
1132
|
-
## <a name="trackingNumber"></a>
|
|
1153
|
+
## <a name="trackingNumber"></a>31. Property `trackingNumber`
|
|
1133
1154
|
|
|
1134
1155
|
| | |
|
|
1135
1156
|
| ------------ | ---------------- |
|
|
1136
1157
|
| **Type** | `string or null` |
|
|
1137
1158
|
| **Required** | No |
|
|
1138
1159
|
|
|
1139
|
-
## <a name="estimatedDeliveryDate"></a>
|
|
1160
|
+
## <a name="estimatedDeliveryDate"></a>32. Property `estimatedDeliveryDate`
|
|
1140
1161
|
|
|
1141
1162
|
| | |
|
|
1142
1163
|
| ------------------------- | ---------------- |
|
|
@@ -1151,7 +1172,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1151
1172
|
| [firestore-timestamp](#estimatedDeliveryDate_anyOf_i0) |
|
|
1152
1173
|
| [item 1](#estimatedDeliveryDate_anyOf_i1) |
|
|
1153
1174
|
|
|
1154
|
-
### <a name="estimatedDeliveryDate_anyOf_i0"></a>
|
|
1175
|
+
### <a name="estimatedDeliveryDate_anyOf_i0"></a>32.1. Property `firestore-timestamp`
|
|
1155
1176
|
|
|
1156
1177
|
| | |
|
|
1157
1178
|
| ------------------------- | ----------------------- |
|
|
@@ -1162,21 +1183,21 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1162
1183
|
|
|
1163
1184
|
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
1164
1185
|
|
|
1165
|
-
### <a name="estimatedDeliveryDate_anyOf_i1"></a>
|
|
1186
|
+
### <a name="estimatedDeliveryDate_anyOf_i1"></a>32.2. Property `item 1`
|
|
1166
1187
|
|
|
1167
1188
|
| | |
|
|
1168
1189
|
| ------------ | ------ |
|
|
1169
1190
|
| **Type** | `null` |
|
|
1170
1191
|
| **Required** | No |
|
|
1171
1192
|
|
|
1172
|
-
## <a name="shippingCost"></a>
|
|
1193
|
+
## <a name="shippingCost"></a>33. Property `shippingCost`
|
|
1173
1194
|
|
|
1174
1195
|
| | |
|
|
1175
1196
|
| ------------ | ---------------- |
|
|
1176
1197
|
| **Type** | `number or null` |
|
|
1177
1198
|
| **Required** | No |
|
|
1178
1199
|
|
|
1179
|
-
## <a name="paymentProofUrl"></a>
|
|
1200
|
+
## <a name="paymentProofUrl"></a>34. Property `paymentProofUrl`
|
|
1180
1201
|
|
|
1181
1202
|
| | |
|
|
1182
1203
|
| ------------ | ---------------- |
|
|
@@ -1185,7 +1206,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1185
1206
|
|
|
1186
1207
|
**Description:** URL to uploaded payment proof image/document.
|
|
1187
1208
|
|
|
1188
|
-
## <a name="paymentProofStatus"></a>
|
|
1209
|
+
## <a name="paymentProofStatus"></a>35. Property `paymentProofStatus`
|
|
1189
1210
|
|
|
1190
1211
|
| | |
|
|
1191
1212
|
| ------------------------- | ---------------- |
|
|
@@ -1200,7 +1221,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1200
1221
|
| [payment-proof-status](#paymentProofStatus_anyOf_i0) |
|
|
1201
1222
|
| [item 1](#paymentProofStatus_anyOf_i1) |
|
|
1202
1223
|
|
|
1203
|
-
### <a name="paymentProofStatus_anyOf_i0"></a>
|
|
1224
|
+
### <a name="paymentProofStatus_anyOf_i0"></a>35.1. Property `payment-proof-status`
|
|
1204
1225
|
|
|
1205
1226
|
| | |
|
|
1206
1227
|
| -------------- | ---------------------------------- |
|
|
@@ -1215,14 +1236,14 @@ Must be one of:
|
|
|
1215
1236
|
* "APPROVED"
|
|
1216
1237
|
* "REJECTED"
|
|
1217
1238
|
|
|
1218
|
-
### <a name="paymentProofStatus_anyOf_i1"></a>
|
|
1239
|
+
### <a name="paymentProofStatus_anyOf_i1"></a>35.2. Property `item 1`
|
|
1219
1240
|
|
|
1220
1241
|
| | |
|
|
1221
1242
|
| ------------ | ------ |
|
|
1222
1243
|
| **Type** | `null` |
|
|
1223
1244
|
| **Required** | No |
|
|
1224
1245
|
|
|
1225
|
-
## <a name="paymentProofAddedAt"></a>
|
|
1246
|
+
## <a name="paymentProofAddedAt"></a>36. Property `paymentProofAddedAt`
|
|
1226
1247
|
|
|
1227
1248
|
| | |
|
|
1228
1249
|
| ------------------------- | ---------------- |
|
|
@@ -1237,7 +1258,7 @@ Must be one of:
|
|
|
1237
1258
|
| [firestore-timestamp](#paymentProofAddedAt_anyOf_i0) |
|
|
1238
1259
|
| [item 1](#paymentProofAddedAt_anyOf_i1) |
|
|
1239
1260
|
|
|
1240
|
-
### <a name="paymentProofAddedAt_anyOf_i0"></a>
|
|
1261
|
+
### <a name="paymentProofAddedAt_anyOf_i0"></a>36.1. Property `firestore-timestamp`
|
|
1241
1262
|
|
|
1242
1263
|
| | |
|
|
1243
1264
|
| ------------------------- | ----------------------- |
|
|
@@ -1248,7 +1269,7 @@ Must be one of:
|
|
|
1248
1269
|
|
|
1249
1270
|
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
1250
1271
|
|
|
1251
|
-
### <a name="paymentProofAddedAt_anyOf_i1"></a>
|
|
1272
|
+
### <a name="paymentProofAddedAt_anyOf_i1"></a>36.2. Property `item 1`
|
|
1252
1273
|
|
|
1253
1274
|
| | |
|
|
1254
1275
|
| ------------ | ------ |
|
|
@@ -1259,7 +1280,7 @@ Must be one of:
|
|
|
1259
1280
|
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.
|
|
1260
1281
|
:::
|
|
1261
1282
|
|
|
1262
|
-
## <a name="paymentProofAddedBy"></a>
|
|
1283
|
+
## <a name="paymentProofAddedBy"></a>37. Property `paymentProofAddedBy`
|
|
1263
1284
|
|
|
1264
1285
|
| | |
|
|
1265
1286
|
| ------------ | ---------------- |
|
|
@@ -1268,7 +1289,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1268
1289
|
|
|
1269
1290
|
**Description:** FK → User/staff UID who uploaded the payment proof.
|
|
1270
1291
|
|
|
1271
|
-
## <a name="paymentProofReviewedAt"></a>
|
|
1292
|
+
## <a name="paymentProofReviewedAt"></a>38. Property `paymentProofReviewedAt`
|
|
1272
1293
|
|
|
1273
1294
|
| | |
|
|
1274
1295
|
| ------------------------- | ---------------- |
|
|
@@ -1283,7 +1304,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1283
1304
|
| [firestore-timestamp](#paymentProofReviewedAt_anyOf_i0) |
|
|
1284
1305
|
| [item 1](#paymentProofReviewedAt_anyOf_i1) |
|
|
1285
1306
|
|
|
1286
|
-
### <a name="paymentProofReviewedAt_anyOf_i0"></a>
|
|
1307
|
+
### <a name="paymentProofReviewedAt_anyOf_i0"></a>38.1. Property `firestore-timestamp`
|
|
1287
1308
|
|
|
1288
1309
|
| | |
|
|
1289
1310
|
| ------------------------- | ----------------------- |
|
|
@@ -1294,7 +1315,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1294
1315
|
|
|
1295
1316
|
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
1296
1317
|
|
|
1297
|
-
### <a name="paymentProofReviewedAt_anyOf_i1"></a>
|
|
1318
|
+
### <a name="paymentProofReviewedAt_anyOf_i1"></a>38.2. Property `item 1`
|
|
1298
1319
|
|
|
1299
1320
|
| | |
|
|
1300
1321
|
| ------------ | ------ |
|
|
@@ -1305,7 +1326,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1305
1326
|
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.
|
|
1306
1327
|
:::
|
|
1307
1328
|
|
|
1308
|
-
## <a name="paymentProofReviewedBy"></a>
|
|
1329
|
+
## <a name="paymentProofReviewedBy"></a>39. Property `paymentProofReviewedBy`
|
|
1309
1330
|
|
|
1310
1331
|
| | |
|
|
1311
1332
|
| ------------ | ---------------- |
|
|
@@ -1314,21 +1335,21 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1314
1335
|
|
|
1315
1336
|
**Description:** FK → User/staff UID who reviewed the payment proof.
|
|
1316
1337
|
|
|
1317
|
-
## <a name="paymentProofRejectionReason"></a>
|
|
1338
|
+
## <a name="paymentProofRejectionReason"></a>40. Property `paymentProofRejectionReason`
|
|
1318
1339
|
|
|
1319
1340
|
| | |
|
|
1320
1341
|
| ------------ | ---------------- |
|
|
1321
1342
|
| **Type** | `string or null` |
|
|
1322
1343
|
| **Required** | No |
|
|
1323
1344
|
|
|
1324
|
-
## <a name="paymentStatusChangeReason"></a>
|
|
1345
|
+
## <a name="paymentStatusChangeReason"></a>41. Property `paymentStatusChangeReason`
|
|
1325
1346
|
|
|
1326
1347
|
| | |
|
|
1327
1348
|
| ------------ | ---------------- |
|
|
1328
1349
|
| **Type** | `string or null` |
|
|
1329
1350
|
| **Required** | No |
|
|
1330
1351
|
|
|
1331
|
-
## <a name="paymentStatusChangedBy"></a>
|
|
1352
|
+
## <a name="paymentStatusChangedBy"></a>42. Property `paymentStatusChangedBy`
|
|
1332
1353
|
|
|
1333
1354
|
| | |
|
|
1334
1355
|
| ------------ | ---------------- |
|
|
@@ -1337,7 +1358,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1337
1358
|
|
|
1338
1359
|
**Description:** FK → User/staff UID who changed payment status.
|
|
1339
1360
|
|
|
1340
|
-
## <a name="paymentStatusChangedAt"></a>
|
|
1361
|
+
## <a name="paymentStatusChangedAt"></a>43. Property `paymentStatusChangedAt`
|
|
1341
1362
|
|
|
1342
1363
|
| | |
|
|
1343
1364
|
| ------------------------- | ---------------- |
|
|
@@ -1352,7 +1373,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1352
1373
|
| [firestore-timestamp](#paymentStatusChangedAt_anyOf_i0) |
|
|
1353
1374
|
| [item 1](#paymentStatusChangedAt_anyOf_i1) |
|
|
1354
1375
|
|
|
1355
|
-
### <a name="paymentStatusChangedAt_anyOf_i0"></a>
|
|
1376
|
+
### <a name="paymentStatusChangedAt_anyOf_i0"></a>43.1. Property `firestore-timestamp`
|
|
1356
1377
|
|
|
1357
1378
|
| | |
|
|
1358
1379
|
| ------------------------- | ----------------------- |
|
|
@@ -1363,7 +1384,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1363
1384
|
|
|
1364
1385
|
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
1365
1386
|
|
|
1366
|
-
### <a name="paymentStatusChangedAt_anyOf_i1"></a>
|
|
1387
|
+
### <a name="paymentStatusChangedAt_anyOf_i1"></a>43.2. Property `item 1`
|
|
1367
1388
|
|
|
1368
1389
|
| | |
|
|
1369
1390
|
| ------------ | ------ |
|
|
@@ -1374,7 +1395,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1374
1395
|
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.
|
|
1375
1396
|
:::
|
|
1376
1397
|
|
|
1377
|
-
## <a name="payments"></a>
|
|
1398
|
+
## <a name="payments"></a>44. Property `payments`
|
|
1378
1399
|
|
|
1379
1400
|
| | |
|
|
1380
1401
|
| ------------ | ------------------------- |
|
|
@@ -1395,7 +1416,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1395
1416
|
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
1396
1417
|
| [payments items](#payments_items) | [TBD/WIP — IG-4] Denormalized payment snapshot. Subset of CustomerPayment (D22), written when a payment is allocated to this order. Sync rules pending IG-4 resolution. |
|
|
1397
1418
|
|
|
1398
|
-
### <a name="payments_items"></a>
|
|
1419
|
+
### <a name="payments_items"></a>44.1. payments items
|
|
1399
1420
|
|
|
1400
1421
|
| | |
|
|
1401
1422
|
| ------------------------- | ----------- |
|
|
@@ -1415,7 +1436,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1415
1436
|
| - [referenceNumber](#payments_items_referenceNumber ) | No | string | No | - | Payment reference (receipt number, transaction ID, etc.). |
|
|
1416
1437
|
| + [status](#payments_items_status ) | No | enum (of string) | No | In #/definitions/customer-payment-status | Payment status at time of snapshot. May lag CustomerPayment.status until re-synced. |
|
|
1417
1438
|
|
|
1418
|
-
#### <a name="payments_items_paymentId"></a>
|
|
1439
|
+
#### <a name="payments_items_paymentId"></a>44.1.1. Property `paymentId`
|
|
1419
1440
|
|
|
1420
1441
|
| | |
|
|
1421
1442
|
| ------------ | -------- |
|
|
@@ -1424,7 +1445,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1424
1445
|
|
|
1425
1446
|
**Description:** (Immutable) FK → CustomerPayment.id. Source document for this snapshot.
|
|
1426
1447
|
|
|
1427
|
-
#### <a name="payments_items_amount"></a>
|
|
1448
|
+
#### <a name="payments_items_amount"></a>44.1.2. Property `amount`
|
|
1428
1449
|
|
|
1429
1450
|
| | |
|
|
1430
1451
|
| ------------ | -------- |
|
|
@@ -1433,7 +1454,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1433
1454
|
|
|
1434
1455
|
**Description:** Total payment amount.
|
|
1435
1456
|
|
|
1436
|
-
#### <a name="payments_items_currency"></a>
|
|
1457
|
+
#### <a name="payments_items_currency"></a>44.1.3. Property `currency`
|
|
1437
1458
|
|
|
1438
1459
|
| | |
|
|
1439
1460
|
| ------------ | ------- |
|
|
@@ -1444,7 +1465,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
1444
1465
|
|
|
1445
1466
|
Specific value: `"XOF"`
|
|
1446
1467
|
|
|
1447
|
-
#### <a name="payments_items_paymentMethod"></a>
|
|
1468
|
+
#### <a name="payments_items_paymentMethod"></a>44.1.4. Property `paymentMethod`
|
|
1448
1469
|
|
|
1449
1470
|
| | |
|
|
1450
1471
|
| ---------------------- | ------------------------------------------------- |
|
|
@@ -1454,7 +1475,7 @@ Specific value: `"XOF"`
|
|
|
1454
1475
|
|
|
1455
1476
|
**Description:** Payment method used (D02).
|
|
1456
1477
|
|
|
1457
|
-
#### <a name="payments_items_paymentDate"></a>
|
|
1478
|
+
#### <a name="payments_items_paymentDate"></a>44.1.5. Property `paymentDate`
|
|
1458
1479
|
|
|
1459
1480
|
| | |
|
|
1460
1481
|
| ------------------------- | ----------------------- |
|
|
@@ -1465,7 +1486,7 @@ Specific value: `"XOF"`
|
|
|
1465
1486
|
|
|
1466
1487
|
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
1467
1488
|
|
|
1468
|
-
#### <a name="payments_items_referenceNumber"></a>
|
|
1489
|
+
#### <a name="payments_items_referenceNumber"></a>44.1.6. Property `referenceNumber`
|
|
1469
1490
|
|
|
1470
1491
|
| | |
|
|
1471
1492
|
| ------------ | -------- |
|
|
@@ -1474,7 +1495,7 @@ Specific value: `"XOF"`
|
|
|
1474
1495
|
|
|
1475
1496
|
**Description:** Payment reference (receipt number, transaction ID, etc.).
|
|
1476
1497
|
|
|
1477
|
-
#### <a name="payments_items_status"></a>
|
|
1498
|
+
#### <a name="payments_items_status"></a>44.1.7. Property `status`
|
|
1478
1499
|
|
|
1479
1500
|
| | |
|
|
1480
1501
|
| -------------- | ------------------------------------- |
|
|
@@ -1500,7 +1521,7 @@ Shape and sync rules are TBD pending IG-4 resolution. Do not build production lo
|
|
|
1500
1521
|
**Issues:** `IG-4`
|
|
1501
1522
|
:::
|
|
1502
1523
|
|
|
1503
|
-
## <a name="totalOverridden"></a>
|
|
1524
|
+
## <a name="totalOverridden"></a>45. Property `totalOverridden`
|
|
1504
1525
|
|
|
1505
1526
|
| | |
|
|
1506
1527
|
| ------------ | ----------------- |
|
|
@@ -1517,7 +1538,7 @@ Set only by the mobile app when the user manually edits the order total. Dashboa
|
|
|
1517
1538
|
**Decisions:** `D14`
|
|
1518
1539
|
:::
|
|
1519
1540
|
|
|
1520
|
-
## <a name="notes"></a>
|
|
1541
|
+
## <a name="notes"></a>46. Property `notes`
|
|
1521
1542
|
|
|
1522
1543
|
| | |
|
|
1523
1544
|
| ------------ | ------------------------- |
|
|
@@ -1536,7 +1557,7 @@ Set only by the mobile app when the user manually edits the order total. Dashboa
|
|
|
1536
1557
|
| ------------------------------- | -------------------------------------- |
|
|
1537
1558
|
| [notes items](#notes_items) | Timestamped note attached to an Order. |
|
|
1538
1559
|
|
|
1539
|
-
### <a name="notes_items"></a>
|
|
1560
|
+
### <a name="notes_items"></a>46.1. notes items
|
|
1540
1561
|
|
|
1541
1562
|
| | |
|
|
1542
1563
|
| ------------------------- | ----------- |
|
|
@@ -1554,7 +1575,7 @@ Set only by the mobile app when the user manually edits the order total. Dashboa
|
|
|
1554
1575
|
| - [createdBy](#notes_items_createdBy ) | No | string | No | - | (Immutable) FK → User/staff UID who created this note. |
|
|
1555
1576
|
| - [createdByName](#notes_items_createdByName ) | No | string | No | - | (Denormalized) From User display name at write time. |
|
|
1556
1577
|
|
|
1557
|
-
#### <a name="notes_items_id"></a>
|
|
1578
|
+
#### <a name="notes_items_id"></a>46.1.1. Property `id`
|
|
1558
1579
|
|
|
1559
1580
|
| | |
|
|
1560
1581
|
| ------------ | -------- |
|
|
@@ -1563,14 +1584,14 @@ Set only by the mobile app when the user manually edits the order total. Dashboa
|
|
|
1563
1584
|
|
|
1564
1585
|
**Description:** (Read-only) Note ID. Server-generated.
|
|
1565
1586
|
|
|
1566
|
-
#### <a name="notes_items_text"></a>
|
|
1587
|
+
#### <a name="notes_items_text"></a>46.1.2. Property `text`
|
|
1567
1588
|
|
|
1568
1589
|
| | |
|
|
1569
1590
|
| ------------ | -------- |
|
|
1570
1591
|
| **Type** | `string` |
|
|
1571
1592
|
| **Required** | Yes |
|
|
1572
1593
|
|
|
1573
|
-
#### <a name="notes_items_createdAt"></a>
|
|
1594
|
+
#### <a name="notes_items_createdAt"></a>46.1.3. Property `createdAt`
|
|
1574
1595
|
|
|
1575
1596
|
| | |
|
|
1576
1597
|
| ------------------------- | --------------------------------- |
|
|
@@ -1586,7 +1607,7 @@ Set only by the mobile app when the user manually edits the order total. Dashboa
|
|
|
1586
1607
|
| + [_seconds](#createdAt__seconds ) | No | integer | No | - | - |
|
|
1587
1608
|
| + [_nanoseconds](#createdAt__nanoseconds ) | No | integer | No | - | - |
|
|
1588
1609
|
|
|
1589
|
-
##### <a name="createdAt__seconds"></a>
|
|
1610
|
+
##### <a name="createdAt__seconds"></a>46.1.3.1. Property `_seconds`
|
|
1590
1611
|
|
|
1591
1612
|
| | |
|
|
1592
1613
|
| ------------ | --------- |
|
|
@@ -1598,7 +1619,7 @@ Set only by the mobile app when the user manually edits the order total. Dashboa
|
|
|
1598
1619
|
| **Minimum** | ≥ -9007199254740991 |
|
|
1599
1620
|
| **Maximum** | ≤ 9007199254740991 |
|
|
1600
1621
|
|
|
1601
|
-
##### <a name="createdAt__nanoseconds"></a>
|
|
1622
|
+
##### <a name="createdAt__nanoseconds"></a>46.1.3.2. Property `_nanoseconds`
|
|
1602
1623
|
|
|
1603
1624
|
| | |
|
|
1604
1625
|
| ------------ | --------- |
|
|
@@ -1610,7 +1631,7 @@ Set only by the mobile app when the user manually edits the order total. Dashboa
|
|
|
1610
1631
|
| **Minimum** | ≥ -9007199254740991 |
|
|
1611
1632
|
| **Maximum** | ≤ 9007199254740991 |
|
|
1612
1633
|
|
|
1613
|
-
#### <a name="notes_items_createdBy"></a>
|
|
1634
|
+
#### <a name="notes_items_createdBy"></a>46.1.4. Property `createdBy`
|
|
1614
1635
|
|
|
1615
1636
|
| | |
|
|
1616
1637
|
| ------------ | -------- |
|
|
@@ -1619,7 +1640,7 @@ Set only by the mobile app when the user manually edits the order total. Dashboa
|
|
|
1619
1640
|
|
|
1620
1641
|
**Description:** (Immutable) FK → User/staff UID who created this note.
|
|
1621
1642
|
|
|
1622
|
-
#### <a name="notes_items_createdByName"></a>
|
|
1643
|
+
#### <a name="notes_items_createdByName"></a>46.1.5. Property `createdByName`
|
|
1623
1644
|
|
|
1624
1645
|
| | |
|
|
1625
1646
|
| ------------ | -------- |
|
|
@@ -1628,21 +1649,21 @@ Set only by the mobile app when the user manually edits the order total. Dashboa
|
|
|
1628
1649
|
|
|
1629
1650
|
**Description:** (Denormalized) From User display name at write time.
|
|
1630
1651
|
|
|
1631
|
-
## <a name="additionalInfo"></a>
|
|
1652
|
+
## <a name="additionalInfo"></a>47. Property `additionalInfo`
|
|
1632
1653
|
|
|
1633
1654
|
| | |
|
|
1634
1655
|
| ------------ | ---------------- |
|
|
1635
1656
|
| **Type** | `string or null` |
|
|
1636
1657
|
| **Required** | No |
|
|
1637
1658
|
|
|
1638
|
-
## <a name="appliedDiscountCode"></a>
|
|
1659
|
+
## <a name="appliedDiscountCode"></a>48. Property `appliedDiscountCode`
|
|
1639
1660
|
|
|
1640
1661
|
| | |
|
|
1641
1662
|
| ------------ | ---------------- |
|
|
1642
1663
|
| **Type** | `string or null` |
|
|
1643
1664
|
| **Required** | No |
|
|
1644
1665
|
|
|
1645
|
-
## <a name="purchaseId"></a>
|
|
1666
|
+
## <a name="purchaseId"></a>49. Property `purchaseId`
|
|
1646
1667
|
|
|
1647
1668
|
| | |
|
|
1648
1669
|
| ------------ | ---------------- |
|
|
@@ -1652,7 +1673,7 @@ Set only by the mobile app when the user manually edits the order total. Dashboa
|
|
|
1652
1673
|
**Description:** FK → Sale.id. Link to associated Sale document.
|
|
1653
1674
|
|
|
1654
1675
|
----------------------------------------------------------------------------------------------------------------------------
|
|
1655
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-30 at
|
|
1676
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-30 at 13:57:28 +0000
|
|
1656
1677
|
|
|
1657
1678
|
## Related Decisions
|
|
1658
1679
|
|