New: a safety margin, loading places and clearer routes on the map. Release notes →

Tournevia

Routes your trucks can drive

Tournevia plans tomorrow’s deliveries on roads your trucks can use. You approve the plan, and each driver leaves with a route sheet.

Open source under the Apache 2.0 licence · in preview · installed on your own server

A real calculation in Tournevia: Transports Lemoine (a fictitious company), Thursday 5 November, 10 deliveries, 3 vehicles, the Île-de-France road graph.

Built on open software and open data

  • OpenStreetMap
  • Valhalla
  • VROOM
  • PostgreSQL
  • FastAPI
  • MapLibre

The truck goes round

On Thursday, PL-01 drives from LEM-1002 to LEM-1004. A 2.7 m van would take Rue Van Gogh, limited to 3.5 m in height. PL-01 is 3.6 m tall, so Tournevia sends it along Quai de la Rapée.

Van, 2.7 m
Avenue Pierre-Mendès-France and Rue Van Gogh · 3.2 km
PL-01, 3.6 m
Quai de la Rapée and Boulevard Diderot · 3.5 km

The detour: 380 m, known before the truck leaves.

Both roads are calculated by Tournevia on the Île-de-France road graph with the same settings; only the vehicle’s height changes. Height limits from OpenStreetMap. Base map: OpenFreeMap, © OpenMapTiles, © OpenStreetMap contributors.

Map of south-east Paris. Dashed, the van’s road along Avenue Pierre-Mendès-France and Rue Van Gogh, with its 3.5 m height-limit signs. Solid, PL-01’s road along Quai de la Rapée and Boulevard Diderot.

From the address to the gate

An address leads to the building, not to the truck gate. Place the pin at the vehicle entrance once: every calculation and every route sheet uses it from then on.

Map of the block between Rue de Charenton and Rue du Charolais. The address point sits on the building, on the Rue de Charenton side; an arrow leads to the vehicle entrance pin in Rue du Charolais.
Address found
204 Rue de Charenton: the point leads to the building.
Vehicle entrance
Rue du Charolais, 86 m away: where the truck stops.

LEM-1001, an example delivery from Transports Lemoine (a fictitious company). Base map: OpenFreeMap, © OpenMapTiles, © OpenStreetMap contributors.

LEM-1001204 Rue de Charenton 75012 ParisPin moved to the vehicle entrance, Rue du Charolais08:00–11:30120 kgNeeds review

From the file to the route sheet

Transports Lemoine, a fictitious company, prepares Thursday 5 November: 10 deliveries, 4 vehicles and two depots, in Ivry and Saint-Denis.

Import tomorrow’s file

Every CSV row is checked before saving: new, changed, unchanged or in error. A corrected file can be imported again; nothing is saved until you confirm.

The CSV format →
external_id,service_date,address,latitude,longitude,time_window_start,…
LEM-1002,2026-11-05,"50 Rue Jeanne d'Arc 75013 Paris",48.831,2.367,2026-11-05T09:00:00+01:00,…
LEM-1003,2026-11-05,"10 Rue Raymond Aron 75013 Paris",48.835281,2.374645,2026-11-05T13:00:00+01:00,…
LEM-1004,2026-11-05,"70 Avenue Ledru-Rollin 75012 Paris",48.849,2.374,2026-11-05T08:00:00+01:00,…
Import preview: 9 new, no rows to check or in error, and each row read with its identifier, address, window, weight and its “New” result
  • Saved customers keep their entrance
  • Optional IGN address search
  • Enter a delivery by hand, address first

Calculate on truck roads

Height, weight, axle load, time windows, capacities and working hours: each vehicle is calculated as it is, on the Île-de-France road graph.

The fleet →
The road limits of van VUL-02: 2.7 m high, 2.1 m wide, 6.2 m long, 3,500 kg, 2 axles

Examples of vehicles Tournevia can model, beyond this day

  • Van 3.5 t2.7 m · 1,200 kg · 5 palletsLeaves from the driver’s home
  • Rigid 7.5 t3.3 m · 2,800 kg · 12 palletsTail lift, 12 stops at most
  • Rigid 19 t3.6 m · 11.5 t per axleSaturdays, 7 am to noon
  • Articulated 44 t4 m · 5 axles · 33 palletsCost per km and per hour

Review it, then mark it ready

Routes appear on the map and in the list, with their load, times and any blocking issue. Change a sequence and recalculate: nothing leaves before you approve.

Planning →
The calculated draft: route cards with each vehicle’s size and where it is loaded, “Validation and approval”, and the lettered routes on the map

The calculated draft: nothing leaves until a person marks it Ready.

  • 10 of 10 deliveries assigned
  • 3 of 4 vehicles, 62 km
  • 1 h 46 of driving for the day

A sheet for each driver

A Ready plan gives each vehicle its A4 page or PDF: departure, stops, windows, load, and a Google Maps and Waze link to the reviewed entrance. Pick a vehicle to read its sheet.

Printing the sheets →

Transports Lemoine

Route sheet · PL-01

Thu, 5 Nov 2026

Ready plan · version 2

Leaves
10:30 Dépôt Ivry-sur-Seine8 Avenue de la République 94200 Ivry-sur-Seine
Back
13:38 Dépôt Ivry-sur-Seine8 Avenue de la République 94200 Ivry-sur-Seine
Stops
624 km · driving 49 min
Load when leaving
12 Euro pallets · 1,665 kg · 6.75 m³

Google Maps and Waze lead to the reviewed vehicle entrance but choose their own path, which may not suit this truck.

#TimeDelivery and addressWindowNavigate
110:4112 min on siteLEM-10075 Rue Eugène Atget 75013 Paris08:00–11:30Google MapsWaze
210:5711 min on siteLEM-100250 Rue Jeanne d'Arc 75013 Paris09:00–15:00Google MapsWaze
311:1513 min on siteLEM-100470 Avenue Ledru-Rollin 75012 Paris08:00–11:30Google MapsWaze
411:3110 min on siteLEM-100519 Rue Godefroy Cavaignac 75011 ParisSonner à l’entrée des marchandises09:00–15:00Google MapsWaze
513:00arrives 11:5011 min on siteLEM-10061B Rue des Hospitalières Saint-Gervais 75004 Paris13:00–16:00Google MapsWaze
613:1812 min on siteLEM-100310 Rue Raymond Aron 75013 Paris13:00–16:00Google MapsWaze
13:38Back to Dépôt Ivry-sur-Seine8 Avenue de la République 94200 Ivry-sur-SeineGoogle Maps

Planning estimate. Verify current road access and driver requirements. Tolls are not included.

This calculation’s route sheets, as Tournevia prints them.

On a server of your own

Tournevia installs with Docker on your server. Your deliveries stay in your own database; only the base map comes from OpenFreeMap.

  • 250

    deliveries and 25 vehicles in one calculation

  • 47 s

    for 250 deliveries close together in Paris, on 2 vCPU and 8 GB

  • 95 s

    for 250 deliveries spread across Île-de-France, on 8 vCPU and 32 GB

All the measurements

The day, prepared the evening before

On Thursday, each truck leaves with its route sheet; dispatch prepared it all on Wednesday evening.

  1. VUL-02 leaves the driver’s home2 deliveries, back at Ivry at 09:17
  2. PL-01 leaves the Ivry depot6 deliveries, back at 13:38
  3. VUL-01 leaves the Saint-Denis depotLEM-1001 ships from Saint-Denis: only VUL-01 takes it
  4. LEM-1001, Rue de CharentonDelivered at the reviewed entrance, 15 min before its 08:00–11:30 window endsVUL-01
  5. Last vehicle back at the depot61.9 km and 1 h 46 of driving for the dayPL-01

Before you install

What does it cost?

Nothing. Tournevia Community is under the Apache 2.0 licence: you pay only for the server it runs on. It is a preview, without a support contract. What this version contains →

Where do I get Tournevia?

The public code repository is not open yet and no public download is offered yet. Ask the installation operator for the installation kit, with its SHA‑256 checksum to verify it. Obtain and verify the kit →

What server does it need?

Up to about a hundred deliveries a day in one city: 2 vCPU and 8 GB. For 250 deliveries across a region: 8 vCPU and 32 GB. All the measurements →

Does it use live traffic?

No. Times come from OpenStreetMap road speeds, without live traffic: they are estimates. Tolls are not costed. What Tournevia calculates →

Does it cover all of France?

Performance was measured in Île-de-France. The graph for all of France passes routing checks in several cities and a planning day in Lyon. One calculation joins points up to 200 km apart. The measured calculations →

Where does my data go?

Your deliveries stay in your own database, on your server. The map comes from OpenFreeMap, which therefore sees the area shown; IGN address search is optional and off at first. Address search →

Do drivers get an app?

No. Each driver gets a route sheet, printed or as a PDF, with a Google Maps and a Waze link for every stop. The route sheets →

Can I try it without my own data?

Yes. After installing, the setup guide offers ten example deliveries in Paris, marked Example and removed together whenever you choose. Getting started →