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. say is ALWAYS present and is the whole answer as one short spoken line, composed by the gateway with the coverage already inside the claim rather than appended to it: it scopes its superlative to the operators this deployment holds, and an empty result's line says the emptiness is about those operators. Prefer reading it verbatim to writing your own summary. 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 |
|---|---|---|---|
| say | Yes | **Always present.** The whole answer as one short spoken line, composed by the gateway. Coverage is inside the claim rather than appended to it: the line scopes its superlative to the operators this deployment holds, and an empty result's line says the emptiness is about those operators, never about the road. Safe to read to a driver verbatim. | |
| 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. |