cheapest_charging_along_route
Find the best EV charge points along a route, with the REAL extra travel time of stopping at each one — never a straight-line guess. Provide origin + destination (a route is computed) or an existing route's geometry_polyline6, plus optional connectors ("ccs", "type2", "chademo", "type1", "tesla", "domestic", "other"), min_kw (e.g. 50 for rapid only), available_only and max_detour_minutes (default 10). Charge points come from operator-published feeds, are costed through the routing engine with your costing (a truck profile makes detours respect dimensional/ADR restrictions) and ranked most powerful first, since minutes off the clock are bought with kilowatts. Each result carries max_power_kw, connector_standards, best_connector, evse_count, detour_minutes/detour_km and, where a live feed backs it, available_now. IMPORTANT: there is no national charge-point registry — every deployment covers only the operators it has onboarded, so ALWAYS show the returned coverage_note alongside the results. An empty results means "none from these operators within the detour budget", NEVER "there are no chargers here". Statuses are live only when availability_live is true; otherwise they are the values captured at the last ingest and must not be described as current. Requires the MapMap gateway; answers a clear error when the deployment has no charge-point dataset. Display the returned charging_attribution with the results.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| truck | No | Truck profile (dimensions + ADR declaration). Requires costing "truck"; the detours then respect dimensional/ADR restrictions. | |
| min_kw | No | Keep only charge points whose best connector is rated at least this many kW (e.g. 50 for rapid charging only). | |
| origin | No | Route origin (with `destination`, when no geometry is given). | |
| costing | No | Costing model for the route and detour matrix: "auto" (default), "truck", "bicycle", "pedestrian" or "motor_scooter". | auto |
| connectors | No | Keep only charge points offering at least one of these connector standards: "type2", "type1", "ccs", "chademo", "tesla", "domestic" or "other". Omitted ⇒ every standard. | |
| destination | No | Route destination. | |
| max_results | No | Maximum results (default 5, at most 25). | |
| available_only | No | Keep only charge points with a bay reported free right now. Needs the deployment to have a live availability feed; without one the call is refused rather than silently returning nothing. | |
| geometry_polyline6 | No | An existing route geometry as an encoded polyline6 (the `route` tool's `geometry_polyline6`). Provide either this or `origin` + `destination`, not both. | |
| max_detour_minutes | No | Largest acceptable detour in minutes (default 10, at most 120). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Why `results` is empty, when it is — the cause, not a bare list. | |
| costing | Yes | The costing the detours were computed with. | |
| results | Yes | Charge points within the detour budget, most powerful first (power, then detour). | |
| sources | Yes | Every operator in the dataset, with its own coverage note and licence. Present even when `results` is empty. | |
| candidate_cap | Yes | The matrix fan-out cap in force. | |
| coverage_note | Yes | **Always present.** What this deployment's charge-point dataset does and does not cover. An empty `results` means "none from these operators within the budget" — never "there are no chargers here". Show this to the user alongside the results. | |
| route_length_m | Yes | Length of the route geometry in metres. | |
| route_distance_m | No | Direct origin→destination distance in metres. | |
| route_duration_s | No | Direct origin→destination travel time in seconds (same estimator as the detour legs), when routable. | |
| availability_live | Yes | Whether statuses are live (a bring-your-own availability feed) or the values captured at the last ingest. | |
| availability_note | Yes | Plain-language explanation of what the statuses mean here. | |
| candidates_costed | Yes | Candidates actually costed through the engine (fan-out capped at `candidate_cap`, most powerful kept). | |
| max_detour_minutes | Yes | The detour budget applied, minutes. | |
| charging_attribution | No | Attribution string for the charge-point operators actually returned — display it with the results (a licence obligation). | |
| candidates_considered | Yes | Charge points matching the filters that passed the corridor pre-filter. |