@ingenx-io/valets-schema-mcp-server 0.1.10 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/docs/collections/firestore-paths.md +20 -0
- package/data/docs/enums/attention-status.md +1 -1
- package/data/docs/enums/booking-status.md +1 -1
- package/data/docs/enums/customer-payment-status.md +1 -1
- package/data/docs/enums/customer-payment-target-type.md +1 -1
- package/data/docs/enums/delivery-type.md +1 -1
- package/data/docs/enums/deployment-link-type.md +1 -1
- package/data/docs/enums/event-status.md +1 -1
- package/data/docs/enums/fulfillment-status.md +1 -1
- package/data/docs/enums/loyalty-transaction-type.md +1 -1
- package/data/docs/enums/order-status.md +1 -1
- package/data/docs/enums/outbound-message-format.md +22 -0
- package/data/docs/enums/outbound-message-purpose.md +24 -0
- package/data/docs/enums/outbound-message-status.md +4 -4
- package/data/docs/enums/payment-method.md +2 -2
- 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 +2 -2
- package/data/docs/enums/whatsapp-template-status.md +26 -0
- package/data/docs/index.md +9 -5
- 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/booking-version.md +1 -1
- package/data/docs/models/booking.md +1 -1
- package/data/docs/models/customer-payment-allocation.md +1 -1
- package/data/docs/models/customer-payment.md +1 -1
- package/data/docs/models/customer.md +1 -1
- package/data/docs/models/event.md +1 -1
- package/data/docs/models/loyalty-config.md +1 -1
- package/data/docs/models/loyalty-reward.md +1 -1
- package/data/docs/models/loyalty-status.md +1 -1
- package/data/docs/models/loyalty-transaction.md +1 -1
- package/data/docs/models/magic-link-request.md +1 -1
- package/data/docs/models/metrics-current.md +1 -1
- package/data/docs/models/metrics-daily.md +1 -1
- package/data/docs/models/metrics-monthly.md +1 -1
- package/data/docs/models/order-item.md +1 -1
- package/data/docs/models/order.md +1 -1
- package/data/docs/models/sale.md +1 -1
- package/data/docs/models/site-payment.md +1 -1
- package/data/docs/models/site.md +1 -1
- package/data/docs/models/stocktake-item.md +1 -1
- package/data/docs/models/stocktake.md +1 -1
- package/data/docs/models/ticket.md +1 -1
- package/data/docs/models/whatsapp-inbound-message.md +1 -1
- package/data/docs/models/whatsapp-outbound-lifecycle-event.md +310 -0
- package/data/docs/models/whatsapp-outbound-message.md +395 -172
- package/data/docs/models/whatsapp-template.md +177 -0
- package/data/static/llms.txt +110 -32
- package/data/static/openapi.yaml +274 -66
- package/data/static/schemas.json +354 -69
- package/package.json +1 -1
- package/data/docs/enums/outbound-message-kind.md +0 -23
|
@@ -84,6 +84,26 @@ Orders live at the existing company-scoped path `companies/{companyId}/orders/{o
|
|
|
84
84
|
- **Composite index:** `(companyId, siteId, createdAt)` for per-site recency queries.
|
|
85
85
|
- **Physical relocation** of Order under `sites/{siteId}/orders/` is explicitly deferred (ADR-004, not approved).
|
|
86
86
|
|
|
87
|
+
## WhatsApp messaging — top-level collections (GH#36 / GH#43)
|
|
88
|
+
|
|
89
|
+
WhatsApp message collections are **top-level**, not under `companies/{companyId}/`: company context is not known at message time (a webhook arrives before the sender is resolved to a company). They form the symmetric inbound/outbound pair the dashboard renders as a conversation thread.
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
whatsapp_inbound_messages/{wamid} ← GH#36 — inbound, doc ID = Meta wamid (dedup)
|
|
93
|
+
whatsapp_outbound_messages/{autoId} ← GH#43 — outbox; dashboard enqueues `queued`, backend sends
|
|
94
|
+
└── lifecycle_events/{eventId} ← ⚠️ backend-internal log (NOT a consumer surface)
|
|
95
|
+
whatsapp_templates/{name__language} ← GH#43 — Meta-approved templates, backend-synced
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
| Collection | Doc ID | Writer | Notes |
|
|
99
|
+
|---|---|---|---|
|
|
100
|
+
| `whatsapp_inbound_messages` | Meta `wamid` | Backend (webhook) | Deduplicated on write |
|
|
101
|
+
| `whatsapp_outbound_messages` | auto | Dashboard creates `queued`; backend owns lifecycle | Firestore-as-the-bus outbox; status updated in place |
|
|
102
|
+
| `whatsapp_outbound_messages/{id}/lifecycle_events` | auto | Backend only | ⚠️ Backend-internal. Append-only log of send attempts, raw Meta req/res, errors, delivery/read callbacks — for reconstituting a message's full lifecycle. The dashboard must never read it; anything a consumer needs lives on the parent doc. |
|
|
103
|
+
| `whatsapp_templates` | `{name}__{language}` | Backend (synced from Meta) | Dashboard reads only |
|
|
104
|
+
|
|
105
|
+
**Field ownership on `whatsapp_outbound_messages`:** the dashboard writes `to, waba, wabaId, kind, text/template, purpose?, orderUuid?, sentBy, createdAt` once with `status: 'queued'` (all `x-immutable`); the backend owns every server-set field after — `status` transitions plus `wamid, error, sentAt, deliveredAt, readAt, failedAt` (all `readOnly`). No WABA credentials live in the dashboard.
|
|
106
|
+
|
|
87
107
|
## Security rules pattern
|
|
88
108
|
|
|
89
109
|
```
|
|
@@ -21,4 +21,4 @@ Must be one of:
|
|
|
21
21
|
* "ESCALATED"
|
|
22
22
|
|
|
23
23
|
----------------------------------------------------------------------------------------------------------------------------
|
|
24
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
24
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
@@ -23,4 +23,4 @@ Must be one of:
|
|
|
23
23
|
* "COMPLETED_MIXED"
|
|
24
24
|
|
|
25
25
|
----------------------------------------------------------------------------------------------------------------------------
|
|
26
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
26
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
@@ -23,4 +23,4 @@ Must be one of:
|
|
|
23
23
|
* "CANCELLED"
|
|
24
24
|
|
|
25
25
|
----------------------------------------------------------------------------------------------------------------------------
|
|
26
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
26
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
@@ -20,4 +20,4 @@ Must be one of:
|
|
|
20
20
|
* "PURCHASE"
|
|
21
21
|
|
|
22
22
|
----------------------------------------------------------------------------------------------------------------------------
|
|
23
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
23
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
@@ -20,4 +20,4 @@ Must be one of:
|
|
|
20
20
|
* "DELIVERY"
|
|
21
21
|
|
|
22
22
|
----------------------------------------------------------------------------------------------------------------------------
|
|
23
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
23
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
@@ -23,4 +23,4 @@ Must be one of:
|
|
|
23
23
|
* "other"
|
|
24
24
|
|
|
25
25
|
----------------------------------------------------------------------------------------------------------------------------
|
|
26
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
26
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
@@ -21,7 +21,7 @@ Must be one of:
|
|
|
21
21
|
* "COMPLETED"
|
|
22
22
|
|
|
23
23
|
----------------------------------------------------------------------------------------------------------------------------
|
|
24
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
24
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
25
25
|
|
|
26
26
|
## Related Decisions
|
|
27
27
|
|
|
@@ -23,7 +23,7 @@ Must be one of:
|
|
|
23
23
|
* "PICKED_UP"
|
|
24
24
|
|
|
25
25
|
----------------------------------------------------------------------------------------------------------------------------
|
|
26
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
26
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
27
27
|
|
|
28
28
|
## Related Decisions
|
|
29
29
|
|
|
@@ -23,7 +23,7 @@ Must be one of:
|
|
|
23
23
|
* "REFUND"
|
|
24
24
|
|
|
25
25
|
----------------------------------------------------------------------------------------------------------------------------
|
|
26
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
26
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
27
27
|
|
|
28
28
|
## Related Decisions
|
|
29
29
|
|
|
@@ -24,7 +24,7 @@ Must be one of:
|
|
|
24
24
|
* "EXPIRED"
|
|
25
25
|
|
|
26
26
|
----------------------------------------------------------------------------------------------------------------------------
|
|
27
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
27
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
28
28
|
|
|
29
29
|
## Related Decisions
|
|
30
30
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "OutboundMessageFormat"
|
|
3
|
+
sidebar_label: "OutboundMessageFormat"
|
|
4
|
+
sidebar_position: 11
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# OutboundMessageFormat
|
|
8
|
+
|
|
9
|
+
| | |
|
|
10
|
+
| -------------- | ------------------------------------- |
|
|
11
|
+
| **Type** | `enum (of string)` |
|
|
12
|
+
| **Required** | No |
|
|
13
|
+
| **Defined in** | #/definitions/outbound-message-format |
|
|
14
|
+
|
|
15
|
+
**Description:** Outbound WhatsApp message format. `text` is a free-form body (only valid inside the 24h customer-care window); `template` is a pre-approved WhatsApp template send. The backend is the authority on which is allowed (GH#43).
|
|
16
|
+
|
|
17
|
+
Must be one of:
|
|
18
|
+
* "text"
|
|
19
|
+
* "template"
|
|
20
|
+
|
|
21
|
+
----------------------------------------------------------------------------------------------------------------------------
|
|
22
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "OutboundMessagePurpose"
|
|
3
|
+
sidebar_label: "OutboundMessagePurpose"
|
|
4
|
+
sidebar_position: 12
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# OutboundMessagePurpose
|
|
8
|
+
|
|
9
|
+
| | |
|
|
10
|
+
| -------------- | -------------------------------------- |
|
|
11
|
+
| **Type** | `enum (of string)` |
|
|
12
|
+
| **Required** | No |
|
|
13
|
+
| **Defined in** | #/definitions/outbound-message-purpose |
|
|
14
|
+
|
|
15
|
+
**Description:** Business purpose of an outbound WhatsApp message — orthogonal to its format (see OutboundMessageFormat). `otp`/`review_request`/`adhoc` are system-originated; `conversational` is a human agent reply from the dashboard inbox. Optional signal carried for analytics/triggers (GH#43; supersedes the GH#38 OutboundMessageKind).
|
|
16
|
+
|
|
17
|
+
Must be one of:
|
|
18
|
+
* "otp"
|
|
19
|
+
* "review_request"
|
|
20
|
+
* "adhoc"
|
|
21
|
+
* "conversational"
|
|
22
|
+
|
|
23
|
+
----------------------------------------------------------------------------------------------------------------------------
|
|
24
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "OutboundMessageStatus"
|
|
3
3
|
sidebar_label: "OutboundMessageStatus"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 13
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# OutboundMessageStatus
|
|
@@ -12,14 +12,14 @@ sidebar_position: 12
|
|
|
12
12
|
| **Required** | No |
|
|
13
13
|
| **Defined in** | #/definitions/outbound-message-status |
|
|
14
14
|
|
|
15
|
-
**Description:** Outbound WhatsApp message delivery status. Lifecycle:
|
|
15
|
+
**Description:** Outbound WhatsApp message delivery status. Lifecycle: queued → sent → delivered → read, or queued → failed. The dashboard creates the message with status `queued`; the whatsapp-server backend owns every transition after, updating in place from Meta delivery callbacks (GH#43).
|
|
16
16
|
|
|
17
17
|
Must be one of:
|
|
18
|
-
* "
|
|
18
|
+
* "queued"
|
|
19
19
|
* "sent"
|
|
20
20
|
* "delivered"
|
|
21
21
|
* "read"
|
|
22
22
|
* "failed"
|
|
23
23
|
|
|
24
24
|
----------------------------------------------------------------------------------------------------------------------------
|
|
25
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
25
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "PaymentMethod"
|
|
3
3
|
sidebar_label: "PaymentMethod"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 14
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# PaymentMethod
|
|
@@ -27,7 +27,7 @@ Must be one of:
|
|
|
27
27
|
* "OTHER"
|
|
28
28
|
|
|
29
29
|
----------------------------------------------------------------------------------------------------------------------------
|
|
30
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
30
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
31
31
|
|
|
32
32
|
## Related Decisions
|
|
33
33
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "PaymentProofStatus"
|
|
3
3
|
sidebar_label: "PaymentProofStatus"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 15
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# PaymentProofStatus
|
|
@@ -20,4 +20,4 @@ Must be one of:
|
|
|
20
20
|
* "REJECTED"
|
|
21
21
|
|
|
22
22
|
----------------------------------------------------------------------------------------------------------------------------
|
|
23
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
23
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "PaymentStatus"
|
|
3
3
|
sidebar_label: "PaymentStatus"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 16
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# PaymentStatus
|
|
@@ -24,7 +24,7 @@ Must be one of:
|
|
|
24
24
|
* "PARTIALLY_REFUNDED"
|
|
25
25
|
|
|
26
26
|
----------------------------------------------------------------------------------------------------------------------------
|
|
27
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
27
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
28
28
|
|
|
29
29
|
## Related Decisions
|
|
30
30
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "PendingIssue"
|
|
3
3
|
sidebar_label: "PendingIssue"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 17
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# PendingIssue
|
|
@@ -28,4 +28,4 @@ Must be one of:
|
|
|
28
28
|
* "NO_SHOW_UNRESOLVED"
|
|
29
29
|
|
|
30
30
|
----------------------------------------------------------------------------------------------------------------------------
|
|
31
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
31
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "ReturnStatus"
|
|
3
3
|
sidebar_label: "ReturnStatus"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 18
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# ReturnStatus
|
|
@@ -23,7 +23,7 @@ Must be one of:
|
|
|
23
23
|
* "EXCHANGE_COMPLETED"
|
|
24
24
|
|
|
25
25
|
----------------------------------------------------------------------------------------------------------------------------
|
|
26
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
26
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
27
27
|
|
|
28
28
|
## Related Decisions
|
|
29
29
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "SessionStatus"
|
|
3
3
|
sidebar_label: "SessionStatus"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 19
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# SessionStatus
|
|
@@ -23,7 +23,7 @@ Must be one of:
|
|
|
23
23
|
* "CANCELLED"
|
|
24
24
|
|
|
25
25
|
----------------------------------------------------------------------------------------------------------------------------
|
|
26
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
26
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
27
27
|
|
|
28
28
|
## Related Decisions
|
|
29
29
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "SiteStatus"
|
|
3
3
|
sidebar_label: "SiteStatus"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 20
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# SiteStatus
|
|
@@ -21,4 +21,4 @@ Must be one of:
|
|
|
21
21
|
* "ARCHIVED"
|
|
22
22
|
|
|
23
23
|
----------------------------------------------------------------------------------------------------------------------------
|
|
24
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
24
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "StocktakeFrequency"
|
|
3
3
|
sidebar_label: "StocktakeFrequency"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 21
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# StocktakeFrequency
|
|
@@ -21,4 +21,4 @@ Must be one of:
|
|
|
21
21
|
* "AD_HOC"
|
|
22
22
|
|
|
23
23
|
----------------------------------------------------------------------------------------------------------------------------
|
|
24
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
24
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "StocktakeItemStatus"
|
|
3
3
|
sidebar_label: "StocktakeItemStatus"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 22
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# StocktakeItemStatus
|
|
@@ -21,4 +21,4 @@ Must be one of:
|
|
|
21
21
|
* "ADJUSTED"
|
|
22
22
|
|
|
23
23
|
----------------------------------------------------------------------------------------------------------------------------
|
|
24
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
24
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "StocktakeStatus"
|
|
3
3
|
sidebar_label: "StocktakeStatus"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 23
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# StocktakeStatus
|
|
@@ -21,4 +21,4 @@ Must be one of:
|
|
|
21
21
|
* "CANCELLED"
|
|
22
22
|
|
|
23
23
|
----------------------------------------------------------------------------------------------------------------------------
|
|
24
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
24
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:18 +0000
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "TicketStatus"
|
|
3
3
|
sidebar_label: "TicketStatus"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 24
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# TicketStatus
|
|
@@ -20,7 +20,7 @@ Must be one of:
|
|
|
20
20
|
* "CANCELLED"
|
|
21
21
|
|
|
22
22
|
----------------------------------------------------------------------------------------------------------------------------
|
|
23
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
23
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:18 +0000
|
|
24
24
|
|
|
25
25
|
## Related Decisions
|
|
26
26
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "WabaLabel"
|
|
3
3
|
sidebar_label: "WabaLabel"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 25
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# WabaLabel
|
|
@@ -19,4 +19,4 @@ Must be one of:
|
|
|
19
19
|
* "val"
|
|
20
20
|
|
|
21
21
|
----------------------------------------------------------------------------------------------------------------------------
|
|
22
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
22
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:18 +0000
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "WhatsappTemplateStatus"
|
|
3
|
+
sidebar_label: "WhatsappTemplateStatus"
|
|
4
|
+
sidebar_position: 26
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# WhatsappTemplateStatus
|
|
8
|
+
|
|
9
|
+
| | |
|
|
10
|
+
| -------------- | -------------------------------------- |
|
|
11
|
+
| **Type** | `enum (of string)` |
|
|
12
|
+
| **Required** | No |
|
|
13
|
+
| **Defined in** | #/definitions/whatsapp-template-status |
|
|
14
|
+
|
|
15
|
+
**Description:** Meta review status of a WhatsApp message template, synced from the WhatsApp Business API. Only APPROVED templates can be sent. The fuller Meta status set is used deliberately (vs just APPROVED/PENDING/REJECTED) so this enum has a distinct value signature from PaymentProofStatus in the JSON-Schema $ref matcher (GH#43).
|
|
16
|
+
|
|
17
|
+
Must be one of:
|
|
18
|
+
* "APPROVED"
|
|
19
|
+
* "PENDING"
|
|
20
|
+
* "REJECTED"
|
|
21
|
+
* "PAUSED"
|
|
22
|
+
* "DISABLED"
|
|
23
|
+
* "IN_APPEAL"
|
|
24
|
+
|
|
25
|
+
----------------------------------------------------------------------------------------------------------------------------
|
|
26
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:18 +0000
|
package/data/docs/index.md
CHANGED
|
@@ -19,7 +19,7 @@ Developers own the Zod source in `packages/schema/src/`. When schemas change, th
|
|
|
19
19
|
|
|
20
20
|
## What's documented
|
|
21
21
|
|
|
22
|
-
### Enums (
|
|
22
|
+
### Enums (26)
|
|
23
23
|
|
|
24
24
|
Status enums that drive business logic across Order, Booking, Event, and Loyalty domains:
|
|
25
25
|
|
|
@@ -35,8 +35,9 @@ Status enums that drive business logic across Order, Booking, Event, and Loyalty
|
|
|
35
35
|
| [FulfillmentStatus](enums/fulfillment-status) | 6 values | Delivery/fulfillment lifecycle (D34). Optional — null for in-person orders. |
|
|
36
36
|
| [LoyaltyTransactionType](enums/loyalty-transaction-type) | 6 values | Loyalty point transaction type (D07). SCREAMING_SNAKE past tense. |
|
|
37
37
|
| [OrderStatus](enums/order-status) | 7 values | Core order lifecycle status (D03, D34). Universal across all business types. Replaces the Dashboard's legacy 20-value flat enum (MIG-11). |
|
|
38
|
-
| [
|
|
39
|
-
| [
|
|
38
|
+
| [OutboundMessageFormat](enums/outbound-message-format) | 2 values | Outbound WhatsApp message format. `text` is a free-form body (only valid inside the 24h customer-care window); `template` is a pre-approved WhatsApp template send. The backend is the authority on which is allowed (GH#43). |
|
|
39
|
+
| [OutboundMessagePurpose](enums/outbound-message-purpose) | 4 values | Business purpose of an outbound WhatsApp message — orthogonal to its format (see OutboundMessageFormat). `otp`/`review_request`/`adhoc` are system-originated; `conversational` is a human agent reply from the dashboard inbox. Optional signal carried for analytics/triggers (GH#43; supersedes the GH#38 OutboundMessageKind). |
|
|
40
|
+
| [OutboundMessageStatus](enums/outbound-message-status) | 5 values | Outbound WhatsApp message delivery status. Lifecycle: queued → sent → delivered → read, or queued → failed. The dashboard creates the message with status `queued`; the whatsapp-server backend owns every transition after, updating in place from Meta delivery callbacks (GH#43). |
|
|
40
41
|
| [PaymentMethod](enums/payment-method) | 10 values | Unified payment method set with African + global methods (D02). |
|
|
41
42
|
| [PaymentProofStatus](enums/payment-proof-status) | 3 values | Payment proof review status. Used by Order and Booking payment proof workflows. |
|
|
42
43
|
| [PaymentStatus](enums/payment-status) | 7 values | Payment lifecycle status (D01 amended). Used by Order, Sale/Purchase, Booking. |
|
|
@@ -49,9 +50,10 @@ Status enums that drive business logic across Order, Booking, Event, and Loyalty
|
|
|
49
50
|
| [StocktakeStatus](enums/stocktake-status) | 4 values | Lifecycle status of a Stocktake session (GH#29 §3, §4). |
|
|
50
51
|
| [TicketStatus](enums/ticket-status) | 3 values | Event ticket status (D32). VALID = active and unused. |
|
|
51
52
|
| [WabaLabel](enums/waba-label) | 2 values | Human-readable WABA label identifying which Meta business number received the message (GH#36). |
|
|
53
|
+
| [WhatsappTemplateStatus](enums/whatsapp-template-status) | 6 values | Meta review status of a WhatsApp message template, synced from the WhatsApp Business API. Only APPROVED templates can be sent. The fuller Meta status set is used deliberately (vs just APPROVED/PENDING/REJECTED) so this enum has a distinct value signature from PaymentProofStatus in the JSON-Schema $ref matcher (GH#43). |
|
|
52
54
|
|
|
53
55
|
|
|
54
|
-
### Models (
|
|
56
|
+
### Models (31)
|
|
55
57
|
|
|
56
58
|
Core Firestore document schemas:
|
|
57
59
|
|
|
@@ -85,7 +87,9 @@ Core Firestore document schemas:
|
|
|
85
87
|
| [StocktakeItem](models/stocktake-item) | 16 | 8 | — |
|
|
86
88
|
| [Ticket](models/ticket) | 16 | 6 | — |
|
|
87
89
|
| [WhatsappInboundMessage](models/whatsapp-inbound-message) | 13 | 7 | — |
|
|
88
|
-
| [
|
|
90
|
+
| [WhatsappOutboundLifecycleEvent](models/whatsapp-outbound-lifecycle-event) | 11 | 2 | — |
|
|
91
|
+
| [WhatsappOutboundMessage](models/whatsapp-outbound-message) | 18 | 7 | — |
|
|
92
|
+
| [WhatsappTemplate](models/whatsapp-template) | 7 | 6 | — |
|
|
89
93
|
|
|
90
94
|
|
|
91
95
|
|
|
@@ -185,4 +185,4 @@ Set at creation only. This field cannot be modified after the document is create
|
|
|
185
185
|
| **Maximum** | ≤ 9007199254740991 |
|
|
186
186
|
|
|
187
187
|
----------------------------------------------------------------------------------------------------------------------------
|
|
188
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
188
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
@@ -391,7 +391,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
391
391
|
| **Required** | No |
|
|
392
392
|
|
|
393
393
|
----------------------------------------------------------------------------------------------------------------------------
|
|
394
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
394
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
395
395
|
|
|
396
396
|
:::warning Server-set
|
|
397
397
|
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.
|
|
@@ -344,7 +344,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
344
344
|
| **Maximum** | ≤ 9007199254740991 |
|
|
345
345
|
|
|
346
346
|
----------------------------------------------------------------------------------------------------------------------------
|
|
347
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
347
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
348
348
|
|
|
349
349
|
:::warning Server-set
|
|
350
350
|
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.
|
|
@@ -530,4 +530,4 @@ Must be one of:
|
|
|
530
530
|
| **Additional properties** | Any type allowed |
|
|
531
531
|
|
|
532
532
|
----------------------------------------------------------------------------------------------------------------------------
|
|
533
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
533
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
@@ -365,7 +365,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
365
365
|
| **Maximum** | ≤ 9007199254740991 |
|
|
366
366
|
|
|
367
367
|
----------------------------------------------------------------------------------------------------------------------------
|
|
368
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
368
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
369
369
|
|
|
370
370
|
:::warning Server-set
|
|
371
371
|
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.
|
|
@@ -270,7 +270,7 @@ Dot-notation paths for nested fields (e.g. "bookingDates.0.status"). Populated b
|
|
|
270
270
|
| **Additional properties** | Any type allowed |
|
|
271
271
|
|
|
272
272
|
----------------------------------------------------------------------------------------------------------------------------
|
|
273
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
273
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
274
274
|
|
|
275
275
|
:::warning Server-set
|
|
276
276
|
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.
|
|
@@ -1739,7 +1739,7 @@ Set at creation only. This field cannot be modified after the document is create
|
|
|
1739
1739
|
**Description:** When true, suppresses Firebase notification triggers (D20/IG-8).
|
|
1740
1740
|
|
|
1741
1741
|
----------------------------------------------------------------------------------------------------------------------------
|
|
1742
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
1742
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
1743
1743
|
|
|
1744
1744
|
## Related Decisions
|
|
1745
1745
|
|
|
@@ -329,7 +329,7 @@ Set at creation only. This field cannot be modified after the document is create
|
|
|
329
329
|
| **Maximum** | ≤ 9007199254740991 |
|
|
330
330
|
|
|
331
331
|
----------------------------------------------------------------------------------------------------------------------------
|
|
332
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
332
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
333
333
|
|
|
334
334
|
:::warning Server-set
|
|
335
335
|
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.
|
|
@@ -379,7 +379,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
379
379
|
| **Required** | No |
|
|
380
380
|
|
|
381
381
|
----------------------------------------------------------------------------------------------------------------------------
|
|
382
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
382
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
383
383
|
|
|
384
384
|
:::warning Server-set
|
|
385
385
|
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.
|
|
@@ -459,7 +459,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
459
459
|
**Description:** (Read-only, Denormalized) Derived summary from loyalty/status subcollection (D08). Source of truth is LoyaltyStatus.pointsBalance.
|
|
460
460
|
|
|
461
461
|
----------------------------------------------------------------------------------------------------------------------------
|
|
462
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
462
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
463
463
|
|
|
464
464
|
:::warning Server-set
|
|
465
465
|
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.
|
|
@@ -372,7 +372,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
372
372
|
**Description:** (Immutable) FK → User/staff UID who created this event.
|
|
373
373
|
|
|
374
374
|
----------------------------------------------------------------------------------------------------------------------------
|
|
375
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
375
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
376
376
|
|
|
377
377
|
:::info Immutable
|
|
378
378
|
Set at creation only. This field cannot be modified after the document is created. Include it in CREATE payloads; omit it (or leave unchanged) in UPDATE payloads.
|
|
@@ -304,7 +304,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
304
304
|
| **Required** | No |
|
|
305
305
|
|
|
306
306
|
----------------------------------------------------------------------------------------------------------------------------
|
|
307
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
307
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
308
308
|
|
|
309
309
|
:::warning Server-set
|
|
310
310
|
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.
|
|
@@ -229,7 +229,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
229
229
|
| **Required** | No |
|
|
230
230
|
|
|
231
231
|
----------------------------------------------------------------------------------------------------------------------------
|
|
232
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
232
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
233
233
|
|
|
234
234
|
:::warning Server-set
|
|
235
235
|
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.
|
|
@@ -315,7 +315,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
315
315
|
| **Required** | No |
|
|
316
316
|
|
|
317
317
|
----------------------------------------------------------------------------------------------------------------------------
|
|
318
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
318
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-27 at 01:15:17 +0000
|
|
319
319
|
|
|
320
320
|
:::warning Server-set
|
|
321
321
|
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.
|