Skip to main content

Shared bikes, scooters and charging points

The mobility layer is a deliberate pilot over five cities; Bird and Voi are absent because their data is not published where the pilot runs.

J
Written by Jean-Baptiste COULON--CHABAGNO

Alongside public transport, Quavsit answers about docked bike stations, free-floating bikes and scooters, charging points for electric vehicles and road events — under the same key, the same units and the same plan.

It is a pilot over five cities, and that is a decision rather than a stage. The cities were chosen because Quavsit already serves each one's transit network, so an answer about a stop and an answer about a bike are about the same place.

City

Transit network

Docked

Free-floating

Bordeaux

tbm

Le Vélo TBM

Dott, Pony, YEGO

Paris

idfm

Vélib' Métropole

Dott, Lime, YEGO

Toulouse

tisseo

VélôToulouse

YEGO

Lille

ilevia

V'Lille

Lime

Nice

lignesdazur

Lime, Pony, YEGO

Bird and Voi are not there

Bird publishes to transport.data.gouv.fr only for Ajaccio, Bastia, Blois, Châlons-en-Champagne, Gap, Laval and Vichy — none of the pilot cities. Voi's Paris entry points at a URL that answers 404. Neither is a gap waiting to be filled by Quavern; both are the state of the upstream data. A descriptor for a dead feed would be a system that is permanently stale.

Adding a city an operator does publish for is configuration, not code.

Why five cities and not all of France

Two independent feasibility studies reached the same conclusion: pre-polling every shared-mobility dataset published nationally would cost several gigabytes a day, and the consolidated charging-point file refreshed every minute would cost over twelve. Neither fits the machine this runs on, and neither buys anything a reader of a Bordeaux stop needs.

How fresh the answers are

Nothing is polled on a timer. A request reads what is stored; a feed past its TTL is fetched once, for that feed only. Live counts are therefore at most 60 seconds old, and every answer states its own age in meta.sources.

When an operator cannot be reached, its rows are served with their real age and the answer is marked stale — deciding whether to walk to a dock is better served by a two-minute-old count that says so than by an error.

Asking correctly

A location, a city, a network or a system is required on the station, vehicle and charging routes; without one the answer would be five cities wide. A point outside all five returns an empty list. Road events take a much larger radius than the transit routes, because an event on a motorway is tens of kilometres from the next one.

Checking what is actually covered

GET /v1/mobility/systems lists it, per city, with the age of each source. It costs no units.

Quavern help reference: quavsit-mobility-pilot/en

Did this answer your question?