WFDASH-WEBAPP/docs/order-items-schema-standard.md
SJCoetz 7df7a8850f feat(item-history): add getItemHistory service with 5 PB queries
Co-authored-by: Orca <help@stably.ai>
2026-07-29 14:51:58 +02:00

35 lines
1.2 KiB
Markdown

# Order Items Naming Standard (PocketBase)
## Goal
Use one consistent, driver-oriented naming convention in `order_items` with `drv_*` prefixes.
## Recommended Canonical Fields
- `item_status` (global item lifecycle)
- `drv_status` (driver/collection lifecycle)
- `drv_id` (relation to driver/user table)
- `drv_assigned_at`
- `drv_collected_at`
- `drv_problem_flag`
- `drv_problem_type`
- `drv_problem_notes`
## Transition Mapping
During migration, support these aliases in API:
- `driver_status` -> `drv_status`
- `driver` -> `drv_id`
- `problem_flag` -> `drv_problem_flag`
- `problem_type` -> `drv_problem_type`
- `problem_notes` -> `drv_problem_notes`
## Safe Migration Plan
1. Add new `drv_*` fields (keep old fields temporarily).
2. Backfill new fields from existing values.
3. Update UI and automation writes to new fields only.
4. Keep read-compat for old fields for 1-2 release cycles.
5. Remove deprecated fields once no writers remain.
## Minimal State Model
- `item_status`: `pending`, `processing`, `po_generated`, `ready_delivery`, `delivered`, `cancelled`
- `drv_status`: `unassigned`, `assigned`, `en_route`, `collected`, `failed`
Keep item lifecycle and driver lifecycle separate to avoid status collisions.