VSS odpowiada za warstwę ewidencyjną: rejestr wizyt pojazdów wraz ze znacznikami czasu i autorem każdej zmiany statusu. Awizacja, kalendarz okien i raporty korzystają z tego rejestru jako źródła danych, więc od jego kompletności zależy wiarygodność wszystkiego powyżej.
Co VSS zapisuje przy każdej wizycie
Wizyta pojazdu rozpada się w bazie na kilkanaście zdarzeń, a nie na jeden wiersz. Powstaje rekord nadrzędny z numerem rejestracyjnym, kontrahentem i celem przyjazdu, a do niego dopisywane są kolejne zmiany stanu: zgłoszenie na bramie, zgoda na wjazd, podstawienie pod rampę, zakończenie obsługi, wyjazd. Każda zmiana niesie znacznik czasu i login osoby, która ją wykonała.
Taki układ wynika z wymagania, którego nie da się obejść agregatem. Pytanie „ile trwało rozładowanie" nie ma odpowiedzi bez dwóch osobnych momentów, a pytanie „kto wpuścił pojazd bez awizacji" nie ma odpowiedzi bez autora wpisu. Jeden wiersz na wizytę wystarcza do wydruku listy, ale rozsypuje się przy pierwszej reklamacji przewoźnika.
Rejestr prowadzony w ten sposób obsługuje też przypadki, których nikt nie planuje. Pojazd wjeżdża bez zgłoszenia, kierowca zmienia naczepę na placu, transport wraca po dwóch godzinach po brakującą paletę. Formularz awizacji kierowcy zakłada ścieżkę typową, a ewidencja musi przyjąć każdą.

Statusy i przejścia między nimi
Stan wizyty opisuje pole statusu, a dozwolone przejścia są ograniczone po stronie aplikacji. Pojazd nie przejdzie z „awizowany" prosto w „wyjechał" bez odnotowania wjazdu, bo taki skok tworzy wizytę o ujemnym czasie obsługi i psuje każde późniejsze zestawienie.
| Status | Kiedy powstaje | Kto go nadaje |
|---|---|---|
| Awizowany | Po zapisaniu zgłoszenia z przypisanym oknem czasowym | Przewoźnik lub dyspozytura |
| Oczekuje na wjazd | Po zgłoszeniu się kierowcy na bramie | Ochrona |
| Na terenie | Po otwarciu szlabanu i wydaniu przepustki | Ochrona |
| Pod rampą | Po przypisaniu doku i podstawieniu pojazdu | Magazyn |
| Obsłużony | Po zamknięciu dokumentu i zwolnieniu rampy | Magazyn |
| Wyjechał | Po odnotowaniu przejazdu przez bramę wyjazdową | Ochrona |
Rozdzielenie „na terenie" i „pod rampą" wygląda na nadmiar, dopóki nie trzeba policzyć czasu oczekiwania na placu. To właśnie różnica między tymi dwoma znacznikami mówi, czy wąskim gardłem jest brama czy dok, a odpowiedź bywa inna niż przeczucie kierownika zmiany. Zasady liczenia opisuje szerzej materiał o wskaźnikach OTIF i pomiarze terminowości.
Status zmieniony ręcznie „z pamięci" po godzinie od zdarzenia jest gorszy niż brak wpisu. Brak widać w raporcie kompletności, wpis z nieprawdziwą godziną wchodzi do średnich i zaniża czas obsługi bez ostrzeżenia.
Gdzie kończy się VSS, a zaczyna YMS
Nazwy bywają używane zamiennie w materiałach handlowych, co utrudnia porównanie ofert. Rozróżnienie jest prostsze, niż się wydaje. VSS prowadzi rejestr zdarzeń i kartoteki, czyli odpowiada na pytanie, co się wydarzyło. Warstwa funkcji YMS odpowiada na pytanie, co ma się wydarzyć: przydziela okna, pilnuje limitów na rampie, wysyła powiadomienia.
Praktyczna konsekwencja dotyczy zakresu wdrożenia. Firma, która potrzebuje wyłącznie wiarygodnej ewidencji wjazdów na potrzeby audytu, uruchamia samą warstwę rejestru i nie utrzymuje kalendarzy. Magazyn ze spiętrzeniem dostaw między ósmą a jedenastą potrzebuje obu warstw, bo bez okien czasowych rejestr tylko dokumentuje kolejkę, zamiast jej zapobiegać.
Kartoteki, z których korzystają obie warstwy
Zgłoszenie odwołuje się do kontrahenta, przewoźnika, magazynu i rampy. Każdy z tych obiektów ma własną kartotekę i własny identyfikator, a zgłoszenie trzyma do nich odwołania, nie kopie nazw. Dzięki temu zmiana nazwy przewoźnika nie rozjeżdża historii sprzed dwóch lat.
- Kartoteka kontrahentów - dane strony, dla której realizowany jest transport, wraz z limitem awizacji i listą osób z dostępem do portalu.
- Kartoteka przewoźników - firma wykonująca przewóz, często inna niż kontrahent, z własną historią terminowości.
- Kartoteka magazynów i obiektów - lokalizacje wraz z przypisanymi bramami oraz godzinami pracy, na których opiera się siatka okien.
- Skorowidze - nośniki logistyczne, flagi wizyt i szablony powiadomień, czyli słowniki wspólne dla całego rejestru.
Rozdzielenie kontrahenta i przewoźnika bywa pomijane przy szybkich wdrożeniach i mści się przy pierwszym zestawieniu jakościowym. Bez tego podziału nie da się odpowiedzieć, czy spóźnienia generuje zleceniodawca zmieniający terminy, czy firma transportowa. Sposób podziału danych między kontrahentów opisuje strona o awizacjach według klientów.
Zestawienia, które da się policzyć dopiero z pełnego rejestru
Wartość ewidencji ujawnia się w raportach, a te wymagają kompletu znaczników. Średni czas obsługi przyjęcia liczy się z różnicy między podstawieniem pod rampę a zamknięciem dokumentu. Trafność awizacji porównuje termin zadeklarowany z godziną faktycznego zgłoszenia na bramie. Obciążenie bram rozkłada liczbę przejazdów na godziny doby.
Każde z tych zestawień pada, gdy brakuje jednego ze znaczników. Wizyta zamknięta automatycznie o północy wchodzi do średniej z czasem obsługi liczonym w godzinach i przesuwa wynik całego miesiąca. Dlatego przed pierwszym raportem uruchamia się kontrolę kompletności: zestawienia braku rejestracji przy wjeździe oraz przy wyjeździe pokazują rekordy, które trzeba uzupełnić u źródła.
- Ocena przewoźników - udział zgłoszeń zrealizowanych w zadeklarowanym oknie w łącznej liczbie transportów danej firmy.
- Średni czas między transportami - przerwa między zwolnieniem rampy a podstawieniem kolejnego pojazdu, mierząca sprawność samego przezbrojenia.
- Statystyka kontrahentów - rozkład wolumenu w czasie, pokazujący, którzy zleceniodawcy generują spiętrzenie w tych samych godzinach.
- Awizacje bez dokumentów - wizyty zamknięte bez załączonego dokumentu, wymagające uzupełnienia przed rozliczeniem.
Raporty budowane są na warstwie sprawozdawczej, a nie na tabelach operacyjnych, żeby zapytanie analityczne nie zakładało blokad na rekordach obsługiwanych właśnie na bramie. Technikę przygotowania wydruków opisuje strona o usługach raportowych SQL Server.
Role i zakres dostępu do rejestru
Ten sam rekord wizyty wygląda inaczej z każdego miejsca w organizacji. Ochrona widzi numer rejestracyjny, cel wizyty i przycisk potwierdzenia wjazdu. Magazyn widzi asortyment i liczbę palet. Przewoźnik widzi wyłącznie własne zgłoszenia, bez dostępu do listy pozostałych transportów w oknie.
Uprawnienia nadaje się rolom, nie pojedynczym osobom. Nowy pracownik ochrony dostaje rolę i komplet uprawnień, a nie kopię konta kolegi razem z przypadkowymi nadaniami sprzed lat. Sam mechanizm obsługi bramy pokazuje strona o stanowisku ochrony, a komplet wymaganych pól zgłoszenia zebrano w materiale o danych do awizacji.
Osobną rolą jest agencja celna, obecna w obiektach obsługujących odprawy. Widzi wyłącznie transporty objęte procedurą i własny kalendarz odpraw, bez dostępu do pozostałego ruchu na terenie. Taki podział pozwala wpuścić podmiot zewnętrzny do systemu bez udostępniania mu obrazu całej logistyki zakładu. Obieg dokumentów w wysyłce z odprawą i rolę Eksport opisuje strona o wysyłce eksportowej i bramkach między rolami.
Zachowanie rejestru przy przerwie w łączności
Brama pracuje także wtedy, gdy sieć nie działa. Stanowisko ochrony przechodzi wówczas na ewidencję zastępczą, a wpisy uzupełnia się po przywróceniu połączenia wraz z rzeczywistymi godzinami zdarzeń. Rekordy uzupełnione tą drogą noszą znacznik trybu awaryjnego, więc raport kompletności nie miesza ich z wpisami bieżącymi.
Drugim zabezpieczeniem jest lista pojazdów obecnych na terenie, dostępna do wydruku w każdej chwili. Przy alarmie nikt nie przelicza wpisów ręcznie, bo zestawienie z kontaktami do kierowców powstaje z bieżącego stanu rejestru. Wymóg ten bywa pomijany w analizie przedwdrożeniowej i wraca przy pierwszym audycie bezpieczeństwa.
Dla obiektów z kontrolą wjazdu opartą na kamerach warto pamiętać, że odczyt tablicy rejestracyjnej uzupełnia rejestr, ale go nie zastępuje. Zabrudzona tablica albo numer zagraniczny wymaga ręcznej korekty operatora, co opisuje szerzej strona o rozpoznawaniu tablic rejestracyjnych.