Zamiany dyżurów

Po publikacji grafiku ratownicy zgłaszają zamiany. Twój krok to ostatnia akceptacja - z udokumentowanym powodem i pełnym audytem.

Zamiany dyżurów

Po publikacji grafiku ratownicy mogą oddawać i wymieniać dyżury. raTool wymaga, by każda zamiana przeszła przez trzy etapy: zgłoszenie przez ratownika A, akceptację przez ratownika B i finalne zatwierdzenie przez koordynatora. Twoja rola to ostatni krok - Ty decydujesz, czy zamiana faktycznie zmodyfikuje grafik.

Skąd dowiesz się o zamianie do zatwierdzenia

Gdy zamiana osiągnie status „Zaakceptowana" (czyli ratownik B się zgodził), trafia do Twojej kolejki. Dowiesz się o niej trzema kanałami:

  • Pasek alarmowy na dashboardzie stacji - czerwony pasek z komunikatem dostosowanym do liczby (np. „1 zamiana oczekuje na Twoje zatwierdzenie", „3 zamiany oczekują na Twoje zatwierdzenie", „5 zamian oczekuje na Twoje zatwierdzenie") i przyciskiem „Zatwierdź" prowadzącym wprost do listy oczekujących.
  • Zakładka „Zamiany" w menu (Dyżury → Zamiany) - w pełnym widoku z filtrem „Wszystkie" zobaczysz wpis ze statusem „Zaakceptowana".
  • Dedykowana strona „Do zatwierdzenia" (/swaps/pending) - pokazuje wyłącznie zamiany czekające na Twój ruch.

Otwórz „Do zatwierdzenia"

Strona ma tytuł „Do zatwierdzenia" i opis „Zamiany oczekujące na zatwierdzenie koordynatora". Dostępna tylko dla użytkowników z uprawnieniem schedule.manage - bez niego raTool przekierowuje na ogólną listę zamian.

W tabeli widzisz każdą oczekującą zamianę z polami:

  • Typ zamiany - Oddanie lub Zamiana.
  • Dyżur - data, zmiana, ZRM, pozycja w obsadzie.
  • Od - kto zgłosił (ratownik A).
  • Do - kto zostanie nowym właścicielem dyżuru (ratownik B).
  • Powód - opcjonalny komentarz od zgłaszającego (np. „pogrzeb w rodzinie").
  • Status - „Zaakceptowana".
  • Akcje - przyciski „Zatwierdź" i „Odrzuć".

Przy zamianach typu Zamiana widzisz dodatkowo drugi dyżur (ten, którym ratownicy się wymieniają).

Zatwierdź zamianę

Kliknięcie „Zatwierdź" uruchamia atomową operację po stronie serwera. raTool wykonuje:

  • Dla Oddania - anuluje oryginalny dyżur ratownika A (status cancelled) i tworzy nowy dyżur dla ratownika B z tymi samymi parametrami (data, zmiana, ZRM, pozycja). Wszystko w jednej transakcji bazodanowej.
  • Dla Zamiany - podmienia user_id między dwoma dyżurami (A bierze dyżur B, B bierze dyżur A). Statusy obu pozostają planowane (planned).

Po sukcesie raTool pokazuje toast „Zamiana zatwierdzona i wykonana". Status w tabeli zmienia się na „Zatwierdzona" i zamiana znika z listy oczekujących.

Odrzuć zamianę

Kliknięcie „Odrzuć" zamyka zamianę bez modyfikacji grafiku. Status zmienia się na „Odrzucona", raTool potwierdza toastem „Zamiana odrzucona", a ratownicy A i B widzą informację o decyzji.

raTool nie wymaga uzasadnienia odrzucenia - w razie potrzeby skontaktuj się z ratownikiem osobno (telefon, czat zespołowy), by wyjaśnić powód.

Pełny audyt każdej decyzji

Każda zatwierdzona zamiana zostawia ślad w rejestrze zmian - dla obydwu zaangażowanych dyżurów. Zapisywane są:

  • Kto zatwierdził (Ty, jako koordynator).
  • Kiedy (znacznik czasu).
  • Stary stan (np. user_id przed zamianą, status planned).
  • Nowy stan (np. user_id po zamianie, status cancelled przy oddaniu).
  • Akcja (np. swapped przy wymianie, cancelled+created przy oddaniu).

Audyt opisany w osobnym artykule Rejestr i kontrola dostępu.

Walidacje przed zatwierdzeniem

raTool wykonuje sprawdzenia po stronie bazy, które mogą zablokować zatwierdzenie:

  • Status zamiany niezgodny - zamiana musi mieć status „Zaakceptowana", by można ją było zatwierdzić. Jeśli ratownik wycofał ją po Twoim wejściu na stronę (przed kliknięciem), zatwierdzenie zwróci błąd „Zamiana nie jest w statusie oczekującym".
  • Brak uprawnień - wymagane jest uprawnienie swap.approve dla stacji. Standardowo ma je każdy koordynator stacji. Bez uprawnień raTool zwróci „Brak uprawnień do zatwierdzania zamian".
  • Cross-account swap - zamiana między dyżurami z różnych stacji (mało prawdopodobny scenariusz) jest niedozwolona.

W razie błędu raTool pokazuje toast z konkretnym komunikatem lub - w przypadku nieznanego błędu - generycznym „Nie udało się zatwierdzić zamiany".

Co dzieje się z dyżurem po zatwierdzeniu

  • Dla Oddania - w grafiku oryginalny dyżur znika (status cancelled, ukryty w widoku Mój grafik), nowy pojawia się dla ratownika B.
  • Dla Zamiany - w grafiku obaj ratownicy widzą swoje nowe dyżury (po wymianie).
  • Mój grafik każdego z nich aktualizuje się automatycznie.
  • Eksport (PDF/ICS) uwzględnia stan po zatwierdzeniu - następne pobranie pokaże nową obsadę.

Co może pójść nie tak

  • „Zamiana nie jest w statusie oczekującym" - ratownik wycofał zamianę przed Twoim kliknięciem. Odśwież listę.
  • Pasek alarmowy znika mimo że nie zatwierdziłeś - inny koordynator (lub Ty z drugiej karty) już zatwierdził lub odrzucił. Sprawdź historię w głównej zakładce Zamiany.
  • Zatwierdzenie skutkuje błędem konfliktu - ratownik B został w międzyczasie przypisany na ten sam slot w innym ZRM. raTool pokaże komunikat - uzgodnij obsadę z ratownikiem.

Co dalej?