Tracking Mapping System

When you're shipping with multiple carriers, you’ve likely noticed how confusing tracking updates can be. Each carrier uses its own language, style, and level of detail — some updates are vague (“in transit”), some overly technical, and others in a different language entirely. This makes it hard to quickly understand what’s really happening with your shipments, especially when trying to support your customers or monitor performance.

That’s exactly why ShippyPro has built a standardized tracking mapping system: to unify these messages into clear, consistent categories — without losing important details. Thanks to our granular sub-statuses, you still get all the specific insights (like whether a parcel is delayed due to customs, a wrong address, or damage), but in a way that’s easy to read, analyze, and act on — no matter which carrier you use.

Summary:

1. The first level: Core tracking statuses

2. Exception Categories

3. Where can I currently use this mapping?

 

1. The first level: Core tracking statuses

To make tracking easier and more intuitive, we’ve grouped all shipment events into six main categories, each represented by a clear numeric code:

 

Code

Category Name

Definition

1000

Information Received

The carrier has confirmed the booking for pick-up or shared shipment details.

2000

In Transit

The parcel has been picked up and is en route to its destination, including all movements between facilities.

3000

Out for Delivery

The shipment is out for final delivery or available at a pickup location (locker, PUDO, etc.).

4000

Failed Attempt

The carrier tried to deliver the parcel, but the attempt was unsuccessful.

5000

Exception

A general error occurred, not assigned to a specific cause.

6000

Delivered

The parcel has been successfully delivered to the recipient or collected from a designated location such as a pickup point, locker, or PUDO.

 

These top-level codes give you a quick snapshot of where your parcel stands in the delivery journey. But we know that when something goes wrong, a generic “exception” status isn’t enough — you need to know why.

 

2. Exception Categories

That’s why we’ve expanded the Exception category (5000) into a comprehensive set of granular sub-statuses (e.g., 5110, 5220, 5330, etc.). These allow you to understand — and act on — specific problems without needing to decipher vague carrier messages.

For example:

  • If a parcel is delayed because of weather conditions, it will be categorized under 5120 – External Causes.

  • If it’s misrouted, you’ll see 5210 – Misrouted.

  • If it’s lost, the status will be clearly labeled as 5330 – Lost.

This level of granularity helps you:

  • Improve customer communication by giving precise, transparent updates.

  • Speed up issue resolution by identifying the root cause instantly.

  • Gain insightful analytics with Optimizer to improve carrier performance and prevent repeat issues.

 
Code Category Name Definition
1000 Information Received The carrier has confirmed the booking for pick-up, has sent some sort of notification to one of the parties, or adds information about the shipment's details
2000 In Transit The shipment has been picked-up and it's on its way to the destination. This includes all phases after the initial pickup, such as movements between hubs or facilities.
3000 Out for Delivery The parcel is out for delivery or already available for collection at pickup points, lockers, PUDOs, or parcel shops.
4000 Failed Attempt The carrier attempted to deliver the parcel, but the attempt was unsuccessful.
5000 Generic Exception A general status used when the issue is not clearly defined or does not fall into a more specific exception category.
5100 Transit Disruptions Indicates generic delays or disruptions during transit.
5110 Delayed The shipment is delayed due to issues in the transport process. A specific reason isn't explicited in the tracking message.
5120 External Causes (Force Majeure & Other Exceptions) The delivery has been affected by uncontrollable external events such as natural disasters, extreme weather, road closures, or public disturbances.
5200 Operational Issues The shipment has faced disruptions caused by internal operational problems within the carrier’s network or routing process.
5210 Misrouted The parcel has been incorrectly routed to the wrong facility or destination due to handling errors by the carrier.
5220 Pickup Not Possible The carrier could not collect the parcel from the sender, either due to internal issues or because the shipment was not ready at the scheduled time.
5230 On Hold The parcel is temporarily held by the carrier due to pending actions, such as awaiting additional information, instructions, or internal processing.
5300 Parcel Exception The shipment has encountered issues related to its condition or characteristics, such as physical damage or exceeding size/weight limits.
5310 Exceeded Dimensions or Weight The parcel surpasses the carrier’s allowed size or weight restrictions, affecting delivery.
5320 Damaged The carrier has reported that the parcel is physically damaged.
5330 Lost The carrier is unable to locate the parcel, and it is considered lost at this stage.
5340 Destroyed The parcel has been reported as destroyed and cannot be recovered.
5400 Address Discrepancies The parcel cannot be delivered due to issues with the provided address, such as missing or incorrect details.
5410 Insufficient Address Information The shipping address lacks essential details that prevent successful delivery.
5420 Wrong Address Information The address provided is incorrect or invalid, hindering the delivery process.
5500 Customs & Documentation The shipment is facing delays due to customs clearance procedures or missing/incomplete documentation.
5510 Customs-Related Issues The parcel is held at customs due to issues with customs procedures or import restrictions.
5520 Missing Documents The required shipping or customs documents (e.g., invoice, declaration) are missing.
5600 Sender/Recipient-Related Events The issue originates from the sender or recipient, such as a delivery cancellation, refusal, or return request.
5610 Recipient Exception The shipment encountered an issue due to an action or inaction by the recipient.
5620 Sender Exception The sender is responsible for the failure, often due to a cancellation request.
5630 Returning to Sender The parcel is being returned to the sender, often after failed delivery attempts or other issues like refusal or incorrect information.
5700 Carrier Actions The carrier has taken an action or made a request that affects the delivery process, such as asking for contact or rescheduling.
5710 Carrier Requests Contact The carrier is asking to be contacted for additional details or instructions related to the delivery.
5720 Change to Delivery The carrier has changed the delivery terms, such as the delivery address or estimated delivery time.
5730 Other Carrier Exception A general status for exceptions raised by the carrier that do not fall into any of the predefined categories.
6000 Delivered The parcel has been successfully delivered to the recipient or collected from a designated location such as a pickup point, locker, or PUDO.

 

3. Where can I currently use this mapping?

  • GetTracking API: Check for StatusCode and ExtendedStatusCode fields in the response (See API documentation)

  • Tracking update webhook: You can expect the code and extendedCode properties (See API documentation)

  • Optimizer: the Exceptions board breaks down your shipments by exception sub-statuses, helping you quickly identify delivery issues like delays, address errors, or damaged parcels. This lets you spot bottlenecks, track patterns by carrier or destination, and take action to resolve problems efficiently. (see How Optimizer works)