Introduction
Pickup & Delivery (P&D) is one of the order types in Onro. Unlike on-demand orders, which usually move directly from pickup to drop-off in a single flow, P&D is hub-based.
In the P&D flow, packages are first collected from senders, then brought to a warehouse or hub for scanning, sorting, routing, and final delivery.
Because of this structure, P&D orders have a different lifecycle from on-demand orders. They are divided into two main stages:
Pickup stage: from order creation until the package reaches the first warehouse.
Delivery stage: from warehouse inbound scanning until final delivery, return, or another outcome.
This hub-based model gives dispatchers more control over sorting, routing, warehouse transfers, and delivery attempts, especially in operations with high package volume or multiple delivery zones.
Use-case
The Pickup & Delivery (P&D) service handles same-day and next-day delivery. Drivers collect packages from senders, bring them to a hub or warehouse for sorting, and then deliver them to recipients
The schematic process is depicted in the graphic below:
P&D Order Stages
The order stage determines whether an order is in the pickup or delivery phase. Orders that have not yet entered a warehouse or hub are in the pickup stage, while orders that have entered a warehouse at least once are in the delivery stage.
Pickup stage
The pickup stage covers everything from order creation to the package arriving at the first warehouse.
Draft
Confirmed
Customer canceled
Pickup failed
Delivery stage
The delivery stage begins the moment a package is scanned into a warehouse. From this point on, the order is tracked through sorting, routing, and final delivery.
In Transit
Ready for Transit:
At Warehouse
Not Delivered
For Return
Some statuses don’t have a stage of their own, so they accept the previous order status stage that they were in.
P&D workflow
Pickup Stage
1. Order creation
Customers can create orders through multiple channels: the customer app, API integration, CSV import, or Shopify. When an order is first created, its status is set to Draft. The order is visible in the system but has not been confirmed for processing yet.
2. Confirmation
The customer reviews and confirms the order, changing its status to Confirmed. At this point, the order is ready to be assigned to a route. If the customer changes their mind before pickup, they can cancel, setting the status to Customer Canceled.
3. Route assignment
The dispatcher plans the route and assigns the order to a pickup route. The status changes to Pickup Routed, meaning the order has a route but no driver yet.
Once a driver is assigned to that route, the status updates to Ready for Pickup, and the route appears on the driver's app.
4. Package pickup
The driver arrives at the pickup address and scans the package barcode. Manual pickup is also supported if scanning isn't possible. A successful scan changes the status to Picked Up. If the driver cannot complete the pickup (e.g., no one is home, the address is wrong), they can mark it as Pickup Failed with a reason.
Note: Pickup Failed
A Pickup Failed status requires the driver to log a reason. The order can be reattempted or returned to the sender, depending on dispatcher review.
Delivery Stage
The delivery stage begins the moment a package is scanned into a warehouse. From this point on, the order is tracked through sorting, routing, and final delivery.
5. Warehouse inbound
When the driver delivers packages to the warehouse, a dispatcher scans each barcode. This inbound scan changes the status to At Warehouse and records which warehouse the package is at. This scan is what transitions the order from the Pickup stage to the Delivery stage.
6. Sorting and inter-warehouse transfer (multi-warehouse flow)
In some operations, packages need to be moved between warehouses before delivery. This is the multi-warehouse flow:
• The package is prepared for transfer: status changes to Ready for Transit.
• The package physically departs the warehouse: status changes to In Transit.
• The package arrives at the next warehouse and is scanned in: status returns to At Warehouse, now at the new location.
Note: Single-warehouse operations
If your operation uses only one warehouse, the Ready for Transit and In Transit statuses will not be used. Packages move directly from the At Warehouse to the Delivery Routed status.
7. Delivery route assignment
Once sorted, the dispatcher assigns the package to a delivery route. The status changes to Delivery Routed (route assigned, no driver yet). When a driver is assigned to the route, it becomes Ready for Delivery.
The same driver can be responsible for both the pickup and delivery stages
8. Out for delivery
The driver arrives at the warehouse, scans the packages they're loading, and starts their route. The status changes to Out for Delivery for each scanned package.
9. Outcome
Each package reaches one of the following final states:
Delivered | Package successfully delivered to the drop-off address. |
Not Delivered | Delivery failed with a logged reason. The package returns to the warehouse and can be reattempted or sent back to the sender. |
For Return | The package is being returned to the warehouse for a reattempt |
Returned | Package successfully returned to the sender. |
Customers can follow their P&D order status in real time by clicking the tracking link (shared via the app's share button) and see each stage of the delivery process.
Status Reference
The table below lists all order statuses, their descriptions, and which stage they belong to. Statuses marked with a dash (—) in the Stage column inherit the stage of the previous status.
Status | Description | Stage |
Draft | Order created but not yet confirmed. | Pickup |
Confirmed | Customer has confirmed the order, and it is ready for processing. | Pickup |
Pickup Routed | Order assigned to a pickup route. No driver assigned yet. | Pickup |
Ready for Pickup | Route assigned to a driver. | Pickup |
Picked Up | Driver scanned and collected the package. | Pickup |
Customer Canceled | Customer canceled the order before it was picked up. | Pickup |
Pickup Failed | Driver could not complete pickup. A reason must be logged. | — |
At Warehouse | Package arrived at a warehouse and was scanned in by dispatch. | Delivery |
Ready for Transit | Package prepared for transfer to another warehouse. | Delivery |
In Transit | Package is physically moving between warehouses. | Delivery |
Delivery Routed | Package assigned to a delivery route. No driver yet. | Delivery |
Ready for Delivery | Delivery route assigned to a driver. | Delivery |
Out for Delivery | Driver has loaded and started the delivery route. | Delivery |
Delivered | Package successfully delivered to the recipient. | Delivery |
Not Delivered | Delivery attempt failed. Logged with a reason. | Delivery |
For Return | Returned to the warehouse for a reattempt | Delivery |
Returned | Package successfully returned to the sender. | Delivery |
Support Canceled | Order canceled by the support team. | — |
Lost | Package has been lost. | — |
Pricing
P&D order pricing is calculated based on the selected service, zone fare, service options, distance, and duration. Vehicle type pricing does not apply in this flow.
Coming soon: Driver earnings
Driver earnings for P&D orders are not yet available. Completing a P&D route does not currently generate a transaction record for the driver.
This section will be updated when earnings tracking is enabled.




