> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tryoto.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Driver pickup in OTO FLEX

> How drivers collect orders from your warehouse or store in the OTO Flex app: scanning and accepting, proof of pickup, warehouse drop-offs and driver handovers.

> [!NOTE]
>
> **Where to find it:** OTO FLEX → Orders → Processing Orders — [Open in OTO ↗](https://app.tryoto.com/oto-flex)

Pickup is the handover from your warehouse or store to your driver. It is the point at which responsibility for a parcel moves, so the whole design of this stage is about making that moment provable — and about giving the driver somewhere to put an order that cannot go out.

## The driver’s app

Drivers work entirely in the OTO Flex app, which is organized into four sections plus a map: **Orders**, **Tasks**, **Routes** and **History**. A barcode scanner and the driver’s **wallet** — the COD balance they are carrying — sit in the header, reachable from anywhere.

![New Orders in the driver app](https://mintcdn.com/oto/ft-bRlLvOnJkbVoC/images/flex-10-app-orders.png?fit=max\&auto=format\&n=ft-bRlLvOnJkbVoC\&q=85\&s=80e7f7215971c1a47ba6405c020a6fb2)

Fig. 1 — Each card shows the order, its status, the customer, and three distances: pickup, delivery and total. The driver can sort by Nearest or Farthest.

> [!TIP]
>
> **Three distances, not one**
>
> Splitting **pickup distance** from **delivery distance** is what lets a driver judge an order before accepting it under [Broadcast](https://docs.tryoto.com/modules/oto-flex/planning.md) assignment. A short delivery at the end of a long collection drive is a different proposition from a short one nearby, and a single total would hide the difference.

## Scan and accept

Opening a pending order gives the driver everything they need to collect it. The scanner in the header — or the one inside the order — opens the phone camera; the driver scans the AWB and accepts the order.

The scan is the confirmation. It ties a specific parcel to a specific driver at a specific time, rather than relying on a list being ticked.

### What the driver sees on the order

The order screen carries what someone standing in a loading bay actually needs:

| On the order | Why it is there |
| - | - |
| **Pickup and Delivery addresses**, on a map | Both ends, before committing. |
| **Customer**, with call and WhatsApp buttons | Reaching the customer without holding their number. |
| **Branch/Warehouse**, with call and WhatsApp buttons | The other end is contactable too — which is what resolves “the parcel is not ready” on the spot. |
| **Delivery Slot**, with a **Schedule** button | A slot can be set or changed from the driver’s hand, not only from the dashboard. |
| **Cash To Be Collected** and **Total Amount** | Shown separately, so a prepaid order is unmistakably prepaid. Collecting cash on a prepaid order is an expensive mistake to unwind. |

### Multi-box pickups

An order shipped in several boxes is scanned **box by box**, each with its own barcode. A driver who scans three of four boxes has not picked up the order, and the app knows it. Without per-box scanning, a missing box is discovered at the customer’s door.

## Proof of pickup

Fleet settings carry a **Proof of Pickup** setting with two options:

| Option | What the driver captures |
| - | - |
| **Photo** | A picture at the point of collection — the parcels, the loading bay, the state of the goods. |
| **Barcode** | A scan. Precise about *which* parcel was collected, where a photo is only evidence that a collection happened. |

![Proof of Pickup options](https://mintcdn.com/oto/YkJay8Y-1RDv8ciw/images/flex-7-proof-pickup.png?fit=max\&auto=format\&n=YkJay8Y-1RDv8ciw\&q=85\&s=da965bd8c2ff1d55af0b02e8742dae5a)

Fig. 2 — Two options, because at pickup both parties are yours — there is no third party whose identity needs verifying.

A **Force Proof of Pickup** toggle sits beneath it, described in the product as: *“When you open force proof of pickup drivers cannot pickup an order without proof.”*

> [!TIP]
>
> **Forcing is what makes proof exist**
>
> Unforced, proof gets captured when someone remembers — which is rarely the occasion you later need it for. Forcing it is the difference between proof being available and proof existing.

> [!NOTE]
>
> **Photo or barcode?**
>
> They answer different questions. **Barcode** answers *which parcel*, and is the better default for a warehouse handing over many similar boxes. **Photo** answers *in what condition*, and earns its place where damage disputes are the risk — furniture, appliances, anything fragile.

## Dropping at a warehouse

The order screen’s main action is a choice between two outcomes: **Picked Up**, or **Drop at Warehouse**. The second exists because a parcel in a vehicle that cannot be delivered is the worst place for it to be.

Choosing to drop opens a question — *what would you like to do with this shipment?* — with two answers that are not the same thing at all:

| Option | What happens to the order | Use it when |
| - | - | - |
| **Drop at Warehouse** | The shipment goes back to the warehouse and **the order remains scheduled**. It can be reassigned and go out again. | The delivery did not happen today, but it is still going to happen — the shift ended, the route overran, the customer postponed. |
| **Drop & Return Order** | The shipment goes back **and the order is marked returned**. A **return reason** must be chosen before it can be confirmed. | The delivery is not going to happen — customer not found, refused, address wrong. |

![The drop-at-warehouse flow](https://mintcdn.com/oto/ft-bRlLvOnJkbVoC/images/flex-11-drop-warehouse.png?fit=max\&auto=format\&n=ft-bRlLvOnJkbVoC\&q=85\&s=083e1e0b1ff0cbeb1edd838f6ce95640)

Fig. 3 — Six steps. The two paths diverge at panel 2 and only the return path asks for a reason — because only the return path ends the order.

> [!TIP]
>
> **The distinction is the whole point**
>
> Both actions move the same box to the same shelf. What differs is what the *order* then means: still live, or finished as a return.
>
> Collapse them into one — as most fleets do when they run this on paper — and you get two failures. Orders that were merely delayed get written off as returns, and orders that genuinely failed sit “scheduled” for days while nobody chases them. The reason prompt on the return path is what keeps the second category honest.

Return reasons come from your own list at **Settings → Advanced → Reason Settings**, so returns are countable by cause rather than by free text. The order then continues through [Returns receiving](https://docs.tryoto.com/modules/return-management/returns-receiving.md).

> [!NOTE]
>
> **Both paths confirm before they act**
>
> Each option shows a confirmation that states the consequence in plain words before anything is committed — and the return path adds a success screen confirming that the order has been marked as returned. On a small phone screen, held one-handed in a warehouse doorway, that matters more than it would on a desktop.

## Driver-to-driver handover

Parcels can be handed between drivers directly, with the transfer recorded. Shift changes and zone boundaries both produce this, and without a recorded handover the chain of custody breaks exactly where a dispute is most likely to land.

## Related

* [Delivery](https://docs.tryoto.com/modules/oto-flex/delivery.md) — the other end of the journey, with a richer set of proof options.
* [Planning](https://docs.tryoto.com/modules/oto-flex/planning.md) — how the driver got this route.
* [Returns receiving](https://docs.tryoto.com/modules/return-management/returns-receiving.md) — where a dropped-and-returned order goes next.
* [Order fulfillment](https://docs.tryoto.com/modules/omnichannel-oms/order-fulfillment.md) — where the parcel and its boxes were made.


## Related topics

- [OTO FLEX: delivery with your own drivers](https://docs.tryoto.com/modules/oto-flex/overview.md)
- [Delivery planning and driver assignment](https://docs.tryoto.com/modules/oto-flex/planning.md)
- [Last-mile delivery in OTO FLEX](https://docs.tryoto.com/modules/oto-flex/delivery.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.