@ingenx-io/valets-schema-mcp-server 0.1.1 → 0.1.3

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 (43) hide show
  1. package/data/docs/collections/firestore-paths.md +49 -0
  2. package/data/docs/decisions/migrations.md +56 -0
  3. package/data/docs/decisions/summary.md +78 -0
  4. package/data/docs/enums/booking-status.md +26 -0
  5. package/data/docs/enums/customer-payment-status.md +26 -0
  6. package/data/docs/enums/customer-payment-target-type.md +23 -0
  7. package/data/docs/enums/delivery-type.md +23 -0
  8. package/data/docs/enums/event-status.md +30 -0
  9. package/data/docs/enums/fulfillment-status.md +32 -0
  10. package/data/docs/enums/loyalty-transaction-type.md +32 -0
  11. package/data/docs/enums/order-status.md +65 -0
  12. package/data/docs/enums/payment-method.md +36 -0
  13. package/data/docs/enums/payment-proof-status.md +23 -0
  14. package/data/docs/enums/payment-status.md +34 -0
  15. package/data/docs/enums/return-status.md +32 -0
  16. package/data/docs/enums/session-status.md +32 -0
  17. package/data/docs/enums/ticket-status.md +29 -0
  18. package/data/docs/index.md +102 -0
  19. package/data/docs/models/booking-version.md +295 -0
  20. package/data/docs/models/booking.md +1754 -0
  21. package/data/docs/models/customer-payment-allocation.md +336 -0
  22. package/data/docs/models/customer-payment.md +392 -0
  23. package/data/docs/models/customer.md +475 -0
  24. package/data/docs/models/event.md +386 -0
  25. package/data/docs/models/loyalty-config.md +317 -0
  26. package/data/docs/models/loyalty-reward.md +236 -0
  27. package/data/docs/models/loyalty-status.md +328 -0
  28. package/data/docs/models/loyalty-transaction.md +326 -0
  29. package/data/docs/models/metrics-current.md +532 -0
  30. package/data/docs/models/metrics-daily.md +548 -0
  31. package/data/docs/models/metrics-monthly.md +548 -0
  32. package/data/docs/models/order-item.md +361 -0
  33. package/data/docs/models/order.md +1637 -0
  34. package/data/docs/models/payment-summary.md +123 -0
  35. package/data/docs/models/sale.md +540 -0
  36. package/data/docs/models/ticket.md +405 -0
  37. package/data/docs/triggers/event-ticket-triggers.md +204 -0
  38. package/data/docs/triggers/loyalty-automation.md +123 -0
  39. package/data/static/decisions.json +966 -0
  40. package/data/static/llms.txt +1056 -0
  41. package/data/static/openapi.yaml +3090 -0
  42. package/data/static/schemas.json +4055 -0
  43. package/package.json +1 -1
@@ -0,0 +1,386 @@
1
+ ---
2
+ title: "Event"
3
+ sidebar_label: "Event"
4
+ sidebar_position: 6
5
+ ---
6
+
7
+ # Event
8
+
9
+ <details>
10
+ <summary>Example JSON</summary>
11
+
12
+ ```json
13
+ {
14
+ "id": "bk_abc123def456",
15
+ "companyId": "comp_xyz789",
16
+ "name": "Amadou Diallo",
17
+ "description": null,
18
+ "location": null,
19
+ "startDate": "2026-02-15",
20
+ "endDate": "2026-02-20",
21
+ "status": "status",
22
+ "maxTickets": null,
23
+ "ticketsSold": 47,
24
+ "ticketsUsed": 12,
25
+ "ticketPrice": null,
26
+ "createdAt": "createdAt",
27
+ "updatedAt": "updatedAt",
28
+ "createdBy": null
29
+ }
30
+ ```
31
+
32
+ </details>
33
+
34
+
35
+ - [1. Property `id`](#id)
36
+ - [2. Property `companyId`](#companyId)
37
+ - [3. Property `name`](#name)
38
+ - [4. Property `description`](#description)
39
+ - [5. Property `location`](#location)
40
+ - [6. Property `startDate`](#startDate)
41
+ - [6.1. Property `_seconds`](#startDate__seconds)
42
+ - [6.2. Property `_nanoseconds`](#startDate__nanoseconds)
43
+ - [7. Property `endDate`](#endDate)
44
+ - [7.1. Property `firestore-timestamp`](#endDate_anyOf_i0)
45
+ - [7.2. Property `item 1`](#endDate_anyOf_i1)
46
+ - [8. Property `status`](#status)
47
+ - [9. Property `maxTickets`](#maxTickets)
48
+ - [10. Property `ticketsSold`](#ticketsSold)
49
+ - [11. Property `ticketsUsed`](#ticketsUsed)
50
+ - [12. Property `ticketPrice`](#ticketPrice)
51
+ - [13. Property `createdAt`](#createdAt)
52
+ - [13.1. Property `_seconds`](#startDate__seconds)
53
+ - [13.2. Property `_nanoseconds`](#startDate__nanoseconds)
54
+ - [14. Property `updatedAt`](#updatedAt)
55
+ - [14.1. Property `_seconds`](#startDate__seconds)
56
+ - [14.2. Property `_nanoseconds`](#startDate__nanoseconds)
57
+ - [15. Property `createdBy`](#createdBy)
58
+
59
+ | | |
60
+ | ------------------------- | ------------------- |
61
+ | **Type** | `object` |
62
+ | **Required** | No |
63
+ | **Additional properties** | Not allowed |
64
+ | **Defined in** | #/definitions/event |
65
+
66
+ **Description:** Event model (D26, D32). Collection: companies/\{companyId\}/events/\{eventId\}. Mobile-only today; Dashboard in Wave 4.
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. |
85
+
86
+ ## <a name="id"></a>1. Property `id`
87
+
88
+ | | |
89
+ | ------------ | -------- |
90
+ | **Type** | `string` |
91
+ | **Required** | Yes |
92
+
93
+ **Description:** (Read-only) Firestore document ID. Note: Event does not have a uid field.
94
+
95
+ :::warning Server-set
96
+ 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.
97
+ :::
98
+
99
+ ## <a name="companyId"></a>2. Property `companyId`
100
+
101
+ | | |
102
+ | ------------ | -------- |
103
+ | **Type** | `string` |
104
+ | **Required** | Yes |
105
+
106
+ **Description:** (Immutable) FK → Company document ID. Scopes all queries.
107
+
108
+ :::info Immutable
109
+ 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.
110
+ :::
111
+
112
+ ## <a name="name"></a>3. Property `name`
113
+
114
+ | | |
115
+ | ------------ | -------- |
116
+ | **Type** | `string` |
117
+ | **Required** | Yes |
118
+
119
+ ## <a name="description"></a>4. Property `description`
120
+
121
+ | | |
122
+ | ------------ | ---------------- |
123
+ | **Type** | `string or null` |
124
+ | **Required** | No |
125
+
126
+ ## <a name="location"></a>5. Property `location`
127
+
128
+ | | |
129
+ | ------------ | ---------------- |
130
+ | **Type** | `string or null` |
131
+ | **Required** | No |
132
+
133
+ ## <a name="startDate"></a>6. Property `startDate`
134
+
135
+ | | |
136
+ | ------------------------- | --------------------------------- |
137
+ | **Type** | `object` |
138
+ | **Required** | Yes |
139
+ | **Additional properties** | Not allowed |
140
+ | **Defined in** | #/definitions/firestore-timestamp |
141
+
142
+ **Description:** Firestore Timestamp serialized representation
143
+
144
+ | Property | Pattern | Type | Deprecated | Definition | Title/Description |
145
+ | ------------------------------------------ | ------- | ------- | ---------- | ---------- | ----------------- |
146
+ | + [_seconds](#startDate__seconds ) | No | integer | No | - | - |
147
+ | + [_nanoseconds](#startDate__nanoseconds ) | No | integer | No | - | - |
148
+
149
+ ### <a name="startDate__seconds"></a>6.1. Property `_seconds`
150
+
151
+ | | |
152
+ | ------------ | --------- |
153
+ | **Type** | `integer` |
154
+ | **Required** | Yes |
155
+
156
+ | Restrictions | |
157
+ | ------------ | ---------------------- |
158
+ | **Minimum** | &ge; -9007199254740991 |
159
+ | **Maximum** | &le; 9007199254740991 |
160
+
161
+ ### <a name="startDate__nanoseconds"></a>6.2. Property `_nanoseconds`
162
+
163
+ | | |
164
+ | ------------ | --------- |
165
+ | **Type** | `integer` |
166
+ | **Required** | Yes |
167
+
168
+ | Restrictions | |
169
+ | ------------ | ---------------------- |
170
+ | **Minimum** | &ge; -9007199254740991 |
171
+ | **Maximum** | &le; 9007199254740991 |
172
+
173
+ ## <a name="endDate"></a>7. Property `endDate`
174
+
175
+ | | |
176
+ | ------------------------- | ---------------- |
177
+ | **Type** | `combining` |
178
+ | **Required** | No |
179
+ | **Additional properties** | Any type allowed |
180
+
181
+ **Description:** Firestore Timestamp serialized representation
182
+
183
+ | Any of(Option) |
184
+ | ---------------------------------------- |
185
+ | [firestore-timestamp](#endDate_anyOf_i0) |
186
+ | [item 1](#endDate_anyOf_i1) |
187
+
188
+ ### <a name="endDate_anyOf_i0"></a>7.1. Property `firestore-timestamp`
189
+
190
+ | | |
191
+ | ------------------------- | ----------------------- |
192
+ | **Type** | `object` |
193
+ | **Required** | No |
194
+ | **Additional properties** | Not allowed |
195
+ | **Same definition as** | [startDate](#startDate) |
196
+
197
+ **Description:** Firestore Timestamp serialized representation
198
+
199
+ ### <a name="endDate_anyOf_i1"></a>7.2. Property `item 1`
200
+
201
+ | | |
202
+ | ------------ | ------ |
203
+ | **Type** | `null` |
204
+ | **Required** | No |
205
+
206
+ ## <a name="status"></a>8. Property `status`
207
+
208
+ | | |
209
+ | -------------- | -------------------------- |
210
+ | **Type** | `enum (of string)` |
211
+ | **Required** | Yes |
212
+ | **Defined in** | #/definitions/event-status |
213
+
214
+ **Description:** Event lifecycle status (D32). SCREAMING_SNAKE per D04. MIG-09 migrates legacy lowercase values.
215
+
216
+ Must be one of:
217
+ * "DRAFT"
218
+ * "ACTIVE"
219
+ * "CANCELLED"
220
+ * "COMPLETED"
221
+
222
+ ## <a name="maxTickets"></a>9. Property `maxTickets`
223
+
224
+ | | |
225
+ | ------------ | ----------------- |
226
+ | **Type** | `integer or null` |
227
+ | **Required** | No |
228
+
229
+ | Restrictions | |
230
+ | ------------ | ---------------------- |
231
+ | **Minimum** | &ge; -9007199254740991 |
232
+ | **Maximum** | &le; 9007199254740991 |
233
+
234
+ ## <a name="ticketsSold"></a>10. Property `ticketsSold`
235
+
236
+ | | |
237
+ | ------------ | --------- |
238
+ | **Type** | `integer` |
239
+ | **Required** | Yes |
240
+
241
+ **Description:** (Read-only) Counter: total tickets sold. Updated by Firebase triggers (D28).
242
+
243
+ | Restrictions | |
244
+ | ------------ | ---------------------- |
245
+ | **Minimum** | &ge; -9007199254740991 |
246
+ | **Maximum** | &le; 9007199254740991 |
247
+
248
+ :::warning Server-set
249
+ 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.
250
+ :::
251
+
252
+ ## <a name="ticketsUsed"></a>11. Property `ticketsUsed`
253
+
254
+ | | |
255
+ | ------------ | --------- |
256
+ | **Type** | `integer` |
257
+ | **Required** | Yes |
258
+
259
+ **Description:** (Read-only) Counter: tickets scanned/used. Updated by Firebase triggers (D28).
260
+
261
+ | Restrictions | |
262
+ | ------------ | ---------------------- |
263
+ | **Minimum** | &ge; -9007199254740991 |
264
+ | **Maximum** | &le; 9007199254740991 |
265
+
266
+ :::warning Server-set
267
+ 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.
268
+ :::
269
+
270
+ ## <a name="ticketPrice"></a>12. Property `ticketPrice`
271
+
272
+ | | |
273
+ | ------------ | ---------------- |
274
+ | **Type** | `number or null` |
275
+ | **Required** | No |
276
+
277
+ ## <a name="createdAt"></a>13. Property `createdAt`
278
+
279
+ | | |
280
+ | ------------------------- | --------------------------------- |
281
+ | **Type** | `object` |
282
+ | **Required** | Yes |
283
+ | **Additional properties** | Not allowed |
284
+ | **Defined in** | #/definitions/firestore-timestamp |
285
+
286
+ **Description:** (Read-only) Server-generated creation timestamp.
287
+
288
+ | Property | Pattern | Type | Deprecated | Definition | Title/Description |
289
+ | ------------------------------------------ | ------- | ------- | ---------- | ---------- | ----------------- |
290
+ | + [_seconds](#startDate__seconds ) | No | integer | No | - | - |
291
+ | + [_nanoseconds](#startDate__nanoseconds ) | No | integer | No | - | - |
292
+
293
+ ### <a name="startDate__seconds"></a>13.1. Property `_seconds`
294
+
295
+ | | |
296
+ | ------------ | --------- |
297
+ | **Type** | `integer` |
298
+ | **Required** | Yes |
299
+
300
+ | Restrictions | |
301
+ | ------------ | ---------------------- |
302
+ | **Minimum** | &ge; -9007199254740991 |
303
+ | **Maximum** | &le; 9007199254740991 |
304
+
305
+ ### <a name="startDate__nanoseconds"></a>13.2. Property `_nanoseconds`
306
+
307
+ | | |
308
+ | ------------ | --------- |
309
+ | **Type** | `integer` |
310
+ | **Required** | Yes |
311
+
312
+ | Restrictions | |
313
+ | ------------ | ---------------------- |
314
+ | **Minimum** | &ge; -9007199254740991 |
315
+ | **Maximum** | &le; 9007199254740991 |
316
+
317
+ :::warning Server-set
318
+ 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.
319
+ :::
320
+
321
+ ## <a name="updatedAt"></a>14. Property `updatedAt`
322
+
323
+ | | |
324
+ | ------------------------- | --------------------------------- |
325
+ | **Type** | `object` |
326
+ | **Required** | Yes |
327
+ | **Additional properties** | Not allowed |
328
+ | **Defined in** | #/definitions/firestore-timestamp |
329
+
330
+ **Description:** (Read-only) Server-generated update timestamp.
331
+
332
+ | Property | Pattern | Type | Deprecated | Definition | Title/Description |
333
+ | ------------------------------------------ | ------- | ------- | ---------- | ---------- | ----------------- |
334
+ | + [_seconds](#startDate__seconds ) | No | integer | No | - | - |
335
+ | + [_nanoseconds](#startDate__nanoseconds ) | No | integer | No | - | - |
336
+
337
+ ### <a name="startDate__seconds"></a>14.1. Property `_seconds`
338
+
339
+ | | |
340
+ | ------------ | --------- |
341
+ | **Type** | `integer` |
342
+ | **Required** | Yes |
343
+
344
+ | Restrictions | |
345
+ | ------------ | ---------------------- |
346
+ | **Minimum** | &ge; -9007199254740991 |
347
+ | **Maximum** | &le; 9007199254740991 |
348
+
349
+ ### <a name="startDate__nanoseconds"></a>14.2. Property `_nanoseconds`
350
+
351
+ | | |
352
+ | ------------ | --------- |
353
+ | **Type** | `integer` |
354
+ | **Required** | Yes |
355
+
356
+ | Restrictions | |
357
+ | ------------ | ---------------------- |
358
+ | **Minimum** | &ge; -9007199254740991 |
359
+ | **Maximum** | &le; 9007199254740991 |
360
+
361
+ :::warning Server-set
362
+ 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.
363
+ :::
364
+
365
+ ## <a name="createdBy"></a>15. Property `createdBy`
366
+
367
+ | | |
368
+ | ------------ | ---------------- |
369
+ | **Type** | `string or null` |
370
+ | **Required** | No |
371
+
372
+ **Description:** (Immutable) FK → User/staff UID who created this event.
373
+
374
+ ----------------------------------------------------------------------------------------------------------------------------
375
+ Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-04-06 at 19:27:48 +0000
376
+
377
+ :::info Immutable
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.
379
+ :::
380
+
381
+ ## Related Decisions
382
+
383
+ | Decision | Title |
384
+ |---|---|
385
+ | **D26** | Event/Ticket support in dashboard |
386
+ | **D28** | Firebase Event/Ticket triggers |