Schedule Suggestions

Use AI-powered suggestions to find the optimal time slot and technician for a job.

Overview

Schedule Suggestions analyzes technician availability, job proximity, travel time, workload balance, and deadline urgency to recommend the best scheduling options. Forz evaluates up to 14 days of upcoming schedules and returns up to 5 ranked suggestions, each with a score breakdown so dispatchers can make informed decisions.

Before You Begin

Prerequisites:

  1. The Calendar module is enabled (Settings > Modules).

  2. You have the Calendar: View and Events: Create permissions on your role.

  3. The job you want to schedule has status "Unscheduled".

  4. At least one active technician exists in the system.

How Suggestions Work

When you request schedule suggestions for a job, Forz evaluates every active technician and every open time slot across the scheduling window. Each possible slot is scored on five factors:

Factor

Weight

What it measures

Urgency

3

How close the job's due date is. Slots closer to the due date score higher. Jobs without a due date receive a neutral score.

Proximity

3

Distance between the job site and the technician's adjacent appointments. Closer jobs score higher. Initially uses straight-line distance, then refined with actual driving distance.

Gap Fit

3

How well the job duration fills the available gap. A job that fits a gap tightly scores higher than one placed in a large open block, reducing wasted time.

Workload

2

How busy the technician's day already is. Technicians with lighter schedules score higher, helping distribute work evenly.

Familiarity

2

Whether the technician has previously worked for the same customer. Familiar technicians score higher for continuity of service.

The final score is a weighted average of all five factors, expressed as a percentage.

Note: Proximity scoring is initially calculated using straight-line distance (up to 50 km maximum). After ranking, the top suggestions are enriched with actual driving distance and time from Forz's distance matrix service, and scores are recalculated for accuracy.

Scheduling Window

Suggestions search across a date range determined by the job:

  • Start date: the later of the job's schedule date or today.

  • End date: up to 14 days from the start date.

  • Due date constraint: if the job has a due date, the search window ends at the due date (or 14 days, whichever comes first).

  • Weekday filtering: if the job specifies allowed weekdays, only those days are considered.

Eligible Technicians

Not every technician is evaluated for every job:

  • Only active users are considered.

  • If the job requires specific skills, only technicians whose skill set includes all required skills are eligible.

  • If no skills are required, all active users are evaluated.

Time Windows and Gap Detection

Forz looks for open gaps in each technician's schedule within the configured time window:

  • Default time window: 8:00 AM to 5:00 PM.

  • Custom time windows: if the job has route planner time windows configured (per day of week), those windows are used instead. A specific day-of-week window takes priority over an "Any Day" window.

Within each time window, Forz identifies gaps between existing events. For larger gaps, multiple slot positions are evaluated:

  • Small gap (fits one job duration): one slot at the start of the gap

  • Medium gap (fits two job durations): early and late positions

  • Large gap (fits three or more): early, middle, and late positions

Tip: Job duration is determined in this order: (1) the explicit duration set in the job's dispatch info, (2) the historical median duration for this job type based on past completed events, or (3) a 30-minute default. Set accurate durations on jobs for better suggestions.

Requesting Suggestions

Generating suggestions

  1. Open the job you want to schedule.

  1. Click the Schedule Suggestions button in the scheduling section.

  1. Forz analyzes technician availability and returns up to 5 ranked suggestions.

Expected result: A list of suggestions appears, each showing the recommended technician, date, time slot, overall score, and a breakdown of the five scoring factors.

Reviewing a suggestion

Each suggestion card displays:

  • Technician name and the suggested date and time.

  • Score as a percentage (higher is better).

  • Score breakdown for urgency, proximity, gap fit, workload, and familiarity.

  • Travel data (when available), driving distance and estimated travel time from the previous appointment and to the next appointment.

Accepting a suggestion

  1. Review the suggestions and select the one that best fits your needs.

  2. Click Accept (or the equivalent action button) on the chosen suggestion.

  3. Forz creates a calendar event for the job at the suggested time, assigned to the recommended technician.

Expected result: The job is scheduled on the calendar at the suggested time and assigned to the recommended technician. The job status updates from "Unscheduled" to the next status in your workflow.

Common Scenarios

Scheduling a next-day appliance repair

A customer reports a broken dishwasher and needs service within 48 hours. The dispatcher opens the job (due date set to tomorrow) and clicks Schedule Suggestions. Because the due date is tomorrow, urgency scores are high for tomorrow's slots. The top suggestion recommends a technician who has a gap between two nearby appointments and has serviced this customer before.

Balancing workload across a team

A dispatcher has 8 unscheduled HVAC maintenance jobs for the week. By requesting suggestions for each job one at a time, the workload factor gradually shifts recommendations away from already-busy technicians toward those with lighter schedules, helping distribute work evenly across the team.

Matching skills for a specialized fire alarm inspection

A fire alarm inspection requires a technician with "Fire Alarm Level 2" certification. When suggestions are generated, Forz automatically filters to only technicians who have that skill in their profile, preventing unqualified assignments.

Troubleshooting

Problem

Solution

No suggestions are returned

The job must have status "Unscheduled." Verify at least one active technician exists. If the job requires skills, confirm at least one technician has the matching skills.

All suggestions show low proximity scores

Ensure the job's service address is geocoded (has latitude and longitude). Also verify that adjacent events have location data.

Suggestions only appear for one day

Check the job's due date. If the due date is today or tomorrow, the search window is constrained. Remove or extend the due date for a wider range.

Travel time data is missing on suggestions

Travel time requires both the job site and adjacent event locations to have coordinates. The distance matrix service must also be available.

Suggestions recommend the wrong duration

Check the job's dispatch info for the duration setting. If not set, Forz uses the historical median for the job type. Set an explicit duration for accuracy.