How it works: the model
placeholderUnderstanding four concepts is enough to use the plugin correctly.
2.1 A route contains several tickets
A route is a day's itinerary: one technician, several stops. Each stop corresponds to one GLPI ticket that has a location assigned. The plugin decides the best order in which to visit them.
A route is not tied to a single ticket — it groups all the tickets the technician plans to visit in that journey.
2.2 Two different timers
The plugin measures two things that must not be confused:
2.3 Route versions
A route can be modified while it is in progress — adding a stop, removing one, or reordering. Each modification creates a new version of the route instead of overwriting it. The web interface keeps the complete version history, so it is always possible to see what was originally planned and what actually happened.
2.4 Four distance and time metrics
Each stop stores several measurements. They answer different questions and are not interchangeable — this is the part most worth understanding before reading any report.
Why Actual and Leg planned can differ a lot: the estimate assumes a vehicle following the road network from the previous point, while the real measurement reflects what actually happened — a short walk between two nearby sites, a detour, or traffic. A large gap is information, not necessarily an error.
Why Billing is separate: it always measures base → ticket, regardless of the order in which stops were visited. This keeps invoicing predictable and independent of the route the technician happened to follow that day.