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.