Constraints before the score
Scheduling takes into account technicians’ skills, postcode areas, working hours, unavailability and distances. Some rules are eliminatory: an incompatible assignment, one that overlaps another appointment or one outside the technician’s service radius is refused.
For the remaining candidates, suggestions show a score and readable reasons. The dispatcher sees why a technician is proposed, not just which one.
Automatic assignment, with conditions
An intervention scheduled on a complete time slot can be assigned automatically. FieldFlow only keeps the best candidate if their score reaches the configured threshold, then revalidates every constraint under lock before writing the assignment.
Each run stores the result, the candidate, the score, the workload, the distance, the estimated travel time, the explanations and the author. If no candidate is safe enough, nothing is forced: the reason stays visible in the history.
Preview, then apply
The dispatcher can prepare a batch of up to 200 interventions. The preview is saved without touching the schedule and freezes, for each intervention, the proposed technician, their score and the explanations.
Applying it takes a second, explicit call. The proposal is recalculated and must still be the best option; if conditions have changed in the meantime, the intervention is skipped and a new preview is requested. Applying a batch is:
- transactional: the whole batch or nothing;
- locked: two dispatchers cannot apply it at the same time;
- idempotent: replaying the request creates no duplicate.
Optimising a day’s route
For one technician and one day, FieldFlow previews a route of 2 to 50 already assigned interventions. The engine starts from the depot, builds a first visiting order with a nearest-neighbour search, then improves it with the 2-opt heuristic, which reverses parts of the route as long as the total distance decreases.
Each intervention keeps its duration and new consecutive times are proposed. The engine compares the distance with the current schedule, including the return to the depot, and shows whether the route fits within the technician’s working hours. Nothing moves without approval: applying it refuses a stale calculation, a conflict, an absence or working hours that no longer fit, then reschedules, notifies customers and publishes the changes in real time.
Estimated distances, and acknowledged as such
Each site has a latitude and a longitude, each technician a starting position and a maximum radius. Distance is computed as the crow flies with the Haversine formula, then increased to estimate the journey. This is deliberately simple and deterministic: the same schedule always gives the same result.


