If you’ve ever tried to plan a pickup and delivery route by hand — grab a package here, drop it there, then double back across town for the next pickup — you’ve felt how fast it stops being a map problem and turns into a logic puzzle. Every delivery depends on a pickup happening first, every vehicle has a limit, and every stop has a window when it can actually happen. I spent two decades building optimization models for exactly this kind of problem, and I eventually turned one of them into a free tool anyone can use. Here’s what makes pickup and delivery routing genuinely hard, and how to stop solving it by guesswork.
What a pickup and delivery route really is
A pickup and delivery route is any route where some stops load goods onto the vehicle and others unload them — and the two are linked. A courier grabs a parcel at one address and has to drop it at another. A mover loads a house and unloads it across town. A distributor collects returns while dropping off new stock. The defining feature is precedence: the pickup for a given order has to happen before its delivery, and both usually have to sit on the same vehicle. That single rule is what separates this from a plain “visit all these stops” problem (the classic traveling salesman). Once pickups and deliveries are paired, the order you visit stops in is no longer free — it’s constrained by what’s already on the truck and what still needs collecting.
Who runs into pickup and delivery routing
This shows up in more businesses than people expect. Same-day couriers and parcel services live in it. Movers and junk-removal crews do too. So do medical and lab couriers shuttling samples, meal-kit and grocery delivery, e-commerce sellers handling returns alongside outbound orders, and field-service teams that grab parts at a depot before installs. Anyone whose day is “go get this, then take it there, within these hours, with these vehicles” is solving a pickup and delivery route whether they call it that or not — usually in their head, and usually leaving time and fuel on the table.
Why it’s harder than it looks
The naive approach — always drive to the nearest unvisited stop — falls apart fast. Nearest-stop ordering will happily send you to a delivery before you’ve done its pickup, pack a vehicle past its capacity, or land you at a stop two hours before it opens. Real routing has to respect at least three things at once: precedence (pickup before delivery), capacity (the truck holds only so much), and time windows (each stop is reachable only during certain hours). Add a few vehicles and a few dozen stops and the number of possible route combinations explodes into the billions — far too many to check by hand or in a spreadsheet. This is a genuinely hard class of problem; operations researchers call it the vehicle routing problem with pickup and delivery, and eyeballing a map is not going to find the good answer.
How optimization actually handles it
Instead of guessing, you let a solver search the space intelligently. The free tool I built runs on Google OR-Tools — the same routing engine Google open-sourced for exactly these problems. It models each order as a linked pickup and delivery, forces the pickup to come first and ride the same vehicle, respects each vehicle’s capacity, and honors every stop’s time window. Drive times aren’t straight-line guesses either — it pulls real road travel times so the plan matches what a driver will actually experience. And when a stop simply can’t be served within the rules, the solver drops it and tells you, rather than handing back an impossible plan that collapses on the road. The result is a set of routes that serves as many stops as possible for the least total driving time. I wrote about the build itself in Same Three Files, Much Harder Problem, and why I reached for Google OR-Tools over the Excel Solver if you want the engineering side.
Try it free
The tool lives at routing.kindoflost.com and it’s free to use. You download a sample workbook, drop in your stops (locations, demands, time windows) and your vehicles (capacity, costs), upload it, and click run. A minute or two later you get the optimized routes drawn on a map, a stop-by-stop table, and a CSV you can hand to drivers. It started life as a twenty-year-old Excel model I leaned on in consulting work; I ported it to Python and put it online so it isn’t locked inside a spreadsheet on my laptop anymore. If you’re weighing options, I also rounded up the best free multi-stop route planners — but this one is built specifically for the pickup-and-delivery case, not just simple stop ordering.
Common questions about pickup and delivery routing
How is a pickup and delivery route different from a normal delivery route? A normal delivery route just visits a list of stops in some order. A pickup and delivery route adds precedence: each delivery has a matching pickup that must happen first, on the same vehicle, which makes the ordering far more constrained.
Can Google Maps plan a pickup and delivery route? Google Maps can order a handful of stops, but it doesn’t enforce pickup-before-delivery, vehicle capacity, time windows, or multiple vehicles — the constraints that define this problem. For anything past a few stops you need an actual optimizer.
How many stops can the tool handle? Plenty — the sample workbook alone runs 113 stops across 10 vehicles, and it scales from there. Bigger problems just take a little longer to solve.
So if a pickup and delivery route is eating your morning, stop fighting the map. Upload your stops and let the optimizer plan it — it’s free, it handles the precedence and the time windows for you, and it hands back the part of the day you were spending on logistics.
Things that I use, like, and am affiliated with:
Mint Mobile offers great cell phone service for $15 flat, get $15 off using the link. Get discounted phones with service activation and no contract.
I never spend money before I check Mr Rebates or Rakuten to get cashbacks, rebates, discounts, coupons or cheaper gift cards.
