@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.
Files changed (82) hide show
  1. package/data/docs/collections/firestore-paths.md +20 -0
  2. package/data/docs/enums/app-status.md +1 -1
  3. package/data/docs/enums/attention-status.md +1 -1
  4. package/data/docs/enums/booking-status.md +1 -1
  5. package/data/docs/enums/contract-status.md +24 -0
  6. package/data/docs/enums/customer-payment-status.md +2 -2
  7. package/data/docs/enums/customer-payment-target-type.md +2 -2
  8. package/data/docs/enums/delivery-type.md +2 -2
  9. package/data/docs/enums/deployment-link-type.md +2 -2
  10. package/data/docs/enums/event-status.md +2 -2
  11. package/data/docs/enums/expense-payment-status.md +24 -0
  12. package/data/docs/enums/fulfillment-status.md +2 -2
  13. package/data/docs/enums/loyalty-transaction-type.md +2 -2
  14. package/data/docs/enums/milestone-status.md +23 -0
  15. package/data/docs/enums/notification-channel.md +2 -2
  16. package/data/docs/enums/notification-entity-type.md +2 -2
  17. package/data/docs/enums/notification-status.md +2 -2
  18. package/data/docs/enums/order-status.md +2 -2
  19. package/data/docs/enums/outbound-message-format.md +2 -2
  20. package/data/docs/enums/outbound-message-purpose.md +2 -2
  21. package/data/docs/enums/outbound-message-status.md +2 -2
  22. package/data/docs/enums/payment-method.md +4 -3
  23. package/data/docs/enums/payment-proof-status.md +2 -2
  24. package/data/docs/enums/payment-status.md +2 -2
  25. package/data/docs/enums/pending-issue.md +2 -2
  26. package/data/docs/enums/return-status.md +2 -2
  27. package/data/docs/enums/session-status.md +2 -2
  28. package/data/docs/enums/site-status.md +2 -2
  29. package/data/docs/enums/stocktake-frequency.md +2 -2
  30. package/data/docs/enums/stocktake-item-status.md +2 -2
  31. package/data/docs/enums/stocktake-status.md +2 -2
  32. package/data/docs/enums/ticket-status.md +2 -2
  33. package/data/docs/enums/waba-label.md +3 -3
  34. package/data/docs/enums/whatsapp-button-sub-type.md +2 -2
  35. package/data/docs/enums/whatsapp-template-component.md +2 -2
  36. package/data/docs/enums/whatsapp-template-status.md +2 -2
  37. package/data/docs/index.md +15 -6
  38. package/data/docs/models/allowed-user.md +1 -1
  39. package/data/docs/models/analytics-backfill.md +1 -1
  40. package/data/docs/models/analytics-daily.md +1 -1
  41. package/data/docs/models/analytics-event.md +1 -1
  42. package/data/docs/models/analytics-hourly.md +1 -1
  43. package/data/docs/models/app-payment.md +1 -1
  44. package/data/docs/models/app.md +45 -21
  45. package/data/docs/models/booking-version.md +1 -1
  46. package/data/docs/models/booking.md +1 -1
  47. package/data/docs/models/contract.md +454 -0
  48. package/data/docs/models/customer-payment-allocation.md +2 -2
  49. package/data/docs/models/customer-payment.md +23 -22
  50. package/data/docs/models/customer.md +2 -2
  51. package/data/docs/models/event.md +2 -2
  52. package/data/docs/models/expense.md +434 -0
  53. package/data/docs/models/loyalty-config.md +2 -2
  54. package/data/docs/models/loyalty-reward.md +2 -2
  55. package/data/docs/models/loyalty-status.md +2 -2
  56. package/data/docs/models/loyalty-transaction.md +2 -2
  57. package/data/docs/models/magic-link-request.md +2 -2
  58. package/data/docs/models/metrics-current.md +22 -2
  59. package/data/docs/models/metrics-daily.md +92 -41
  60. package/data/docs/models/metrics-monthly.md +22 -2
  61. package/data/docs/models/notification-record.md +2 -2
  62. package/data/docs/models/order-item.md +2 -2
  63. package/data/docs/models/order.md +291 -270
  64. package/data/docs/models/outbound-payment-allocation.md +195 -0
  65. package/data/docs/models/outbound-payment.md +319 -0
  66. package/data/docs/models/payment-webhook-delivery.md +321 -0
  67. package/data/docs/models/payment-webhook-endpoint.md +191 -0
  68. package/data/docs/models/sale.md +2 -2
  69. package/data/docs/models/site-payment.md +2 -2
  70. package/data/docs/models/site.md +2 -2
  71. package/data/docs/models/stocktake-item.md +2 -2
  72. package/data/docs/models/stocktake.md +2 -2
  73. package/data/docs/models/ticket.md +2 -2
  74. package/data/docs/models/user.md +2 -2
  75. package/data/docs/models/whatsapp-inbound-message.md +6 -2
  76. package/data/docs/models/whatsapp-outbound-lifecycle-event.md +2 -2
  77. package/data/docs/models/whatsapp-outbound-message.md +39 -23
  78. package/data/docs/models/whatsapp-template.md +6 -2
  79. package/data/static/llms.txt +242 -10
  80. package/data/static/openapi.yaml +826 -23
  81. package/data/static/schemas.json +877 -71
  82. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "MetricsDaily"
3
3
  sidebar_label: "MetricsDaily"
4
- sidebar_position: 20
4
+ sidebar_position: 22
5
5
  ---
6
6
 
7
7
  # MetricsDaily
@@ -77,6 +77,8 @@ sidebar_position: 20
77
77
  - [27. Property `onHoldOrdersCount`](#onHoldOrdersCount)
78
78
  - [28. Property `paymentsByMethod`](#paymentsByMethod)
79
79
  - [28.1. Property `additionalProperties`](#paymentsByMethod_additionalProperties)
80
+ - [28.1.1. Property `total`](#paymentsByMethod_additionalProperties_total)
81
+ - [28.1.2. Property `count`](#paymentsByMethod_additionalProperties_count)
80
82
  - [29. Property `computedForDay`](#computedForDay)
81
83
  - [30. Property `generatedAt`](#generatedAt)
82
84
  - [30.1. Property `_seconds`](#generatedAt__seconds)
@@ -90,41 +92,41 @@ sidebar_position: 20
90
92
  | **Additional properties** | Not allowed |
91
93
  | **Defined in** | #/definitions/metrics-daily |
92
94
 
93
- **Description:** Daily metrics snapshot. Collection: companies/\{companyId\}/metrics_daily/\{YYYY-MM-DD\}. Same fields as MetricsCurrent plus `date`. Written by computeDailyCompanyMetrics cron (02:00 UTC) and inline after full recalcs.
94
-
95
- | Property | Pattern | Type | Deprecated | Definition | Title/Description |
96
- | ---------------------------------------------------------------------------- | ------- | --------------- | ---------- | ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
97
- | + [todayOrdersCount](#todayOrdersCount ) | No | integer | No | - | (Read-only) Orders created today (UTC). Resets at midnight. |
98
- | + [pendingOrdersCount](#pendingOrdersCount ) | No | integer | No | - | (Read-only) Orders currently in PENDING status (all-time cumulative). Corrected by full recalc on order updates. |
99
- | + [orderCompletionRate30d](#orderCompletionRate30d ) | No | number | No | - | (Read-only) Percentage of orders completed or delivered in the last 30 days. Always full recalc. |
100
- | + [todayPurchasesCount](#todayPurchasesCount ) | No | integer | No | - | (Read-only) Purchases created today (UTC). Resets at midnight. |
101
- | + [todayPurchasesSum](#todayPurchasesSum ) | No | number | No | - | (Read-only) Total value of purchases created today (UTC). Resets at midnight. |
102
- | + [averagePurchaseAmount](#averagePurchaseAmount ) | No | number | No | - | (Read-only) Average purchase value across last 200 purchases (rolling, not time-windowed). |
103
- | + [monthlyRevenue](#monthlyRevenue ) | No | number | No | - | (Read-only) Total purchase value in the current calendar month (UTC). |
104
- | + [monthlyPurchasesCount](#monthlyPurchasesCount ) | No | integer | No | - | (Read-only) Number of purchases in the current calendar month (UTC). |
105
- | + [todayBookingsCount](#todayBookingsCount ) | No | integer | No | - | (Read-only) Bookings with date == today AND status in [PENDING, CONFIRMED]. Resets at midnight. |
106
- | + [bookingsCreatedToday](#bookingsCreatedToday ) | No | integer | No | - | (Read-only) Bookings with createdAt today (all statuses). Resets at midnight. |
107
- | + [todayBookingsConfirmedAmount](#todayBookingsConfirmedAmount ) | No | number | No | - | (Read-only) Sum of totalAmount for bookings created today with status CONFIRMED or COMPLETED. Resets at midnight. |
108
- | + [monthlyBookingsConfirmedAmount](#monthlyBookingsConfirmedAmount ) | No | number | No | - | (Read-only) Sum of totalAmount for bookings created this month with status CONFIRMED or COMPLETED. |
109
- | + [todayCollectedAmount](#todayCollectedAmount ) | No | number | No | - | (Read-only) Sum of totalAmount for bookings where PAYMENT_PAID_AT is today. Resets at midnight. |
110
- | + [todayRevenue](#todayRevenue ) | No | number | No | - | (Read-only) Sum of totalAmount for COMPLETED bookings where startDate == endDate == today (numeric YYYYMMDD). Resets at midnight. |
111
- | + [bookingsPendingPaymentVerification](#bookingsPendingPaymentVerification ) | No | integer | No | - | (Read-only) Bookings with status PENDING/CANCELLATION_REQUESTED and a payment proof uploaded but not yet verified. Current state, always full recalc. |
112
- | + [bookingsPendingValidation](#bookingsPendingValidation ) | No | integer | No | - | (Read-only) PENDING bookings with startDate within ±30 days of today. Rolling window, always full recalc. |
113
- | + [bookingsPendingValidation24h](#bookingsPendingValidation24h ) | No | integer | No | - | (Read-only) PENDING bookings created in the last 24h with startDate >= tomorrow. Always full recalc. |
114
- | + [customersCount](#customersCount ) | No | integer | No | - | (Read-only) Total customer count (all-time cumulative). |
115
- | + [newCustomersThisMonth](#newCustomersThisMonth ) | No | integer | No | - | (Read-only) Customers with createdAt in the current calendar month (UTC). |
116
- | + [averageRating](#averageRating ) | No | number | No | - | (Read-only) Average rating from the last 200 reviews (rolling). Always full recalc. |
117
- | + [lowStockItemsCount](#lowStockItemsCount ) | No | integer | No | - | (Read-only) Active stock items where currentQuantity <= minimumQuantity. Current state, always full recalc. |
118
- | + [activeRecurringPaymentsCount](#activeRecurringPaymentsCount ) | No | integer | No | - | (Read-only) Recurring payments with status ACTIVE. Current state, always full recalc. |
119
- | + [monthlyRecurringRevenue](#monthlyRecurringRevenue ) | No | number | No | - | (Read-only) Sum of amount for ACTIVE + MONTHLY recurring payments. Always full recalc. |
120
- | - [escalatedOrdersCount](#escalatedOrdersCount ) | No | integer or null | No | - | (Read-only, Optional) Orders currently in an escalated state. Present once the current aggregator rewrites the document. |
121
- | - [staleOrdersCount](#staleOrdersCount ) | No | integer or null | No | - | (Read-only, Optional) Orders that have been in an incomplete status beyond the stale threshold. |
122
- | - [staleBookingsCount](#staleBookingsCount ) | No | integer or null | No | - | (Read-only, Optional) Bookings that have been in an incomplete status beyond the stale threshold. |
123
- | - [onHoldOrdersCount](#onHoldOrdersCount ) | No | integer or null | No | - | (Read-only, Optional) Orders currently in an on-hold state. |
124
- | - [paymentsByMethod](#paymentsByMethod ) | No | object or null | No | - | (Read-only, Optional) Map of PaymentMethod total amount for the current day. Empty map \{\} until first payment. |
125
- | + [computedForDay](#computedForDay ) | No | string | No | - | (Read-only) YYYY-MM-DD string indicating which day these metrics reflect. Used to detect day boundaries and trigger midnight resets. |
126
- | + [generatedAt](#generatedAt ) | No | object | No | In #/definitions/firestore-timestamp | (Read-only) Server timestamp of the last metrics write. |
127
- | + [date](#date ) | No | string | No | - | (Read-only) YYYY-MM-DD document ID repeated as a field. Identifies the day this snapshot covers. |
95
+ **Description:** Daily metrics snapshot. Collection: companies/\{companyId\}/metrics_daily/\{YYYY-MM-DD\}. Same fields as MetricsCurrent plus `date`. Written by computeDailyCompanyMetrics cron (02:00 UTC) when the company had activity that day; zero-activity days may produce no document (#9).
96
+
97
+ | Property | Pattern | Type | Deprecated | Definition | Title/Description |
98
+ | ---------------------------------------------------------------------------- | ------- | --------------- | ---------- | ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
99
+ | + [todayOrdersCount](#todayOrdersCount ) | No | integer | No | - | (Read-only) Orders created today (UTC). Resets at midnight. |
100
+ | + [pendingOrdersCount](#pendingOrdersCount ) | No | integer | No | - | (Read-only) Orders currently in PENDING status (all-time cumulative). Corrected by full recalc on order updates. |
101
+ | + [orderCompletionRate30d](#orderCompletionRate30d ) | No | number | No | - | (Read-only) Percentage of orders completed or delivered in the last 30 days. Always full recalc. |
102
+ | + [todayPurchasesCount](#todayPurchasesCount ) | No | integer | No | - | (Read-only) Purchases created today (UTC). Resets at midnight. |
103
+ | + [todayPurchasesSum](#todayPurchasesSum ) | No | number | No | - | (Read-only) Total value of purchases created today (UTC). Resets at midnight. |
104
+ | + [averagePurchaseAmount](#averagePurchaseAmount ) | No | number | No | - | (Read-only) Average purchase value across last 200 purchases (rolling, not time-windowed). |
105
+ | + [monthlyRevenue](#monthlyRevenue ) | No | number | No | - | (Read-only) Total purchase value in the current calendar month (UTC). |
106
+ | + [monthlyPurchasesCount](#monthlyPurchasesCount ) | No | integer | No | - | (Read-only) Number of purchases in the current calendar month (UTC). |
107
+ | + [todayBookingsCount](#todayBookingsCount ) | No | integer | No | - | (Read-only) Bookings with date == today AND status in [PENDING, CONFIRMED]. Resets at midnight. |
108
+ | + [bookingsCreatedToday](#bookingsCreatedToday ) | No | integer | No | - | (Read-only) Bookings with createdAt today (all statuses). Resets at midnight. |
109
+ | + [todayBookingsConfirmedAmount](#todayBookingsConfirmedAmount ) | No | number | No | - | (Read-only) Sum of totalAmount for bookings created today with status CONFIRMED or COMPLETED. Resets at midnight. |
110
+ | + [monthlyBookingsConfirmedAmount](#monthlyBookingsConfirmedAmount ) | No | number | No | - | (Read-only) Sum of totalAmount for bookings created this month with status CONFIRMED or COMPLETED. |
111
+ | + [todayCollectedAmount](#todayCollectedAmount ) | No | number | No | - | (Read-only) Sum of totalAmount for bookings where PAYMENT_PAID_AT is today. Resets at midnight. |
112
+ | + [todayRevenue](#todayRevenue ) | No | number | No | - | (Read-only) Sum of totalAmount for COMPLETED bookings where startDate == endDate == today (numeric YYYYMMDD). Resets at midnight. |
113
+ | + [bookingsPendingPaymentVerification](#bookingsPendingPaymentVerification ) | No | integer | No | - | (Read-only) Bookings with status PENDING/CANCELLATION_REQUESTED and a payment proof uploaded but not yet verified. Current state, always full recalc. |
114
+ | + [bookingsPendingValidation](#bookingsPendingValidation ) | No | integer | No | - | (Read-only) PENDING bookings with startDate within ±30 days of today. Rolling window, always full recalc. |
115
+ | + [bookingsPendingValidation24h](#bookingsPendingValidation24h ) | No | integer | No | - | (Read-only) PENDING bookings created in the last 24h with startDate >= tomorrow. Always full recalc. |
116
+ | + [customersCount](#customersCount ) | No | integer | No | - | (Read-only) Total customer count (all-time cumulative). |
117
+ | + [newCustomersThisMonth](#newCustomersThisMonth ) | No | integer | No | - | (Read-only) Customers with createdAt in the current calendar month (UTC). |
118
+ | + [averageRating](#averageRating ) | No | number | No | - | (Read-only) Average rating from the last 200 reviews (rolling). Always full recalc. |
119
+ | + [lowStockItemsCount](#lowStockItemsCount ) | No | integer | No | - | (Read-only) Active stock items where currentQuantity <= minimumQuantity. Current state, always full recalc. |
120
+ | + [activeRecurringPaymentsCount](#activeRecurringPaymentsCount ) | No | integer | No | - | (Read-only) Recurring payments with status ACTIVE. Current state, always full recalc. |
121
+ | + [monthlyRecurringRevenue](#monthlyRecurringRevenue ) | No | number | No | - | (Read-only) Sum of amount for ACTIVE + MONTHLY recurring payments. Always full recalc. |
122
+ | - [escalatedOrdersCount](#escalatedOrdersCount ) | No | integer or null | No | - | (Read-only, Optional) Orders currently in an escalated state. Present once the current aggregator rewrites the document. |
123
+ | - [staleOrdersCount](#staleOrdersCount ) | No | integer or null | No | - | (Read-only, Optional) Orders that have been in an incomplete status beyond the stale threshold. |
124
+ | - [staleBookingsCount](#staleBookingsCount ) | No | integer or null | No | - | (Read-only, Optional) Bookings that have been in an incomplete status beyond the stale threshold. |
125
+ | - [onHoldOrdersCount](#onHoldOrdersCount ) | No | integer or null | No | - | (Read-only, Optional) Orders currently in an on-hold state. |
126
+ | - [paymentsByMethod](#paymentsByMethod ) | No | object or null | No | - | (Read-only, Optional) Payment breakdown by method for the day. Keys are PaymentMethod values (or legacy short code OM). Value is \{ total: XOF amount, count: number of payments \}. |
127
+ | + [computedForDay](#computedForDay ) | No | string | No | - | (Read-only) YYYY-MM-DD string indicating which day these metrics reflect. Used to detect day boundaries and trigger midnight resets. |
128
+ | + [generatedAt](#generatedAt ) | No | object | No | In #/definitions/firestore-timestamp | (Read-only) Server timestamp of the last metrics write. |
129
+ | + [date](#date ) | No | string | No | - | (Read-only) YYYY-MM-DD document ID repeated as a field. Identifies the day this snapshot covers. |
128
130
 
129
131
  ## <a name="todayOrdersCount"></a>1. Property `todayOrdersCount`
130
132
 
@@ -175,6 +177,10 @@ Do not include in write requests. This field is set exclusively by the server (F
175
177
  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.
176
178
  :::
177
179
 
180
+ :::note
181
+ Firestore REST API v1 writes integerValue when the stored value is whole (e.g. 0), doubleValue when fractional (e.g. 82.17). Admin SDK smooths this to a JS number; REST clients must coerce the union (#11).
182
+ :::
183
+
178
184
  ## <a name="todayPurchasesCount"></a>4. Property `todayPurchasesCount`
179
185
 
180
186
  | | |
@@ -219,6 +225,10 @@ Do not include in write requests. This field is set exclusively by the server (F
219
225
  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.
220
226
  :::
221
227
 
228
+ :::note
229
+ Firestore REST API v1 writes integerValue when whole (e.g. 10070), doubleValue when fractional (e.g. 10006.5). Admin SDK smooths this; REST clients must coerce (#11).
230
+ :::
231
+
222
232
  ## <a name="monthlyRevenue"></a>7. Property `monthlyRevenue`
223
233
 
224
234
  | | |
@@ -232,6 +242,10 @@ Do not include in write requests. This field is set exclusively by the server (F
232
242
  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.
233
243
  :::
234
244
 
245
+ :::note
246
+ Observed as integerValue on all sampled tenants (whole XOF amounts). Will be doubleValue if fractional. REST clients must coerce (#11).
247
+ :::
248
+
235
249
  ## <a name="monthlyPurchasesCount"></a>8. Property `monthlyPurchasesCount`
236
250
 
237
251
  | | |
@@ -325,6 +339,10 @@ Do not include in write requests. This field is set exclusively by the server (F
325
339
  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.
326
340
  :::
327
341
 
342
+ :::note
343
+ Observed as integerValue "0" on all sampled tenants. Will be doubleValue if fractional payments occur. REST clients must coerce (#11).
344
+ :::
345
+
328
346
  ## <a name="todayRevenue"></a>14. Property `todayRevenue`
329
347
 
330
348
  | | |
@@ -441,6 +459,10 @@ Do not include in write requests. This field is set exclusively by the server (F
441
459
  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.
442
460
  :::
443
461
 
462
+ :::note
463
+ Observed as integerValue "0" on all tenants (no reviews yet). Will be doubleValue once real ratings exist. REST clients must coerce (#11).
464
+ :::
465
+
444
466
  ## <a name="lowStockItemsCount"></a>21. Property `lowStockItemsCount`
445
467
 
446
468
  | | |
@@ -585,25 +607,54 @@ Absent on tenants whose metrics/current was last written before aggregator v2. B
585
607
  | **Type** | `object or null` |
586
608
  | **Required** | No |
587
609
 
588
- **Description:** (Read-only, Optional) Map of PaymentMethod total amount for the current day. Empty map \{\} until first payment.
610
+ **Description:** (Read-only, Optional) Payment breakdown by method for the day. Keys are PaymentMethod values (or legacy short code OM). Value is \{ total: XOF amount, count: number of payments \}.
589
611
 
590
612
  | Property | Pattern | Type | Deprecated | Definition | Title/Description |
591
613
  | --------------------------------------------- | ------- | ------ | ---------- | ---------- | ----------------- |
592
- | - [](#paymentsByMethod_additionalProperties ) | No | number | No | - | - |
614
+ | - [](#paymentsByMethod_additionalProperties ) | No | object | No | - | - |
593
615
 
594
616
  ### <a name="paymentsByMethod_additionalProperties"></a>28.1. Property `additionalProperties`
595
617
 
618
+ | | |
619
+ | ------------------------- | ----------- |
620
+ | **Type** | `object` |
621
+ | **Required** | No |
622
+ | **Additional properties** | Not allowed |
623
+
624
+ | Property | Pattern | Type | Deprecated | Definition | Title/Description |
625
+ | -------------------------------------------------------- | ------- | ------- | ---------- | ---------- | -------------------------------------------------------------- |
626
+ | + [total](#paymentsByMethod_additionalProperties_total ) | No | number | No | - | Sum of payment amounts for this method on the given day (XOF). |
627
+ | + [count](#paymentsByMethod_additionalProperties_count ) | No | integer | No | - | Number of payments using this method on the given day. |
628
+
629
+ #### <a name="paymentsByMethod_additionalProperties_total"></a>28.1.1. Property `total`
630
+
596
631
  | | |
597
632
  | ------------ | -------- |
598
633
  | **Type** | `number` |
599
- | **Required** | No |
634
+ | **Required** | Yes |
635
+
636
+ **Description:** Sum of payment amounts for this method on the given day (XOF).
637
+
638
+ #### <a name="paymentsByMethod_additionalProperties_count"></a>28.1.2. Property `count`
639
+
640
+ | | |
641
+ | ------------ | --------- |
642
+ | **Type** | `integer` |
643
+ | **Required** | Yes |
644
+
645
+ **Description:** Number of payments using this method on the given day.
646
+
647
+ | Restrictions | |
648
+ | ------------ | ---------------------- |
649
+ | **Minimum** | &ge; -9007199254740991 |
650
+ | **Maximum** | &le; 9007199254740991 |
600
651
 
601
652
  :::warning Server-set
602
653
  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.
603
654
  :::
604
655
 
605
656
  :::note
606
- Always \{\} until the first real payment is recorded. Present on all tenants once rewritten by current aggregator (#8).
657
+ Map keys use short codes in practice (OM, CASH, WAVE) — OM is a non-canonical alias for ORANGE_MONEY emitted by the metrics writer (#21). Value shape \{ total, count \} differs from MetricsCurrent.paymentsByMethod (bare number).
607
658
  :::
608
659
 
609
660
  ## <a name="computedForDay"></a>29. Property `computedForDay`
@@ -673,7 +724,7 @@ Do not include in write requests. This field is set exclusively by the server (F
673
724
  **Description:** (Read-only) YYYY-MM-DD document ID repeated as a field. Identifies the day this snapshot covers.
674
725
 
675
726
  ----------------------------------------------------------------------------------------------------------------------------
676
- Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-30 at 12:42:51 +0000
727
+ Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-30 at 13:57:28 +0000
677
728
 
678
729
  :::warning Server-set
679
730
  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.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "MetricsMonthly"
3
3
  sidebar_label: "MetricsMonthly"
4
- sidebar_position: 21
4
+ sidebar_position: 23
5
5
  ---
6
6
 
7
7
  # MetricsMonthly
@@ -175,6 +175,10 @@ Do not include in write requests. This field is set exclusively by the server (F
175
175
  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.
176
176
  :::
177
177
 
178
+ :::note
179
+ Firestore REST API v1 writes integerValue when the stored value is whole (e.g. 0), doubleValue when fractional (e.g. 82.17). Admin SDK smooths this to a JS number; REST clients must coerce the union (#11).
180
+ :::
181
+
178
182
  ## <a name="todayPurchasesCount"></a>4. Property `todayPurchasesCount`
179
183
 
180
184
  | | |
@@ -219,6 +223,10 @@ Do not include in write requests. This field is set exclusively by the server (F
219
223
  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.
220
224
  :::
221
225
 
226
+ :::note
227
+ Firestore REST API v1 writes integerValue when whole (e.g. 10070), doubleValue when fractional (e.g. 10006.5). Admin SDK smooths this; REST clients must coerce (#11).
228
+ :::
229
+
222
230
  ## <a name="monthlyRevenue"></a>7. Property `monthlyRevenue`
223
231
 
224
232
  | | |
@@ -232,6 +240,10 @@ Do not include in write requests. This field is set exclusively by the server (F
232
240
  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.
233
241
  :::
234
242
 
243
+ :::note
244
+ Observed as integerValue on all sampled tenants (whole XOF amounts). Will be doubleValue if fractional. REST clients must coerce (#11).
245
+ :::
246
+
235
247
  ## <a name="monthlyPurchasesCount"></a>8. Property `monthlyPurchasesCount`
236
248
 
237
249
  | | |
@@ -325,6 +337,10 @@ Do not include in write requests. This field is set exclusively by the server (F
325
337
  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.
326
338
  :::
327
339
 
340
+ :::note
341
+ Observed as integerValue "0" on all sampled tenants. Will be doubleValue if fractional payments occur. REST clients must coerce (#11).
342
+ :::
343
+
328
344
  ## <a name="todayRevenue"></a>14. Property `todayRevenue`
329
345
 
330
346
  | | |
@@ -441,6 +457,10 @@ Do not include in write requests. This field is set exclusively by the server (F
441
457
  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.
442
458
  :::
443
459
 
460
+ :::note
461
+ Observed as integerValue "0" on all tenants (no reviews yet). Will be doubleValue once real ratings exist. REST clients must coerce (#11).
462
+ :::
463
+
444
464
  ## <a name="lowStockItemsCount"></a>21. Property `lowStockItemsCount`
445
465
 
446
466
  | | |
@@ -673,7 +693,7 @@ Do not include in write requests. This field is set exclusively by the server (F
673
693
  **Description:** (Read-only) YYYY-MM document ID repeated as a field. Identifies the month this rollup covers.
674
694
 
675
695
  ----------------------------------------------------------------------------------------------------------------------------
676
- Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-30 at 12:42:51 +0000
696
+ Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-30 at 13:57:28 +0000
677
697
 
678
698
  :::warning Server-set
679
699
  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.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "NotificationRecord"
3
3
  sidebar_label: "NotificationRecord"
4
- sidebar_position: 22
4
+ sidebar_position: 24
5
5
  ---
6
6
 
7
7
  # NotificationRecord
@@ -612,7 +612,7 @@ Do not include in write requests. This field is set exclusively by the server (F
612
612
  | **Maximum** | &le; 9007199254740991 |
613
613
 
614
614
  ----------------------------------------------------------------------------------------------------------------------------
615
- Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-30 at 12:42:51 +0000
615
+ Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-30 at 13:57:28 +0000
616
616
 
617
617
  :::warning Server-set
618
618
  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.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "OrderItem"
3
3
  sidebar_label: "OrderItem"
4
- sidebar_position: 24
4
+ sidebar_position: 26
5
5
  ---
6
6
 
7
7
  # OrderItem
@@ -350,7 +350,7 @@ TBD/WIP — Originally from the archived Couchbase Lite (CBL) restaurant flow. C
350
350
  | **Required** | No |
351
351
 
352
352
  ----------------------------------------------------------------------------------------------------------------------------
353
- Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-30 at 12:42:51 +0000
353
+ Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-30 at 13:57:28 +0000
354
354
 
355
355
  :::warning Server-set
356
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.