The Knight

Fewer vans.
Shorter days.

The same deliveries, driven in less time, with less fuel and fewer vehicles.
Home bases and colour-coded technician routes drawn over central Ghent on the live dark map
09:0010:0011:0012:0013:00NOW 10:22
Ellas Van Dammedrive 1h 25m
09:10 Heat-pump check
10:20 Thermostat install
Lunch
11:55 Boiler service
Sofie Maesdrive 1h 15m
09:25 Gas safety check
10:40 Radiator swap
11:40 Aircon service
Lunch
TECHNICIANS
07:0008:0009:0010:0011:0012:0013:0014:0015:00NOW 10:22
Ellas Van Damme
07:00-16:00 · work 6h · drive 1h 25m
07:05 Water heater
08:00 EV charger fit
09:10 Heat-pump check
10:20 Thermostat install
Lunch
11:55 Boiler service
13:05 Radiator swap
14:15 Leak inspection
Sofie Maes
07:00-16:00 · work 6h 10m · drive 1h 15m
+22m OT
07:10 Boiler service
08:20 Ventilation clean
09:25 Gas safety check
10:40 Radiator swap
11:40 Aircon service
Lunch
13:10 Leak inspection
14:20 Filter change
Milan De Clercq
07:00-16:00 · work 6h · drive 1h 20m
07:05 Meter replacement
08:10 EV charger fit
09:20 Solar inverter swap
10:25 Heat-pump check
11:20 Filter change
Lunch
12:25 Boiler install
13:40 Water heater
Nora Peeters
07:00-16:00 · work 6h · drive 1h 15m
07:05 Aircon service
08:15 Thermostat install
09:20 Water heater
10:35 Gas safety check
11:40 Filter change
Lunch
12:40 Boiler service
13:50 EV charger fit

The plan updates as the day changes.

When a visit runs long, a driver reports sick or an emergency comes in, the engine runs a short repair solve from the current time. Finished and in-progress work stays fixed, the remainder of the day is re-planned in seconds, and technicians see the updated plan on their phone.

Live feedNOW 10:22
08:41 · Visit extended +30mEllas Van Damme · boiler worse than expected, rest of route retimed
09:06 · Sick reportTom Verlinden off sick · dispatch ends his shift, 6 visits re-planned in 2.1s
09:32 · Customer not homeMeter replacement · dropped, follow-up queued for tomorrow
10:02 · Emergency bookedLeak · Studio 9, slotted to Milan at 11:40
10:22 · Job handed overRadiator swap · Sofie passes it to Nora, both routes retimed

Events trigger a repair solve

A no show, an extended visit, an emergency booking or a sick report each triggers a repair solve from the current time. The feed shows what changed: visits added, reassigned, retimed or dropped.

Completed work is never touched

Everything before the current time is locked: completed visits and the job a driver is already en route to. A re-solve only changes what is still open.

Status updates from the field

Technicians mark a job done, extend it by 30 or 60 minutes, flag a customer not home, or hand a job to a colleague. Ending a shift for a sick driver is a dispatch action; the remaining visits are re-planned onto others.

Slot search for new bookings

Search an address or add an urgent job and get a ranked list of slots, each showing the added travel, overtime and the visits it moves. Infeasible slots state the reason: a missing skill, a full shift, a closed window.

Manual control over the plan.

The solver proposes a plan; the planner can change any part of it. Visits can be dragged to another technician or time, and appointments that are already agreed can be entered as fixed. The solver plans around those decisions.

Tomorrow’s plan · draft
Drive4h 05m
Distance96 km
Overtime0 min
Unassigned2
TECHNICIANS
07:0008:0009:0010:0011:0012:0013:0014:0015:00
Ellas Van Damme
07:00–16:00 · 6 visits · drive 1h 10m
07:05 Water heater
08:00 EV charger fit
09:10 Heat-pump check
10:20 Thermostat install
Lunch
11:55 Boiler service
13:05 Radiator swap
Sofie Maes
07:00–16:00 · 7 visits · drive 1h 20m
07:10 Boiler service
08:20 Ventilation clean
09:25 Gas safety check
10:40 Radiator swap
11:40 Aircon service
Lunch
13:10 Water heater
14:05 Leak inspection
was 14:05
Milan De Clercq
07:00–16:00 · 6 visits · drive 1h 15m
07:05 Meter replacement
08:10 EV charger fit
09:20 Solar inverter swap
10:25 Heat-pump check
11:20 Filter change
Lunch
drop · 12:15
13:15 Boiler install
12:15 Leak inspection
12:15–13:05 · feasible
+6 min travel · window 10:00–16:00 OK
Unassigned
2 optional visits
45m Aircon check · €90
30m Filter change · €60
Tomorrow’s plan · draft
Drive4h 05m
Overtime0 min
Unassigned2
11:0012:0013:0014:0015:00
Sofie Maes7 visits
11:40 Aircon service
Lunch
13:10 Water heater
was 14:05
Milan De Clercq6 visits
11:20 Filter
Lunch
drop · 12:15
13:15 Boiler install
12:15 Leak inspection
12:15 · feasible · +6 min travel
Unassigned2 optional visits
45m Aircon check · €90

Drag and drop, then pinned

A visit can be dragged to another technician or another time. The move is pinned in place, the route re-times around it, and later re-solves leave it where it was put.

Start from a partial plan

Visits with an agreed time slot or a required technician can be entered as fixed. The solver plans the remaining visits around them.

Pin a visit, a morning or a route

A single visit, the first part of a shift or a whole route can be pinned. Pinned work is left unchanged; the rest is optimised on each solve.

Override any suggestion

The solver proposes a plan; the planner accepts it or changes any part of it and re-solves the rest.

The constraints the engine enforces.

Skills, time windows, breaks, shifts and priorities. A plan that breaks a hard constraint is never proposed.

Heat-pump install · Residence De BleekerSLA 14:00
Window08:00–12:00
Service90 min
PriorityMandatory · P2
RequiresHVAC L3 · F-gas
Depends onMeter check +15m
Milan De Clercq
✓HVAC level 3
✓F-gas certified
✓Window fits · arrives 09:40
✓Coverage · 6 km from base
✓After meter check +15 min
Assigned · start 09:40
Nora Peeters
✓HVAC level 3
✓F-gas certified
✓Window fits · arrives 10:35
✓Coverage · 11 km from base
Feasible · +38 min travel · not selected
Sofie Maes
✓HVAC level 3
✗F-gas certificate missing
✓Window fits
✓Coverage · 4 km from base
Not eligible · certification
Ellas Van Damme
✓HVAC level 3
✓F-gas certified
✓Window fits
✗Outside coverage · 23 km > 15 km
Not eligible · coverage area
Milan De Clercqarrives 09:40 · 6 km from base
Assigned
Nora Peeters+38 min travel · not selected
Feasible
Sofie MaesF-gas certificate missing
Not eligible
Ellas Van Dammeoutside coverage · 23 km
Not eligible

Skills & certifications

Visits can require skills at a minimum level and hard certifications. Faster technicians finish sooner, and the engine avoids assigning an expert to routine work.

Time windows & SLA

Hard windows (with an optional second window), a preferred soft window, a latest start and contractual SLA deadlines are all respected. SLA visits can be scheduled earlier in their window.

Breaks & fixed appointments

A floating lunch is placed inside its allowed window; fixed appointments are immovable blocks. Service never overlaps a break.

Shifts, overtime & coverage

Shift start and end, an overtime policy that’s discouraged with an allowance or disallowed outright, a cap on visits and travel per shift, and a coverage radius around each home base.

Priorities & dependencies

Jobs carry a priority; some are mandatory, some may wait. A visit can depend on another finishing first within a delay window, and multi-technician jobs run on distinct people, starting together, all or nothing.

The objectives are weights you set.

Travel time, waiting, overtime, cost, fairness, SLA and profit are separate weighted objectives. The weights decide the trade-offs the plan makes.

Objectivesweights
Travel0.82
Shift cost0.68
Fairness0.55
SLA0.74
Overtime0.40
Visit profit0.30
Re-solve · score −46hard / −61.7k soft

Shift costs

Employees carry a day rate plus overtime; contractors an activation fee plus an hourly rate over their working time. An empty route costs nothing, so the plan weighs the euro figure, not just kilometres.

Visit profit on optional work

Optional visits carry a profit. A higher weight pulls more of them in when the detour is worth it; a lower weight protects the core route. Mandatory work is never dropped.

Fairness across the team

A fairness weight balances working time across technicians. Higher for an even day, lower when efficiency matters more.

Per-solve weights

Travel, waiting, overtime, cost, fairness, SLA and profit each have a weight, set per solve. The same day can be re-solved under different priorities without changing the data.

Your own rules can be modelled in.

The constraints above are the standard set. Rules specific to your operation are added to the model as hard or soft constraints with their own weight. The solver treats them like the built-in ones: hard rules are never broken, soft rules are traded off against the rest.

Score analysisper constraint
Time windowsHard0
Skills & certificationsHard0
OvertimeSoft ×10−1 240
Keyholder visits before noonCustomHard0
Apprentice rides with a seniorCustomHard0
Diesel vans avoid the LEZCustomSoft ×5−420

Hard or soft, per rule

A custom rule is either absolute or a weighted preference. Absolute rules are never broken; preferences carry a weight you set per solve.

Scored during the solve

Custom rules are evaluated on every candidate plan while the solver searches, not checked afterwards. A plan that breaks one is never proposed.

Visible in the score

Each rule reports its own contribution, so you can see what it costs the plan, retune its weight or switch it off.

From your wording to a rule

You describe the rule the way your planners state it; it becomes a named constraint in the model.