Shipment and Shipment Line Lifecycle
The Lifecycle
Shipment lines start allocated and use their own warehouse-release, shortage and cancellation-fence states. The additional line transitions below describe those differences; the shared packing, labelling and departure progressions are described by their owning service edges. Carrier exception and returned-to-sender values are declared for lines, but tracking currently changes the shipment header for those outcomes rather than asserting a line transition.
Transitions Explained
Warehouse work advances from shipment creation through release, picking, packing and carrier preparation. Carrier handoff requires manifestation; customer collection uses a packed pickup. Shipment lines additionally represent shortages and cancellation fences.
What Cannot Happen
Workflow guards enforce the ordinary sequence, while database checks protect pickup distinctions and departure timestamps. These are weaker than a database transition table for every warehouse state.
Concurrency and Timing
Handoff and cancellation decide on the same shipment-line rows. Tracking runs when requested and has no scheduled poller.