Program do zarządzania transportem i dzień zespołu dyspozytorskiego

Dzień w dyspozycji transportowej ma stały rytm, niezależnie od liczby pojazdów. Rano trzeba przyjąć i uporządkować zlecenia, w ciągu dnia utrzymać plan mimo zmian, a po dostawach zamknąć sprawy dokumentami. Program do zarządzania transportem ma sens wtedy, gdy każda z tych faz zostawia w systemie ślad, z którego korzysta następna.

Opis producenta Linkway zakłada jedną bazę zleceń. Dyspozytor przyjmuje w niej zlecenia, przypisuje je do pojazdów i kierowców oraz śledzi ich status w czasie rzeczywistym. Ten artykuł pokazuje, jak wygląda dzień całego zespołu, a nie pojedynczego spedytora, i co zmienia się względem pracy na papierze.

FazaPora dnia (przykład)Co prowadzi programWynik
Zleceniepoczątek zmianyrejestr nowych zleceń ze statusemlista zleceń do przydziału
Przydziałprzed południemrezerwacja pojazdu i kierowcyzlecenie w statusie przydzielonym
Monitorowaniew ciągu dniapozycje GPS i potwierdzenia etapówaktualny status oraz ETA
Dokumentypo dostawiedokumenty od kierowcy i rozliczeniezlecenie gotowe do faktury

Reguła: każda faza kończy się zmianą statusu w systemie, a nie ustaleniem przez telefon, które istnieje tylko w pamięci rozmówców.

Początek zmiany - przyjęcie zleceń i plan dnia

Przy pracy na papierze i w arkuszach zlecenia przychodzą różnymi kanałami. Część ma postać maila, część jest przyjmowana telefonicznie, a część wraca z poprzedniej zmiany jako notatka. Pierwszą godzinę pochłania zebranie tego w jedną listę, zanim ktokolwiek zacznie planować.

Program zastępuje ten krok wspólnym rejestrem. Nowe zlecenie ma status początkowy i widoczne braki w danych, więc dyspozytor uzupełnia je od razu, zamiast odkrywać przy załadunku. Zlecenie bez wymaganych pól nie przechodzi do przydziału.

  • Punkty trasy - adres załadunku i rozładunku z oknem czasowym każdego z nich.
  • Ładunek - masa i liczba jednostek, od których zależy dobór pojazdu.
  • Wymagania - typ zabudowy lub uprawnienia kierowcy przy ładunkach szczególnych.
  • Zleceniodawca - identyfikator klienta i numer zamówienia z jego systemu.
Tablet z kalendarzem transportów stojący na posadzce magazynu, w tle regały i ciężarówka
Plan dnia w widoku kalendarza: zlecenia ułożone w czasie przed przydziałem pojazdów.

Po uzupełnieniu danych zespół ustala kolejność. Pilne zlecenia i te z wąskim oknem rozładunku idą pierwsze, bo ich opóźnienie kosztuje najwięcej. Rezerwacje pojazdu i kierowcy w osi czasu opisuje artykuł o kalendarzu dla firmy transportowej.

Przydział pojazdów i kierowców przez kilka osób jednocześnie

Przy większej flocie planowanie prowadzi kilka osób jednocześnie. Zgromadzenie ich w jednym programie rozwiązuje problem rozproszonych notatek, ale tworzy nowy: dwie osoby mogą w tej samej minucie przydzielić ten sam pojazd do różnych ładunków.

Podział zakresów bez utraty widoku planu

Przypisanie dyspozytorom regionów albo grup pojazdów porządkuje pracę, ale nie może odbierać wglądu w całość. Pojazd wracający z jednego regionu bywa najlepszym rozwiązaniem dla zlecenia z innego. Zakres ustala więc, kto edytuje rekord, a nie kto go widzi.

Blokada przydziału w bazie

Zapobieganie podwójnemu przydziałowi należy do bazy, a nie do uważności użytkowników. Transakcja blokuje wiersz pojazdu. Następnie sprawdza kolizje, a dopiero potem zapisuje przydział. Druga osoba, która próbuje w tym samym czasie, czeka na zwolnienie blokady i widzi już gotowy wynik. Nazwy tabel w przykładzie są poglądowe.

BEGIN TRANSACTION;

SELECT PojazdId
FROM   dbo.Pojazd WITH (UPDLOCK, ROWLOCK)
WHERE  PojazdId = @PojazdId;

IF EXISTS (SELECT 1 FROM dbo.PrzydzialPojazdu
           WHERE PojazdId = @PojazdId
             AND Poczatek < @Do AND Koniec > @Od)
BEGIN
    ROLLBACK TRANSACTION;
    THROW 50002, N'Pojazd jest już przydzielony w tym oknie.', 1;
END;

INSERT dbo.PrzydzialPojazdu (PojazdId, ZlecenieId, Poczatek, Koniec)
VALUES (@PojazdId, @ZlecenieId, @Od, @Do);

COMMIT TRANSACTION;

Blokada obejmuje jeden wiersz i trwa kilka milisekund, więc nie spowalnia pracy pozostałych osób. Zasady poziomów izolacji i blokad opisuje dokumentacja SET TRANSACTION ISOLATION LEVEL w Microsoft Learn. Interfejs powinien pokazać przegranej osobie czytelny komunikat z nazwiskiem tej, która przydzieliła pojazd pierwsza.

Reguła: zlecenie zajęte przez innego użytkownika jest w trybie odczytu, a każda zmiana przydziału zostawia w historii starą i nową wartość.

Pojazd bez kierowcy pozostaje bezużyteczny, więc ta sama procedura obejmuje zwykle dwa zasoby w jednej transakcji. Kolejność ich blokowania musi być zawsze taka sama, żeby dwie osoby nie zablokowały się nawzajem. SQL Server rozstrzyga takie zakleszczenie przez wycofanie jednej z transakcji, dlatego aplikacja powinna umieć ją bezpiecznie powtórzyć.

W ciągu dnia - monitorowanie trasy i komunikacja z kierowcą

Po wyjeździe pojazdu praca zespołu przenosi się na mapę i listę zdarzeń. Program zintegrowany z systemami GPS pokazuje na jednej mapie pozycje pojazdów własnych oraz zewnętrznych przewoźników. Zbieranie danych z wielu urządzeń w jednym miejscu opisuje artykuł o integratorze dla flot i kontroli transportu w czasie rzeczywistym. Opis integracji z GBOX na stronie Linkway wymienia lokalizację pojazdów oraz czas pracy kierowców.

Kierowca komunikuje się z zespołem przez aplikację mobilną. Zamiast telefonu wysyła w niej potwierdzenia załadunku i rozładunku oraz informacje o postojach, a dyspozytor odpowiada w czacie. Wiadomość zostaje przy zleceniu, więc ustalenie można odnaleźć po tygodniu. Codzienną pracę z aplikacją przedstawia tekst o aplikacji linkway.TRACKER, a koszt opóźnień w komunikacji wylicza materiał o aplikacji dla kierowcy.

Biała ciężarówka z naczepą pokrytą mapą tras i wykresami oraz dwa smartfony na jasnej powierzchni
Monitorowanie w ciągu dnia: pozycja pojazdu na mapie i status zlecenia w aplikacji.
ZdarzenieSygnał w systemieReakcja zespołu
Zjazd z wyznaczonej trasyalert z pozycją pojazdukontakt z kierowcą i zapis przyczyny
Postój w nieautoryzowanym miejscualert o zatrzymaniu poza punktami zleceniaocena ryzyka dla ładunku
Opóźnienie względem planuzmiana ETA na zleceniuinformacja dla klienta i korekta okna rozładunku
Parametry ładunku poza normąalert z telematyki, na przykład temperaturydecyzja o zmianie trasy lub przeładunku

Czas dotarcia liczony z pozycji GPS wraca do klienta jako ETA, co ogranicza telefony z pytaniem o dostawę. Zasady jego użycia opisuje artykuł o ETA od Linkway, a wpływ monitoringu na koszty floty tekst o monitoringu transportu a kosztach floty.

Wspólny widok zespołu

Ekran monitoringu sprawdza się w dwóch trybach pracy. Dyspozytor filtruje listę do swoich pojazdów i widzi tylko to, co wymaga jego reakcji, a kierownik zmiany ogląda całość z podziałem na statusy. Oba widoki korzystają z tych samych danych, więc nikt nie utrzymuje własnej kopii listy w arkuszu.

Odświeżanie mapy i listy odbywa się w tle. Zwykle jest to zapytanie asynchroniczne AJAX wysyłane co kilkanaście sekund, które pobiera tylko zmienione zlecenia. Rozwiązanie jest tańsze od przeładowania całej strony i nie przerywa dyspozytorowi wpisywania notatki.

Po dostawie - dokumenty i zamknięcie zlecenia

Dostawa nie kończy zlecenia, dopóki w systemie brakuje dokumentu. Kierowca przesyła potwierdzenie odbioru przez aplikację, a plik trafia do rekordu zlecenia, gotowy do dalszej obróbki. W transporcie międzynarodowym dochodzi CMR, który potwierdza zawarcie umowy przewozu.

Papierowy oryginał wraca do firmy późno, a skan przypięty do zlecenia pozwala fakturować wcześniej. Program zamyka zlecenie dopiero po przyjęciu dokumentu, więc lista otwartych zleceń pokazuje również te, którym brakuje dowodu dostawy. Szczegółowy opis obiegu przedstawia artykuł o zarządzaniu dokumentami w Linkway.TMS.

SELECT z.Numer, z.DataRozladunku
FROM   dbo.ZlecenieTransportowe AS z
WHERE  z.Status = 4   -- dostarczone
  AND  z.DataRozladunku < DATEADD(day, -2, SYSDATETIME())
  AND  NOT EXISTS (SELECT 1
                   FROM   dbo.DokumentZlecenia AS d
                   WHERE  d.ZlecenieId = z.ZlecenieId
                     AND  d.Typ = N'POTWIERDZENIE');

Zapytanie wskazuje zlecenia dostarczone przed więcej niż dwoma dniami, dla których nie ma potwierdzenia odbioru. Zespół przegląda tę listę pod koniec zmiany, a nie pod koniec miesiąca, gdy dowód dostawy trzeba już odtwarzać. Okres dwóch dni jest przykładowy i zależy od umów z klientami.

Kontrola przejść statusów

Zamknięcie zlecenia po przyjęciu dokumentu wymaga, by program pilnował kolejności statusów. Zlecenie nie może przejść z nowego od razu do dostarczonego, a rozliczone nie wraca do realizacji. Reguły przejść zapisuje się w kodzie jako dozwolone pary statusów, a nie jako uwagi w instrukcji dla użytkowników.

using System.Collections.Generic;
using System.Linq;

public enum StatusZlecenia { Nowe = 1, Przydzielone = 2, WRealizacji = 3, Dostarczone = 4, Rozliczone = 5 }

static readonly Dictionary<StatusZlecenia, StatusZlecenia[]> Dozwolone = new()
{
    [StatusZlecenia.Nowe]         = new[] { StatusZlecenia.Przydzielone },
    [StatusZlecenia.Przydzielone] = new[] { StatusZlecenia.WRealizacji, StatusZlecenia.Nowe },
    [StatusZlecenia.WRealizacji]  = new[] { StatusZlecenia.Dostarczone },
    [StatusZlecenia.Dostarczone]  = new[] { StatusZlecenia.Rozliczone },
};

static bool CzyMoznaZmienic(StatusZlecenia z, StatusZlecenia na) =>
    Dozwolone.TryGetValue(z, out var cele) && cele.Contains(na);

Przykład jest poglądowy i nie odzwierciedla schematu konkretnego produktu. Ten sam słownik można wykorzystać w interfejsie do wyszarzenia niedostępnych przycisków oraz w procedurze składowanej do odrzucenia zapisu, który ominął formularz. Reguła w jednym miejscu jest tańsza w utrzymaniu niż kilka kopii.

Przekazanie zmiany w dyspozycji ciągłej

Dyspozycja pracująca w trybie ciągłym wymaga przekazania spraw otwartych. Relacja ustna przy zmianie dyżuru gubi szczegóły, zwłaszcza dotyczące uzgodnień z klientem. Notatki przy zleceniach widoczne dla całego zespołu działają lepiej, bo zostają tam, gdzie będą potrzebne.

  • Notatka przy zleceniu - krótka informacja o uzgodnieniu z klientem lub kierowcą, widoczna dla każdego, kto otworzy rekord.
  • Historia zmian statusu - lista decyzji z czasem i autorem, z której odczytuje się przebieg sprawy bez dzwonienia do poprzedniej osoby.

Przy przekazaniu zmiany zespół przegląda filtrowaną listę: zlecenia w drodze z opóźnieniem oraz zlecenia bez potwierdzonego dokumentu. Dwie listy wystarczają, by nowa zmiana wiedziała, gdzie zacząć. Reszta wynika ze statusów.

Uprawnienia w zespole i podział widoczności

W zespole dyspozytorskim pracują osoby o różnych rolach. Dyspozytor edytuje zlecenia i przydziały, kierownik zmiany zatwierdza wyjątki, a księgowość widzi koszty i dokumenty rozliczeniowe. Kierowca dostaje tylko własne zadania, bez stawek dla klientów i danych innych pojazdów.

Uprawnienia należy przypisywać rolom, a nie osobom, bo zmiana obsady nie wymaga wtedy przebudowy dostępów. Filtr uprawnień działa po stronie serwera, a nie w interfejsie, ponieważ ukryty przycisk nie chroni danych, które nadal wracają z zapytania. Dziennik zmian pokazuje, kto edytował zlecenie, co ułatwia wyjaśnianie spornych przydziałów.

Przejście z papieru i arkuszy do systemu

Dawniej planowanie przewozów opierało się na papierowych dokumentach i telefonach, a każda zmiana trasy wymagała ręcznej ewidencji. Zamiana tego na program nie polega na przepisaniu arkusza do bazy. Zmienia się źródło prawdy: rekord w systemie wygrywa z notatką na kartce.

Obszar pracyPapier i arkuszProgram do zarządzania transportem
Przyjmowanie zleceńmaile i telefony, wpisy do arkuszajedna baza zleceń ze statusem
Lokalizacja pojazdutelefon do kierowcymapa GPS i alerty o zjeździe z trasy
Dokumentacja przewozupapierowe CMR i listy przewozowedokumenty archiwizowane cyfrowo
Komunikacja z kierowcąrozmowy bez zapisu ustaleńczat w aplikacji z historią wiadomości
Rozliczenie zleceniaręczne zestawienie kosztówraporty i kalkulacja kosztów

Wdrożenie najlepiej zacząć od jednego oddziału albo jednej grupy pojazdów. Zespół stabilizuje wtedy dane podstawowe i przyzwyczaja się do nowego narzędzia, a błąd w kartotece dotyczy niewielkiej części floty. Dopiero po ustabilizowaniu procesu system rozszerza się na całą firmę. Przebieg projektu przedstawia artykuł o wdrożeniu linkway.TMS w czterech etapach.

Okres równoległej pracy

Praca na dwóch źródłach jednocześnie ma sens tylko przez ograniczony czas. Po tygodniu lub dwóch dublowanie zmienia się w koszt, a zespół zaczyna ufać dwóm wersjom tej samej informacji. Datę wyłączenia arkusza wyznacza się z góry i zapisuje w planie wdrożenia.

Porównanie arkusza z systemem rozwija artykuł Excel w transporcie a system TMS, a straty finansowe przy pracy na arkuszach opisuje tekst z działu reklamacji o arkuszach kalkulacyjnych w firmie transportowej.

Miary pracy zespołu dyspozytorskiego

Program zbiera dane, z których zespół może policzyć własną pracę. Wskaźniki są użyteczne, gdy dotyczą procesu, a nie osób, bo ocena pojedynczego dyspozytora po liczbie zleceń zachęca do wybierania łatwych. Poniższe cztery miary opisują cykl dnia.

  • Czas do przydziału - odstęp między zapisaniem zlecenia a przypisaniem pojazdu.
  • Zmiany po wydaniu zlecenia - liczba korekt przydziału po potwierdzeniu go kierowcy.
  • Zlecenia z kompletem dokumentów - odsetek dostaw, dla których dokument dotarł w ustalonym terminie.
  • Zlecenia na dyspozytora - obciążenie zespołu na zmianę, do porównań w czasie, a nie między osobami.

Wartości początkowe należy zapisać przed wdrożeniem. Bez nich trudno ocenić, czy program skrócił przydział albo zmniejszył liczbę korekt. Szerszy przegląd funkcji i kryteriów wyboru programu przedstawia artykuł o oprogramowaniu dla transportu, a opis rozwiązania producenta znajduje się na stronie Linkway.TMS.

Miary zbiera się z rekordów, a nie z ręcznych zestawień. Zapytanie liczące czas do przydziału wymaga jedynie dwóch znaczników czasu na zleceniu: zapisania i przypisania pojazdu. Dane te program odkłada i tak przy każdej zmianie statusu, więc pomiar nie wymaga od zespołu dodatkowej pracy.

Uzupełnieniem jest dyskusja z zespołem po pierwszym miesiącu. Dyspozytorzy wiedzą, które ekrany spowalniają pracę i które pola w formularzu okazują się zbędne. Uwagi te wracają do konfiguracji programu, zanim przyzwyczajenia się utrwalą.