Route planning software for field service: fewer miles, more wrench time

Build one route per technician or crew, add the day's jobs to a plan, and let Smart Dispatch order the stops around travel, time windows, skills, and shift capacity. Then review the whole day on a map before anyone rolls.

3 optimization modes, car or truck routing Included in every plan iOS & Android
Forz Route Planner for Monday 10/05/2026: five crew routes on a Columbus map with a stop timeline and job details
Each route on the map with its stops, plus a timeline for every crew.

The problem with the old way

Routes drawn by gut feel

Dispatchers eyeball a map and assign stops in the order calls came in. The plan looks fine on screen, then burns drive time in the truck.

The same plan, rebuilt every morning

When standing service runs get rebuilt from scratch each day, dispatch time goes to copy-paste work instead of handling the exceptions that need a human.

Windshield time isn't billable

Every unnecessary mile is fuel, vehicle wear, and a job slot you can't sell. Tighter routes mean more completed work per tech per day, with the crew you already have.

How route planning works in Forz

One planner per day, one route per crew

Each date gets its own planner with one or more routes. A route holds its members, shift start and end, break, and start and end locations, so the optimizer plans around the shifts your crews work and the addresses they leave from.

Candidate jobs, filtered your way

The Add Jobs panel lists every Unscheduled, routable job that no other planner owns, grouped into Featured, Defined Schedule Date, and Any Schedule Date. Filter by job type, labels, skills, city or ZIP, and due date, then add your selection to the plan in one step.

Select jobs on the map

Click pins one by one, drag a box, or draw a shape around a neighborhood to select every job inside it. Where several jobs share an address, one popup selects them all.

Route templates

Standing routes live as templates. The first time you open a date, Forz creates that day's planner from them, so the usual shape of your week is already built. Editing a template changes future planners, never one that already exists.

Smart Dispatch optimization

The first batch of jobs added to an empty plan is optimized automatically, and Reoptimize runs it again. Smart Dispatch assigns jobs to routes and orders the stops using travel estimates, skills, service duration, arrival windows, breaks, and shifts, set to Balanced, Minimize Distance, or Minimize Time with a Car or Truck profile.

Lock routes, or optimize just one

Lock a route to keep its stops, order, and planned times while the optimizer plans the other routes around it. Or run the optimizer on a single route to reorder its stops without touching the rest.

Map and timeline review

A summary bar reports assigned jobs, distance, service time, travel time, unassigned jobs, and any stop that starts outside its time window. Drag a stop to another route's lane or reorder it, and the ETAs recalculate on the spot.

Dispatch that checks the plan first

Dispatch validates skills, addresses, service-start windows, and shift limits again, then creates a calendar event for each assigned job and sets it to Scheduled. If plans change, Cancel Routes removes those events and returns the jobs to Unscheduled.

Planning a day, step by step

  1. Open the date. Click Route Planner in the sidebar. The first time you open a date, Forz creates its planner and copies in your route templates.
  2. Check the routes. Each route lists its members, skills, start time, and duration. Use the + button to add another route for that day.
  3. Filter the candidates. In Add Jobs, filter by job type, labels, skills, city or ZIP, and due date. A summary line shows how many jobs match, how many are available, and how many need attention, such as a job with an invalid address.
  4. Build a selection. Tick jobs in the list, pick pins on the map, or draw an area. The selection bar shows the count and the combined service time. Then click the Add Jobs To Plan button.
  5. Review the first optimization. On an empty plan, Forz optimizes the first batch straight away. Read the summary bar, the timeline, and anything left unassigned.
  6. Adjust and lock. Drag stops between lanes, reorder them, lock the routes you are happy with, and reoptimize the others.
  7. Dispatch. The confirmation names the number of jobs, the number of routes, and the date. Every assigned job becomes a calendar event and moves to Scheduled.

Candidates, the pool, and stops

A job can sit in three places on the planner, and only one of them gets scheduled.

Where the job isWhere you see itWhat Dispatch does with it
CandidateAdd Jobs panelNothing. It is not in the plan yet.
Unassigned jobThe plan’s poolNot scheduled. Released so another day can plan it.
Assigned stopA route’s lane on the timelineCalendar event created, status set to Scheduled.

Optimization only uses jobs that are in the plan. It never pulls in a candidate because it happens to be visible.

How teams use it

Tomorrow’s sprinkler inspections

A fire protection dispatcher filters tomorrow’s candidates by the Inspection job type and by city, adds them to the plan, and confirms each route has a member with the right skills. Smart Dispatch spreads the stops across the routes and orders them. The dispatcher checks the unassigned jobs and each route’s used time against its shift, then dispatches the day.

A rush plumbing call before dispatch

A rush job comes in after the plan is built. Add it to the plan first. To let the optimizer choose the route, run a full reoptimization and keep locked only the routes you want left alone. To keep it on a specific van, assign it to that route, check the new ETAs, and optimize that one route.

Choosing Car or Truck

New planners start on Balanced with the Truck profile. Truck road restrictions can change which routes are possible and leave more jobs unassigned. If your service vans aren’t subject to truck rules, switch that day to Car and reoptimize.

Rules to know before you set up routes

  • A route shift must span a whole number of hours from 1 to 20. Exact minutes are fine, so 8:30 AM–4:30 PM works and 8:30 AM–5:00 PM does not.
  • Breaks run from 0 to 120 minutes in steps of 5 and are scheduled inside the route.
  • Start and end locations are picked from address suggestions, so they always carry map coordinates.
  • A job with no duration of its own uses the Default Job Duration in Settings > Route Planner, or 15 minutes if that is blank.
  • Access is set per role: View opens the board read-only, and Edit covers every change, including dispatch.

Works with the rest of Forz

  • Scheduling and dispatch: for one-off calls, Schedule Suggestions ranks the best technician and time slot for a single job.
  • Work orders: the Routable toggle on an Unscheduled job decides whether it shows up as a candidate.
  • Mobile app: dispatched stops appear in each technician’s schedule on iOS and Android.
  • Workflow automation: send an email or create a task when a job’s status changes to Scheduled.
  • Time tracking: GPS clock-ins record each technician’s shift, and job timers record the time spent on each job.

Setting it up? The Route Planner guide and the Smart Dispatch guide walk through each screen.

Popular with these industries

Frequently asked questions

Open a date and Forz creates that day's planner from your route templates. The Add Jobs panel lists the candidates: jobs that are Unscheduled, marked routable, not owned by another planner, dated on or before that day or undated, and allowed on that weekday. Select the ones you want and add them to the plan, and the first optimization runs automatically. Review the map and timeline, adjust if needed, and click Dispatch to create the calendar events your technicians see.

Smart Dispatch uses travel estimates, technician skills, service duration, job arrival windows, breaks, and route shifts, including the drive back to each route's end location by the end of the shift. For each day you choose the objective (Balanced, Minimize Distance, or Minimize Time) and the transport mode (Car or Truck, where truck road restrictions can change which routes are possible). The result is a job-to-route assignment, a stop order, and ETAs, plus a list of any jobs that could not fit.

Skills such as backflow testing or HVAC are assigned to each technician, and a route has the combined skills of its members. A job can only be assigned to a route that provides all of its required skills, whether the optimizer places it or you move it by hand. If candidate jobs need a skill that no route can supply, the planner shows a warning before you optimize.

Common causes are a required skill no route has, a service duration too long for the remaining shift, an arrival window no route can reach, or truck road restrictions. Shift capacity has to cover service, travel, breaks, and the drive back to the end location. Check the reason on the job card, adjust the job or the route, and reoptimize. When no reason is shown, compare those same items against the route's members and shift.

Yes. You can assign a job to a route, move it to another route, reorder stops, or remove a job, and Forz recalculates the ETAs without a new optimization. Lock any route you want to keep as it is before you reoptimize the others. Changing route or planner settings makes the old calculation stale, so Dispatch stays disabled until you reoptimize.

Forz validates the plan again, then gives each assigned job a calendar event with its planned start, service duration, and route members, and changes its status to Scheduled. Jobs left in the unassigned pool are not scheduled. They are released so they can be planned on another day. Cancel Routes undoes the whole day's dispatch and returns those jobs to Unscheduled.

No. A job time window is a service-start window, so an 8:00 AM to 12:00 PM window means the technician has to start by noon, not finish by noon. The work does have to finish within the route's shift, and the route has to get back to its end location before the shift ends.

See route planning in action

Get a 30-minute personalized demo and watch how it works on your own workflows.

Free standard data import Free 30-minute demo, no commitment