The Live Technician Map and Route Planning in Odoo 20 Planning

Dispatching field technicians has always been a geography problem disguised as a scheduling problem. Who is closest to the job? Who is already overloaded? Which route wastes an hour of driving between two calls that sit ten minutes apart? In Odoo 20, the tools for answering those questions — a live technician map, a map view of shifts and availability, and route planning with two distinct routing modes — live in the Planning app, because the standalone Field Service app has been discontinued and its features integrated into Planning.

This article walks through what that means in practice: how the live map works, how the map view combines shift locations with technician availability, how routing preferences calculate a day's drive, and how the surrounding field-service toolkit — travel fees, worksheets, auto-planning — fits around the map.

Diagram showing Odoo 20 Planning's live technician map, Auto Plan routing modes, and Mapbox travel times in the Gantt view

Why the map lives in Planning now

The Odoo 20 release notes state it plainly: “The Field Service app has been discontinued. Its features are now integrated into the Planning app.” That is a structural change, not a rename. Field service work in Odoo was always, at its core, shift work: a technician (a resource) assigned to a job at a place and a time. Planning is Odoo's shift engine — shifts are dispatched to resources, which can be human (employees) or material (equipment), and resources carry roles so work can be organised by skill or function.

By folding field service into Planning, Odoo 20 puts interventions on the same scheduling foundation as every other shift in the business. A dispatcher plans a week of site visits the same way a manager plans a week of shifts: manually, by dragging shifts into the calendar or Gantt view, or automatically with the Auto Plan feature. The field-service layer adds what generic shift planning lacks — customer locations, worksheets, travel fees, and the map tools this article focuses on.

The live map: where your technicians are, right now

The headline addition is the live map: Planning can now track technicians' locations on a live map. For a dispatcher, that changes the texture of the working day. Instead of phoning around to find out who finished early or who is stuck across town, the map shows the team's positions as they work.

Live positions earn their keep in the moments that break a schedule:

  • Emergency callouts. A customer reports a breakdown; the dispatcher can see which technician is nearest and reassign on evidence rather than guesswork.
  • Late-running jobs. When one intervention overruns, the map shows who can realistically absorb the next appointment and who would be driving past it to get somewhere else.
  • End-of-day sanity checks. A technician still showing far from their last scheduled site at closing time is a prompt to check in, not a surprise discovered tomorrow.

Live tracking complements the plan; it does not replace it. The plan is what the day should look like. The map is what the day actually looks like — and the gap between the two is where dispatch decisions get made.

The map view: shifts and availability on one screen

Separate from live tracking, Planning's map view shows both shift locations and technician availability together. That pairing matters. A map of jobs alone tells you where the work is; a map of people alone tells you where the team is. Overlaying the two — this cluster of interventions, these available technicians near it — turns assignment into a visual decision instead of a list-sorting exercise.

The general map tooling in Odoo 20 helps here too: in the map view, records without a defined address can be surfaced and clicked to view and edit them. For field service, that is a data-quality safety net — a customer site with no usable address is exactly the record that breaks a route, and the map view makes it findable before a technician is sent looking for it.

Routing: ordered mode vs optimized mode

Routing in the map view has been improved in Odoo 20 with a choice that sounds small and is not: routing preferences let you pick between an ordered mode and an optimized mode.

  • Ordered mode calculates the route respecting the order of the addresses. The sequence you planned is the sequence driven: first appointment first, then the second, and so on. Use it when the order itself carries commitments — a customer promised a morning slot, a site that only accepts deliveries before noon, a job that must precede another because it produces the part the second one installs.
  • Optimized mode calculates the shortest path between the addresses. The order is an output, not an input. Use it when the stops are flexible and the goal is simply to burn the fewest kilometres and the least windshield time getting through all of them.

Choosing wrong has a cost either way. Forcing an optimized route onto a day built around fixed appointment windows creates missed commitments; forcing an ordered route onto a flexible day wastes fuel and hours. Odoo 20's contribution is making the choice explicit per routing, so the dispatcher decides which kind of day it is instead of the software deciding silently.

Auto Plan: locations and priorities do the dispatching

Manual assignment works for a handful of jobs. Beyond that, Planning's Auto Plan does the first pass — and in Odoo 20 it is location-aware: customer locations are taken into account for automatic shift planning. A planner that knows where customers are can build geographically sane days instead of scattering one technician across the whole map.

Two companion features shape the result:

  • Priority shifts. Shifts can carry priorities, and when Auto Plan runs, higher-priority shifts are scheduled first. The urgent contract job claims its slot before the routine inspection does.
  • Employee-specific materials. Materials can be assigned to employees, and when an employee is assigned to a shift, their assigned material is automatically added to the shift's resources — the right kit travels with the right person without a separate checklist.

Shifts can also be linked to a specific task, and multiple resources can be assigned to the same shift, which covers the common field-service pattern of a two-person crew on one intervention. Scheduling itself keeps Planning's conveniences: shifts can be dragged from the side panel into the calendar or Gantt view, and employees can be sent their schedules via WhatsApp.

Travel times in the Gantt view

A schedule that ignores driving time is a fiction. Odoo 20 addresses this in the Gantt view: you can connect to the Mapbox integrator to display travel times in the Gantt view, helping you schedule shifts accordingly. Seeing the drive between two jobs as part of the timeline — rather than discovering it as an overlap at 9:40 in the morning — is what makes back-to-back assignments honest.

Travel also becomes billable. Field service travel fees let you invoice customers for distance-based travel fees or a fixed travel-time fee, so the kilometres the route planning works to minimise are at least priced when they cannot be avoided.

The toolkit around the map

The map and routing sit inside a wider set of field-service features that arrived in Planning with the merger:

  • Worksheets. Worksheet templates now use property fields instead of Studio fields, and worksheets can be added to shift templates, so the report a technician files is part of the planned shift, not an afterthought.
  • Products by barcode. Products can be added to a shift by scanning their barcodes — parts consumed on site get recorded at the van, not reconstructed at the office.
  • Customer equipment and history. You can track whether customer equipment is covered by a maintenance contract via Subscriptions, open documentation for the equipment installed at the customer's location directly from a shift, and track the customer's equipment and intervention history — the technician arrives knowing what is installed and what was done last time.
  • Confirmation emails and ratings. You can choose whether to automatically send customers a confirmation email when a shift is published, telling them an intervention is scheduled, and track customer satisfaction for onsite interventions afterwards.
  • Website intake. Service requests can be collected through a website form rather than letting customers book services directly — requests land as work to be planned, keeping the dispatcher in control of the schedule.

A dispatcher's checklist for Odoo 20

  1. Fix addresses first. Use the map view to find records without a defined address; routing is only as good as the geodata under it.
  2. Decide the day type. Fixed appointment windows: ordered mode. Flexible stops: optimized mode. Set the routing preference deliberately.
  3. Set priorities before Auto Plan. Priority shifts are scheduled first; unmarked urgency competes on equal terms with routine work.
  4. Check travel in the Gantt. Connect the Mapbox integrator and review travel times before publishing, not after the first overlap.
  5. Charge for the road. Configure distance-based or fixed travel-time fees so unavoidable driving is invoiced, and let the live map handle the exceptions the plan could not foresee.

Odoo 20's bet is that field service is planning with geography attached. The live map, the combined map view, and the two routing modes give dispatchers the geography; Planning supplies the scheduling discipline underneath it.

Further reading

Leave a Comment