Skip to content

50,000 free calls a month, card-free. Get an API key →

Solutions / EV Fleets

Can the van make the round, and where does it have to stop?

A route tells you the road. It does not tell you whether the battery lasts. The planner works the energy out from a published physics model over the route's own legs, chooses charge stops so the charge never breaches the floor you set, and when the journey genuinely cannot be made it says so and names the cause.

A plan is a plan, not a promise. This one tells you which.

Every block below is a shipped endpoint that states what it knew when it answered: whether it had the terrain, which operators it could see, and whether a bay's status was live or last recorded.

A real elevation profile for the Preston to Kendal drive, 29 to 67 metres and gently rolling, drawn as a blue area chart
The prior question

Work out the energy, then the route

Every manoeuvre becomes a leg with its own length and average speed, and the energy for it comes from a road-load decomposition in the form the UNECE WLTP regulation uses: rolling resistance, aerodynamic drag, the gradient integrated as potential energy, regeneration and the auxiliary load, with an ambient-temperature derate taken from a published range study. Where the deployment has elevation, every leg carries its real climb and fall. Where it does not, consumption runs on the flat and the answer says the gradient data was absent, because flat and we do not know are different answers.

How the planner works
Honest refusal

When the answer is no, that is the answer

A charger desert, a connector mismatch or a gap wider than the van's range comes back as a plan marked infeasible, with a named cause and the furthest point the vehicle actually reaches. Never a fabricated stop list, and never an error to retry.

A real MapMap route from Preston to Kendal with a charging station marked near Lancaster and a card showing its genuine detour cost of three minutes
Along the route

The best charger on the way, with the real detour

Charge points along the route are ranked most powerful first, because a driver stopping mid-round is buying minutes back with kilowatts, and each one is costed with its real engine-computed detour rather than a straight-line guess. Filter by connector or by minimum kilowatts, and a rating the operator declared is flagged apart from one derived from voltage and amperage.

Charge points along a route
Coverage stated

Which operators, on every single answer

The Department for Transport decommissioned the National Chargepoint Registry on 28 November 2024 and published no replacement, leaving every operator to publish its own feed. A deployment therefore covers exactly the operators it has onboarded, and every response says so: the operators named, the charging positions counted, each operator's own coverage note and licence carried through verbatim, present even when the result is empty. An empty result means none from these operators, never that there are no chargers here.

the EV planner, on your own infrastructure
$ docker compose up -d --build
→ tiles · geocoder · router · guidance · territories
→ 0 external map dependencies
Self-hosted

Your hardware, your feeds, your vans

The EV endpoints are compiled into every gateway build, the self-hosted one included, and switch on when the deployment is pointed at a charge-point directory you supply. Bring the operator feeds you have onboarded, and drop an availability file in beside them from your own OCPI poller to see which bays are free. Nothing meters you between your dispatchers and your vans.

Illustration of an API request and response for a routing query
Agent-first

The round, planned by an agent

The journey planner and the along-route charger search are both callable from AI agents through the hosted MCP server, alongside routing, matrices and optimisation, with a card-free API key in one call. The coverage note travels with every answer, so an agent cannot quietly turn none from these operators into none here.

Clean-air zones

The zone the diesel pays for, and the electric van does not

Every route whose geometry crosses a UK clean-air or low-emission zone comes back annotated, with no flag needed. Declare what you drive and each crossed zone resolves to the published daily charge for that vehicle, carrying the authority's own page it came from and the date a human last read it. Electric and hydrogen clear every scheme, so this is what puts the diesel round's charge next to the electric one's nil in a figure you can check. Thirteen zones are carried: the London ULEZ and LEZ, the seven English Clean Air Zones, and the four Scottish LEZs, which report as bans rather than charges because no daily fee buys a non-compliant vehicle into Glasgow. Declare nothing about the vehicle and every zone comes back unknown, because a wrong charge is worse than no charge. Multi-vehicle optimisation takes the same declaration and deliberately says less with it: the optimiser is handed a matrix rather than roads, so route each vehicle's ordered stops to get the per-route charges.

Clean-air zone annotation
Known limit

The planner uses car costing only, so it carries no truck profile and no ADR object, and it plans over the operator feeds a deployment has ingested rather than a live view of the network. Against published motorway consumption for each default vehicle the model reads within 15 per cent and consistently low; it does not model acceleration, so it under-reads stop-start driving, and published charging curves are best-case figures measured on a warm pack. Without a live availability feed, a bay's status is the one recorded at ingest and is never dressed up as current. Zone exemptions, discounts and residency schemes are not modelled, and zone boundaries are simplified to a stated tolerance, so a route running within that distance of one may be classified either way.

Agent-first

Give us a round, a van and your charge-point feed.

Our AI agents will plan your real rounds against your own vehicles and the operators you have onboarded, on a deployment you can host. What you judge is whether the van makes it, not whether the demo does.