Optimize routes for a technician
Sequence a day of jobs by location and export the result as a route. Only useful when your jobs have valid addresses, so check that first.
Before you start
Everything here depends on coordinates, so check that first. JobsJobA high-level container, comparable to a project, that bundles related tasks together with common information such as customer, billing, and address. hold the address that drives every taskTaskA unit of work that belongs to a job. It appears in the open task list until it is scheduled to a resource. and appointmentAppointmentA task scheduled to a resource for a specific period - the scheduled instance you see on the planning board. they spawn, and anything without coordinates is silently skipped on the map. Not flagged, not warned about: simply absent. A route that looks like it is missing stops usually means an address that never geocoded.
See geocoding for what it takes to turn an address into coordinates.
Two of the steps below also carry entitlements worth confirming before you promise this to anyone. The optimizer needs Route optimization enabled in preview features and the Advanced map add-on on the tenant.
1. Confirm the addresses
Open the map and check that the day's jobs actually appear as pins. This is the cheapest possible test and it catches the failure mode above before you spend time on sequencing.
ResourcesResourceAn entity that can carry out work - a person, vehicle, tool, or room - that you schedule on the planning board. carry two addresses: a home addressHome addressThe address where a resource starts and ends the day. The map plots resources on it when live locations are hidden, and a round trip uses it as the fixed start and end. marking where they start the day, and an actual address fed by a tracking system or the mobile app. A toggle switches the map between them. Which one is active matters here, because the round trip anchors on it.
2. Create the round trip
Select a cell on the planning boardPlanning boardThe main graphical scheduling surface where dispatchers drag tasks onto resources across a timeline. and press R, or right-click and choose Show daily route.
That produces a round tripRound tripA route that starts and ends at the resource’s home address, with the waypoints in between as the variable. It is created from the map for a resource and a day and can be committed back to the planning board.: the resource's home or actual address as a fixed start and end, and the appointments already planned for that resource on that date as the variable stops in between. It is the classic travelling salesman shape, and Dime.Scheduler treats it as a first-class object rather than a drawing.
This distinction matters for what you can do next. The route sequence grid runs in two modes:
- Free composition is the default, where you pick pins on the map and the grid composes a routeRouteThe path between a set of stops drawn on the map, with travel time and distance per leg. The route sequence grid lists the same stops as rows. from your selection. Good for inspecting or comparing, but it cannot write back.
- Round trip mode is committed planning, and it is the only mode that unlocks writing to the planning or calling the solverSolverThe optimizer that assigns and sequences a set of tasks across a set of resources automatically, weighing skills, travel time and availability. It is a licensed module and produces a proposal, not a change., because both need a specific resource and date as context.
Creating the trip from the board as above puts you in round-trip mode.
3. Read the numbers
The grid lays the stops out as rows with the figures the planner acts on: distance per leg, cumulative distance, travel time per leg, cumulative travel time, working time at each stop, and total duration.
A live summary pinned to the bottom keeps the trip-wide totals visible regardless of how many stops are in view: distance, travel time, work time, and the total of the last two. Travel and work times are rounded to the nearest five minutes.
These columns are computed in memory as the route changes rather than stored, but they behave like any other column, so you can hide, reorder, and save them into the layout.
4. Optimize
Hand the trip to the solver with Optimize route in the grid's toolbar, or the sparkle button on the map. It returns an order that minimizes travel time and distance, and both the map and the grid update in place. It only reorders the stops it was given; it never adds or removes one.
The useful property: optimizing does not write back to the planning. The planner can optimize, add more appointments, pull in open tasksOpen taskA task that has not been scheduled yet. It waits in the open task list to be placed on the planning board., and reoptimize as often as they like without committing anything. Nothing changes on the board until they confirm.
You can also reorder by hand: drag a row in the grid and the route on the map recalculates. For small adjustments this beats re-running the solver.
5. Commit it
When the day looks right, Update planning in the grid's toolbar pushes the new order to the planning board.
Both it and the optimizer are only offered while every appointment in the trip is enabled and unlocked. A trip you cannot commit usually has a locked appointment in it, which is a cheaper thing to check than the license.
Verify
Compare the summary totals before and after optimizing. If they are identical, either the route was already optimal or the solver never ran, and the two are worth telling apart.
Then check the board reflects the new sequence, since optimizing alone deliberately does not.
Related
- Roll out the mobile app to field workers so technicians see the result.
- Ad-hoc service planning to populate the day first.