Object model
I rejected a single trip-level status flag in favor of composite, component-level state: Who / Where / When / What (Logistics + Experiences), with a linear lifecycle at the trip level but reversible state at the component level.
A single state machine for the whole trip was simpler, but couldn't represent the actual reality that a flight can be locked while dinner reservations are still fluid.
| Lifecycle stage | What it means |
|---|---|
| Dream | Half-formed idea, no dates required |
| Plan | Structure emerging, components fluid |
| Build | Logistics locking, experiences shaping |
| Live | Trip in progress |
| Remembered | Shared memory, photo album |