PlanRoute Engine

Daily runsheets, solved in seconds

PlanRoute Engine splits hundreds of visits across your fleet in seconds. Its OR-Tools route engine respects vehicle capacity, each stop opening hours, and city traffic patterns. It runs on your own servers, so there is no external routing licence to pay.

Used by operations teams across banking, retail, logistics, and manufacturing
2 secto solve 200 ATM stops
7stops max per run, enforced automatically
100%consistent: same input, same runsheet
Features

Plan it, check it, print it

01

Route optimization (CVRPTW)

The engine finds the shortest total distance for the whole fleet while respecting three rules: cassette capacity, each ATM opening hours, and a maximum of seven stops per run. If a stop simply cannot fit, it is flagged as unassigned instead of breaking the whole plan.

02

Vehicle and officer assignment

Assign a vehicle plate and a team (Custody 1, Custody 2, and the escort) to each run. Officers come from the branch roster, and odd-even plate rules are checked against the date automatically.

03

Switch trips, with instant feedback

Move a stop to another run and the engine instantly recalculates arrival time, distance, and delay. It then tells you whether your version is recommended or not, side by side with the system plan, so you can compare before saving.

04

Runsheet export and change log

Export a summary plus detail for every run to Excel or PDF, with your company header. Every version is kept in the log, so a checker can compare them and restore an older one.

How it works

From setup to results in four steps

Select branch, date, and ATMs

The planner picks the branch, the date and cycle, then the ATMs to visit, filtered by status and cassette needs, plus any extra rules.

Measure every distance

The engine measures the distance between every pair of locations, including the depot, using the Vincenty formula today and OSRM road data next.

Solve in the background

The request is checked and queued, then the engine solves it, calculates arrival times, and adds traffic delays. You watch the progress on screen while it works.

Check and print

The checker reviews each run on the map, adjusts where field experience knows better, assigns crews and vehicles, then prints the runsheet.

Request a demo
Integrations

Connects to what you run today

Branches, ATMs, vehicles, and officers come from your existing master data, so nobody types lists twice.

Straight-line Vincenty distances today, real road distances with OSRM next, then live traffic later. Planners keep working the same way throughout.

The finished runsheet is sent to your system automatically, and the screen updates the moment it is done.

View docs
“Runsheets used to be assembled by hand in spreadsheets and a third-party tool. Now 184 ATMs are split across 13 vehicles before the coffee is finished.”
Budi SantosoPlanning Manager, Advantage
City district from above
FAQ

Questions about PlanRoute Engine

Still have questions? Talk to our team.

Will the same input ever give a different runsheet?

No. The engine has zero randomness: the same data always gives the same route and schedule. That matters when a checker needs to explain a runsheet later.

What about ATMs that cannot fit?

Instead of forcing an impossible route, the engine sets them aside as unassigned trips, so the planner sees exactly what did not fit and why.

Is the traffic estimate live?

Not yet. It is a smart estimate, and the screen says so. Travel time assumes 30 km/h on main roads and 18 km/h on small roads, plus 15 minutes per stop, then adds 15 minutes in rush hour and 10 minutes at busy times or on long non-toll stretches.

Can a planner change the order?

Yes. Switch Trip lets you move or swap stops between vehicles. The engine recalculates arrival time, distance, and delay right away and shows your version next to the system plan before you save.

Do we still need an external routing licence?

No. The engine runs on your own servers, so the recurring licence disappears and your ATM and route data never leave your network.