Route Planner
Choose jobs for a daily plan, assign and optimize routes, validate the schedule, and dispatch work to the calendar.
Overview
The Route Planner lets you choose jobs for a day, assign them to technician or crew routes, optimize the stop order, review the schedule, and dispatch the assigned work to the calendar.
Each date has one planner. The first time you open a date without a planner, Forz creates it and copies your route templates into that day's routes.
Keep these three states in mind:
Candidates: eligible jobs listed in the Add Jobs panel. Being visible there does not put a job in the plan.
Unassigned Jobs: jobs already added to this plan that have not been placed on a route. This is the plan's pool.
Assigned jobs: stops on a route. These are the jobs that Dispatch schedules.
Before You Begin
Prerequisites:
The Route Planner module is enabled. Check Settings β Modules; contact support to turn it on.
Your role can view and edit the Route Planner. See Permissions below.
At least one route template exists, or you create routes directly on the daily planner.
Route members, skills, shift times, breaks, and start and end locations are set up.
Jobs have valid service-address coordinates, are included in routing, and carry suitable schedule information.
Opening the Route Planner
Click Route Planner in the sidebar. Forz opens today's planner.
Choose a date with the date picker, or use the previous-day and next-day arrows. A planner for a past date shows a badge next to the date.
Review the routes copied from your templates. The table lists each route's members, skills, start time, and duration. Use the + button above the list to add another route for this day.

The β icon next to the date shows the planner's current Optimization Type and Transport Mode.
How the board is organized
Before any jobs are planned, the left panel is the Add Jobs panel and the right side lists your routes with a map below them.
Once a plan exists, the left panel becomes a set of tabs. Add Jobs is always there. Details appears once the plan has a routed timeline, and Unassigned appears only while at least one route has no jobs.
Details β with no route selected, an overview with the job search box and the Unassigned Jobs pool. Select a route and it shows the per-route summary table (Route, Jobs, Time, Distance, Load) and that route's stops.
Add Jobs β the candidate list, with a count of how many candidates remain.
Unassigned β routes that received no jobs. These are routes, not jobs.
The right side then shows a summary bar, the map, and the timeline.
Finding Candidate Jobs
A candidate must be Unscheduled, have routing enabled, and not already belong to another planner. Its schedule date must be on or before the planner date, or blank. Any weekday restrictions must allow the selected day.
The Add Jobs panel groups candidates into Featured (scheduled for this exact date), Defined Schedule Date (scheduled for an earlier date and not yet planned), and Any Schedule Date (no schedule date at all). Each group shows a count and expands when you click it. A group with no jobs is hidden, and when only one group has jobs it opens by itself. A job with no weekday restrictions can be considered on any day.
Above the groups, a summary line reads N matching Β· N available Β· N need attention. Matching counts candidates that pass your filters, available counts the ones that can actually be added, and need attention counts the ones with a blocker such as an invalid address.

Filtering the candidates
Open the Add Jobs panel or tab.
Choose any combination of Job type, Labels, Skills, City or ZIP, and Due by.
Click Apply. Each applied filter appears as a chip you can dismiss, Clear next to Apply or Clear Filters below it removes them all, and Refresh Jobs reloads the list.
Expected result: the summary line and the group counts update to match the filters.
Filters narrow the candidate list only. They do not remove jobs already in the plan and they do not assign anything. Active filters are preserved when you switch tabs, open route details, refresh jobs, and save planner settings.
Searching for a job
Use Find a job across candidates above the panel, or in the Details route overview when no route is selected.
Enter at least two characters from a job number, title, customer organization, street, or city.
Review the result, then select it like any other candidate or use Assign to place it directly on a route.
Search does not include already scheduled jobs, jobs excluded from routing, or jobs already owned by another planner. A future-dated or wrong-weekday job is listed with the reason it cannot be assigned to the selected day. Invalid Address means the service address needs valid coordinates. Search returns at most 20 matches, so narrow the term if the job you want is not listed.
Adding Jobs to the Plan
Adding jobs is a two-step action: build a selection, then commit it.
Tick the checkbox on each candidate you want. To take every available candidate in the filtered list at once, tick Select N matching jobs above the groups. Candidates that need attention are not selectable.
Check the selection bar at the bottom of the board. It shows how many jobs are selected and their combined service time, and it warns when some of them fall outside your current filters.
Use Review Selected to see the list, including any selected jobs the current filters hide. Clear empties the selection, Clear Outside Filters drops only the hidden ones, and Refresh Selected Jobs re-checks whether each one is still available.
Click the Add β¦ Jobs To Plan button. The label carries the count, for example Add 3 Jobs To Plan.
Expected result: the jobs move into this planner and a View Jobs In The Pool button takes you to them. If the plan had no routed stops yet, Forz also starts the first optimization straight away, so the first batch never lands on empty routes. A batch added to a plan that already has stops joins the unassigned pool instead, and your hand-arranged board is left alone until you reoptimize.

Your selection is a draft held in the browser. It survives filter changes, tab switches, and theme changes, and it is cleared when you leave the planner, reload the page, or switch to another date.
Selecting jobs on the map
The map shows candidate locations and route stops, with a legend for Assigned, In plan, and Pending markers. Clicking a marker opens a preview.
Select Jobs turns clicks into selections, so you can pick pins one by one. The button becomes Done Selecting while the mode is active.
Select Area lets you drag a box, or tap points to draw a shape and tap the first point to close it. Enter closes the shape and Escape cancels the tool without clearing what you already selected.
Where several jobs share a location, the marker popup offers Select all N available here as well as individual checkboxes.
Fit All Stops, Fit Results, and Fit Selected reframe the map.

Map selections land in the same selection bar, so you finish with the same Add β¦ Jobs To Plan button.
Assigning a job to a route
Choose Assign beside a search result or a job in the unassigned pool, then pick the route. The route must provide all the skills the job requires.
Expected result: the job appears as a stop in that route's lane and the route's ETAs are recalculated.
Optimizing Routes
The first optimization runs automatically when you add the first batch of jobs to an empty plan. After that, Reoptimize in the toolbar re-runs it.
Confirm that the jobs you want to serve are in the plan. Optimization only uses jobs in the plan; it never pulls in visible candidates on its own.
Review route members, skills, shifts, breaks, and addresses.
Lock any routes you want to preserve.
Click Reoptimize.
When processing finishes, review the assigned stops and anything left unassigned.
Expected result: the timeline redraws with a stop order and ETAs for each unlocked route, and the summary bar updates.
Optimization settings
Open More options (β―) β Edit to set Optimize routes by to Balanced, Minimize Distance, or Minimize Time, and Transport mode to Car or Truck.
A new planner starts on Balanced with Truck as the transport mode. Switch to Car when your vehicles are not subject to truck road restrictions. Saving these settings requires a reoptimization before you can dispatch.
Optimizing one route
Open a route's details and use its optimize control (β‘). The route must be unlocked and already contain jobs. The solve reorders that route's jobs without touching the others. Assign a new job to the route first if you want it included.
Reviewing Results
The summary bar above the map reports assigned jobs, distance, service time, travel time, and any unassigned count. It also shows a time window issues count when a stop starts outside its job's window, and an Approximate ETAs warning when travel times could not be retrieved. Reoptimize to replace approximate ETAs before you dispatch.

Unassigned Jobs are in the plan but not on a route. Review the reason shown on the card, then check skills, service duration, arrival windows, shift capacity, and transport mode.
Unassigned routes are routes that received no jobs. They appear in the Unassigned tab and are different from the Unassigned Jobs pool.
Job time windows constrain when service starts. Work may finish after the job's window ends, but it must finish within the route shift.
Shift capacity must cover service, travel, breaks, and the return to the end location by the shift end.
ETAs are estimates. Review the actual schedule and constraints before dispatching.
Working with a Route's Stops
Select a route to open its details. The panel shows its members and skills, its used time against the shift length, a Start card with the departure ETD, a card for each job, a Break card when the route has one, and an End card with the return ETA. Travel distance and time appear between consecutive cards.
Each job card carries ETA, ETD, duration, required skills, schedule date, due date, and time window. Use the pencil on a job card to open its Dispatch Info and change the service duration, required skills, or time window without leaving the planner.

Moving a job to another route
Use the move control on the job card and select the destination route, or drag the job's block to another timeline lane. The destination must have the required skills. Travel times and ETAs update for both routes.
Changing the stop order
Use the drag handle on a job card, or reorder the blocks within a timeline lane. Review the recalculated ETAs after the change.
Removing a job
Remove from a route: use the remove control on the job card. The job leaves the route and returns to this plan's unassigned pool. The remaining stops' ETAs update.
Remove from the plan: use Remove from plan on a job in the unassigned pool. This releases it so it can become a candidate again, subject to its date, filters, status, and routing settings. A pooled job can still be removed if its address has since become invalid.
When reoptimization is required
Valid manual assignments, moves, reorders, and removals recalculate ETAs and do not require another optimization. A warning that route or planner settings changed means the previous calculation is stale: Dispatch is disabled until you reoptimize. If a manual edit fails, review the message and the current plan before retrying.
Locking and Unlocking Routes
Use the padlock on the route's timeline label. A full optimization preserves a locked route's assignments, stop order, and planned times, and plans the other routes around it. Unlock at least one route to reoptimize; when every route is locked, Reoptimize is disabled. A lock prevents optimizer changes only β permitted manual edits still work while the planner is editable.
Managing Routes
Use the + button above the routes list to add a route for this day. Before the plan is routed, each row in the routes table has a pencil. Once the timeline is drawn, select the route and use the pencil on its details card. Fill in:
Name and Color to identify the route.
Members whose combined skills match the work.
Start time and End time. Exact minutes are supported, but the shift must span a whole number of hours from 1 to 20. For example, 8:30 AMβ4:30 PM is valid; 8:30 AMβ5:00 PM is not.
Break Duration from 0 to 120 minutes, in steps of 5. The break is scheduled inside the route.
Start Location and End Location selected from the address suggestions. Use Same as start location when appropriate.
If you change address text, select a valid suggestion again so the coordinates match. Click Save to keep the changes or Cancel to discard them. Route-setting changes require a reoptimization.
The route's delete control is available while the planner is editable. The planner must keep at least one route. More options (β―) β Delete removes the whole day's planner.
The Map and Timeline
The timeline shows one lane per route with job blocks, travel gaps, breaks, and start and end markers. Use a job's focus-on-map control to find its location.
Use the fullscreen control on the timeline to hide the map and expand the schedule, then use the restore control to show both again. On smaller screens the timeline scrolls horizontally within its panel.
Dispatching Routes
Review the assigned jobs, the timeline, the unassigned work, and any warnings.
If a settings change requires a reoptimization, complete that first. Dispatch stays disabled until you do.
Click Dispatch and read the confirmation, which names the number of jobs, the number of routes, and the date.
Confirm to create the calendar events.

Expected result: each assigned job gets a calendar event with its planned start, service duration, and route members, and its status changes to Scheduled. The planner shows Dispatched and the planning controls become unavailable.
Dispatch validates the plan again. It rejects invalid job eligibility, addresses, skills, timing, service-start windows, work extending outside the shift, or a route returning after the shift ends. It also rejects a plan where the same job appears on more than one route.
Unassigned pool jobs are not scheduled. They are released from this planner when you dispatch, so they can be considered for another day. New candidates alone never block a dispatch.
Dispatching a past date is allowed. The confirmation says how old the date is and warns that the calendar events will be created in the past.
Canceling a dispatch
Use Cancel Routes and confirm to cancel the whole day's planner dispatch. Forz removes the calendar events that dispatch created and returns the affected jobs to Unscheduled.
Expected result: the Dispatched badge disappears, the calendar events are gone, and the planning controls come back. The route plan and its assignments remain available for review and replanning.
Cancellation affects every route in that dispatch, not just the route you have selected. Review any work already underway before canceling.
Route Planner Settings
The gear icon in the planner toolbar opens Route Templates and User Skills. Templates populate newly created daily planners; changing a template does not rewrite a daily planner that already exists.
The default job duration is separate: set Default Job Duration (Minutes) under Settings β Route Planner. Forz uses it for any job whose Dispatch Info has no duration of its own, and falls back to 15 minutes when the setting is blank. See Route Planner settings for setup details.
Permissions
Route Planner permissions are set per role under Settings β Custom Roles, and they only take effect when the Route Planner module is enabled.
View List β show the Route Planner item in the sidebar and reach the Route Planner settings pages. Without it, the planner has no sidebar entry even when View is granted.
View β open a date's planner, browse candidates, and search jobs.
Edit β every change to a plan: adding jobs, assigning, moving, reordering, removing, locking, optimizing, dispatching, canceling a dispatch, and deleting a route or the day's planner.
A user with View but not Edit sees the board read-only, and the selection bar explains that adding is unavailable.
Known limitation
When the optimizer cannot place a job, it does not always say why. Those jobs show In the plan, not routed yet instead of a reason. Check the job's required skills, service duration, and time window against the route's members and shift, then reoptimize.
Troubleshooting
A job is missing: check that it is Unscheduled and routable, that no other planner owns it, and check its schedule date, weekday restrictions, and your active filters. Invalid coordinates prevent adding or assigning it.
A visible job was not optimized: add it to the plan first.
A job stays unassigned: inspect skills, service duration, time window, route capacity, and transport mode.
A yellow warning appears next to the toolbar buttons: some candidate jobs need skills that no route can supply. Add a member with those skills to a route, or clear the skill on the job's Dispatch Info, before you optimize.
A red warning replaces the toolbar buttons: one or more routes have no valid start or end coordinates. Edit the route and reselect its addresses from the suggestions.
Reoptimize is disabled: unlock at least one route and make sure the planner is neither processing nor dispatched.
Dispatch is missing or disabled: the button appears only once the plan has assigned stops, and it greys out while a settings change is waiting for a reoptimization. Assign work to a route, then reoptimize if the warning is showing.
An address or shift is rejected: reselect the address suggestion and check the 1β20 whole-hour shift and 0β120-minute break rules, and that the break is a multiple of 5.
A save says the plan changed: refresh, review the latest plan, and reapply the intended edit.
Optimization fails or stays processing: review the error shown, refresh for the latest state, and contact support with the planner date if it persists.
Related guides: Smart Dispatch and Map View.
Was this helpful?
More in Scheduling & Dispatch
CalendarStill need help? Ask the team