Skip to content

Shipment Lifecycle

Models the lifecycle of a physical Shipment from carrier booking through delivery attempt and final outcome. A Fulfillment Order may have one or more Shipments (split shipments, re-dispatch after failed delivery). Tracks carrier milestones: label creation, collection, transit events, delivery attempt, and returns to sender.

Object: shipment · States: 10 · Transitions: 12


State Diagram

flowchart LR

    %% ── classDef palette ─────────────────────────────────────
    classDef stInit  fill:#0d9488,stroke:#0f766e,color:#fff,font-weight:bold
    classDef stNorm  fill:#3b82f6,stroke:#2563eb,color:#fff
    classDef stOk    fill:#16a34a,stroke:#15803d,color:#fff,font-weight:bold
    classDef stFail  fill:#dc2626,stroke:#b91c1c,color:#fff,font-weight:bold
    classDef stHold  fill:#d97706,stroke:#b45309,color:#fff

    %% ── nodes ───────────────────────────────────────────────
    pending(["Pending"])
    label_created["Label Created"]
    collected["Collected"]
    in_transit["In Transit"]
    out_for_delivery["Out for Delivery"]
    delivery_attempted["Delivery Attempted"]
    held_at_depot["Held at Depot"]
    delivered[["Delivered"]]
    returned_to_sender[["Returned to Sender"]]
    lost[["Lost"]]

    %% ── transitions ─────────────────────────────────
    pending -->|"shipment-packed"| label_created
    label_created -->|"shipment-dispatched"| collected
    collected -->|"shipment-dispatched"| in_transit
    in_transit -->|"shipment-dispatched"| out_for_delivery
    out_for_delivery -->|"shipment-delivered"| delivered
    out_for_delivery -->|"shipment-dispatched"| delivery_attempted
    delivery_attempted -->|"shipment-dispatched"| held_at_depot
    held_at_depot -->|"shipment-delivered"| delivered
    delivery_attempted -->|"shipment-dispatched"| out_for_delivery
    held_at_depot -->|"shipment-dispatched"| returned_to_sender
    delivery_attempted -->|"shipment-dispatched"| returned_to_sender
    in_transit -->|"shipment-dispatched"| lost

    %% ── class assignments ───────────────────────────
    class pending stInit
    class label_created,collected,in_transit,out_for_delivery,delivery_attempted,held_at_depot stNorm
    class delivered,returned_to_sender stOk
    class lost stFail

States

State Label Description Initial Terminal
pending Pending Shipment record created. Carrier not yet booked. Awaiting packing completion.
label-created Label Created Carrier label generated. Tracking number assigned. Awaiting carrier collection.
collected Collected Carrier has physically collected the parcel from the dispatch location.
in-transit In Transit Parcel in carrier network. Tracking updates being received.
out-for-delivery Out for Delivery Parcel loaded on last-mile delivery vehicle. Delivery attempt imminent.
delivery-attempted Delivery Attempted Delivery attempt failed (no one home, access refused, address issue). Card left or safe location used.
held-at-depot Held at Depot Parcel held at carrier depot or collection point awaiting customer collection.
delivered Delivered Parcel confirmed delivered to recipient or safe location. Proof of delivery captured.
returned-to-sender Returned to Sender Parcel returned to origin (uncollected, undeliverable, refused). Inventory re-processed.
lost Lost Parcel declared lost by carrier. Claim process initiated. Customer refund/replacement triggered.

Transitions

From To Trigger Guards
pending label-created shipment-packed Packing complete; Carrier service selected; Label printed
label-created collected shipment-dispatched Carrier scan at collection point
collected in-transit shipment-dispatched Parcel scanned into carrier network
in-transit out-for-delivery shipment-dispatched Last-mile carrier scan on delivery vehicle
out-for-delivery delivered shipment-delivered Successful delivery scan or customer signature
out-for-delivery delivery-attempted shipment-dispatched Delivery attempt fails (no one home, access issue)
delivery-attempted held-at-depot shipment-dispatched Parcel returned to depot; Customer notified to collect
held-at-depot delivered shipment-delivered Customer collects from depot or collection point
delivery-attempted out-for-delivery shipment-dispatched Re-delivery booked by customer
held-at-depot returned-to-sender shipment-dispatched Collection window expired without customer collection
delivery-attempted returned-to-sender shipment-dispatched Address undeliverable after all attempts exhausted
in-transit lost shipment-dispatched Carrier declares parcel lost after investigation period