> ## 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.

# Delivery planning and driver assignment

> Plan the day's deliveries: assign orders to drivers on the dispatch board, build routes, split work between your fleet and carriers, and cap delivery slots.

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

Planning is the part that turns a pile of orders and a list of drivers into a day’s work: who takes what, in which sequence, along which road.

## The dispatch board

**OTO FLEX → Orders** is the working screen, in three tabs that map to the life of an order:

| Tab | What is in it |
| - | - |
| **Unassigned Orders** | Waiting for a driver. On a healthy day this empties itself; a queue that stays full is the signal that something upstream is wrong. |
| **Processing Orders** | Assigned and in progress. |
| **History Orders** | Completed, for lookup and dispute. |

Each list carries **Order ID**, **Order Date**, **Status**, **Pickup Location**, **Customer Name**, **Customer Address**, **District**, **Region**, **Shipment Number** and **Delivery Company**, all filterable, with a date range applied by default.

![The OTO FLEX dispatch board](https://mintcdn.com/oto/YkJay8Y-1RDv8ciw/images/flex-4-dispatch-board.png?fit=max\&auto=format\&n=YkJay8Y-1RDv8ciw\&q=85\&s=9738706c71c2da942e5d5c480fd2576b)

Fig. 1 — An order awaiting a driver. Note the Delivery Company column: the fleet appears there as a delivery company like any carrier — the same idea that lets it compete in [shipping automation](https://docs.tryoto.com/modules/shipping-management/shipping-automation.md).

> [!TIP]
>
> **District and Region are the dispatcher’s filters**
>
> They are what make the unassigned queue workable when it is long: sort by district, and the shape of the day’s routes becomes obvious before anything is assigned.

## Fleet settings

**Edit Settings** opens the configuration that governs the whole fleet.

![Fleet settings](https://mintcdn.com/oto/ft-bRlLvOnJkbVoC/images/flex-5-fleet-settings.png?fit=max\&auto=format\&n=ft-bRlLvOnJkbVoC\&q=85\&s=15fb4589c86c212f0eddd8d52122eb4d)

Fig. 2 — Every field carries its own explanation. Fleet Name is described exactly as it behaves: “This name will be shown to end customers in tracking pages for the shipments that are carried by your own drivers.”

| Setting | What it does |
| - | - |
| **Connection Name** | How the fleet appears wherever carriers appear — in automation rules, in reports, in the Delivery Company column. |
| **Activate** | Verbatim: *“This button is for activating or disabling this feature.”* Turning the fleet off leaves its configuration intact. |
| **Do not send SMS** | Verbatim: *“If you activate this option, OTO will not send tracking SMS for shipments from this company to the end customer.”* |
| **Fleet Name** | What the *customer* sees on the tracking page instead of a carrier name. |
| **Driver Assignment Method** | How orders reach drivers. Four models — see below. |
| **Proof of Pickup** · **Proof of Delivery** | What the driver must capture — Photo or Barcode at pickup; Photo, OTP, Photo and OTP, or Barcode at delivery. Each has a *force* toggle, covered in [Pickup](https://docs.tryoto.com/modules/oto-flex/pickup.md) and [Delivery](https://docs.tryoto.com/modules/oto-flex/delivery.md). |
| **Pickup SLA (hours)** · **Delivery SLA (hours)** | What the fleet promises, in the same terms a carrier’s SLA is expressed in — which is what lets [SLA Met](https://docs.tryoto.com/modules/shipping-management/shipping-automation.md) compare them honestly. |
| **Google ApiKey IP-BASED** · **Google Api Key Http-BASED** | Your own Google keys. Route optimization and driving distance run on them. |

> [!WARNING]
>
> **Bring your own Google key**
>
> Route optimization depends on a Google API key you supply, and two are asked for because IP-restricted and HTTP-referrer-restricted keys are used for different calls. Without them, distance-based routing and optimization cannot run — this is the most common reason a new fleet setup appears to do nothing.

## Driver assignment

Assignment is automatic, and the method is chosen once for the fleet. **Five** methods are available.

![The Driver Assignment Method list](https://mintcdn.com/oto/ft-bRlLvOnJkbVoC/images/flex-6-assignment-methods.png?fit=max\&auto=format\&n=ft-bRlLvOnJkbVoC\&q=85\&s=b681c8442ff8479c03c5de7694025802)

Fig. 3 — Five options — Broadcast is selected, and the list offers Least Task, Manual, Nearest Driver and Area Based. The helper text above explains only four of them.

The product explains four of the five in its own words:

> “You can select the method you want to use to assign drivers to tasks automatically. Nearest Driver selects the nearest driver from the pickup location. Broadcast method sends a notification to all drivers who can deliver the order, Least Task selects the driver with least number of tasks and Manual is for manual assignments only.”

| Method | How it assigns | Suits |
| - | - | - |
| **Nearest Driver** | The driver closest to the pickup location. | Dense urban operations where minutes to collection are what matter — on-demand and same-day. |
| **Broadcast** | Notifies every driver who could deliver the order; whoever accepts takes it. | Gig and contractor fleets, where drivers choose their own work rather than being told. |
| **Least Task** | The driver currently holding the fewest tasks. | Employed fleets where the goal is an even day across the team rather than the fastest single pickup. |
| **Manual** | Nothing is assigned automatically; a dispatcher decides. | Small fleets, complex loads, or any operation where a person has context the system does not. |
| **Area Based** | Assigns by geography — see the note below. | Fleets organized into territories, where a driver owns a zone rather than chasing whatever is nearest. |

> [!NOTE]
>
> **Area Based and the Areas you have drawn**
>
> The helper text on this screen explains the first four methods. **Area Based** works from the **Areas** configured in [Fleet management](https://docs.tryoto.com/modules/oto-flex/fleet-management.md) — the polygons that carry an **OTO Flex Drivers** list, a per-area capacity and a priority for resolving overlaps — so it is the method to use when your fleet is organized into territories rather than chasing whatever is nearest.

> [!TIP]
>
> **The choice is really about who holds the decision**
>
> **Nearest Driver**, **Least Task** and **Area Based** give it to the system — optimising for speed, for fairness and for territory respectively. **Broadcast** gives it to the drivers, which is what makes a contractor fleet work and what makes it unpredictable. **Manual** keeps it with the dispatcher.
>
> It is one setting for the whole fleet, so it is worth matching to how your drivers are actually employed. A broadcast model imposed on salaried drivers produces orders nobody accepts; a nearest-driver model imposed on contractors produces work they never agreed to take.

## Routes

### Building and optimizing

Orders are grouped into a route, the route is optimized against **real traffic data** rather than straight-line distance, and it can be simulated before a driver is committed to it. Simulation is what makes route planning safe to change: you can see what a different grouping would have done.

Optimization runs across **multiple drivers** at once, not one driver at a time — which is the only way to get a sensible answer, since the best route for one driver is often a worse day for the fleet.

![A built route](https://mintcdn.com/oto/YkJay8Y-1RDv8ciw/images/flex-9-view-route.png?fit=max\&auto=format\&n=YkJay8Y-1RDv8ciw\&q=85\&s=11842539b4da4aaaf88019dac8a6ae5a)

Fig. 4 — The route drawn on the map, its summary on the right, and its stops in sequence below.

> [!NOTE]
>
> **Twenty stops at a time**
>
> Route optimization handles up to **20 orders** in one request, a limit inherited from the Google routing API. A driver with more than twenty stops is planned in batches. Worth knowing before promising a fifty-stop round.

### What a route records

Opening a route gives its summary and its stop list:

| Field | What it tells you |
| - | - |
| **Route ID · Route Name** | The identifier and a name you can recognize on a list. |
| **Pickup Location** | Where the route starts — the warehouse, branch or distribution center. |
| **Vehicle Type** | Routes are built against a vehicle, which is how capacity is respected. |
| **Number of Shipments** | How many stops the route carries. |
| **Planned Distance** · **Planned Duration** | What the optimizer expects the route to cost in kilometers and minutes. |

Beneath it, **Order Details** lists every stop by **sequence**, with its **Order ID**, its **Planned Start Time** and its **Actual Arrival Time**.

### Planned against actual

That last pair is the most useful thing on the screen. Every route carries what was *planned* — distance, duration, a start time per stop — alongside what actually *happened*, arrival by arrival.

> [!TIP]
>
> **This is what makes route history worth keeping**
>
> A route you can only look at tells you where a driver went. A route that holds plan and actual side by side tells you whether the plan was any good.
>
> Three questions it answers that nothing else does: is the optimizer’s duration estimate realistic for your city, or systematically optimistic? Which stops habitually run late, and is it the address or the time of day? And when a customer says nobody came, what time did the driver actually arrive?

The same record is what [driver performance](https://docs.tryoto.com/modules/oto-flex/fleet-management.md) is measured from, and it is why the **Actual Arrival Time** column is worth protecting — it only fills in if drivers are completing stops in the app rather than afterwards from memory.

### Scheduled orders

Orders with a delivery slot are planned into the slot rather than dispatched on arrival, so the route respects the window the customer was given. This is the fleet counterpart of the scheduled shipment creation described in [Shipping & tracking](https://docs.tryoto.com/modules/shipping-management/shipping-and-tracking.md).

## Fleet versus carriers

The decision of whether an order goes to your own driver or to a carrier is made in [shipping automation](https://docs.tryoto.com/modules/shipping-management/shipping-automation.md), where the fleet is a delivery company like any other. Feasibility conditions such as **Driver Available**, **Driver Task**, **If destination is in these Areas** and **Driving Distance** are what express the boundary in practice: use the fleet inside the ring road when someone is free, use a carrier otherwise.

> [!TIP]
>
> **Write the fallback first**
>
> A fleet rule without a carrier fallback produces orders that sit unassigned when the fleet is full. Pair every *use the fleet if…* rule with the rule that catches what it declines.

## Service orders

Not every visit is a parcel drop. Service orders cover installation, assembly, maintenance and collection visits, with **multiple service types**, **dynamic service times** — a thirty-minute installation is not a two-minute handover, and the route has to know — and **service requirements** such as tools, a second person, or a particular skill.

## Delivery slot capacity

Slot capacity caps how many deliveries a slot will accept, so the promise made at checkout is one the fleet can actually keep. Area capacity and driver capacity constrain the same day from two other directions; a slot that looks open but sits in a saturated area will still not be servable.

## Related

* [Fleet management](https://docs.tryoto.com/modules/oto-flex/fleet-management.md) — the drivers, areas and capacities this reads.
* [Pickup](https://docs.tryoto.com/modules/oto-flex/pickup.md) — what happens once a route is assigned.
* [Shipping automation](https://docs.tryoto.com/modules/shipping-management/shipping-automation.md) — fleet versus carrier.


## Related topics

- [Plans, pricing and add-ons](https://docs.tryoto.com/pricing/plans-and-packaging.md)
- [OTO FLEX: delivery with your own drivers](https://docs.tryoto.com/modules/oto-flex/overview.md)
- [What is OTO](https://docs.tryoto.com/get-started/what-is-oto.md)


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