How the Scheduler Works
Understanding how *blinkpilot* finds optimal time slots for your work
This guide explains how blinkpilot's smart scheduler finds the best available time slots for your work segments.
How Scheduling Works
When you need to schedule a work segment, the scheduler:
- Analyzes the assignee's calendar for available time
- Checks constraints like working hours, breaks, and existing work
- Calculates travel times to and from the job location
- Validates working hour limits to prevent overloading
- Ranks options by efficiency and presents the best choices
The Timeblock System
The scheduler divides each day into 96 timeblocks of 15 minutes each:
| Timeblock | Time |
|---|---|
| 0 | 00:00 |
| 32 | 08:00 |
| 48 | 12:00 |
| 68 | 17:00 |
| 95 | 23:45 |
This allows precise scheduling in 15-minute increments.
What the Scheduler Checks
1. Working Hours
The assignee's working schedule defines when they're available:
- Start and end times for each day
- Which days they work (e.g., Monday-Friday)
- Maximum hours per day
2. Existing Work
The scheduler prevents double-booking by checking:
- Already scheduled tasks
- Time needed for travel between jobs
- Required break periods
3. Absences
Any recorded absences block scheduling:
- Vacation days
- Sick leave
- Other time off
4. Equipment Availability
If the job requires equipment:
- Checks if equipment is available at the proposed time
- Considers equipment quantity (need 2 units but only 1 free? Blocked)
5. Dependent Tasks
If this segment depends on a previous segment:
- Cannot start before the dependency is complete
- Scheduler only shows slots after the dependency end time
Travel Time Calculation
The scheduler calculates realistic travel times:
Travel From Previous Location
- First job of the day: Travel from company base
- Subsequent jobs: Travel from the previous customer location
Travel To Next Location
- For the last job: Travel back to base is included in workload calculation
Note: Travel times use geographic coordinates and typical driving speeds. Real-time traffic is not factored in.
Working Hours Validation
The scheduler respects daily working hour limits:
Regular Hours
- Based on the assignee's working schedule (e.g., 8 hours)
- Includes execution time AND travel time
Overtime Allowance
- If configured, slots slightly exceeding regular hours may appear
- These are marked with an overtime indicator
- Shows utilization percentage (e.g., 105%)
What Counts Toward Daily Hours
| Activity | Counts? |
|---|---|
| Execution time | Yes |
| Travel to job | Yes |
| Travel between jobs | Yes |
| Travel back to base | Yes |
| Breaks | No |
How Slots Are Ranked
Each slot receives a cost score - lower is better.
Factors Affecting Cost
| Factor | Effect |
|---|---|
| Date proximity | Earlier dates score better |
| Geographic clustering | Jobs near other work that day score better |
| Work type grouping | Similar work types grouped together score better |
The slot with the lowest cost is marked as Best.
What Makes a Slot Unavailable
A time slot won't appear if:
- Outside working hours
- Overlaps with existing work
- During an absence
- Required equipment is unavailable
- Would exceed daily hour limit
- Before a dependent task completes
Output: Multiple Options
The scheduler typically provides multiple slot options:
- Best option - Lowest cost score, recommended
- Alternative options - Other valid choices
- Each shows: time, date, travel time, and total duration
You choose which slot works best for your situation.
Limitations
The scheduler cannot:
- Schedule without a valid customer address
- Override hard constraints (working hours, absences)
- Predict real-time traffic conditions
- Schedule during equipment maintenance periods