Firma logistyczna obsługuje kilku klientów naraz, a każdy z nich ma własny magazyn, własne godziny przyjęć i własne wymagania wobec kierowcy. Planowanie dostaw sprowadza się więc do przypisania każdego przyjazdu do rampy w konkretnym przedziale czasu. Do tego samego przedziału trzeba dopasować zespół rozładunku oraz wolne miejsce na placu.

Arkusz kalkulacyjny wystarcza, dopóki plan edytuje jedna osoba. Gdy dyspozytor zmienia terminy równolegle z ochroną i magazynem, powstają podwójne rezerwacje tej samej rampy albo rezerwacje bez pojazdu. Poniższy tekst pokazuje, jak to samo zadanie wygląda w programie, w którym rezerwacja jest rekordem z regułą, a nie komórką do nadpisania.

Oprogramowanie dla firm logistycznych a kalendarz dostaw

Kalendarz dostaw jest najważniejszym widokiem, który daje oprogramowanie dla firm logistycznych. Każda pozycja to przyjazd jednego pojazdu do jednej rampy, opisany czasem początku i końca. Plan dnia powstaje z wielu takich pozycji, a jego jakość zależy od tego, czy system potrafi odmówić rezerwacji, która łamie zasady obiektu.

Element planuCo zapisuje systemSkutek błędnego zapisu
Okno czasowepoczątek i koniec rezerwacji rampydwa pojazdy czekają przy jednej bramie
Rampakod stanowiska oraz typ, na przykład przyjęcia lub wydaniadostawa trafia na rampę o niewłaściwym przeznaczeniu
Pojazdnumer rejestracyjny i rodzaj nadwoziaochrona nie rozpoznaje awizowanego transportu
Ładunekliczba palet i klasa towaruokno jest za krótkie na rozładunek

Okno musi mieć długość zależną od ładunku, a nie stałą wartość dla wszystkich. Rozładunek jednej palety trwa kilka minut, a pełna naczepa z towarem układanym ręcznie wymaga wielokrotnie dłuższego przedziału. W module awizacji Studio VSS.net długość okna wynika z ilości i rodzaju towaru, a dyspozytor może ją skorygować dla konkretnego transportu. Szczegóły kreatora awizacji opisuje artykuł o module awizacji VSS.net.

Reguła: system nie przyjmuje rezerwacji, która nakłada się na inną rezerwację tej samej rampy, nawet gdy o zmianę prosi klient o wysokim priorytecie.

Dyspozytorka przy monitorze z kalendarzem rezerwacji, w tle regały magazynu
Plan dostaw na ekranie dyspozytora - punkt wyjścia do przydziału ramp na dany dzień.

Sprawdzenie nakładania się przedziałów musi zajść w tej samej transakcji, w której zapisuje się rezerwację. Dwie osoby mogą w tej samej sekundzie zobaczyć wolną rampę i obie ją zająć, jeśli kontrola oraz zapis są osobnymi krokami. Mechanizm blokady zakresu (UPDLOCK z HOLDLOCK w T-SQL) i wzorzec procedury opisuje zarządzanie dokami w magazynie, a podstawy blokad zawiera przewodnik po blokowaniu transakcji w Microsoft Learn.

Trasa dostawy i czas przyjazdu

Trasa powstaje w systemie transportowym (TMS), a nie w programie do awizacji. TMS układa kolejność odbiorców tak, by pojazd mieścił się w oknach czasowych klientów, i wylicza przewidywany czas przyjazdu do każdego punktu. Ta wartość nazywa się ETA (Estimated Time of Arrival) i jest jedynym elementem trasy, który interesuje zarządcę placu.

Firma logistyczna korzysta zwykle z dwóch stron tego samego przyjazdu. Jako przewoźnik chce zdążyć do okna klienta, a jako operator własnego terminala musi przyjąć cudze pojazdy w swoich oknach. Program dla firmy logistycznej łączy obie perspektywy przez wspólny identyfikator transportu, który występuje zarówno w zleceniu przewozowym, jak i w awizacji. Przegląd systemów transportowych zawiera artykuł o programie TMS do zarządzania transportem.

Dane z trasyKto je wytwarzaJak wykorzystuje je plac
ETA do bramyTMS na podstawie pozycji GPSprzesunięcie rezerwacji lub przydział bufora, gdy opóźnienie przekroczy tolerancję
Numer transportuzlecenie w TMS lub ERPpowiązanie awizacji z dokumentem przewozowym
Typ pojazduzlecenie transportowewybór rampy z odpowiednią wysokością i wyposażeniem
Kolejność rozładunkówplan trasyustalenie, który klient jest ostatni i czy jest miejsce na odstawienie naczepy

Tolerancja opóźnienia jest parametrem obiektu, a nie stałą. Przy oknach 30-minutowych pojazd spóźniony o 40 minut zajmuje już cudzy przedział, więc system powinien go przenieść do najbliższego wolnego okna. Przy oknach kilkugodzinnych ten sam odstęp nie ma znaczenia. Wartości progowe ustala się przy wdrożeniu na podstawie historii punktualności przewoźników.

Reguła: ETA jest prognozą, a nie zdarzeniem. Do bazy trafia jako osobne pole obok rezerwacji i nie zastępuje planowanego czasu, dopóki ktoś albo reguła nie zatwierdzi przesunięcia.

Plac i parking jako zasób planowania

Rampa jest zasobem oczywistym, ale plac przed magazynem bywa równie wąskim gardłem. Pojazd, który przyjechał przed oknem, zajmuje miejsce postojowe i blokuje manewry. Naczepa odstawiona bez rezerwacji potrafi zamknąć dojazd do dwóch ramp. System klasy YMS traktuje więc miejsce parkingowe tak samo jak rampę: ma kod i status, a także historię zajęcia.

W Studio VSS.net funkcje placu należą do modułu Yard Management. Zawiera on mapę z kodami stanowisk i listę zajętych miejsc. Osobne pozycje obsługują bramę oraz transport wewnętrzny, czyli przestawienie pojazdu między strefami zakładu. Zakres i podział ról między YMS a pozostałymi systemami omawia artykuł o systemie YMS, a sposób oznaczania stanowisk na mapie pokazuje tekst o wizualizacji zajętości miejsc parkingowych.

Pracownica z tabletem na placu przed rzędem ciągników siodłowych
Kontrola placu - stan stanowisk postojowych decyduje o tym, którego pojazdu nie należy wpuszczać przed oknem.

Stan stanowiska wynika ze zdarzeń, a nie z ręcznych wpisów. Wjazd zapisuje bramę, odczyt tablicy rejestracyjnej przez kamerę ANPR potwierdza pojazd, a czujnik na stanowisku zgłasza zajęcie miejsca. Plan, czyli rezerwację miejsca, i fakt, czyli pojazd stojący na miejscu, trzyma się w osobnych polach, ponieważ rozbieżność między nimi jest sygnałem operacyjnym. Jeżeli rezerwacja wygasła, a pojazdu nie ma, stanowisko wraca do puli wolnych.

Przy dużym obłożeniu placu pomaga jeszcze jedna zasada. Pojazd bez awizacji nie zostaje odesłany automatycznie, lecz trafia do rejestru transportów nieawizowanych, a logistyka decyduje, czy znajdzie się dla niego okno. Zdarzenia na placu porządkuje dodatkowo opis procesu w yard management system.

Opóźnienia i dostawy bez awizacji

Plan dnia obejmuje także zdarzenia, które go łamią. W firmie logistycznej zdarzają się trzy typy takich odchyleń, a każdy wymaga innej reakcji systemu. Opóźnienie przesuwa rezerwację, odwołanie zwalnia rampę, a pojazd bez awizacji trzeba wpasować w istniejące luki. Reguły tych reakcji zapisuje się przy wdrożeniu, żeby dyspozytor nie podejmował decyzji od zera przy każdym zdarzeniu.

OdchylenieReakcja systemuDecyzja człowieka
Opóźnienie poniżej tolerancjirezerwacja zostaje bez zmian, ETA jest zapisane w historiibrak, chyba że opóźnienia powtarzają się u tego przewoźnika
Opóźnienie powyżej tolerancjipropozycja nowego okna w tej samej dobiezatwierdzenie propozycji albo wskazanie innego terminu
Odwołanie transportuzwolnienie rampy i miejsca postojowegowskazanie, czy okno ma trafić do kolejki oczekujących
Pojazd bez awizacjiwpis w rejestrze transportów nieawizowanychprzyznanie okna albo odesłanie z adnotacją

Z punktu widzenia bazy danych zwolnienie rampy nie oznacza usunięcia rekordu. Rezerwacja przechodzi w status anulowanej i zostaje w tabeli, a warunek kolizji pomija rekordy anulowane. Dzięki temu historia odwołań jest dostępna przy ocenie przewoźnika, a rampa rzeczywiście wraca do puli. Usuwanie wierszy z kalendarza zabiera tę wiedzę i utrudnia późniejsze spory o to, kto odwołał wizytę.

Reguła: odwołanie oraz przesunięcie zapisuje się jako osobne zdarzenia z czasem i autorem, a spóźnienie jako odchylenie od planu. Suma tych zdarzeń tłumaczy, dlaczego plan dnia wygląda inaczej niż plan z poprzedniego wieczoru.

Dostawy bez awizacji zasługują na osobny wskaźnik. Ich udział w liczbie wizyt pokazuje, czy klienci korzystają z kalendarza, czy traktują go jako formalność. Wysoki udział zwykle oznacza, że okna są dla nich zbyt sztywne albo że rezerwacja wymaga zbyt wielu kroków. Po stronie firmy logistycznej rozwiązaniem bywa skrócenie formularza i szybsze zatwierdzanie zgłoszeń.

Uprawnienia i widoczność danych

Firma logistyczna obsługuje konkurentów, którzy nie mogą widzieć swoich terminów. Klient A nie powinien wiedzieć, o której klient B ma rezerwację, ani jak duże są jego dostawy. Ograniczenie widoczności realizuje się w warstwie danych, a nie tylko w interfejsie: zapytanie użytkownika zewnętrznego zawsze zawiera warunek na identyfikator jego firmy, wstawiany po stronie serwera.

  • Przewoźnik - zakłada awizacje i przegląda statusy własnych zgłoszeń, bez wglądu w cudze terminy.
  • Logistyka - zatwierdza zgłoszenia i zmienia terminy oraz widzi obciążenie wszystkich ramp.
  • Ochrona - obsługuje wjazdy oraz wyjazdy i wydaje przepustki.
  • Magazyn - potwierdza rozładunek na przypisanej rampie i zamyka wizytę.

Zasada ta ma znaczenie także przy raportach. Zestawienie punktualności przewoźników jest wewnętrzne, a przewoźnik dostaje wyłącznie własne liczby. Rozdzielenie widoków na etapie projektu bazy jest znacznie tańsze niż późniejsze łatanie wycieków danych między klientami. Wielojęzyczny interfejs dodatkowo ułatwia pracę kierowcom zagranicznym, którzy zakładają awizacje we własnym języku.

Dane wspólne dla planowania i placu

Trzy obszary korzystają z tego samego zdarzenia, czyli przyjazdu pojazdu. Jeśli każdy system zapisuje je pod własnym numerem, po kilku miesiącach nikt nie potrafi ustalić, że wpis w TMS oraz awizacja z przyjęciem w magazynie dotyczą jednej dostawy. Klucz wspólny nadaje się raz, przy zleceniu, i przekazuje dalej w komunikatach między systemami.

ZdarzenieSystem źródłowyOdbiorca komunikatu
Utworzenie zlecenia transportowegoTMS lub ERPprogram do awizacji
Zatwierdzenie okna czasowegoprogram do awizacjiTMS oraz przewoźnik
Wjazd i przydział rampymoduł placuWMS
Zamknięcie dokumentu przyjęciaWMSERP

Komunikaty przekazuje się przez interfejs REST albo kolejkę, a nie przez bezpośredni zapis do cudzej bazy. Wywołanie REST z numerem transportu w adresie pozwala ponowić żądanie bez ryzyka dubletu, jeśli odbiorca obsługuje idempotentność po tym numerze. Sposób łączenia awizacji z magazynem i ERP opisuje artykuł o integracji VSS z WMS i ERP przy przyjęciach, a ogólny wzorzec wymiany danych - tekst o integracji WMS z ERP przez REST i kolejki.

Po rozładunku pracę przejmuje magazyn. Operator na terminalu z Androidem potwierdza przyjęcie, a system zamyka wizytę na placu. Ten etap opisuje artykuł o mobilnym WMS na Androidzie.

Wskaźniki pracy placu i dostaw

Ocena pracy firmy logistycznej wymaga liczb, które da się obliczyć ze znaczników czasu. Wystarczą cztery znaczniki zapisane przy każdej wizycie: przyjazd na bramę i wjazd na plac oraz początek obsługi przy rampie i wyjazd. Z różnic między nimi wynika czas oczekiwania, a także czas obsługi i całkowity pobyt na terenie.

  • Czas oczekiwania - różnica między wjazdem a początkiem obsługi przy rampie; rośnie, gdy okna są za gęste.
  • Czas obsługi - różnica między początkiem obsługi a jej końcem; pokazuje, czy planowana długość okna była realna.
  • Punktualność - odchylenie rzeczywistego przyjazdu od początku okna; ocenia przewoźnika, a nie obiekt.
  • Zajętość rampy - suma czasu obsługi w stosunku do czasu pracy rampy; wskazuje, czy brakuje doków.

Poniższe zapytanie liczy średni czas oczekiwania w minutach dla każdego przewoźnika w wybranym miesiącu. Nazwy tabel są przykładowe i nie odpowiadają schematowi konkretnego produktu.

-- przykładowa tabela wizyt: WizytaId, PrzewoznikId, WjazdNaPlac, PoczatekObslugi
SELECT
    w.PrzewoznikId,
    COUNT(*) AS LiczbaWizyt,
    AVG(DATEDIFF(MINUTE, w.WjazdNaPlac, w.PoczatekObslugi)) AS SredniCzasOczekiwaniaMin
FROM dbo.Wizyta AS w
WHERE w.WjazdNaPlac >= '2026-09-01'
  AND w.WjazdNaPlac <  '2026-10-01'
  AND w.PoczatekObslugi IS NOT NULL
GROUP BY w.PrzewoznikId
ORDER BY SredniCzasOczekiwaniaMin DESC;

Warunek zakresu dat jest zapisany jako przedział półotwarty, a nie funkcja na kolumnie. Dzięki temu indeks po kolumnie WjazdNaPlac może zostać użyty do odczytu, a zapytanie nie skanuje całej tabeli. Zasady projektowania takich indeksów opisuje składnia CREATE INDEX w Microsoft Learn.

Kolejność wdrożenia w firmie logistycznej

Wdrożenie wszystkich elementów naraz rzadko się udaje. Rozsądniej zacząć od tego, co daje najszybszy pomiar. Najpierw uruchamia się rezerwację okien na jednym obiekcie, potem dokłada plac, a na końcu wymianę danych z TMS i ERP. Każdy etap zamyka się porównaniem wskaźników z okresu przed zmianą.

Pracownica z tabletem w hali magazynowej przed naczepą ciężarówki podstawioną do rampy
Praca przy rampie - etap, na którym plan z kalendarza zamienia się w faktyczne podstawienie pojazdu.

Do uruchomienia pierwszego obiektu potrzebne są słowniki. Pierwszy to lista ramp z typami, drugi to lista przewoźników, a osobno definiuje się reguły długości okna. Reguły dobiera się z danych z arkusza, który prowadził dotychczas dyspozytor, a nie z założeń. Rozbieżności między planowanym a rzeczywistym czasem obsługi są najlepszym materiałem do kalibracji. Ogólny przegląd rodzin systemów, z których składa się środowisko firmy logistycznej, zawiera artykuł o mapie systemów w oprogramowaniu logistycznym.

Przewoźnicy zewnętrzni stanowią osobne zadanie. Wielu z nich nie ma własnego systemu, więc rezerwuje okno w przeglądarce lub w aplikacji na telefon i otrzymuje potwierdzenie z numerem referencyjnym. Sposób pracy przewoźnika z kalendarzem opisuje artykuł o zarządzaniu oknami czasowymi online. Moduły produktowe SoftwareStudio są opisane na stronie Studio VSS.net.