Jak AI planuje trasę dnia i kolejność wizyt dla technika, handlowca i ekipy w terenie?
AI wyciąga adresy ze zleceń, zamienia je na współrzędne i układa technikowi gotową trasę na dzień z uwzględnieniem okien czasowych i szacowanego czasu wizyt.
AI może przejąć całe planowanie kolejności wizyt w terenie. Wyciąga adresy ze zleceń serwisowych, zamówień albo kart klienta w CRM, zamienia je na współrzędne geograficzne, pobiera rzeczywiste czasy przejazdu i układa technikowi, handlowcowi albo ekipie montażowej gotową trasę na dany dzień, z uwzględnieniem okien czasowych i szacowanego czasu każdej wizyty. To nie wymaga przepisywania firmy od nowa: wystarczy połączenie z istniejącą bazą danych i silnikiem routingu, który może działać na własnym serwerze, bez wysyłania adresów klientów na zewnątrz.
Skąd AI bierze dane i jak zamienia adresy na trasę?
Każdy system pracy w terenie ma gdzieś adres. W zleceniu serwisowym to pole Adres obiektu. W zamówieniu dostawy to Adres dostawy z datą i ewentualnym oknem czasowym. W CRM to karta kontrahenta z ulicą, kodem pocztowym i czasem notatką "czynni od 8, ostatni wjazd 14:30". AI zaczyna od wyciągnięcia tych danych, niezależnie od tego, czy siedzą w systemie ERP, w dedykowanym systemie serwisowym, w arkuszu Excela, czy trafiły mailem i jeszcze czekają na przepisanie.
Potem geokodowanie. Adres tekstowy "ul. Przemysłowa 18, 44-100 Gliwice" trzeba zamienić na parę współrzędnych, bo algorytm routingu nie rozumie nazw ulic. Ten krok przebiega w tle, ale to właśnie tutaj dane opuszczają firmę, jeśli korzysta się z zewnętrznego API. Więcej o tym, jak to obejść, w osobnej sekcji poniżej.
Po geokodowaniu AI buduje macierz czasów przejazdu: ile minut z punktu A do B, z B do C, z A do C i tak dla każdej pary adresów na liście danego dnia. Nie "w linii prostej". Silnik routingu przejeżdża wirtualnie każdą trasę, uwzględniając klasy dróg, ograniczenia prędkości i ulice jednokierunkowe. Z tej macierzy AI układa kolejność, która skraca łączny czas jazdy.
Typowo wygląda to tak, że dyspozytor dostaje rano propozycję trasy z orientacyjnymi godzinami przy każdym zleceniu. Widzi, że technik jedzie z Gliwic przez Zabrze do Bytomia, a nie z Gliwic do Bytomia i z powrotem do Zabrza. Zatwierdza jednym kliknięciem albo przestawia jedną wizytę, jeśli coś się zmieniło po nocy. Cały przegląd zajmuje mu kilka minut.
Okna czasowe, priorytety i długość wizyty: co naprawdę ogranicza trasę
Sama kolejność geograficzna to za mało. Klient A jest dostępny tylko przed południem, klient B dopiero od 14, awaria u klienta C musi być pierwsza niezależnie od tego, gdzie leży na mapie. AI bierze pod uwagę te ograniczenia jako twarde reguły, nie sugestie.
Konkretne pola, z których AI czyta ograniczenia:
- Okno czasowe klienta: pole "Dostępność klienta" albo "Okno dostawy" w zleceniu, wpisane jako zakres godzin, np. 8:00-12:00
- Szacowany czas wizyty: "1h", "2h", "pół dnia" w zleceniu serwisowym. Bez tego AI może ułożyć trasę geograficznie sensowną, ale nie policzy, czy wszystko zmieści się w dzień roboczy
- Priorytet zlecenia: awaria z polem "Pilność: wysoka" wchodzi do trasy przed planowymi przeglądami, nawet jeśli geograficznie to objazd o kilkanaście kilometrów
- Punkt startowy i baza: czy technik jedzie z domu, z magazynu firmy w centrum, czy na koniec dnia wraca do bazy
Jeden z klientów obsługujących klimatyzacje przemysłowe opisał to tak: wcześniej kierownik serwisu siadał każdego poniedziałku rano i przez godzinę rozdzielał zlecenia między techników, patrząc na mapę na ścianie i karteczki z poprzedniego tygodnia. Teraz AI przygotowuje propozycję planu na cały tydzień w kilka minut, on przegląda i poprawia to, co widzi inaczej niż algorytm, bo zna klientów z doświadczenia. Różnica jest taka, że teraz poprawia kilka pozycji, a nie buduje plan od zera.
Warto zwrócić uwagę na jeden punkt: im dokładniej wypełniane jest pole "Szacowany czas wizyty" przy tworzeniu zlecenia, tym lepsza jest propozycja trasy. Nawet przybliżona wartość "2h" jest lepsza niż puste pole. Bez tego AI może ułożyć trzy zlecenia po osiem godzin każde w jeden dzień roboczy i nie zobaczyć problemu.
Jak AI liczy realny koszt dojazdu przy wycenie zlecenia
To zastosowanie, które firmy odkrywają zwykle po kilku tygodniach, ale szybko staje się jednym z bardziej przydatnych. Handlowiec albo koordynator wycenia zlecenie serwisowe dla nowego klienta "gdzieś pod Wrocławiem". W wycenie jest wiersz "dojazd", który ktoś wpisuje z głowy albo ryczałtem: "wyjazd poza miasto: 150 zł". AI może to liczyć precyzyjnie.
Podajesz adres z zapytania ofertowego. AI pobiera czas dojazdu z bazy firmy i odległość w kilometrach. Jeśli w wycenie obowiązuje stawka za kilometr albo za godzinę dojazdu technika, przeliczenie dzieje się od razu. Zamiast ryczałtu firma dostaje rzeczywistą wartość, którą może uzasadnić klientowi i która nie powoduje, że jeden wyjazd "pod Wrocław" raz to 40 minut, a raz dwie godziny w zależności od tego, kto liczy.
Ale jest też drugi, mniej oczywisty rachunek: czy to zlecenie da się połączyć z czymś w tym rejonie? AI może sprawdzić, czy w tym tygodniu są inne otwarte zlecenia w pobliżu tego adresu. Jeśli tak, dojazd rozkłada się na dwa, koszt na wizytę spada. Jeśli nie, cena jednorazowego wyjazdu jest inna i firma to wie zanim wyśle ofertę. Koordynator dostaje informację: "Przy tym zleceniu nie ma innych wizyt w pobliżu w tym tygodniu. Dojazd w jedną stronę: 78 km, ok. 1h 10 min."
Odwołana wizyta i dzień nie do wykonania: kiedy AI mówi to wprost
Technik jedzie do trzeciego klienta z listy, a o 9:30 przychodzi SMS: klient prosi o przełożenie. Klasyczna sytuacja. Dyspozytor szuka, kto jest blisko, czy coś nieprzydzielonego leży na tej trasie, dzwoni do technika. Zajmuje to od kwadransa wzwyż.
AI przelicza trasę od razu, od aktualnej pozycji technika. Wie, ile ma jeszcze zleceń, które nieprzydzielone zlecenia leżą w okolicy i które z nich mają okno czasowe zgodne z resztą dnia. Proponuje nowy układ. Dyspozytor zatwierdza albo modyfikuje jedną pozycję i wysyła technikowi. Cały proces: minuta, nie kwadrans.
Ważniejszy jest jednak sygnał wyprzedzający. AI może powiedzieć zanim ktokolwiek wyjedzie, że lista zleceń na dany dzień nie zmieści się w osiem godzin. To nie jest ocena z sufitu. AI zna szacowane czasy wizyt, czasy przejazdu między adresami i okna dostępności klientów. Suma tych wartości albo mieści się w dniu roboczym, albo nie. Jeśli nie, dyspozytor dostaje ostrzeżenie rano, przy planowaniu, a nie o 17:00 gdy technik dzwoni, że jeszcze ma trzy punkty do odwiedzenia.
W firmach dostawczych, gdzie kierowca ma piętnaście do dwudziestu przystanków dziennie, to ostrzeżenie jest jeszcze cenniejsze. Zmiana kolejności po jednym odwołaniu może zaoszczędzić kilkadziesiąt minut, albo pozwolić dorzucić zlecenie, które inaczej poszłoby następnego dnia. Ale to działa tylko wtedy, gdy plan był na początku realny. AI sprawdza to zanim wycofa się samochód z parkingu.
Adresy klientów bez Google: geokodowanie i routing na własnym serwerze
Każde zapytanie o trasę to dane: adresy klientów, częstotliwość wizyt, co w jakim rejonie, kiedy. Standardowe API: Google Maps, HERE, Bing. Działają świetnie, ale adres klienta wędruje na serwery zewnętrzne. Dla większości firm to akceptowalne. Dla tych, które obsługują zakłady przemysłowe, klientów z wymogami poufności albo po prostu chcą mieć pewność, że dane nie opuszczają firmy, to jest problem do rozwiązania inaczej.
Mapy mogą stać na własnym serwerze. Dane mapowe to OpenStreetMap: otwarte, darmowe, do pobrania dla całej Polski albo wybranego regionu. Na tych danych działają lokalne silniki routingu:
- OSRM (Open Source Routing Machine): szybki, sprawdzony na produkcji, liczy czasy przejazdu dla setek par punktów w ułamki sekund
- Valhalla: bardziej elastyczny, obsługuje różne tryby transportu i dodatkowe parametry trasy, np. unikanie autostrad albo preferowanie dróg o określonej nośności
Geokodowanie, czyli zamiana adresu "ul. Miodowa 4, Kraków" na współrzędne, robi lokalnie Nominatim albo Pelias. Żaden adres nie wychodzi poza serwer.
Nakład na postawienie tego jest większy niż wklejenie klucza API do Google, ale jest jednorazowy. Firma dostaje routing, który działa bez dostępu do internetu, bez limitów zapytań i bez kosztów zależnych od wolumenu. Przy kilkudziesięciu technikach i kilkuset zapytaniach routingowych dziennie to przestaje być wyłącznie kwestia zgodności z RODO, a staje się też argumentem operacyjnym.
Dane OpenStreetMap dla Polski są bardzo dokładne w miastach i wzdłuż głównych tras. W niektórych rejonach boczne drogi i nowe osiedla mogą być gorzej pokryte. Można uzupełniać bazę, jeśli firma obsługuje specyficzne rejony z nieaktualnymi danymi.
Od czego zaczynamy: pierwsze kroki integracji
Najczęściej od jednego pytania: skąd AI ma brać adresy i co ma robić z wynikiem? Tu każda firma ma inną odpowiedź.
Jeśli zlecenia są w systemie ERP albo serwisowym z polami "Adres obiektu" i "Planowana data wizyty", integracja polega na podłączeniu się do tej bazy. Jeśli są w Excelu, zaczynamy od zebrania ich w jedno miejsce. Jeśli trafiają mailem i jeszcze nie trafiły do systemu, AI może wyciągać adresy z treści maili przed etapem planowania.
Drugi krok to decyzja o routingu. Zewnętrzne API czy własny serwer? Dla firmy z kilkoma technikami i kilkudziesięcioma zleceniami tygodniowo zewnętrzne API w zupełności wystarczy. Dla firmy z trzydziestoma technikami i klientami z wymogami poufności własny serwer jest od razu rozsądniejszy. Tę decyzję podejmuje się raz.
Trzeci krok: co AI ma robić z wynikiem? Możliwości są różne. Wyświetlić sugerowaną kolejność w panelu dyspozytora. Wpisać ją do karty pracy technika. Wysłać powiadomienie do technika na telefon przed wyjazdem. Pokazać ostrzeżenie, gdy dzień jest nierealistyczny. Każda firma ma inny przepływ i integracja musi to uwzględnić.
Kilka firm, z którymi pracowaliśmy, zaczęło od prostego wariantu: AI dostaje listę zleceń na dany dzień dla danego technika i zwraca kolejność z orientacyjnymi godzinami. Dyspozytor widzi to rano, sprawdza, zatwierdza albo przestawia jedną pozycję i wysyła do technika. Dopiero po kilku tygodniach dochodziły kolejne funkcje: przeliczenie trasy po odwołaniu, sygnał o dniu przeładowanym, liczenie czasu dojazdu w wycenie. Nie dlatego, że technologia tego nie mogła od razu, ale dlatego, że firma potrzebowała czasu, żeby zobaczyć, gdzie AI pomaga najbardziej.
Jeśli Twoja firma wysyła ludzi w teren i planowanie trasy to codziennie kilkanaście albo kilkadziesiąt minut przy biurku, umów się na 15 minut rozmowy. Pokażemy, jak to wygląda konkretnie na Waszych danych i Waszym systemie. Możesz też sprawdzić realne wdrożenia, żeby zobaczyć, jak integrację przeprowadziliśmy u innych firm serwisowych i dostaw.
Najczęstsze pytania
Czy AI może samodzielnie ułożyć trasę dla technika serwisowego?
Tak. AI wyciąga adresy ze zleceń, zamienia je na współrzędne, pobiera rzeczywiste czasy przejazdu i układa kolejność wizyt z uwzględnieniem okien czasowych klientów i szacowanego czasu każdej wizyty. Dyspozytor dostaje gotową propozycję, którą zatwierdza lub ręcznie koryguje.
Czy adresy klientów muszą trafić do Google albo innej zewnętrznej usługi mapowej?
Nie muszą. Silniki routingu takie jak OSRM i Valhalla działają na własnym serwerze firmy lub na serwerze redAi, bez wysyłania adresów poza firmę. To ważne dla firm obsługujących klientów z wymogami poufności.
Jak AI wie, że danego dnia nie da się wykonać wszystkich zleceń?
AI zna szacowane czasy wizyt, czasy przejazdu między adresami i okna dostępności klientów. Gdy suma tych wartości nie mieści się w dniu roboczym, sygnalizuje to przed wyjazdem, a nie o 17:00 gdy technik dzwoni, że jeszcze ma trzy zlecenia.
Czy to działa dla handlowca z CRM, czy tylko dla firm serwisowych?
Działa wszędzie tam, gdzie pracownicy jeżdżą do wielu adresów w ciągu dnia: serwis, dostawy, handlowcy w terenie, ekipy montażowe. Dane mogą pochodzić z CRM, ERP, systemu serwisowego albo nawet z pliku Excela.
Co się dzieje, gdy klient odwoła wizytę w trakcie dnia?
AI przelicza trasę od aktualnej pozycji technika. Sprawdza, które nieprzydzielone zlecenia leżą w pobliżu i proponuje nowy układ bez marnowania czasu na zbędny powrót albo objazd.
Opracowanie: zespół redAi z wykorzystaniem narzędzi AI.
Chcecie sprawdzić, jak AI rozwiąże to u Was?
15 minut rozmowy o tym, na czym pracujecie i gdzie robota grzęźnie. Na koniec wiecie, co da się zrobić.
Umówcie 15 minut rozmowy