Przejdź do treści

Grafiki i nieobecności pracowników

Cel

Moduł planuje obsadę, przyjmuje dostępność i nieobecności, proponuje zamiany oraz publikuje zatwierdzony grafik. Optymalizacja nie może naruszać umów, odpoczynku, kompetencji, ograniczeń zdrowotnych udostępnionych legalnie ani zasad równego traktowania. Norbi nie podejmuje automatycznie decyzji kadrowych o wysokim wpływie.

Karta modułu

Pole Kontrakt
Odpowiedzialności zapotrzebowanie, dostępność, kompetencje, constraints, candidate schedules, symulacja, zamiany, publikacja.
Wejścia pracownicy/role, umowy, kwalifikacje, availability, leave, forecast, reguły i preferencje.
Wyjścia warianty grafiku, conflicts, coverage/cost/fairness metrics, change set, notifications draft.
Zależności HR adapter, PWA, Calendar, deterministic solver, Policy, Communication.
Uprawnienia read/propose; approve/publish/notify i zmiana rekordu HR osobno.
Autonomia automatyczne warianty i drobne zamiany w pre-approved policy; brak samodzielnej zmiany zasad.
Walidacja twarde prawo/umowa/odpoczynek/kompetencje, pokrycie, koszt, fairness i human review.
Awaria ostatni opublikowany grafik pozostaje autorytatywny; manualna lista zmian i tryb awaryjnej obsady.

Model danych

Pracownik ma employment scope, role/skills, minimalne uprawnienia do lokalizacji, availability, kontrakt godzin, certyfikaty z expiry i preferencje. Nieobecność ma typ, okres, status i widoczność. Kierownik może potrzebować informacji „niedostępny”, ale nie diagnozy. Zapotrzebowanie opisuje slot, rolę, liczbę osób, kwalifikacje i priorytet.

Solver i AI

Solver deterministyczny egzekwuje twarde ograniczenia. Model językowy pomaga interpretować wyjątki, wyjaśnia warianty i prowadzi rozmowę, ale nie jest źródłem obliczeń zgodności. Miękkie cele obejmują koszt, ciągłość, preferencje, równość weekendów, stabilność i minimalną liczbę zmian. Wagi są jawne i wersjonowane.

flowchart LR
    D["Dane + zapotrzebowanie"] --> V["Walidacja wejść"]
    V --> S["Solver: twarde constraints"]
    S --> O["Optymalizacja miękka"]
    O --> C["3 candidate schedules"]
    C --> X["Prawo + kompetencje + koszt + fairness"]
    X --> R["Review kierownika"]
    R --> P["Osobna publikacja"]
    P --> N["Powiadomienia + potwierdzenia"]

Nieobecności

Pracownik składa request w PWA. System sprawdza kompletność i symuluje wpływ, ale nie ujawnia szczegółów innym pracownikom. Kierownik widzi pokrycie i konflikty. Automatyczna akceptacja może obejmować tylko wcześniej zdefiniowaną klasę, np. pojedynczy dzień przy pełnym pokryciu i braku blackout; nie może rozszerzyć się sama na dłuższe urlopy.

Zamiany

Zamiana jest candidate change set. System sprawdza, czy obie osoby mają kwalifikacje i zachowują odpoczynek oraz limity. Zgody pracowników są zdarzeniami, nie capability do publikacji. Po wymaganych akceptacjach kierownik albo pre-approved policy uruchamia publish. Powiadomienia mają platform receipts; brak potwierdzenia może wywołać eskalację.

Przykładowe polecenia

  • „Przygotuj trzy grafiki na grudzień: najtańszy, najbardziej stabilny i najlepiej równoważący weekendy.”
  • „Znajdź zastępstwo dla nieobecnego magazyniera z ważnym uprawnieniem, bez naruszania odpoczynku.”
  • „Zbierz dostępność do piątku i przypomnij tylko osobom, które nie odpowiedziały.”
  • „Pokaż wpływ przyjęcia tych urlopów, ale nie podejmuj decyzji.”

Pełny przebieg

Po zgłoszeniu choroby system oznacza pracownika jako niedostępnego w odpowiednim zakresie, nie ujawniając przyczyny zespołowi. Solver wybiera osoby z właściwą kwalifikacją, sprawdza odpoczynek i koszt. Norbi wysyła propozycję zamiany do dwóch osób według zatwierdzonej kolejności. Pierwsza akceptuje. Kierownik otrzymuje exact diff grafiku i metryki. Publikacja aktualizuje system oraz wysyła potwierdzenie; każda czynność ma receipt.

Walidacja i ryzyka

Walidatory twarde nie mogą być wyłączone przez prompt. Testy obejmują przejście DST, nocną zmianę przez północ, wygasłe uprawnienie, nakładające się umowy, dwa oddziały, niepełny etat, urlop częściowy, równoległe zamiany i zmianę po publikacji. Fairness jest mierzone w okresie i grupie porównywalnej, z możliwością wyjaśnienia.

Ryzyka to dyskryminacyjna optymalizacja, użycie nadmiarowych danych, błędne prawo lokalne, ciągłe zmiany oraz automatyczna kara za odrzucenie zmiany. Profile prawne mają ownera i valid date, a decyzje dyscyplinarne są poza automatyzacją.

Scenariusz awaryjny

Jeśli solver lub dane są niedostępne, obowiązuje ostatni opublikowany grafik. System generuje listę luk i kontaktów zgodnie z planem on-call. Awaryjna ręczna zmiana jest rejestrowana i później rekoncyliowana. Nieobecności z PWA pozostają w durable inbox, a konflikt z ręczną zmianą jest przedstawiony kierownikowi.