Intent: Day overrides (výlety, prázdniny, project days)
Status: Schema-only — UI není implementováno · Updated: 2026-05-13
Tento brief existuje, protože schema v DB svádí k tichému použití. Brief explicitně dokumentuje, že feature není kompletní, a popisuje, jak má vypadat, až ji někdo dotáhne. Status zůstane Schema-only dokud UI nepřibude.
Problém
Ne každý den ve škole je „normální". Občas je výlet (Kentaur jede do Šárky), občas project day (celá škola na společné téma), občas prázdniny nebo ředitelské volno. V těchto dnech rozvrh neplatí, ale docházka možná pořád ano (Sofie chce vědět, kdo na výlet jel). Rodiče potřebují vědět, že zítra dítě neučí matematiku, ale jede na výlet. Bez evidence override dnů aplikace lže — zobrazuje rozvrh, který se ten den nekoná.
Kdo to chce + jak ho poznáme
- Primární role:
teacher(vidí v day view banner místo slotů),director/office(zakládá override — admin UI mimo MVP) - Stakeholder: Tomáš
- Kontext použití: založení 1 den-1 měsíc dopředu; čtení každý den
Definice úspěchu (target — dnes NEPLATÍ)
- Day view: pokud existuje
day_overrideszáznam pro daný den (per-class nebo global,class_id IS NULL), zobrazí se banner s typem (excursion/project_day/school_holiday/other) + popisem místo gridu slotů. - Docházka na override dnu lze evidovat (žák může být na výletě absent), ale témata se nezadávají.
- Per-class override (jen Kentaur jede na výlet) nepřebije slot pro Phenix.
- Global override (
class_id IS NULL) přebije všechny třídy. - Unique constraints:
(date, class_id)per-class,(date) WHERE class_id IS NULLpro global.
Out-of-scope
- Vícdenní override (zatím per-day; vícdenní výlet = N záznamů).
- Návaznosti na rodičovský feed (Sofie generuje text „Anička dnes na výletě v Šárce") — Fáze 2+ feature, závislá na zavedení tohoto UI.
- Pre-fill docházky na výlet z normálního dne — explicitní rozhodnutí učitele.
- Rezervace učeben, dopravy, atd. (out of scope této feature; možná samostatná Fáze 3+ feature).
- Validace „výlet je v pracovní den" — necháváme na uživateli.