@ingenx-io/valets-schema-mcp-server 0.2.4 → 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.
Files changed (73) hide show
  1. package/data/docs/collections/firestore-paths.md +32 -20
  2. package/data/docs/enums/app-status.md +24 -0
  3. package/data/docs/enums/attention-status.md +2 -2
  4. package/data/docs/enums/booking-status.md +2 -2
  5. package/data/docs/enums/customer-payment-status.md +2 -2
  6. package/data/docs/enums/customer-payment-target-type.md +2 -2
  7. package/data/docs/enums/delivery-type.md +2 -2
  8. package/data/docs/enums/deployment-link-type.md +2 -2
  9. package/data/docs/enums/event-status.md +2 -2
  10. package/data/docs/enums/fulfillment-status.md +2 -2
  11. package/data/docs/enums/loyalty-transaction-type.md +2 -2
  12. package/data/docs/enums/notification-channel.md +2 -2
  13. package/data/docs/enums/notification-entity-type.md +2 -2
  14. package/data/docs/enums/notification-status.md +2 -2
  15. package/data/docs/enums/order-status.md +2 -2
  16. package/data/docs/enums/outbound-message-format.md +2 -2
  17. package/data/docs/enums/outbound-message-purpose.md +2 -2
  18. package/data/docs/enums/outbound-message-status.md +2 -2
  19. package/data/docs/enums/payment-method.md +2 -2
  20. package/data/docs/enums/payment-proof-status.md +2 -2
  21. package/data/docs/enums/payment-status.md +2 -2
  22. package/data/docs/enums/pending-issue.md +2 -2
  23. package/data/docs/enums/return-status.md +2 -2
  24. package/data/docs/enums/session-status.md +2 -2
  25. package/data/docs/enums/site-status.md +2 -2
  26. package/data/docs/enums/stocktake-frequency.md +2 -2
  27. package/data/docs/enums/stocktake-item-status.md +2 -2
  28. package/data/docs/enums/stocktake-status.md +2 -2
  29. package/data/docs/enums/ticket-status.md +2 -2
  30. package/data/docs/enums/waba-label.md +2 -2
  31. package/data/docs/enums/whatsapp-button-sub-type.md +2 -2
  32. package/data/docs/enums/whatsapp-template-component.md +2 -2
  33. package/data/docs/enums/whatsapp-template-status.md +2 -2
  34. package/data/docs/index.md +9 -5
  35. package/data/docs/models/allowed-user.md +7 -7
  36. package/data/docs/models/analytics-backfill.md +7 -7
  37. package/data/docs/models/analytics-daily.md +6 -6
  38. package/data/docs/models/analytics-event.md +7 -7
  39. package/data/docs/models/analytics-hourly.md +6 -6
  40. package/data/docs/models/app-payment.md +200 -0
  41. package/data/docs/models/app.md +561 -0
  42. package/data/docs/models/booking-version.md +2 -2
  43. package/data/docs/models/booking.md +127 -127
  44. package/data/docs/models/customer-payment-allocation.md +20 -20
  45. package/data/docs/models/customer-payment.md +23 -23
  46. package/data/docs/models/customer.md +11 -11
  47. package/data/docs/models/event.md +22 -22
  48. package/data/docs/models/loyalty-config.md +4 -4
  49. package/data/docs/models/loyalty-reward.md +3 -3
  50. package/data/docs/models/loyalty-status.md +6 -6
  51. package/data/docs/models/loyalty-transaction.md +2 -2
  52. package/data/docs/models/magic-link-request.md +9 -9
  53. package/data/docs/models/metrics-current.md +169 -37
  54. package/data/docs/models/metrics-daily.md +172 -40
  55. package/data/docs/models/metrics-monthly.md +172 -40
  56. package/data/docs/models/notification-record.md +3 -3
  57. package/data/docs/models/order-item.md +6 -6
  58. package/data/docs/models/order.md +78 -78
  59. package/data/docs/models/sale.md +18 -18
  60. package/data/docs/models/site-payment.md +2 -2
  61. package/data/docs/models/site.md +2 -2
  62. package/data/docs/models/stocktake-item.md +4 -4
  63. package/data/docs/models/stocktake.md +5 -5
  64. package/data/docs/models/ticket.md +3 -3
  65. package/data/docs/models/user.md +249 -0
  66. package/data/docs/models/whatsapp-inbound-message.md +2 -2
  67. package/data/docs/models/whatsapp-outbound-lifecycle-event.md +2 -2
  68. package/data/docs/models/whatsapp-outbound-message.md +6 -6
  69. package/data/docs/models/whatsapp-template.md +2 -2
  70. package/data/static/llms.txt +179 -33
  71. package/data/static/openapi.yaml +626 -60
  72. package/data/static/schemas.json +680 -69
  73. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "CustomerPayment"
3
3
  sidebar_label: "CustomerPayment"
4
- sidebar_position: 9
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 serialized representation |
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 serialized representation
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 serialized representation
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-27 at 15:51:05 +0000
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: 8
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 serialized representation |
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 serialized representation
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 serialized representation
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 serialized representation
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-27 at 15:51:05 +0000
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: 11
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 serialized representation |
76
- | - [endDate](#endDate ) | No | Combination | No | - | Firestore Timestamp serialized representation |
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 serialized representation
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 serialized representation
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 serialized representation
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-27 at 15:51:05 +0000
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: 12
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 serialized representation
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 serialized representation
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-27 at 15:51:05 +0000
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: 13
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 serialized representation
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-27 at 15:51:05 +0000
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: 14
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 serialized representation
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 serialized representation
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 serialized representation
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 serialized representation
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-27 at 15:51:05 +0000
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: 15
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-27 at 15:51:05 +0000
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: 16
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
- "siteId": "sit_ref123",
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 `siteId`](#siteId)
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\}/sites/\{siteId\}/magic_link_requests/\{requestId\}. Authentication audit log — every request is logged regardless of outcome. Two-stage write: Log() then LogVerify().
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
- | + [siteId](#siteId ) | No | string | No | - | (Immutable) FK → Site document ID (D40 sub-tenant scope). |
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="siteId"></a>3. Property `siteId`
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 → Site document ID (D40 sub-tenant scope).
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 serialized representation
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-27 at 15:51:05 +0000
285
+ Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-30 at 12:42:51 +0000