I vincoli prima del punteggio

La pianificazione tiene conto delle competenze, delle zone postali, degli orari, delle indisponibilità e delle distanze dei tecnici. Alcune regole sono eliminatorie: un’assegnazione incompatibile, sovrapposta a un altro appuntamento o fuori dal raggio d’intervento del tecnico viene rifiutata.

Per i candidati rimanenti, i suggerimenti mostrano un punteggio e motivazioni leggibili. Il dispatcher vede perché viene proposto un tecnico, non solo quale.

Assegnazione automatica, a determinate condizioni

Un intervento pianificato su una fascia oraria completa può essere assegnato automaticamente. FieldFlow sceglie il miglior candidato solo se il suo punteggio raggiunge la soglia configurata, poi riconvalida tutti i vincoli sotto lock prima di registrare l’assegnazione.

Ogni esecuzione conserva il risultato, il candidato, il punteggio, il carico, la distanza, il tempo di percorrenza stimato, le spiegazioni e l’autore. Se nessun candidato è abbastanza sicuro, non viene forzato nulla: il motivo resta visibile nello storico.

Anteprima, poi applicazione

Il dispatcher può preparare un lotto di massimo 200 interventi. L’anteprima viene salvata senza toccare la pianificazione e fissa, per ogni intervento, il tecnico proposto, il suo punteggio e le spiegazioni.

L’applicazione richiede una seconda chiamata esplicita. La proposta viene ricalcolata e deve restare l’opzione migliore; se nel frattempo le condizioni sono cambiate, l’intervento viene saltato e si richiede una nuova anteprima. L’applicazione di un lotto è:

  • transazionale: tutto il lotto o niente;
  • con lock: due dispatcher non possono applicarlo contemporaneamente;
  • idempotente: ripetere la richiesta non crea duplicati.

Ottimizzare il percorso di una giornata

Per un tecnico e una giornata, FieldFlow mostra in anteprima un percorso da 2 a 50 interventi già assegnati. Il motore parte dal deposito, costruisce un primo ordine di visita con la ricerca del vicino più prossimo, poi lo migliora con l’euristica 2-opt, che inverte tratti del percorso finché la distanza totale diminuisce.

La durata di ogni intervento viene mantenuta e vengono proposti nuovi orari consecutivi. Il motore confronta la distanza con la pianificazione attuale, rientro al deposito compreso, e indica se il percorso rientra negli orari del tecnico. Nulla si sposta senza convalida: l’applicazione rifiuta un calcolo obsoleto, un conflitto, un’assenza o orari diventati incompatibili, poi ripianifica, avvisa i clienti e pubblica le modifiche in tempo reale.

Distanze stimate, e dichiarate come tali

Ogni sito ha una latitudine e una longitudine, ogni tecnico una posizione di partenza e un raggio massimo. La distanza è calcolata in linea d’aria con la formula di Haversine, poi maggiorata per stimare il tragitto. È volutamente semplice e deterministico: la stessa pianificazione dà sempre lo stesso risultato.