@ingenx-io/valets-schema-mcp-server 0.1.4 → 0.1.6

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 (54) hide show
  1. package/data/docs/collections/firestore-paths.md +42 -8
  2. package/data/docs/enums/attention-status.md +1 -1
  3. package/data/docs/enums/booking-status.md +1 -1
  4. package/data/docs/enums/customer-payment-status.md +1 -1
  5. package/data/docs/enums/customer-payment-target-type.md +1 -1
  6. package/data/docs/enums/delivery-type.md +1 -1
  7. package/data/docs/enums/deployment-link-type.md +26 -0
  8. package/data/docs/enums/event-status.md +2 -2
  9. package/data/docs/enums/fulfillment-status.md +2 -2
  10. package/data/docs/enums/loyalty-transaction-type.md +2 -2
  11. package/data/docs/enums/order-status.md +2 -2
  12. package/data/docs/enums/payment-method.md +2 -2
  13. package/data/docs/enums/payment-proof-status.md +2 -2
  14. package/data/docs/enums/payment-status.md +2 -2
  15. package/data/docs/enums/pending-issue.md +2 -2
  16. package/data/docs/enums/return-status.md +2 -2
  17. package/data/docs/enums/session-status.md +2 -2
  18. package/data/docs/enums/site-status.md +24 -0
  19. package/data/docs/enums/stocktake-frequency.md +24 -0
  20. package/data/docs/enums/stocktake-item-status.md +24 -0
  21. package/data/docs/enums/stocktake-status.md +24 -0
  22. package/data/docs/enums/ticket-status.md +2 -2
  23. package/data/docs/index.md +14 -3
  24. package/data/docs/models/allowed-user.md +1 -1
  25. package/data/docs/models/analytics-backfill.md +398 -0
  26. package/data/docs/models/analytics-daily.md +351 -0
  27. package/data/docs/models/analytics-event.md +2 -2
  28. package/data/docs/models/analytics-hourly.md +372 -0
  29. package/data/docs/models/booking-version.md +2 -2
  30. package/data/docs/models/booking.md +2 -2
  31. package/data/docs/models/customer-payment-allocation.md +2 -2
  32. package/data/docs/models/customer-payment.md +2 -2
  33. package/data/docs/models/customer.md +2 -2
  34. package/data/docs/models/event.md +2 -2
  35. package/data/docs/models/loyalty-config.md +2 -2
  36. package/data/docs/models/loyalty-reward.md +2 -2
  37. package/data/docs/models/loyalty-status.md +2 -2
  38. package/data/docs/models/loyalty-transaction.md +2 -2
  39. package/data/docs/models/magic-link-request.md +2 -2
  40. package/data/docs/models/metrics-current.md +2 -2
  41. package/data/docs/models/metrics-daily.md +2 -2
  42. package/data/docs/models/metrics-monthly.md +2 -2
  43. package/data/docs/models/order-item.md +2 -2
  44. package/data/docs/models/order.md +248 -220
  45. package/data/docs/models/sale.md +2 -2
  46. package/data/docs/models/site-payment.md +2 -2
  47. package/data/docs/models/site.md +561 -0
  48. package/data/docs/models/stocktake-item.md +500 -0
  49. package/data/docs/models/stocktake.md +649 -0
  50. package/data/docs/models/ticket.md +2 -2
  51. package/data/static/llms.txt +309 -2
  52. package/data/static/openapi.yaml +972 -0
  53. package/data/static/schemas.json +1249 -77
  54. package/package.json +1 -1
@@ -0,0 +1,500 @@
1
+ ---
2
+ title: "StocktakeItem"
3
+ sidebar_label: "StocktakeItem"
4
+ sidebar_position: 26
5
+ ---
6
+
7
+ # StocktakeItem
8
+
9
+ <details>
10
+ <summary>Example JSON</summary>
11
+
12
+ ```json
13
+ {
14
+ "stockItemId": "sto_ref123",
15
+ "stockItemName": "stockItemName",
16
+ "theoreticalQuantity": 2,
17
+ "actualQuantity": "actualQuantity",
18
+ "delta": 0,
19
+ "unit": "unit",
20
+ "costPerUnit": 15000,
21
+ "totalValue": 0,
22
+ "status": "status",
23
+ "notes": "VIP customer, handle with care",
24
+ "countedBy": "countedBy",
25
+ "countedByName": "countedByName",
26
+ "countedAt": "countedAt",
27
+ "verifiedBy": "verifiedBy",
28
+ "verifiedByName": "verifiedByName",
29
+ "verifiedAt": "verifiedAt"
30
+ }
31
+ ```
32
+
33
+ </details>
34
+
35
+
36
+ - [1. Property `stockItemId`](#stockItemId)
37
+ - [2. Property `stockItemName`](#stockItemName)
38
+ - [3. Property `theoreticalQuantity`](#theoreticalQuantity)
39
+ - [4. Property `actualQuantity`](#actualQuantity)
40
+ - [4.1. Property `item 0`](#actualQuantity_anyOf_i0)
41
+ - [4.2. Property `item 1`](#actualQuantity_anyOf_i1)
42
+ - [5. Property `delta`](#delta)
43
+ - [6. Property `unit`](#unit)
44
+ - [7. Property `costPerUnit`](#costPerUnit)
45
+ - [8. Property `totalValue`](#totalValue)
46
+ - [9. Property `status`](#status)
47
+ - [10. Property `notes`](#notes)
48
+ - [10.1. Property `item 0`](#notes_anyOf_i0)
49
+ - [10.2. Property `item 1`](#notes_anyOf_i1)
50
+ - [11. Property `countedBy`](#countedBy)
51
+ - [11.1. Property `item 0`](#countedBy_anyOf_i0)
52
+ - [11.2. Property `item 1`](#countedBy_anyOf_i1)
53
+ - [12. Property `countedByName`](#countedByName)
54
+ - [12.1. Property `item 0`](#countedByName_anyOf_i0)
55
+ - [12.2. Property `item 1`](#countedByName_anyOf_i1)
56
+ - [13. Property `countedAt`](#countedAt)
57
+ - [13.1. Property `firestore-timestamp`](#countedAt_anyOf_i0)
58
+ - [13.1.1. Property `_seconds`](#countedAt_anyOf_i0__seconds)
59
+ - [13.1.2. Property `_nanoseconds`](#countedAt_anyOf_i0__nanoseconds)
60
+ - [13.2. Property `item 1`](#countedAt_anyOf_i1)
61
+ - [14. Property `verifiedBy`](#verifiedBy)
62
+ - [14.1. Property `item 0`](#verifiedBy_anyOf_i0)
63
+ - [14.2. Property `item 1`](#verifiedBy_anyOf_i1)
64
+ - [15. Property `verifiedByName`](#verifiedByName)
65
+ - [15.1. Property `item 0`](#verifiedByName_anyOf_i0)
66
+ - [15.2. Property `item 1`](#verifiedByName_anyOf_i1)
67
+ - [16. Property `verifiedAt`](#verifiedAt)
68
+ - [16.1. Property `firestore-timestamp`](#verifiedAt_anyOf_i0)
69
+ - [16.2. Property `item 1`](#verifiedAt_anyOf_i1)
70
+
71
+ | | |
72
+ | ------------------------- | ---------------------------- |
73
+ | **Type** | `object` |
74
+ | **Required** | No |
75
+ | **Additional properties** | Not allowed |
76
+ | **Defined in** | #/definitions/stocktake-item |
77
+
78
+ **Description:** StocktakeItem (GH#29 §4). Sub-collection path: companies/\{companyId\}/stocktakes/\{stocktakeId\}/items/\{stockItemId\}. Replaces the embedded `InventoryItem[]` array on the dashboard model. Server emits one StockMovement(type=INVENTORY) per non-zero delta when the parent Stocktake transitions to COMPLETED.
79
+
80
+ | Property | Pattern | Type | Deprecated | Definition | Title/Description |
81
+ | ---------------------------------------------- | ------- | ---------------- | ---------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
82
+ | + [stockItemId](#stockItemId ) | No | string | No | - | FK → StockItem document ID. Doubles as the item document ID. |
83
+ | + [stockItemName](#stockItemName ) | No | string | No | - | (Denormalized) Snapshot of StockItem.name at session time. |
84
+ | + [theoreticalQuantity](#theoreticalQuantity ) | No | number | No | - | (Immutable) System belief at session start, snapshotted when this item row was created. |
85
+ | - [actualQuantity](#actualQuantity ) | No | Combination | No | - | Physical count entered by the counter. Null until counted; set when the line moves to status COUNTED. |
86
+ | + [delta](#delta ) | No | number | No | - | (Read-only) Signed difference between actual and theoretical. Drives the StockMovement(type=INVENTORY) emitted on session COMPLETED. |
87
+ | + [unit](#unit ) | No | string | No | - | (Immutable) Snapshot of StockItem.unit at session start. Locks the unit against later catalog changes. |
88
+ | + [costPerUnit](#costPerUnit ) | No | number | No | - | (Immutable) Snapshot of StockItem.costPerUnit at session start, in XOF integer minor units. |
89
+ | + [totalValue](#totalValue ) | No | number | No | - | (Read-only) Per-line valuation in XOF integer minor units. |
90
+ | + [status](#status ) | No | enum (of string) | No | In #/definitions/stocktake-item-status | Per-line workflow status. Server transitions ADJUSTED on parent COMPLETED. |
91
+ | - [notes](#notes ) | No | Combination | No | - | Optional per-line note from the counter (e.g. "damaged carton, 3 unsellable"). |
92
+ | - [countedBy](#countedBy ) | No | Combination | No | - | UID of the staff member who entered actualQuantity. |
93
+ | - [countedByName](#countedByName ) | No | Combination | No | - | (Denormalized) Snapshot of the counter's display name at count time. |
94
+ | - [countedAt](#countedAt ) | No | Combination | No | - | When the line was counted. |
95
+ | - [verifiedBy](#verifiedBy ) | No | Combination | No | - | UID of a second staff member who verified the count. Nullable per GH#29 Q21. |
96
+ | - [verifiedByName](#verifiedByName ) | No | Combination | No | - | (Denormalized) Snapshot of the verifier's display name. |
97
+ | - [verifiedAt](#verifiedAt ) | No | Combination | No | - | When the line was verified, if a second-eye flow was used. |
98
+
99
+ ## <a name="stockItemId"></a>1. Property `stockItemId`
100
+
101
+ | | |
102
+ | ------------ | -------- |
103
+ | **Type** | `string` |
104
+ | **Required** | Yes |
105
+
106
+ **Description:** FK → StockItem document ID. Doubles as the item document ID.
107
+
108
+ ## <a name="stockItemName"></a>2. Property `stockItemName`
109
+
110
+ | | |
111
+ | ------------ | -------- |
112
+ | **Type** | `string` |
113
+ | **Required** | Yes |
114
+
115
+ **Description:** (Denormalized) Snapshot of StockItem.name at session time.
116
+
117
+ :::note
118
+ Read-time hint snapshot of StockItem.name. Authoritative value lives at the StockItem record; do not refresh on rename — the historical name at session time is what the auditor wrote (GH#29 §3 / Q10).
119
+ :::
120
+
121
+ ## <a name="theoreticalQuantity"></a>3. Property `theoreticalQuantity`
122
+
123
+ | | |
124
+ | ------------ | -------- |
125
+ | **Type** | `number` |
126
+ | **Required** | Yes |
127
+
128
+ **Description:** (Immutable) System belief at session start, snapshotted when this item row was created.
129
+
130
+ :::info Immutable
131
+ 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.
132
+ :::
133
+
134
+ ## <a name="actualQuantity"></a>4. Property `actualQuantity`
135
+
136
+ | | |
137
+ | ------------------------- | ---------------- |
138
+ | **Type** | `combining` |
139
+ | **Required** | No |
140
+ | **Additional properties** | Any type allowed |
141
+
142
+ **Description:** Physical count entered by the counter. Null until counted; set when the line moves to status COUNTED.
143
+
144
+ | Any of(Option) |
145
+ | ---------------------------------- |
146
+ | [item 0](#actualQuantity_anyOf_i0) |
147
+ | [item 1](#actualQuantity_anyOf_i1) |
148
+
149
+ ### <a name="actualQuantity_anyOf_i0"></a>4.1. Property `item 0`
150
+
151
+ | | |
152
+ | ------------ | -------- |
153
+ | **Type** | `number` |
154
+ | **Required** | No |
155
+
156
+ ### <a name="actualQuantity_anyOf_i1"></a>4.2. Property `item 1`
157
+
158
+ | | |
159
+ | ------------ | ------ |
160
+ | **Type** | `null` |
161
+ | **Required** | No |
162
+
163
+ ## <a name="delta"></a>5. Property `delta`
164
+
165
+ | | |
166
+ | ------------ | -------- |
167
+ | **Type** | `number` |
168
+ | **Required** | Yes |
169
+
170
+ **Description:** (Read-only) Signed difference between actual and theoretical. Drives the StockMovement(type=INVENTORY) emitted on session COMPLETED.
171
+
172
+ :::warning Server-set
173
+ 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.
174
+ :::
175
+
176
+ :::note
177
+ Server-derived = actualQuantity − theoreticalQuantity. Recomputed on every actualQuantity write; null/zero before counting.
178
+ :::
179
+
180
+ ## <a name="unit"></a>6. Property `unit`
181
+
182
+ | | |
183
+ | ------------ | -------- |
184
+ | **Type** | `string` |
185
+ | **Required** | Yes |
186
+
187
+ **Description:** (Immutable) Snapshot of StockItem.unit at session start. Locks the unit against later catalog changes.
188
+
189
+ :::info Immutable
190
+ 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.
191
+ :::
192
+
193
+ ## <a name="costPerUnit"></a>7. Property `costPerUnit`
194
+
195
+ | | |
196
+ | ------------ | -------- |
197
+ | **Type** | `number` |
198
+ | **Required** | Yes |
199
+
200
+ **Description:** (Immutable) Snapshot of StockItem.costPerUnit at session start, in XOF integer minor units.
201
+
202
+ :::info Immutable
203
+ 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.
204
+ :::
205
+
206
+ :::note
207
+ Snapshot at session time — locks valuation against future cost changes. Lock to XOF integer minor units per D18 (GH#29 Q16).
208
+ :::
209
+
210
+ ## <a name="totalValue"></a>8. Property `totalValue`
211
+
212
+ | | |
213
+ | ------------ | -------- |
214
+ | **Type** | `number` |
215
+ | **Required** | Yes |
216
+
217
+ **Description:** (Read-only) Per-line valuation in XOF integer minor units.
218
+
219
+ :::warning Server-set
220
+ 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.
221
+ :::
222
+
223
+ :::note
224
+ Server-derived = actualQuantity × costPerUnit. Recomputed when actualQuantity is written.
225
+ :::
226
+
227
+ ## <a name="status"></a>9. Property `status`
228
+
229
+ | | |
230
+ | -------------- | ----------------------------------- |
231
+ | **Type** | `enum (of string)` |
232
+ | **Required** | Yes |
233
+ | **Defined in** | #/definitions/stocktake-item-status |
234
+
235
+ **Description:** Per-line workflow status. Server transitions ADJUSTED on parent COMPLETED.
236
+
237
+ Must be one of:
238
+ * "PENDING"
239
+ * "COUNTED"
240
+ * "VERIFIED"
241
+ * "ADJUSTED"
242
+
243
+ :::note
244
+ PENDING = line not yet counted. COUNTED = a counter recorded actualQuantity. VERIFIED = a second pair of eyes signed off (verifiedBy fields populated; Q21 — kept nullable until tenants opt into stricter QA via policy). ADJUSTED = the resulting StockMovement was emitted (server-set on Stocktake.status → COMPLETED).
245
+ :::
246
+
247
+ :::info See also
248
+ **Issues:** `gh#29`
249
+ :::
250
+
251
+ ## <a name="notes"></a>10. Property `notes`
252
+
253
+ | | |
254
+ | ------------------------- | ---------------- |
255
+ | **Type** | `combining` |
256
+ | **Required** | No |
257
+ | **Additional properties** | Any type allowed |
258
+
259
+ **Description:** Optional per-line note from the counter (e.g. "damaged carton, 3 unsellable").
260
+
261
+ | Any of(Option) |
262
+ | ------------------------- |
263
+ | [item 0](#notes_anyOf_i0) |
264
+ | [item 1](#notes_anyOf_i1) |
265
+
266
+ ### <a name="notes_anyOf_i0"></a>10.1. Property `item 0`
267
+
268
+ | | |
269
+ | ------------ | -------- |
270
+ | **Type** | `string` |
271
+ | **Required** | No |
272
+
273
+ ### <a name="notes_anyOf_i1"></a>10.2. Property `item 1`
274
+
275
+ | | |
276
+ | ------------ | ------ |
277
+ | **Type** | `null` |
278
+ | **Required** | No |
279
+
280
+ ## <a name="countedBy"></a>11. Property `countedBy`
281
+
282
+ | | |
283
+ | ------------------------- | ---------------- |
284
+ | **Type** | `combining` |
285
+ | **Required** | No |
286
+ | **Additional properties** | Any type allowed |
287
+
288
+ **Description:** UID of the staff member who entered actualQuantity.
289
+
290
+ | Any of(Option) |
291
+ | ----------------------------- |
292
+ | [item 0](#countedBy_anyOf_i0) |
293
+ | [item 1](#countedBy_anyOf_i1) |
294
+
295
+ ### <a name="countedBy_anyOf_i0"></a>11.1. Property `item 0`
296
+
297
+ | | |
298
+ | ------------ | -------- |
299
+ | **Type** | `string` |
300
+ | **Required** | No |
301
+
302
+ ### <a name="countedBy_anyOf_i1"></a>11.2. Property `item 1`
303
+
304
+ | | |
305
+ | ------------ | ------ |
306
+ | **Type** | `null` |
307
+ | **Required** | No |
308
+
309
+ ## <a name="countedByName"></a>12. Property `countedByName`
310
+
311
+ | | |
312
+ | ------------------------- | ---------------- |
313
+ | **Type** | `combining` |
314
+ | **Required** | No |
315
+ | **Additional properties** | Any type allowed |
316
+
317
+ **Description:** (Denormalized) Snapshot of the counter's display name at count time.
318
+
319
+ | Any of(Option) |
320
+ | --------------------------------- |
321
+ | [item 0](#countedByName_anyOf_i0) |
322
+ | [item 1](#countedByName_anyOf_i1) |
323
+
324
+ ### <a name="countedByName_anyOf_i0"></a>12.1. Property `item 0`
325
+
326
+ | | |
327
+ | ------------ | -------- |
328
+ | **Type** | `string` |
329
+ | **Required** | No |
330
+
331
+ ### <a name="countedByName_anyOf_i1"></a>12.2. Property `item 1`
332
+
333
+ | | |
334
+ | ------------ | ------ |
335
+ | **Type** | `null` |
336
+ | **Required** | No |
337
+
338
+ :::note
339
+ Read-time hint snapshot of the counter's display name (GH#29 §3 / Q10).
340
+ :::
341
+
342
+ ## <a name="countedAt"></a>13. Property `countedAt`
343
+
344
+ | | |
345
+ | ------------------------- | ---------------- |
346
+ | **Type** | `combining` |
347
+ | **Required** | No |
348
+ | **Additional properties** | Any type allowed |
349
+
350
+ **Description:** When the line was counted.
351
+
352
+ | Any of(Option) |
353
+ | ------------------------------------------ |
354
+ | [firestore-timestamp](#countedAt_anyOf_i0) |
355
+ | [item 1](#countedAt_anyOf_i1) |
356
+
357
+ ### <a name="countedAt_anyOf_i0"></a>13.1. Property `firestore-timestamp`
358
+
359
+ | | |
360
+ | ------------------------- | --------------------------------- |
361
+ | **Type** | `object` |
362
+ | **Required** | No |
363
+ | **Additional properties** | Not allowed |
364
+ | **Defined in** | #/definitions/firestore-timestamp |
365
+
366
+ **Description:** Firestore Timestamp serialized representation
367
+
368
+ | Property | Pattern | Type | Deprecated | Definition | Title/Description |
369
+ | --------------------------------------------------- | ------- | ------- | ---------- | ---------- | ----------------- |
370
+ | + [_seconds](#countedAt_anyOf_i0__seconds ) | No | integer | No | - | - |
371
+ | + [_nanoseconds](#countedAt_anyOf_i0__nanoseconds ) | No | integer | No | - | - |
372
+
373
+ #### <a name="countedAt_anyOf_i0__seconds"></a>13.1.1. Property `_seconds`
374
+
375
+ | | |
376
+ | ------------ | --------- |
377
+ | **Type** | `integer` |
378
+ | **Required** | Yes |
379
+
380
+ | Restrictions | |
381
+ | ------------ | ---------------------- |
382
+ | **Minimum** | &ge; -9007199254740991 |
383
+ | **Maximum** | &le; 9007199254740991 |
384
+
385
+ #### <a name="countedAt_anyOf_i0__nanoseconds"></a>13.1.2. Property `_nanoseconds`
386
+
387
+ | | |
388
+ | ------------ | --------- |
389
+ | **Type** | `integer` |
390
+ | **Required** | Yes |
391
+
392
+ | Restrictions | |
393
+ | ------------ | ---------------------- |
394
+ | **Minimum** | &ge; -9007199254740991 |
395
+ | **Maximum** | &le; 9007199254740991 |
396
+
397
+ ### <a name="countedAt_anyOf_i1"></a>13.2. Property `item 1`
398
+
399
+ | | |
400
+ | ------------ | ------ |
401
+ | **Type** | `null` |
402
+ | **Required** | No |
403
+
404
+ ## <a name="verifiedBy"></a>14. Property `verifiedBy`
405
+
406
+ | | |
407
+ | ------------------------- | ---------------- |
408
+ | **Type** | `combining` |
409
+ | **Required** | No |
410
+ | **Additional properties** | Any type allowed |
411
+
412
+ **Description:** UID of a second staff member who verified the count. Nullable per GH#29 Q21.
413
+
414
+ | Any of(Option) |
415
+ | ------------------------------ |
416
+ | [item 0](#verifiedBy_anyOf_i0) |
417
+ | [item 1](#verifiedBy_anyOf_i1) |
418
+
419
+ ### <a name="verifiedBy_anyOf_i0"></a>14.1. Property `item 0`
420
+
421
+ | | |
422
+ | ------------ | -------- |
423
+ | **Type** | `string` |
424
+ | **Required** | No |
425
+
426
+ ### <a name="verifiedBy_anyOf_i1"></a>14.2. Property `item 1`
427
+
428
+ | | |
429
+ | ------------ | ------ |
430
+ | **Type** | `null` |
431
+ | **Required** | No |
432
+
433
+ ## <a name="verifiedByName"></a>15. Property `verifiedByName`
434
+
435
+ | | |
436
+ | ------------------------- | ---------------- |
437
+ | **Type** | `combining` |
438
+ | **Required** | No |
439
+ | **Additional properties** | Any type allowed |
440
+
441
+ **Description:** (Denormalized) Snapshot of the verifier's display name.
442
+
443
+ | Any of(Option) |
444
+ | ---------------------------------- |
445
+ | [item 0](#verifiedByName_anyOf_i0) |
446
+ | [item 1](#verifiedByName_anyOf_i1) |
447
+
448
+ ### <a name="verifiedByName_anyOf_i0"></a>15.1. Property `item 0`
449
+
450
+ | | |
451
+ | ------------ | -------- |
452
+ | **Type** | `string` |
453
+ | **Required** | No |
454
+
455
+ ### <a name="verifiedByName_anyOf_i1"></a>15.2. Property `item 1`
456
+
457
+ | | |
458
+ | ------------ | ------ |
459
+ | **Type** | `null` |
460
+ | **Required** | No |
461
+
462
+ :::note
463
+ Read-time hint snapshot of the verifier's display name (GH#29 §3 / Q10).
464
+ :::
465
+
466
+ ## <a name="verifiedAt"></a>16. Property `verifiedAt`
467
+
468
+ | | |
469
+ | ------------------------- | ---------------- |
470
+ | **Type** | `combining` |
471
+ | **Required** | No |
472
+ | **Additional properties** | Any type allowed |
473
+
474
+ **Description:** When the line was verified, if a second-eye flow was used.
475
+
476
+ | Any of(Option) |
477
+ | ------------------------------------------- |
478
+ | [firestore-timestamp](#verifiedAt_anyOf_i0) |
479
+ | [item 1](#verifiedAt_anyOf_i1) |
480
+
481
+ ### <a name="verifiedAt_anyOf_i0"></a>16.1. Property `firestore-timestamp`
482
+
483
+ | | |
484
+ | ------------------------- | ----------------------------------------- |
485
+ | **Type** | `object` |
486
+ | **Required** | No |
487
+ | **Additional properties** | Not allowed |
488
+ | **Same definition as** | [countedAt_anyOf_i0](#countedAt_anyOf_i0) |
489
+
490
+ **Description:** Firestore Timestamp serialized representation
491
+
492
+ ### <a name="verifiedAt_anyOf_i1"></a>16.2. Property `item 1`
493
+
494
+ | | |
495
+ | ------------ | ------ |
496
+ | **Type** | `null` |
497
+ | **Required** | No |
498
+
499
+ ----------------------------------------------------------------------------------------------------------------------------
500
+ Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-05 at 12:09:28 +0000