What Is Route Optimization?
Route optimization in FieldPulse is designed to help dispatchers and operations managers reduce total travel time across their technician fleet. In my experience working with teams of various sizes, this feature becomes particularly valuable once you're managing more than about six active technicians on a given day. The system analyzes all assigned jobs for a date range, factors in technician start locations, job locations, time windows, and estimated job durations, then calculates the most efficient sequence for each technician.
What I typically recommend is thinking of this not as "the shortest path between two points" but rather as "the least overall time spent driving while still meeting all your constraints." This distinction matters because sometimes the mathematically shortest route doesn't account for traffic patterns, customer availability windows, or technician skill requirements.
How the Algorithm Works
FieldPulse uses a variant of the vehicle routing problem (VRP) algorithm with time windows. Here's what that means in practical terms:
- Job Clustering: The system first groups jobs by geographic proximity and technician eligibility. A job requiring certified HVAC work won't be assigned to an electrician, for example.
- Time Window Respect: Customer preference windows (like "morning only" or "after 2 PM") are treated as hard constraints. The optimization will fail rather than violate these.
- Travel Time Estimation: FieldPulse pulls real-time and historical traffic data through its mapping provider. In my experience, these estimates are generally accurate within 10–15% for urban and suburban areas, though rural routes with limited road data can be less predictable.
- Balanced Workload: The algorithm attempts to distribute total job time (travel + work) evenly across available technicians, unless you specifically configure it to prioritize minimal total fleet time.
Configuration Options
Before running optimization, you'll want to configure a few settings. From the Dispatch Board, click Route Optimization in the top toolbar, then Settings.
Optimization Objectives
You can choose what the algorithm prioritizes:
- Minimize Total Drive Time: Best for reducing fuel costs and vehicle wear. May result in uneven daily workloads.
- Balance Technician Hours: Attempts to equalize total time per technician. Useful when you're trying to avoid overtime or evenly distribute demanding work.
- Minimize Total Jobs at Risk: Prioritizes meeting time window commitments. What I typically recommend for teams with strict SLA requirements.
Constraints and Rules
What I've seen teams overlook is the constraint configuration. These settings live in Admin > Scheduling > Route Preferences:
- Maximum Drive Time Between Jobs: Prevents the system from scheduling a 90-minute drive between two jobs. I generally recommend 45–60 minutes for most service businesses.
- Lunch Break Buffer: Inserts a configurable midday gap. Some teams prefer fixed times; others let the system place it optimally.
- Return to Depot: Requires technicians to end routes at a specified location. Useful if vehicles need restocking or if you're tracking vehicle return times.
Running Optimization
Once configured, the actual optimization is straightforward:
- Select the date range you want to optimize. In my experience, trying to optimize more than three days at once produces diminishing returns—conditions change, and you'll likely need to re-run anyway.
- Review the proposed changes. FieldPulse shows you a before/after comparison: total estimated drive time, number of time window conflicts (if any), and per-technician workload.
- Accept, modify, or reject individual assignments. The system presents recommendations, not mandates. You can drag jobs between technicians if you have context the algorithm doesn't.
- Lock the schedule once satisfied. Unlocked optimized routes may shift if new jobs are added.
Important Limitations
I want to be thorough here because these limitations do trip up teams:
- Optimization does not change job assignments across days. If you have too many jobs for Tuesday, the system won't push some to Wednesday. It works within the constraints you've already set.
- Real-time traffic is estimated, not live. The optimization uses historical averages for the time of day. Sudden incidents aren't factored into the initial route, though the mobile app can suggest reroutes.
- Technician familiarity with areas isn't modeled. A technician who knows a neighborhood well may complete jobs faster than estimated. The algorithm treats all equally qualified technicians as interchangeable.
- Customer priority levels beyond time windows aren't considered. VIP customers must be handled through manual scheduling or by setting tighter time windows.
Troubleshooting Common Issues
In my experience, most optimization frustrations stem from configuration rather than the algorithm itself:
- "No valid route found" errors: Usually indicates impossible constraints. Check that your time windows don't overlap impossibly with drive times, and that you have enough technicians assigned to the job pool.
- Routes that seem obviously inefficient: Verify that technician start locations are correct. If a technician's GPS location hasn't updated, the system may assume they're starting from the office.
- Jobs appearing out of priority order: Remember that optimization respects time windows over your internal priority flags. A lower-priority job with a tight morning window may be scheduled before a high-priority job with a flexible afternoon window.
Integration with Other Features
Route optimization connects to several other FieldPulse capabilities. The optimized routes appear on the Dispatch Board and in the mobile app. Estimated arrival times feed into technician arrival notifications sent to customers. And the total drive time estimates can be compared against actuals in technician performance reports.
For teams using the FieldPulse API, optimized route data can be retrieved via the /routes/optimized endpoint for integration with third-party fleet management or payroll systems.
Best Practices from the Field
What I typically recommend to teams getting started:
- Run optimization for the next business day, every afternoon. This gives you time to review and adjust before technicians start.
- Start with "Minimize Total Drive Time" and only move to balancing workloads if you see consistent unevenness.
- Keep a manual override option. Some customers request specific technicians; honor these by locking those assignments before running optimization.
- Review actual vs. estimated drive times monthly. If you're consistently seeing 20%+ variance, your time estimates or address geocoding may need attention.
See also: Using the Dispatch Board, Drag-and-Drop Scheduling, Setting Technician Availability and Work Hours