Shipment Status Reference
OrderTrackify uses 10 canonical carrier statuses. Merchant-only quota and billing holds are operational processing state, not an additional customer-facing shipment status.
Canonical Statuses
| API value | Customer label | Class |
|---|---|---|
pending | Pending | Active |
info_received | Info Received | Active |
in_transit | In Transit | Active |
out_for_delivery | Out for Delivery | Active |
delivered | Delivered | Terminal |
failed_attempt | Delivery Attempt Failed | Recoverable |
available_for_pickup | Available for Pickup | Recoverable |
exception | Exception | Recoverable |
returned | Returned to Sender | Terminal |
expired | Tracking Expired | Terminal |
State Machine
OrderTrackify validates transitions before updating a shipment. Terminal states are delivered, returned, and expired; scheduled carrier polling stops for them. Exception, failed attempt, and available for pickup are recoverable and can transition back into an active delivery flow.
Operational Access Is Separate
trackingState (active or held) and trackingHoldReason describe merchant account processing, not carrier progress. A quota or billing hold preserves the last genuine carrier status and event timeline and is not shown as a customer shipment event.
Platform Consistency
The shared registry supplies the same canonical values to the API, worker, dashboard, public tracking page, and platform integrations. The WooCommerce plugin has a local on_hold notification state and a separate billing_hold processing state; neither is an eleventh canonical SaaS carrier status.