@ingenx-io/valets-schema-mcp-server 0.2.3 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -0
- package/data/docs/collections/firestore-paths.md +32 -20
- package/data/docs/enums/app-status.md +24 -0
- package/data/docs/enums/attention-status.md +2 -2
- package/data/docs/enums/booking-status.md +2 -2
- 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/fulfillment-status.md +2 -2
- package/data/docs/enums/loyalty-transaction-type.md +2 -2
- 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 +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-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 +9 -5
- package/data/docs/models/allowed-user.md +7 -7
- package/data/docs/models/analytics-backfill.md +7 -7
- package/data/docs/models/analytics-daily.md +6 -6
- package/data/docs/models/analytics-event.md +7 -7
- package/data/docs/models/analytics-hourly.md +6 -6
- package/data/docs/models/app-payment.md +200 -0
- package/data/docs/models/app.md +561 -0
- package/data/docs/models/booking-version.md +2 -2
- package/data/docs/models/booking.md +127 -127
- package/data/docs/models/customer-payment-allocation.md +20 -20
- package/data/docs/models/customer-payment.md +23 -23
- package/data/docs/models/customer.md +11 -11
- package/data/docs/models/event.md +22 -22
- package/data/docs/models/loyalty-config.md +4 -4
- package/data/docs/models/loyalty-reward.md +3 -3
- package/data/docs/models/loyalty-status.md +6 -6
- package/data/docs/models/loyalty-transaction.md +2 -2
- package/data/docs/models/magic-link-request.md +9 -9
- package/data/docs/models/metrics-current.md +169 -37
- package/data/docs/models/metrics-daily.md +172 -40
- package/data/docs/models/metrics-monthly.md +172 -40
- package/data/docs/models/notification-record.md +3 -3
- package/data/docs/models/order-item.md +6 -6
- package/data/docs/models/order.md +78 -78
- package/data/docs/models/sale.md +18 -18
- package/data/docs/models/site-payment.md +2 -2
- package/data/docs/models/site.md +2 -2
- package/data/docs/models/stocktake-item.md +4 -4
- package/data/docs/models/stocktake.md +5 -5
- package/data/docs/models/ticket.md +3 -3
- package/data/docs/models/user.md +249 -0
- package/data/docs/models/whatsapp-inbound-message.md +2 -2
- package/data/docs/models/whatsapp-outbound-lifecycle-event.md +2 -2
- package/data/docs/models/whatsapp-outbound-message.md +6 -6
- package/data/docs/models/whatsapp-template.md +2 -2
- package/data/static/cookbook.json +150 -0
- package/data/static/llms.txt +179 -33
- package/data/static/openapi.yaml +626 -60
- package/data/static/schemas.json +680 -69
- package/index.js +32 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "CustomerPayment"
|
|
3
3
|
sidebar_label: "CustomerPayment"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 11
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# CustomerPayment
|
|
@@ -67,25 +67,25 @@ sidebar_position: 9
|
|
|
67
67
|
|
|
68
68
|
**Description:** CustomerPayment model (D22). Collection: companies/\{companyId\}/customerPayments/\{paymentId\}. Dashboard-only today; Mobile read in Wave 2, write in Wave 4 (trusted-party workflow).
|
|
69
69
|
|
|
70
|
-
| Property | Pattern | Type | Deprecated | Definition | Title/Description
|
|
71
|
-
| -------------------------------------- | ------- | ---------------- | ---------- | ---------------------------------------- |
|
|
72
|
-
| - [id](#id ) | No | string or null | No | - | (Read-only) Firestore document ID. Note: optional in current schema — some legacy docs may lack this field.
|
|
73
|
-
| + [companyId](#companyId ) | No | string | No | - | (Immutable) FK → Company document ID. Scopes all queries.
|
|
74
|
-
| + [customerId](#customerId ) | No | string | No | - | (Immutable) FK → Customer.id (Firestore doc ID). Links payment to customer. Set at creation.
|
|
75
|
-
| - [customerName](#customerName ) | No | string or null | No | - | (Denormalized) From Customer.name at write time.
|
|
76
|
-
| + [amount](#amount ) | No | number | No | - | -
|
|
77
|
-
| + [currency](#currency ) | No | const | No | - | Currency code. Locked to XOF (West African CFA franc) for now.
|
|
78
|
-
| + [paymentDate](#paymentDate ) | No | object | No | In #/definitions/firestore-timestamp | Firestore Timestamp
|
|
79
|
-
| + [paymentMethod](#paymentMethod ) | No | enum (of string) | No | In #/definitions/payment-method | Unified payment method set with African + global methods (D02).
|
|
80
|
-
| + [referenceNumber](#referenceNumber ) | No | string | No | - | Unique payment reference (receipt number, transaction ID, etc.).
|
|
81
|
-
| + [allocatedAmount](#allocatedAmount ) | No | number | No | - | (Read-only) Total amount allocated to bookings/orders/purchases via allocations. Server-calculated.
|
|
82
|
-
| + [unappliedAmount](#unappliedAmount ) | No | number | No | - | (Read-only) Remaining unallocated amount (amount - allocatedAmount). Server-calculated.
|
|
83
|
-
| + [status](#status ) | No | enum (of string) | No | In #/definitions/customer-payment-status | Customer payment lifecycle status (D22). Tracks allocation progress of received payments.
|
|
84
|
-
| - [notes](#notes ) | No | string or null | No | - | -
|
|
85
|
-
| + [recordedBy](#recordedBy ) | No | string | No | - | (Immutable) FK → User/staff UID who recorded the payment. Required audit field (D22/IG-7).
|
|
86
|
-
| - [recordedByName](#recordedByName ) | No | string or null | No | - | (Immutable, Denormalized) From User display name at creation time.
|
|
87
|
-
| + [createdAt](#createdAt ) | No | object | No | In #/definitions/firestore-timestamp | (Read-only) Server-generated creation timestamp.
|
|
88
|
-
| - [updatedAt](#updatedAt ) | No | Combination | No | - | (Read-only) Server-generated update timestamp.
|
|
70
|
+
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|
|
71
|
+
| -------------------------------------- | ------- | ---------------- | ---------- | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
72
|
+
| - [id](#id ) | No | string or null | No | - | (Read-only) Firestore document ID. Note: optional in current schema — some legacy docs may lack this field. |
|
|
73
|
+
| + [companyId](#companyId ) | No | string | No | - | (Immutable) FK → Company document ID. Scopes all queries. |
|
|
74
|
+
| + [customerId](#customerId ) | No | string | No | - | (Immutable) FK → Customer.id (Firestore doc ID). Links payment to customer. Set at creation. |
|
|
75
|
+
| - [customerName](#customerName ) | No | string or null | No | - | (Denormalized) From Customer.name at write time. |
|
|
76
|
+
| + [amount](#amount ) | No | number | No | - | - |
|
|
77
|
+
| + [currency](#currency ) | No | const | No | - | Currency code. Locked to XOF (West African CFA franc) for now. |
|
|
78
|
+
| + [paymentDate](#paymentDate ) | No | object | No | In #/definitions/firestore-timestamp | Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10). |
|
|
79
|
+
| + [paymentMethod](#paymentMethod ) | No | enum (of string) | No | In #/definitions/payment-method | Unified payment method set with African + global methods (D02). |
|
|
80
|
+
| + [referenceNumber](#referenceNumber ) | No | string | No | - | Unique payment reference (receipt number, transaction ID, etc.). |
|
|
81
|
+
| + [allocatedAmount](#allocatedAmount ) | No | number | No | - | (Read-only) Total amount allocated to bookings/orders/purchases via allocations. Server-calculated. |
|
|
82
|
+
| + [unappliedAmount](#unappliedAmount ) | No | number | No | - | (Read-only) Remaining unallocated amount (amount - allocatedAmount). Server-calculated. |
|
|
83
|
+
| + [status](#status ) | No | enum (of string) | No | In #/definitions/customer-payment-status | Customer payment lifecycle status (D22). Tracks allocation progress of received payments. |
|
|
84
|
+
| - [notes](#notes ) | No | string or null | No | - | - |
|
|
85
|
+
| + [recordedBy](#recordedBy ) | No | string | No | - | (Immutable) FK → User/staff UID who recorded the payment. Required audit field (D22/IG-7). |
|
|
86
|
+
| - [recordedByName](#recordedByName ) | No | string or null | No | - | (Immutable, Denormalized) From User display name at creation time. |
|
|
87
|
+
| + [createdAt](#createdAt ) | No | object | No | In #/definitions/firestore-timestamp | (Read-only) Server-generated creation timestamp. |
|
|
88
|
+
| - [updatedAt](#updatedAt ) | No | Combination | No | - | (Read-only) Server-generated update timestamp. |
|
|
89
89
|
|
|
90
90
|
## <a name="id"></a>1. Property `id`
|
|
91
91
|
|
|
@@ -162,7 +162,7 @@ Specific value: `"XOF"`
|
|
|
162
162
|
| **Additional properties** | Not allowed |
|
|
163
163
|
| **Defined in** | #/definitions/firestore-timestamp |
|
|
164
164
|
|
|
165
|
-
**Description:** Firestore Timestamp
|
|
165
|
+
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
166
166
|
|
|
167
167
|
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|
|
168
168
|
| -------------------------------------------- | ------- | ------- | ---------- | ---------- | ----------------- |
|
|
@@ -369,7 +369,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
369
369
|
| **Additional properties** | Not allowed |
|
|
370
370
|
| **Same definition as** | [paymentDate](#paymentDate) |
|
|
371
371
|
|
|
372
|
-
**Description:** Firestore Timestamp
|
|
372
|
+
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
373
373
|
|
|
374
374
|
### <a name="updatedAt_anyOf_i1"></a>17.2. Property `item 1`
|
|
375
375
|
|
|
@@ -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-30 at 12:42:51 +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.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Customer"
|
|
3
3
|
sidebar_label: "Customer"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 10
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Customer
|
|
@@ -213,12 +213,12 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
213
213
|
|
|
214
214
|
**Description:** CRM communication log entry (D25). Embedded array on Customer document.
|
|
215
215
|
|
|
216
|
-
| Property | Pattern | Type | Deprecated | Definition | Title/Description
|
|
217
|
-
| --------------------------------------------------------- | ------- | ------ | ---------- | ------------------------------------ |
|
|
218
|
-
| + [timestamp](#communicationEntries_items_timestamp ) | No | object | No | In #/definitions/firestore-timestamp | Firestore Timestamp
|
|
219
|
-
| + [type](#communicationEntries_items_type ) | No | string | No | - | Communication channel (e.g. phone, email, meeting).
|
|
220
|
-
| + [summary](#communicationEntries_items_summary ) | No | string | No | - | -
|
|
221
|
-
| - [staffMember](#communicationEntries_items_staffMember ) | No | string | No | - | Staff member name involved in this communication.
|
|
216
|
+
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|
|
217
|
+
| --------------------------------------------------------- | ------- | ------ | ---------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
218
|
+
| + [timestamp](#communicationEntries_items_timestamp ) | No | object | No | In #/definitions/firestore-timestamp | Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10). |
|
|
219
|
+
| + [type](#communicationEntries_items_type ) | No | string | No | - | Communication channel (e.g. phone, email, meeting). |
|
|
220
|
+
| + [summary](#communicationEntries_items_summary ) | No | string | No | - | - |
|
|
221
|
+
| - [staffMember](#communicationEntries_items_staffMember ) | No | string | No | - | Staff member name involved in this communication. |
|
|
222
222
|
|
|
223
223
|
#### <a name="communicationEntries_items_timestamp"></a>9.1.1. Property `timestamp`
|
|
224
224
|
|
|
@@ -229,7 +229,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
229
229
|
| **Additional properties** | Not allowed |
|
|
230
230
|
| **Defined in** | #/definitions/firestore-timestamp |
|
|
231
231
|
|
|
232
|
-
**Description:** Firestore Timestamp
|
|
232
|
+
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
233
233
|
|
|
234
234
|
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|
|
235
235
|
| --------------------------------------------------------------------- | ------- | ------- | ---------- | ---------- | ----------------- |
|
|
@@ -353,7 +353,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
353
353
|
| **Additional properties** | Not allowed |
|
|
354
354
|
| **Same definition as** | [timestamp](#communicationEntries_items_timestamp) |
|
|
355
355
|
|
|
356
|
-
**Description:** Firestore Timestamp
|
|
356
|
+
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
357
357
|
|
|
358
358
|
### <a name="lastOrderDate_anyOf_i1"></a>11.2. Property `item 1`
|
|
359
359
|
|
|
@@ -410,7 +410,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
410
410
|
| **Additional properties** | Not allowed |
|
|
411
411
|
| **Same definition as** | [timestamp](#communicationEntries_items_timestamp) |
|
|
412
412
|
|
|
413
|
-
**Description:** Firestore Timestamp
|
|
413
|
+
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
414
414
|
|
|
415
415
|
### <a name="lastPaymentDate_anyOf_i1"></a>14.2. Property `item 1`
|
|
416
416
|
|
|
@@ -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-30 at 12:42:51 +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.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Event"
|
|
3
3
|
sidebar_label: "Event"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 13
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Event
|
|
@@ -65,23 +65,23 @@ sidebar_position: 11
|
|
|
65
65
|
|
|
66
66
|
**Description:** Event model (D26, D32). Collection: companies/\{companyId\}/events/\{eventId\}. Mobile-only today; Dashboard in Wave 4.
|
|
67
67
|
|
|
68
|
-
| Property | Pattern | Type | Deprecated | Definition | Title/Description
|
|
69
|
-
| ------------------------------ | ------- | ---------------- | ---------- | ------------------------------------ |
|
|
70
|
-
| + [id](#id ) | No | string | No | - | (Read-only) Firestore document ID. Note: Event does not have a uid field.
|
|
71
|
-
| + [companyId](#companyId ) | No | string | No | - | (Immutable) FK → Company document ID. Scopes all queries.
|
|
72
|
-
| + [name](#name ) | No | string | No | - | -
|
|
73
|
-
| - [description](#description ) | No | string or null | No | - | -
|
|
74
|
-
| - [location](#location ) | No | string or null | No | - | -
|
|
75
|
-
| + [startDate](#startDate ) | No | object | No | In #/definitions/firestore-timestamp | Firestore Timestamp
|
|
76
|
-
| - [endDate](#endDate ) | No | Combination | No | - | Firestore Timestamp
|
|
77
|
-
| + [status](#status ) | No | enum (of string) | No | In #/definitions/event-status | Event lifecycle status (D32). SCREAMING_SNAKE per D04. MIG-09 migrates legacy lowercase values.
|
|
78
|
-
| - [maxTickets](#maxTickets ) | No | integer or null | No | - | -
|
|
79
|
-
| + [ticketsSold](#ticketsSold ) | No | integer | No | - | (Read-only) Counter: total tickets sold. Updated by Firebase triggers (D28).
|
|
80
|
-
| + [ticketsUsed](#ticketsUsed ) | No | integer | No | - | (Read-only) Counter: tickets scanned/used. Updated by Firebase triggers (D28).
|
|
81
|
-
| - [ticketPrice](#ticketPrice ) | No | number or null | No | - | -
|
|
82
|
-
| + [createdAt](#createdAt ) | No | object | No | In #/definitions/firestore-timestamp | (Read-only) Server-generated creation timestamp.
|
|
83
|
-
| + [updatedAt](#updatedAt ) | No | object | No | In #/definitions/firestore-timestamp | (Read-only) Server-generated update timestamp.
|
|
84
|
-
| - [createdBy](#createdBy ) | No | string or null | No | - | (Immutable) FK → User/staff UID who created this event.
|
|
68
|
+
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|
|
69
|
+
| ------------------------------ | ------- | ---------------- | ---------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
70
|
+
| + [id](#id ) | No | string | No | - | (Read-only) Firestore document ID. Note: Event does not have a uid field. |
|
|
71
|
+
| + [companyId](#companyId ) | No | string | No | - | (Immutable) FK → Company document ID. Scopes all queries. |
|
|
72
|
+
| + [name](#name ) | No | string | No | - | - |
|
|
73
|
+
| - [description](#description ) | No | string or null | No | - | - |
|
|
74
|
+
| - [location](#location ) | No | string or null | No | - | - |
|
|
75
|
+
| + [startDate](#startDate ) | No | object | No | In #/definitions/firestore-timestamp | Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10). |
|
|
76
|
+
| - [endDate](#endDate ) | No | Combination | No | - | Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10). |
|
|
77
|
+
| + [status](#status ) | No | enum (of string) | No | In #/definitions/event-status | Event lifecycle status (D32). SCREAMING_SNAKE per D04. MIG-09 migrates legacy lowercase values. |
|
|
78
|
+
| - [maxTickets](#maxTickets ) | No | integer or null | No | - | - |
|
|
79
|
+
| + [ticketsSold](#ticketsSold ) | No | integer | No | - | (Read-only) Counter: total tickets sold. Updated by Firebase triggers (D28). |
|
|
80
|
+
| + [ticketsUsed](#ticketsUsed ) | No | integer | No | - | (Read-only) Counter: tickets scanned/used. Updated by Firebase triggers (D28). |
|
|
81
|
+
| - [ticketPrice](#ticketPrice ) | No | number or null | No | - | - |
|
|
82
|
+
| + [createdAt](#createdAt ) | No | object | No | In #/definitions/firestore-timestamp | (Read-only) Server-generated creation timestamp. |
|
|
83
|
+
| + [updatedAt](#updatedAt ) | No | object | No | In #/definitions/firestore-timestamp | (Read-only) Server-generated update timestamp. |
|
|
84
|
+
| - [createdBy](#createdBy ) | No | string or null | No | - | (Immutable) FK → User/staff UID who created this event. |
|
|
85
85
|
|
|
86
86
|
## <a name="id"></a>1. Property `id`
|
|
87
87
|
|
|
@@ -139,7 +139,7 @@ Set at creation only. This field cannot be modified after the document is create
|
|
|
139
139
|
| **Additional properties** | Not allowed |
|
|
140
140
|
| **Defined in** | #/definitions/firestore-timestamp |
|
|
141
141
|
|
|
142
|
-
**Description:** Firestore Timestamp
|
|
142
|
+
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
143
143
|
|
|
144
144
|
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|
|
145
145
|
| ------------------------------------------ | ------- | ------- | ---------- | ---------- | ----------------- |
|
|
@@ -178,7 +178,7 @@ Set at creation only. This field cannot be modified after the document is create
|
|
|
178
178
|
| **Required** | No |
|
|
179
179
|
| **Additional properties** | Any type allowed |
|
|
180
180
|
|
|
181
|
-
**Description:** Firestore Timestamp
|
|
181
|
+
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
182
182
|
|
|
183
183
|
| Any of(Option) |
|
|
184
184
|
| ---------------------------------------- |
|
|
@@ -194,7 +194,7 @@ Set at creation only. This field cannot be modified after the document is create
|
|
|
194
194
|
| **Additional properties** | Not allowed |
|
|
195
195
|
| **Same definition as** | [startDate](#startDate) |
|
|
196
196
|
|
|
197
|
-
**Description:** Firestore Timestamp
|
|
197
|
+
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
198
198
|
|
|
199
199
|
### <a name="endDate_anyOf_i1"></a>7.2. Property `item 1`
|
|
200
200
|
|
|
@@ -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-30 at 12:42:51 +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.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "LoyaltyConfig"
|
|
3
3
|
sidebar_label: "LoyaltyConfig"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 14
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# LoyaltyConfig
|
|
@@ -228,7 +228,7 @@ This field is deprecated. Do not write it in new code.
|
|
|
228
228
|
| **Additional properties** | Not allowed |
|
|
229
229
|
| **Defined in** | #/definitions/firestore-timestamp |
|
|
230
230
|
|
|
231
|
-
**Description:** Firestore Timestamp
|
|
231
|
+
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
232
232
|
|
|
233
233
|
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|
|
234
234
|
| --------------------------------------------------- | ------- | ------- | ---------- | ---------- | ----------------- |
|
|
@@ -294,7 +294,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
294
294
|
| **Additional properties** | Not allowed |
|
|
295
295
|
| **Same definition as** | [createdAt_anyOf_i0](#createdAt_anyOf_i0) |
|
|
296
296
|
|
|
297
|
-
**Description:** Firestore Timestamp
|
|
297
|
+
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
298
298
|
|
|
299
299
|
### <a name="updatedAt_anyOf_i1"></a>11.2. Property `item 1`
|
|
300
300
|
|
|
@@ -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-30 at 12:42:51 +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.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "LoyaltyReward"
|
|
3
3
|
sidebar_label: "LoyaltyReward"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 15
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# LoyaltyReward
|
|
@@ -219,7 +219,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
219
219
|
| **Additional properties** | Not allowed |
|
|
220
220
|
| **Same definition as** | [createdAt](#createdAt) |
|
|
221
221
|
|
|
222
|
-
**Description:** Firestore Timestamp
|
|
222
|
+
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
223
223
|
|
|
224
224
|
### <a name="updatedAt_anyOf_i1"></a>11.2. Property `item 1`
|
|
225
225
|
|
|
@@ -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-30 at 12:42:51 +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.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "LoyaltyStatus"
|
|
3
3
|
sidebar_label: "LoyaltyStatus"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 16
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# LoyaltyStatus
|
|
@@ -158,7 +158,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
158
158
|
| **Additional properties** | Not allowed |
|
|
159
159
|
| **Defined in** | #/definitions/firestore-timestamp |
|
|
160
160
|
|
|
161
|
-
**Description:** Firestore Timestamp
|
|
161
|
+
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
162
162
|
|
|
163
163
|
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|
|
164
164
|
| ---------------------------------------------------------- | ------- | ------- | ---------- | ---------- | ----------------- |
|
|
@@ -224,7 +224,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
224
224
|
| **Additional properties** | Not allowed |
|
|
225
225
|
| **Same definition as** | [lastActivityDate_anyOf_i0](#lastActivityDate_anyOf_i0) |
|
|
226
226
|
|
|
227
|
-
**Description:** Firestore Timestamp
|
|
227
|
+
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
228
228
|
|
|
229
229
|
### <a name="lastRedeemedAt_anyOf_i1"></a>6.2. Property `item 1`
|
|
230
230
|
|
|
@@ -268,7 +268,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
268
268
|
| **Additional properties** | Not allowed |
|
|
269
269
|
| **Same definition as** | [lastActivityDate_anyOf_i0](#lastActivityDate_anyOf_i0) |
|
|
270
270
|
|
|
271
|
-
**Description:** Firestore Timestamp
|
|
271
|
+
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
272
272
|
|
|
273
273
|
### <a name="createdAt_anyOf_i1"></a>8.2. Property `item 1`
|
|
274
274
|
|
|
@@ -305,7 +305,7 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
305
305
|
| **Additional properties** | Not allowed |
|
|
306
306
|
| **Same definition as** | [lastActivityDate_anyOf_i0](#lastActivityDate_anyOf_i0) |
|
|
307
307
|
|
|
308
|
-
**Description:** Firestore Timestamp
|
|
308
|
+
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
309
309
|
|
|
310
310
|
### <a name="updatedAt_anyOf_i1"></a>9.2. Property `item 1`
|
|
311
311
|
|
|
@@ -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-30 at 12:42:51 +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.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "LoyaltyTransaction"
|
|
3
3
|
sidebar_label: "LoyaltyTransaction"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 17
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# LoyaltyTransaction
|
|
@@ -313,7 +313,7 @@ Set at creation only. This field cannot be modified after the document is create
|
|
|
313
313
|
**Description:** (Immutable, Denormalized) From User display name at creation time.
|
|
314
314
|
|
|
315
315
|
----------------------------------------------------------------------------------------------------------------------------
|
|
316
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
316
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-30 at 12:42:51 +0000
|
|
317
317
|
|
|
318
318
|
:::info Immutable
|
|
319
319
|
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.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "MagicLinkRequest"
|
|
3
3
|
sidebar_label: "MagicLinkRequest"
|
|
4
|
-
sidebar_position:
|
|
4
|
+
sidebar_position: 18
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# MagicLinkRequest
|
|
@@ -13,7 +13,7 @@ sidebar_position: 16
|
|
|
13
13
|
{
|
|
14
14
|
"id": null,
|
|
15
15
|
"companyId": "comp_xyz789",
|
|
16
|
-
"
|
|
16
|
+
"appId": "app_ref123",
|
|
17
17
|
"email": "amadou@example.com",
|
|
18
18
|
"phone": "+225 07 00 11 22",
|
|
19
19
|
"ip": "ip",
|
|
@@ -34,7 +34,7 @@ sidebar_position: 16
|
|
|
34
34
|
|
|
35
35
|
- [1. Property `id`](#id)
|
|
36
36
|
- [2. Property `companyId`](#companyId)
|
|
37
|
-
- [3. Property `
|
|
37
|
+
- [3. Property `appId`](#appId)
|
|
38
38
|
- [4. Property `email`](#email)
|
|
39
39
|
- [5. Property `phone`](#phone)
|
|
40
40
|
- [6. Property `ip`](#ip)
|
|
@@ -59,13 +59,13 @@ sidebar_position: 16
|
|
|
59
59
|
| **Additional properties** | Not allowed |
|
|
60
60
|
| **Defined in** | #/definitions/magic-link-request |
|
|
61
61
|
|
|
62
|
-
**Description:** MagicLinkRequest model (D40 / ING-304). Collection: companies/\{companyId\}/
|
|
62
|
+
**Description:** MagicLinkRequest model (D40 / ING-304). Collection: companies/\{companyId\}/apps/\{appId\}/magic_link_requests/\{requestId\}. Authentication audit log — every request is logged regardless of outcome. Two-stage write: Log() then LogVerify().
|
|
63
63
|
|
|
64
64
|
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|
|
65
65
|
| ---------------------------------------- | ------- | --------------- | ---------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- |
|
|
66
66
|
| - [id](#id ) | No | string or null | No | - | (Read-only) Firestore document ID. 16-byte random hex. |
|
|
67
67
|
| + [companyId](#companyId ) | No | string | No | - | (Immutable) FK → Company document ID. |
|
|
68
|
-
| + [
|
|
68
|
+
| + [appId](#appId ) | No | string | No | - | (Immutable) FK → App document ID (D40 sub-tenant scope, renamed per D44). |
|
|
69
69
|
| + [email](#email ) | No | string | No | - | Populated if identifier is email; empty string if phone. Mutually exclusive with phone per document. |
|
|
70
70
|
| + [phone](#phone ) | No | string | No | - | Populated if identifier is E.164 format (starts with +); empty string if email. |
|
|
71
71
|
| + [ip](#ip ) | No | string | No | - | Client IP from X-Forwarded-For or RemoteAddr. |
|
|
@@ -105,14 +105,14 @@ Do not include in write requests. This field is set exclusively by the server (F
|
|
|
105
105
|
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.
|
|
106
106
|
:::
|
|
107
107
|
|
|
108
|
-
## <a name="
|
|
108
|
+
## <a name="appId"></a>3. Property `appId`
|
|
109
109
|
|
|
110
110
|
| | |
|
|
111
111
|
| ------------ | -------- |
|
|
112
112
|
| **Type** | `string` |
|
|
113
113
|
| **Required** | Yes |
|
|
114
114
|
|
|
115
|
-
**Description:** (Immutable) FK →
|
|
115
|
+
**Description:** (Immutable) FK → App document ID (D40 sub-tenant scope, renamed per D44).
|
|
116
116
|
|
|
117
117
|
:::info Immutable
|
|
118
118
|
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.
|
|
@@ -272,7 +272,7 @@ Set at creation only. This field cannot be modified after the document is create
|
|
|
272
272
|
| **Additional properties** | Not allowed |
|
|
273
273
|
| **Same definition as** | [requestedAt](#requestedAt) |
|
|
274
274
|
|
|
275
|
-
**Description:** Firestore Timestamp
|
|
275
|
+
**Description:** Firestore Timestamp — Admin SDK form: \{ _seconds, _nanoseconds \}. See types/firestore.ts for REST API v1 and client SDK serialization notes (#10).
|
|
276
276
|
|
|
277
277
|
### <a name="verifiedAt_anyOf_i1"></a>15.2. Property `item 1`
|
|
278
278
|
|
|
@@ -282,4 +282,4 @@ Set at creation only. This field cannot be modified after the document is create
|
|
|
282
282
|
| **Required** | No |
|
|
283
283
|
|
|
284
284
|
----------------------------------------------------------------------------------------------------------------------------
|
|
285
|
-
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-
|
|
285
|
+
Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-30 at 12:42:51 +0000
|