Canonical Statuses

API valueCustomer labelClass
pendingPendingActive
info_receivedInfo ReceivedActive
in_transitIn TransitActive
out_for_deliveryOut for DeliveryActive
deliveredDeliveredTerminal
failed_attemptDelivery Attempt FailedRecoverable
available_for_pickupAvailable for PickupRecoverable
exceptionExceptionRecoverable
returnedReturned to SenderTerminal
expiredTracking ExpiredTerminal

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.