--- title: Správa strávníků a uživatelů order: 40 summary: Jak operátor spravuje účty rodičů a strávníků - aktivace, deaktivace, náhled, účty manažerů organizací, variabilní symboly, CSV import, archivace a trvalé smazání dle GDPR. --- # Správa strávníků a uživatelů Operátor jídelny zodpovídá za správu uživatelských účtů (rodičů) a strávníků (dětí). Tato stránka popisuje všechny funkce pro správu uživatelů včetně aktivace účtů, hromadného importu strávníků a archivace. ## Přehled uživatelů Sekce **Rodiče** zobrazuje seznam všech registrovaných rodičů v rámci vašeho provozu. Pro každého uživatele vidíte: - Jméno a e-mailovou adresu - Telefonní číslo (pokud je vyplněno) - Stav účtu (aktivní, čeká na schválení; archivovaný účet je označen štítkem) Seznam můžete filtrovat podle stavu účtu (**Všichni** / **Aktivní** / **Čeká na schválení**) a vyhledávat podle jména nebo e-mailu. ### Strávníci účtu Kdo k účtu patří, uvidíte v detailu rodiče v záložce **Strávníci**. U každého strávníka je: - **jméno** (archivovaný je přeškrtnutý a označený štítkem „archivováno"), - **výdejní místo**, - **vazba k účtu** - **Rodič** (účet je jeho rodičem), **Sdílená péče** (dítě má víc pečovatelů a tento účet je jeden z nich, viz [Sdílení péče o strávníka](/docs/parent/diners#sdílení-péče-o-strávníka)) nebo **Vlastní strávník** (samoobjednávající pedagog, kterému účet patří). Kliknutím na řádek se otevře detail strávníka v seznamu **Strávníci** - odtud řešíte zůstatek, objednávky, výdejní místo i variabilní symbol. Tlačítkem **Přidat strávníka** nad seznamem přidáte k tomuto účtu dalšího strávníka (typicky sourozence) - otevře se formulář, ve kterém je rodič už vybraný, takže jeho e-mail ani jméno nikde neopisujete. Na přesun pod jiný účet slouží [Převod strávníků na jiný účet](#převod-strávníků-na-jiný-účet). ## Hledání účtu podle e-mailu Když víte jen e-mailovou adresu a ne to, komu patří, použijte **Klienti → Hledání účtu**. Adresa může být rodiče, samoobjednávajícího pedagoga, manažera organizace, operátora nebo obsluhy výdeje - a hádat, který seznam otevřít, není potřeba: zadáte e-mail a dostanete jednu kartu se vším, co k účtu ve vašem provozu patří. Karta obsahuje: - **jméno, e-mail a telefon**, - **stav účtu** - **Aktivní**, **Deaktivovaný**, nebo **Archivovaný** (to je nejčastější vysvětlení, proč se adresa nemůže přihlásit), - **role v tomto provozu** (Rodič, Strávník, Organizace, Operátor, Obsluha), - **strávníky**, na které je účet napojený, i s vazbou (**Rodič**, **Sdílená péče**, **Je sám strávníkem**) a výdejním místem, - **organizace**, které účet spravuje (včetně archivovaných). Z každého řádku vede odkaz na místo, kde se s ním pracuje: **Otevřít účet** otevře detail účtu v **Rodičích**, **Otevřít** u strávníka jeho detail ve **Strávnících** a u organizace její detail v **Organizacích**. Adresa zůstane v adresním řádku, takže se výsledek dá poslat kolegovi nebo obnovit stránku bez opsání dotazu. **Hledá se i mezi archivovanými účty.** Archivace adresu uvolní pro novou registraci, takže pod jednou adresou může být živý účet i jeho archivovaní předchůdci - karta pak vyjde na každý z nich, živý první. **Hledá se jen ve vašem provozu.** Účet, který patří jinam, se ohlásí stejně jako neexistující: „Adresu … v tomto provozu nikdo nemá." ## Aktivace účtu Když se nový rodič zaregistruje, jeho účet je ve stavu **neaktivní**. Než bude moci objednávat obědy, operátor musí účet aktivovat: 1. Přejděte do sekce **Uživatelé**. 1. Najděte nového uživatele (neaktivní účty jsou zvýrazněny). 1. Klikněte na tlačítko **Aktivovat**. 1. Potvrďte akci. Po aktivaci může rodič přidat strávníky a objednávat obědy. Doporučujeme aktivovat účty co nejdříve, aby rodiče mohli začít systém používat. > **Registrace učitelů:** Pokud se někdo zaregistroval jako **učitel / samostatný strávník** (objednává sám sobě), neschvaluje se zde, ale v sekci **Strávníci** - viz [Schválení učitele registrovaného online](#schválení-učitele-registrovaného-online). Při schválení mu přiřadíte výdejní místo a rovnou vznikne jeho záznam strávníka. Operátor může zobrazit a upravit telefonní číslo rodiče kliknutím na uživatele a použitím tlačítka **Upravit**. Telefonní číslo slouží pro případný přímý kontakt rodiče v provozních záležitostech. ## Deaktivace uživatele Pokud je třeba účet rodiče dočasně nebo trvale zablokovat: 1. Najděte uživatele v seznamu. 1. Klikněte na **Deaktivovat**. 1. Potvrďte akci a zadejte důvod deaktivace. Deaktivovaný uživatel se nemůže přihlásit a jeho existující objednávky zůstanou beze změny. Účet je možné později znovu aktivovat. ## Oprava e-mailu a odeslání přihlašovacích údajů Přihlašovací údaje se rodiči posílají jen jednou - při zakládání účtu. Když byl e-mail zadaný s překlepem, pozvánka i uvítací e-mail s platebními údaji odešly na adresu, kterou nikdo nečte, a rodič se do systému nedostane. Nepomůže ani „Zapomenuté heslo" - i to chodí na tu špatnou adresu. Proto je odeslání údajů navázané přímo na opravu adresy: 1. Otevřete detail rodiče v seznamu **Rodiče**. 1. Přepište **Email** na správnou adresu. Objeví se upozornění a v patičce panelu tlačítko **Uložit a odeslat údaje**. 1. Rozhodněte, zda **přiložit variabilní symboly strávníků a platební údaje** (předvyplněno) - hodí se, když rodič nedostal ani uvítací e-mail s platebními instrukcemi. 1. Klikněte na **Uložit a odeslat údaje**. Adresa se uloží a rodiči na ni odejde e-mail s **novým heslem**. Tlačítkem **Uložit** samozřejmě jen uložíte změnu bez odeslání e-mailu - typicky když adresu měníte na žádost rodiče, který se přihlašuje bez potíží. > **Pozor:** vygenerováním nového hesla to původní přestane platit a rodič bude odhlášen. Pokud si heslo jen nepamatuje, nechte ho použít [**Zapomenuté heslo**](/docs/getting-started/first-login#zapomenuté-heslo) - tenhle postup je na případ, kdy se k údajům nikdy nedostal. Odeslání se zapisuje do auditního protokolu (kdo, komu a na jakou adresu) a e-mail najdete v záložce **Odeslané e-maily** v detailu rodiče pod typem „Opětovné zaslání přihlašovacích údajů". Nabídka se objeví jen u **aktivního** účtu, který má ve vašem provozu roli **rodiče nebo strávníka** - u administrátorů, u obsluhy výdeje a u účtů čekajících na schválení se nezobrazuje (nejdřív účet aktivujte). Další role vedle toho nevadí: manažer organizace, který je zároveň rodičem, přihlašovací údaje dostat může. ## Přihláška ke stravování Přihláška je papír, který podepisuje zákonný zástupce, než strávník začne odebírat obědy. Slouží jako podklad pro **matriku školního stravování** podle § 28 odst. 3 školského zákona a nese tři podpisové souhlasy - zdravotní údaje, GDPR a seznámení s vnitřním řádem jídelny. Podpis tedy nahradit nejde; opisovat údaje z obrazovky ale ano. Aplikace přihlášku **vytiskne předvyplněnou**: jméno a datum narození dítěte, název školy, třída, kuchyně, výdejní místo, dieta i alergeny, režim objednávání, kontakt na zákonného zástupce, variabilní symbol a číslo účtu pro platbu stravného. ### Jeden strávník 1. Otevřete detail strávníka v seznamu **Strávníci** (záložka **Základní údaje**). 1. Dole klikněte na **Přihláška ke stravování**. 1. Zkontrolujte **datum zahájení stravování** - předvyplní se na 1. 9. nejbližšího školního roku. Při nástupu v průběhu roku ho přepište. 1. Klikněte na **Otevřít PDF**. Dokument se otevře na nové záložce, odkud ho vytisknete. ### Celá rodina najednou Po založení nebo aktivaci rodičovského účtu obvykle potřebujete přihlášky za všechny jeho děti. Otevřete detail rodiče v seznamu **Rodiče**, přepněte na záložku **Strávníci** a pod seznamem klikněte na **Přihlášky ke stravování**. Vznikne jedno PDF, ve kterém má **každý strávník vlastní stránku**. Do dokumentu jdou jen **nearchivovaní** strávníci - přihláška zapisuje dítě do školního stravování, takže tisknout ji za dítě, které odešlo, nedává smysl. Účet, kterému už žádný živý strávník nezbyl, proto tlačítko nenabídne. ### Co se do přihlášky nedoplní - **Číslo účtu pro vrácení přeplatku** je záměrně prázdné - je to údaj, který rodič teprve poskytuje. - **Datum vyplnění a podpis** vyplňuje rodič perem. - **Datum narození** chybí u dospělého strávníka (pedagoga), protože ho u něj nevedeme. - **Číslo účtu pro platbu** se nahradí větou „Platební údaje sdělí provozovatel." u výdejního místa, které nemá povolený žádný bankovní účet (viz [Platební možnosti výdejního místa](/docs/operator/delivery-points)). Hlavička s údaji provozovatele (sídlo, IČO, web, zápis v obchodním rejstříku) se bere z nastavení provozu; nevyplněný údaj se prostě nevytiskne. Doplňuje ho administrátor v detailu provozu. Vygenerování přihlášky se **zapisuje do auditního protokolu** - dokument nese variabilní symbol i čísla účtů, takže je dohledatelné, kdo si ho kdy vytáhl. ## Zobrazit jako strávníka (náhled) Při řešení dotazu rodiče se vám může hodit vidět aplikaci přesně tak, jak ji vidí on. V detailu rodiče slouží k tomu tlačítko **Zobrazit jako strávníka**: 1. Otevřete detail rodiče v seznamu **Rodiče**. 1. Klikněte na **Zobrazit jako strávníka**. 1. Zadejte **důvod náhledu** (povinný - zaznamená se do auditu) a potvrďte. 1. Otevře se rozhraní rodiče s výrazným pruhem nahoře. Náhled ukončíte tlačítkem **Ukončit náhled**. Náhled je **pouze pro čtení** - v tomto režimu nelze nic objednávat, rušit ani měnit; jakákoli taková akce je odmítnuta. Otevření náhledu se vždy zaznamenává do auditního protokolu (kdo, koho a z jakého důvodu). Náhled lze otevřít u **aktivního** rodiče, strávníka nebo **manažera organizace** ve vašem zařízení; u jiných operátorů ani administrátorů dostupný není. Rozhoduje přitom role, kterou účet drží **ve vašem provozu** - rodič, kterého jste později přidali jako operátora, tedy náhled už nenabídne. Které rozhraní se otevře, řídí **místo, odkud náhled spustíte**, ne role účtu: ze seznamu **Rodiče** a z detailu strávníka se otevře rozhraní pro objednávání, z detailu organizace rozhraní organizace. U člověka, který je zároveň rodič i manažer organizace, se tak dostanete na obě strany - podle toho, kterou z nich právě řešíte. ### Náhled u pedagoga (samoobjednávajícího strávníka) Pedagog, který si objednává sám, není veden jako rodič - v seznamu **Rodiče** ho proto nenajdete. Jeho náhled otevřete ze seznamu **Strávníci**: 1. Otevřete detail pedagoga v seznamu **Strávníci** (záložka **Základní údaje**). 1. Dole klikněte na **Zobrazit jako strávníka**, zadejte důvod a potvrďte. 1. Otevře se jeho rozhraní pro objednávání, opět **pouze pro čtení**. Tlačítko se nabízí jen u **samoobjednávajícího** strávníka, tedy u toho, kdo má vlastní přihlášení. U **dítěte vedeného pod rodičem** se nezobrazuje - dítě žádný účet nemá, takže na jeho objednávky se koukáte přes náhled jeho rodiče. Nenabídne se ani u archivovaného strávníka, u neaktivního účtu a dokud máte v detailu neuložené změny (náhled odchází na jinou stránku a rozpracovanou editaci by zahodil). Náhled manažera organizace otevřete stejným způsobem z detailu organizace (viz [Účty manažerů organizací](#účty-manažerů-organizací) níže) - otevře se rozhraní organizace, opět pouze pro čtení. ## Účty manažerů organizací Organizace (mateřské školy, instituce - viz [Průvodce pro organizace](/docs/organization)) objednávají hromadně přes přihlašovací účty s rolí _organizace_. Tyto účty spravuje operátor v **detailu organizace** - zde můžete přidávat a odebírat manažery. Jeden člověk se **jedním emailem a heslem** může přihlásit a spravovat **více organizací** - v UI si vybere přepínačem, kterou organizaci právě spravuje. ### Přidání manažera organizace 1. Otevřete sekci **Organizace** a klikněte na konkrétní organizaci. 1. V detailu najděte sekci **Manažeři organizace** a rozbalte **Přidat manažera**. 1. Zadejte **e-mail** osoby (stejně jako u přidání operátora - formulář e-mail automaticky ověří): - Pokud osoba už v systému existuje (např. jako rodič nebo strávník, i v jiné organizaci či provozu), její **stávající účet se znovu použije** - jen získá přístup k této organizaci. Jméno ani heslo se nezadává a nemění; přihlašuje se svým dosavadním. Kliknete na **Přidat manažera**. - Pokud osoba v systému ještě není, formulář zobrazí pole **jméno, příjmení a heslo** - vyplníte je a kliknete na **Vytvořit a přidat**. Nový účet dostane na zadaný e-mail uvítací zprávu s přihlašovacími údaji. Přidat stejnou osobu jako manažera organizace, kterou už spravuje, nelze - systém to odmítne s hláškou, že už tuto organizaci spravuje. Manažerem **nelze** udělat účet **obsluhy výdeje** (přihlašuje se jen čipem/PINem u výdejního okénka, do aplikace vůbec nevstupuje) ani účet **administrátora** (ten není vázaný na jeden provoz). Formulář to odmítne hláškou, že účet s tímto e-mailem má roli, která organizaci spravovat nemůže. Manažer se pak přihlásí svým emailem a heslem. Po přihlášení si v aplikaci vyvolí přepínač organizací a vybere si, kterou organizaci chce spravovat - vidí jídelníček, hromadné objednávky a kredit. U každého manažera v seznamu je i tlačítko **Zobrazit jako** pro read-only náhled do rozhraní organizace (viz výše); náhled se otevře nad **tou organizací, z jejíhož detailu jste ho spustili**, i když jich manažer spravuje víc. ### Manažer jako rodič nebo strávník Manažer organizace je člověk, ne instituce - typicky zaměstnanec školky, který kromě hromadných objednávek řeší i **sebe** nebo **své děti**. Jeden účet proto může držet víc rolí zároveň a **v obou směrech**: - **Manažer, který se stane rodičem** - zadejte jeho e-mail jako e-mail rodiče při zakládání strávníka. Účet se znovu použije a přibude mu role rodiče. - **Manažer, který se stane strávníkem** - založte ho jako samoobjednávajícího strávníka (pedagoga) na jeho vlastní e-mail. - **Rodič, který se stane manažerem** - postupujte podle **Přidání manažera organizace** výše; existující účet se znovu použije. Po přihlášení má takový účet **přepínač kontextu** vedle avatara a v něm obě role - **Org.** a **Rodič**. Přepnutí je skutečná změna kontextu: v roli rodiče účet vidí jen své strávníky a k datům organizace se nedostane, v roli organizace je to naopak. Nejde tedy o jedno rozhraní, které by obojí míchalo. Do role rodiče ani strávníka se naopak **nedá** převést účet **obsluhy výdeje** nebo **administrátora** - u obou to formulář odmítne hláškou, že účet s tímto e-mailem má roli, kterou u strávníka použít nelze. ### Odebrání manažera organizace U každého manažera v seznamu je tlačítko **Odebrat**. Kliknutím jej odstraníte z organizace - následuje potvrzovací dialog. - Mazat manažery může pouze **operátor** (ne admin ani sám manažer). - **Účet manažera zůstává zachován** - odebrání jej jen odstraní z dané organizace. Pokud má jiné role (např. je zároveň rodičem nebo strávníkem), všechny jeho jiné role zůstávají aktivní. - Příklad: Pokud je osoba zároveň manažerem MŠ A i rodičem dítěte v MŠ B, odebrání z MŠ A ponechá její účet v systému - i nadále se bude moci přihlásit a objednávat si jídlo pro své dítě. - Hromadné objednávky organizace zůstávají zachované - jsou vedené na organizaci, ne na konkrétním manažerovi, takže smazáním účtu z organizace o historii objednávek nepřijdete. - O každém odebrání se zakládá záznam v **auditním logu** (kdo, kdy a kterého manažera odebral), takže akce je dohledatelná. ### Archivace a obnovení organizace Organizaci, která u vás přestala odebírat, archivujte volbou **Archivovat** v nabídce dalších akcí v jejím detailu. Archivovaná organizace už neobjednává a její manažeři se nepřihlásí. Seznam organizací má nahoře přepínač **Aktivní / Archivované / Vše**. Ve výchozím stavu vidíte jen aktivní organizace; hledání podle názvu nebo IČO probíhá vždy uvnitř zvoleného stavu, takže archivovanou organizaci najdete pod záložkou **Archivované**. Archivace jde vzít zpět: v detailu archivované organizace vyberte **Obnovit z archivu**. Organizace se vrátí mezi aktivní a může zase objednávat - pobočky, věkové skupiny, kredit i historie objednávek zůstaly celou dobu zachované. > **Manažerské účty se neobnoví samy.** Archivace deaktivuje ty manažery, kterým byla daná organizace jedinou vazbou na systém. Obnovení organizace jim přihlášení nevrátí - aktivujte je jednotlivě v sekci **Uživatelé** tlačítkem **Aktivovat**. Je to záměrné: mezitím mohl být účet deaktivovaný i z jiného důvodu a hromadné oživení by ho tiše vrátilo do hry. **Dluh organizaci archivovat nedovolí.** Je-li konto organizace v mínusu, archivace se odmítne -- pohledávka by zmizela z Přehledu plateb a platba na její variabilní symbol by se přestala připisovat. Platí to **i pro fakturační režim**, kde je mínus běžný provozní stav: při ukončení spolupráce je to nezaplacená faktura. Když peníze nedorazí, nabídne dialog volbu **Odepsat dluh a archivovat** -- konto se opravou srovná na nulu, archivace hned proběhne a oprava si vyžádá **důvod**, který se zapíše do historie transakcí i do auditu. Archivace i obnovení se zapisují do **auditního protokolu** (kdo, kdy, a u archivace i které účty kvůli ní byly deaktivovány). ### Variabilní symbol organizace Každá organizace má vlastní variabilní symbol svého kreditního účtu - přidělí se automaticky při jejím založení. V detailu organizace je u VS tlačítko **Změnit**, kterým ho operátor může přenastavit (třeba na číslo z vlastní účetní evidence). Pravidla i důsledky jsou stejné jako u strávníka, viz [Variabilní symbol](#variabilní-symbol) níže: číslo musí být volné v rámci celé jídelny a po změně se platby se starým symbolem už nespárují. U archivované organizace tlačítko **Změnit** není - nejdřív ji obnovte. ## Správa strávníků Kromě rodičů operátor spravuje také strávníky (děti). V sekci **Strávníci** vidíte seznam všech strávníků s následujícími informacemi: - Značka režimu objednávání ve sloupci před jménem: zelený **blesk** u strávníka s **aktivním účtem**, tedy takového, kterého zpracuje [automatické objednávání](/docs/operator/auto-order), a šedá **ruka** u toho, komu se objednává ručně. Najedete-li na značku myší, popisek stav pojmenuje. - Jméno a příjmení (archivovaný je přeškrtnutý a označený štítkem) - Třída - Věková kategorie - Koeficient velikosti porce - Variabilní symbol (pro platby na účet jídelny) - Zůstatek kreditu Zbytek údajů - výdejní místo, rodič, alergeny, dieta, nastavení objednávek - je v detailu strávníka, který otevřete kliknutím na řádek. ### Rodič strávníka V detailu strávníka v záložce **Základní údaje** je řádek **Rodič** se jménem a e-mailem účtu, pod kterým strávník visí. Jméno je odkaz a otevře detail toho rodiče v seznamu **Rodiče** - i když je v seznamu až na dvacáté stránce. - U **samoobjednávajícího pedagoga** se řádek jmenuje **Přihlášení strávníka**, protože účet patří jemu samotnému. Odkaz se nabídne jen tehdy, když má jeho účet zároveň roli rodiče (typicky pedagog, který si objednává i pro své dítě). - U strávníka **bez rodiče** je na řádku „bez rodiče". Takové strávníky hromadně vypíše sestava [Strávníci bez rodiče](/docs/operator/reports#strávníci-bez-aktivního-rodiče), případně se sami stanete jejich pečovatelem. ### Vyhledávání strávníka Vyhledávací pole nad seznamem hledá podle **jména nebo příjmení**, a pokud zadáte jen číslice, také podle **variabilního symbolu**. Stačí zadat začátek VS, nemusíte psát celé číslo. ### Export seznamu do CSV Tlačítko **Export CSV** nad seznamem stáhne **celý vyfiltrovaný seznam najednou** - ne jen dvacet řádků, které máte zrovna na obrazovce. Do souboru se propíše všechno, čím jste seznam zúžili: vyhledávání, výdejní místo, věková kategorie, ročník i písmeno třídy, a taky řazení, které jste si nastavili kliknutím na hlavičku sloupce. Chcete-li jmenný seznam jedné třídy, nastavte si ho tedy nejdřív na obrazovce a pak teprve exportujte. Soubor obsahuje výdejní místo, příjmení, jméno, datum narození, třídu, věkovou kategorii, variabilní symbol, kredit, informaci o [automatickém objednávání](/docs/operator/auto-order) a označení archivovaných strávníků. Je v kódování UTF-8 s desetinnou čárkou, takže se v Excelu i v LibreOffice otevře česky. Archivovaní strávníci v exportu jsou - stejně jako v seznamu - až na konci a ve sloupci **Archivovaný** mají „ano". ### Rozbalovací seznamy a hledání v nich Rozbalovací seznamy v operátorském rozhraní se chovají všude stejně. U delších z nich - třeba **Výdejní místo** ve filtru seznamu i ve formuláři strávníka - je nad položkami **vyhledávací pole**. Po rozbalení vidíte celý seznam, psaním se zužuje na položky, jejichž název zadaný text obsahuje. Diakritiku psát nemusíte, `zs husova` najde `ZŠ Husova`. Celé to jde **z klávesnice**: na zavřeném seznamu prostě začněte psát, seznam se rozbalí a rovnou filtruje podle napsaného. Šipkami se posunete, **Enter** vybere zvýrazněnou položku, **Esc** zavře. U jídelen s několika málo výdejními místy se vyhledávací pole samo nezobrazuje - jakmile ale začnete psát, objeví se. Hodí se to hlavně při párování plateb: když na výpisu z účtu vidíte VS a potřebujete zjistit, komu patří, opište ho do vyhledávání strávníků. Vyhledávání se drží vašeho zařízení - stejný VS v jiné jídelně se nezobrazí. ### Ruční přidání strávníka 1. V sekci **Strávníci** klikněte na **Přidat strávníka**. 1. Určete rodiče. Přepínač nad formulářem rozhoduje, co se vyplňuje: - **Existující rodič** - do pole napíšete alespoň tři znaky ze jména, příjmení nebo e-mailu a účet vyberete ze seznamu. Jméno ani telefon se nezadává, bere se z účtu. Strávník se připojí k tomuto účtu, **přihlašovací údaje se neposílají** - platí stávající heslo. Tohle je cesta pro sourozence. - **Nový rodič** - vyplníte e-mail, jméno, příjmení a volitelně telefon. Účet se vytvoří a **přihlašovací údaje odejdou na zadaný e-mail**. Když se ukáže, že adresa v systému už účet má, strávník se k němu připojí a přihlašovací údaje se neposílají. Pokud jste formulář otevřeli z detailu rodiče (záložka **Strávníci** → **Přidat strávníka**), je rodič už vybraný a přepínač se nezobrazuje. Odkazem **Vybrat jiného rodiče** se k volbě vrátíte. 1. Vyplňte údaje strávníka (jméno, příjmení, datum narození, **výdejní místo** - vyberte pomocí vyhledávacího pole s adresou pro snadné rozlišení, příznak diety). 1. Volitelně vyplňte **variabilní symbol** (viz níže). 1. Klikněte na **Vytvořit a odeslat údaje**. #### Strávník s vlastním přihlášením (např. učitel) Pokud si má strávník **objednávat sám za sebe** - typicky učitel - zaškrtněte na začátku formuláře **„Strávník se přihlašuje sám (např. učitel)"**: - Sekce „Rodič" se změní na **přihlašovací údaje strávníka** - stačí zadat jeho **e-mail** (a volitelně telefon). Jméno se převezme z údajů strávníka. - Přihlašovací údaje se pošlou **přímo strávníkovi** (ne rodiči). Po přihlášení si objednává stejně jako rodič, ale jen sám za sebe. - Automaticky se předvyplní **„Dospělý strávník"** (učitel je dospělý - vlastní cena, mimo spotřební koš); v případě potřeby lze odznačit. - Pokud e-mail už v systému patří rodiči, jeho účet se **znovu použije** a získá navíc roli strávníka (může tedy objednávat sobě i svým dětem). > **Datum narození:** u strávníka označeného jako **dospělý** je datum narození **nepovinné** - na cenu ani porci nemá vliv (dospělí mají vlastní kategorii). U ostatních strávníků zůstává povinné. #### Když objednává provozní za strávníka (např. senioři) Někteří strávníci si neumí objednat sami a nemají ani rodiče, který by to udělal za ně - typicky senioři. V takovém případě může provozní přepnout na **Nový rodič** a **zadat do pole e-mailu vlastní adresu** - a stát se tak pečovatelem těchto strávníků. (Ve volbě **Existující rodič** se najde teprve tehdy, až roli rodiče skutečně má, tedy od druhého takového strávníka dál.) - Účet se **znovu použije** (přihlašovací údaje nechodí, platí stávající heslo) a získá navíc **roli rodiče** ve stejné jídelně. - V hlavičce aplikace se objeví **přepínač rolí** - provozní přepne z **Operátor** na **Rodič** a uvidí své strávníky přesně tak, jak je vidí běžný rodič: jídelníček, objednávky, historii i zůstatek. - Zpět se přepne stejným přepínačem. Operátorské rozhraní tím nijak neztrácí. > **Pozor:** e-mail patřící **organizaci** nebo **obsluze výdeje** takto použít > nelze - nejsou to osobní účty a systém je odmítne se srozumitelnou hláškou. #### Schválení učitele registrovaného online Když se učitel zaregistruje sám (na registrační stránce zvolí **Učitel / samostatný strávník**), objeví se v sekci **Strávníci** na záložce **Čeká na schválení** (u záložky je počet čekajících registrací): 1. Přepněte na záložku **Čeká na schválení** a klikněte na řádek daného učitele. 1. Zkontrolujte **výdejní místo** - pokud si ho učitel zvolil už při registraci, je předvyplněné; můžete ho ponechat, nebo změnit (vyhledáním podle názvu). Případně zapněte **Dietní stravování**. 1. Zvolte **režim placení** (viz níže). 1. Klikněte na **Schválit a přidat**. Tím se účet aktivuje a založí se učiteli záznam strávníka s vlastním přihlášením - od té chvíle si objednává sám za sebe. Není potřeba zadávat e-mail ani heslo; přihlašuje se údaji z registrace. Výsledek je stejný jako u ručního [strávníka s vlastním přihlášením](#strávník-s-vlastním-přihlášením-např-učitel), jen údaje zadal učitel při registraci. #### Režim placení pro učitele (samostatný strávník) Při schválení učitele zvolíte jeden ze dvou režimů placení: - **Kreditní** (výchozí) - učitel nabíjí kredit předem, objednávky se odečítají z kreditu. Je-li zůstatek nula, objednávat nemůže. - **Fakturační** - učitel objednává na účet, který se může dostat do minusu. Objednávky se neodečítají z předplaceného kreditu, ale rozúčtovávají se později fakturou (mimo systém). Učitel vidí na kartě zůstatku nápis "Fakturační režim - platí se zpětně fakturou" a jeho záporný zůstatek se nevyznačuje jako chyba. Režim placení **volíte při schválení** a **můžete jej později změnit** v detailu strávníka (operátor nebo admin). Režim placení se uplatňuje i na automatické objednávky - fakturační učitel si může nechat automaticky objednat jídlo i se záporným zůstatkem, kreditní učitel se zastaví na nule. > **Tip:** Pro většinu učitelů stačí režim Kreditní (výchozí). Fakturační režim je užitečný pro pedagogy, kteří si chcou objednat bez nutnosti předem nabíjet; faktury se pak obchodně dohadují se školou nebo příslušným oddělením. ### Variabilní symbol Variabilní symbol (VS) je číselný identifikátor strávníkova kreditního účtu používaný při bankovním převodu. Když rodič posílá peníze, uvede VS jako součást platebního příkazu - jídelna podle něj přiřadí příchozí platbu k správnému strávníkovi (viz [Dobíjení kreditu](/docs/operator/billing)). Při vytváření strávníka má pole VS dva režimy: - **Automatické přidělení** (pole nech prázdné) - systém přidělí další volné číslo z pořadí daného tenanta. První VS v rámci tenanta je `100001`, další pak `100002`, `100003` a tak dále. Toto je doporučený postup pro většinu případů - operátor nemusí čísla sám hlídat. - **Ruční zadání** - operátor vyplní konkrétní VS (kladné celé číslo s maximálně 10 ciframi, což odpovídá českému bankovnímu standardu). Hodí se, pokud strávník přechází z jiného systému a má už zaběhnutý VS, který chce zachovat, nebo když jídelna používá schéma podle školy/třídy. > **Kolize:** Pokud zadáte VS, který v rámci vašeho tenanta už používá jiný účet (strávníka nebo organizace), formulář zobrazí chybu _"Variabilní symbol je již obsazený"_ a budete muset zvolit jiný. Automatické přidělování tuto situaci řeší samo - jen přeskočí obsazené hodnoty a zkusí další. Ruční jednorázové zadání VS **nemění logiku automatického přidělování**. Příklad: pokud automaticky dojdete k `100050` a pak ručně přidělíte VS `500000`, další automaticky přidělený VS bude `100051`, ne `500001`. Counter se nepřesouvá za ručně zadanou hodnotu - díky tomu se nevytváří díry v automatické řadě. #### Změna variabilního symbolu Variabilní symbol jde změnit i po založení strávníka. V detailu strávníka na záložce **Základní údaje** je u VS tlačítko **Změnit** - zadejte nové číslo a uložte. Platí stejná pravidla jako při zakládání: kladné celé číslo o nejvýše 10 cifrách, které v rámci vaší jídelny ještě nikdo (strávník ani organizace) nepoužívá. Obsazený VS formulář odmítne hláškou _„Variabilní symbol je již obsazený"_. > **Pozor:** VS je identifikátor, podle kterého se párují **příchozí bankovní platby**. Po změně se platba se starým symbolem už k strávníkovi nepřiřadí a zůstane ve výpisu jako nespárovaná. Změníte-li VS, dejte rodiči vědět, ať si upraví trvalý příkaz. Změna se zapisuje do auditního záznamu (kdo a kdy ji provedl). Změna VS platí jen dopředu - dříve připsané platby a zůstatek zůstávají beze změny. #### Strávník bez variabilního symbolu Občas se stane, že strávník žádný VS nemá -- v seznamu je v tom sloupci pomlčka a v detailu na záložce **Základní údaje** stojí u variabilního symbolu **Nepřiřazen**. Automatické přidělení symbolu totiž **neblokuje** založení strávníka: když se v ten okamžik nepodaří (typicky při hromadném importu, kdy se automatická řada potká s ručně zadanými symboly), strávník se založí i tak, ale bez platebního účtu. Takový strávník **nemůže objednávat ani platit**: každá objednávka se odečítá z kreditu, takže se bez platebního účtu odmítne, příchozí platba se nemá k čemu spárovat a kredit mu nedobijete. Automatické objednávání takový den tiše přeskočí. Spraví to tlačítko **Přiřadit** hned u nápisu „Nepřiřazen": zadejte volné číslo a uložte. Tím se platební účet založí (s nulovým zůstatkem) a od té chvíle se strávník chová jako každý jiný. - Platí stejná pravidla jako výše: kladné celé číslo o nejvýše 10 cifrách, volné v rámci celé jídelny. - Zůstatek začíná na nule. Pokud strávník přechází z jiného systému a má u vás nějaký kredit, doúčtujte ho po přiřazení symbolu jako **korekci zůstatku** na záložce **Kredit**. - U **archivovaného** strávníka se tlačítko nenabízí -- nejdřív archivaci zrušte. Stejně to funguje i u organizace: pokud jí při zakládání symbol nevznikl, v detailu je u VS **Přiřadit** a přiřazením se založí její kreditní účet. ### Přesun strávníka na jiné výdejní místo Výdejní místo se mění v detailu strávníka na záložce **Základní údaje**. Objednávky nejsou vázané na výdejní místo, ale na strávníka, takže se přesunou s ním - a to i ty za už uskutečněné dny. Znamená to, že sestavy (výdejka, jmenný seznam, expediční list, dodací list) budou strávníka i jeho starší objednávky vykazovat už na novém výdejním místě. Cena zůstává taková, za jakou se objednávalo - rozdíl proti ceníku nového místa se nedoúčtovává. Jak se ale zachází se objednávkami, které nové výdejní místo **vůbec nenabízí** (např. strávník má objednaný Oběd 3 a nové místo tuhle variantu nemá): 1. Po změně výdejního místa se ve formuláři objeví upozornění, kolika objednávek na příští dny se to týká. 2. Při uložení se zobrazí potvrzení s výpisem konkrétních objednávek (den, druh jídla, částka). Po potvrzení se **zruší a vrátí se za ně peníze na konto strávníka**, a teprve pak se strávník přesune. Ruší se i po termínu odhlášení - nové místo je stejně nemůže vydat. 3. Bez potvrzení se přesun neprovede. Výjimka: jídla, která už byla **vydána** u výdejního okénka, se nerušit nedají (peníze za snědené jídlo se nevracejí) a zůstanou účtovaná. Potvrzovací dialog na ně upozorní. Rodič si výdejní místo u svého dítěte měnit může, ale objednávky se mu tímto způsobem rušit nebudou - kolizní objednávky si musí nejdřív odhlásit sám, nebo požádat jídelnu o přesun (nešlo by to jinak obejít termín odhlášení). > **Automatické objednávání:** po přesunu zkontrolujte **výchozí variantu** v > nastavení objednávek strávníka. Pokud ji nové výdejní místo nenabízí, > automatické objednávání pro tohoto strávníka nic neobjedná (a započítá to jako > přeskočené dny). ### Objednávky strávníka V detailu strávníka je vpravo dole tlačítko **Objednávky** - otevře stránku s objednávkami toho jednoho strávníka. Stránka má dvě zobrazení, přepínají se tlačítky nahoře: - **Objednat** - týdenní jídelníček. U každého jídla je tlačítko **Objednat** (volitelně s krabičkou), u už objednaného jídla **Zrušit** a jeho cena. Šipkami se listuje po týdnech. Zobrazuje jen týden, na který je vypsaný jídelníček. - **Přehled objednávek** - seznam skutečně zadaných objednávek za zvolený měsíc, den po dni: druh jídla, název, značka krabičky, částka a zrušené objednávky přeškrtnuté. Nahoře je souhrn **Objednáno: N · celkem X Kč**. Tady si operátor ověří, co za strávníka zadal, i když na daný týden zrovna není vypsaný jídelníček. Rušit objednávky se dá v zobrazení **Objednat** - je tam vidět kontext jídelníčku i uzávěrka. ## Hromadný import strávníků (CSV) Pro nové školní roky nebo při migraci z jiného systému může operátor importovat strávníky hromadně pomocí CSV souboru. Tato funkce výrazně šetří čas oproti ručnímu zadávání. **Výdejní místo se volí jednou** rozbalovacím seznamem na stránce importu -- **není** to sloupec v CSV. Všichni strávníci z nahraného souboru se založí pod tímto vybraným výdejním místem. ### Formát CSV souboru CSV soubor musí mít hlavičkový řádek. Oddělovač může být čárka i středník (systém ho rozpozná automaticky), kódování **UTF-8**. Na pořadí sloupců nezáleží. Na stránce importu je odkaz **Stáhněte ukázkové CSV** -- ukázka obsahuje všechny podporované sloupce včetně `variable_symbol` a `credit`, takže je nejjistější začít od ní a jen do ní vepsat svoje data: ``` first_name;last_name;birth_date;parent_email;parent_first_name;parent_last_name;is_adult;diet_flag;class;allergens;variable_symbol;credit Jan;Novak;2015-03-15;novakova@example.com;Jana;Novakova;ne;ne;;1|7;4210;850,50 Marie;Novakova;2017-08-22;novakova@example.com;Jana;Novakova;ne;ne;3.A;;4211;0 Petra;Ucitelova;;ucitelova@example.com;;;ano;ne;;;4212;-120 ``` ### Popis polí Prvních **osm** sloupců musí být v hlavičce vždy; zbytek je nepovinný. U tří z nich smí buňka na konkrétním řádku zůstat prázdná -- to je ta hvězdička ve sloupci Povinné. | Pole | Typ | Povinné | Popis | | --- | --- | --- | --- | | `first_name` | Text | Ano | Křestní jméno strávníka | | `last_name` | Text | Ano | Příjmení strávníka | | `birth_date` | Datum (YYYY-MM-DD) | Ano\* | Datum narození -- systém z něj určí věkovou kategorii. \*U řádků s `is_adult` může buňka zůstat prázdná, sloupec v hlavičce ale být musí | | `parent_email` | E-mail | Ano | E-mail účtu, pod který strávník patří. U dítěte **rodič** -- účet se najde nebo založí a strávník se pod něj napojí, rodič ho pak vidí a může za něj objednávat. U řádku s `is_adult` **vlastní adresa strávníka** -- založí se mu samoobjednávací účet | | `parent_first_name` | Text | Ano\* | Jméno rodiče. \*U řádků s `is_adult` nechte prázdné -- účet se pojmenuje podle strávníka samotného | | `parent_last_name` | Text | Ano\* | Příjmení rodiče, stejné pravidlo jako výše | | `is_adult` | Ano/ne | Ano\* | Dospělý strávník / pedagog. Přijímá `ano`/`ne`, `true`/`false`, `1`/`0`. \*Prázdná buňka znamená `ne` | | `diet_flag` | Ano/ne | Ano\* | Příznak speciální diety, stejné hodnoty a stejné pravidlo jako výše; prázdné = bez diety | | `class` | Text | Ne | Třída ve tvaru `8` (ročník) nebo `8.B` (ročník + písmeno); prázdné = bez třídy | | `allergens` | Kódy 1-14 | Ne | Alergeny oddělené svislítkem, středníkem nebo mezerou, např. `1 7`. Svislítko je nejbezpečnější -- čárka by se v souboru s čárkovým oddělovačem musela uvozovat | | `dietary_note` | Text | Ne | Poznámka k dietě | | `variable_symbol` | Číslo | Ne | Vlastní variabilní symbol. Prázdné = přidělí se automaticky. Použijte při migraci, kdy chcete zachovat symboly z původního systému | | `credit` | Částka v Kč | Ne | Zůstatek převedený z původního systému, **v korunách** (`850,50`). Smí být i záporný, když strávník dluží. Prázdné nebo `0` = nepřevádí se nic | ### Kontrola hlavičky Import projde jen se sloupci, které systém zná, a jen když má všechny povinné. Pokud v hlavičce najde **neznámý sloupec** (např. `kredit` nebo překlep `variable_symbols` místo `variable_symbol`), **stejný sloupec dvakrát** nebo mu **některý povinný sloupec chybí**, celý soubor odmítne: nezaloží ani jednoho strávníka a nikomu neodejde uvítací e-mail. Ve výsledku se ukáže, které sloupce jsou špatně -- všechny naráz, aby se soubor opravoval na jeden zátah. Je to úmyslné. Kdyby se neznámý sloupec jen ignoroval, překlep v jeho názvu by se tvářil jako úspěšný import a data z toho sloupce by zmizela bez varování -- u `variable_symbol` to znamená, že by každý strávník dostal nový symbol a rodiče by už měli v e-mailu čísla, na která se platby ze starého systému nepřipíšou. > **Pozor:** export z jiného systému proto nelze nahrát „tak, jak je" -- sloupce, které edumeal nezná, je potřeba nejdřív odebrat nebo přejmenovat. ### Převod zůstatků ze starého systému Sloupec `credit` přenese zůstatek, který strávník měl v předchozím systému. Píše se **v korunách** (`850,50`), smí být i **záporný**, když strávník dluží, a prázdná buňka nebo `0` znamená, že se nepřevádí nic -- export, ve kterém je u většiny lidí nula, tedy nezaloží stovky nulových pohybů. Zůstatek se zaúčtuje jako **korekce zůstatku** s popisem „Počáteční zůstatek z importu", takže je v historii transakcí strávníka dohledatelný a rodič ho vidí i v uvítacím e-mailu ve sloupci **Převedený zůstatek**. Ve výsledku importu se ukáže, kolika strávníkům se zůstatek převedl a jaká je celková částka. > **Pozor na desetinnou čárku:** v souboru s **čárkovým** oddělovačem by se `850,50` rozpadlo na dvě buňky. Použijte proto středníkový soubor (jako ukázka), nebo napište částku s tečkou -- `850.50`. Řádek s rozpadlou částkou import odmítne, nikdy ho nezaúčtuje jako 850 Kč. Na jeden řádek lze převést nejvýš 1 000 000 Kč. Kredit se zaúčtuje jen strávníkům, které import právě zakládá -- opakované nahrání téhož souboru existující strávníky přeskočí, takže se zůstatek nemůže připsat dvakrát. U řádku, kterému se kvůli obsazenému variabilnímu symbolu nepodařilo založit platební účet, se zůstatek nepřevede a import to vypíše jako chybu. **Sourozenci pod jedním rodičem:** stačí uvést stejný `parent_email` na více řádcích. Účet se založí jednou a všichni strávníci se pod něj napojí -- každý ale dostane **vlastní variabilní symbol**, platby je proto potřeba posílat za každého zvlášť. **Pedagogové a dospělí strávníci** se importují s `is_adult` = `ano`. Do `parent_email` patří **jejich vlastní adresa** a sloupce `parent_first_name` / `parent_last_name` se nechají prázdné -- účet se pojmenuje podle jména strávníka. Vznikne z toho **samoobjednávající strávník**, tedy přesně to, co byste dostali ručním založením přes formulář: pedagog se přihlásí na svou adresu a objednává sám sobě, není veden jako rodič. Datum narození u nich může chybět, sloupec `birth_date` ale musí být v hlavičce i v souboru, kde jsou samí dospělí. Když je někdo **zároveň pedagog a rodič** (učí na škole, kam chodí i jeho dítě), uveďte stejnou adresu na obou řádcích -- na svém s `is_adult` = `ano` a na řádku dítěte jako `parent_email`. Vznikne **jeden účet**, který umí obojí, a dorazí mu **jeden** uvítací e-mail se sebou samým i s dítětem. ### Uvítací e-mail Nad tlačítkem **Importovat** je volba **Poslat rodičům uvítací e-mail**: - **Zaškrtnuto** (výchozí): každý rodič dostane po importu **jeden** e-mail se seznamem svých strávníků a jejich variabilními symboly plus platebními údaji výdejního místa. Účty, které import právě založil, v témže e-mailu najdou i přihlašovací údaje -- žádná druhá zpráva se neposílá. - **Nezaškrtnuto**: strávníci i rodičovské účty se založí, ale nikomu nic neodejde. Vhodné, když si připravujete seznam na další školní rok dopředu. Noví rodiče se pak dostanou do systému přes **Zapomenuté heslo** na svojí adresu. ### Postup importu 1. Stáhněte si na stránce importu **ukázkové CSV** a připravte podle něj svůj soubor (kódování UTF-8). 1. Přejděte do sekce **Strávníci** a klikněte na **Import CSV**. 1. V rozbalovacím seznamu **Výdejní místo** vyberte místo, pod které se strávníci založí. 1. Rozhodněte, jestli se má poslat uvítací e-mail (viz výše). 1. Vyberte soubor z disku (nebo ho přetáhněte do nahrávacího pole) a klikněte na **Importovat**. 1. Po dokončení se zobrazí karta **Výsledek importu** s počty **Vytvořeno** a **Přeskočeno**, dlaždice **Účty** s počtem **nových** a **napojených** účtů a s **odeslanými e-maily**. Když soubor převáděl zůstatky, přidá se **Převedený zůstatek** a **Strávníků se zůstatkem**. Chybné řádky se vypíšou v seznamu **Chyb** s číslem řádku a popisem problému. Mezi chybami se může objevit i řádek, kterému se **nepodařilo přidělit variabilní symbol** (`variable symbol not assigned ...`, případně `variable_symbol <číslo>: ...` u symbolu, který jste zadali sami). Strávník je založený, ale bez platebního účtu -- doplňte mu symbol v detailu, viz [Strávník bez variabilního symbolu](#strávník-bez-variabilního-symbolu). Dokud ho nemá, nelze mu připsat platbu. Import proběhne v jednom kroku -- není žádný samostatný náhled před potvrzením. Chyba v hlavičce zastaví celý soubor (viz výše). Řádky s chybou (např. neplatné datum narození, neznámý kód alergenu nebo e-mail, který patří účtu organizace) se přeskočí a vypíšou v seznamu chyb, ostatní se založí. Každý import se zapisuje do auditního záznamu (název souboru + výsledné počty). ## Archivace Strávníky, kteří již nechodí do jídelny (např. přešli na jiné výdejní místo, ukončili docházku), můžete archivovat. Archivace: - Skryje strávníka z aktivních seznamů - Zabrání vytváření nových objednávek - Zachová všechna historická data a transakce - Je reverzibilní -- archivaci lze kdykoli zrušit (viz níže) ### Zůstatek a dluh brání archivaci Konto strávníka musí být před archivací **vypořádané** -- systém archivaci odmítne, dokud na něm zůstávají peníze, a to na obě strany: - **Kredit** (kladný zůstatek) jsou cizí peníze. Archivací by zmizely z dohledu a variabilní symbol by zůstal navěky obsazený. Vypořádejte je opravou zůstatku (viz [Kredit a platby](/docs/operator/billing)). - **Dluh** (záporný zůstatek) je pohledávka. Sestava **Zůstatky strávníků** i **Přehled plateb** počítají jen s živými strávníky, takže archivací dlužníka pohledávka zmizí z účetnictví a platba, která na jeho variabilní symbol dorazí později, se přestane připisovat. Když peníze nedorazí a strávník odejít musí, nabídne dialog volbu **Odepsat dluh a archivovat**. Konto se opravou srovná na nulu a archivace hned proběhne. Oprava si vyžádá **důvod** -- je to jediný záznam o tom, proč pohledávka zanikla -- a zapíše se do historie transakcí i do auditního záznamu. Odpis se týká **jen dluhu**; kredit se tímhle tlačítkem nikdy nevyplácí (vracet peníze je jiná operace a nesmí se stát vedlejším účinkem archivace). > **Rodiče se dluh netýká.** Když si rodič archivuje vlastní dítě ve své aplikaci, dluh mu v tom nebrání -- vyrovnat ho sám nemůže a jinak by se z jídelny neodhlásil. Pohledávka zůstává v účetnictví. Fakturační pedagog není výjimka: mínus je u něj běžný provozní stav, ale při ukončení docházky je to nezaplacená částka, kterou je potřeba doúčtovat, nebo odepsat. ### Obnovení archivovaného strávníka Archivovaný strávník zůstává v seznamu strávníků, jen je zobrazen šedě se štítkem _archivováno_. Pokud byl strávník archivován omylem nebo se vrací do jídelny: 1. Otevřete detail archivovaného strávníka kliknutím na řádek v seznamu. 1. V dolní liště detailu klikněte na **Obnovit**. 1. Potvrďte akci v dialogu. Po obnovení je strávník opět plně aktivní -- můžete pro něj zadávat objednávky a editovat údaje (např. opravit chybně zadané datum narození). Variabilní symbol, kredit a historie objednávek se archivací neztrácejí, takže jsou po obnovení zachované. **U pedagoga jde odebrání účtu a archivace strávníka ruku v ruce.** Samoobjednávající pedagog je sám sobě rodičem, takže jeho záznam strávníka se nikdy „nestane bez rodiče" -- a přesto **odejde s účtem**: odebrání účtu ho archivuje. Jinak by po pedagogovi zůstal živý řádek bez přístupu, pro který nikdo nemůže objednávat ani platit, a který už by nikdo nearchivoval. Dokud má takový pedagog na kontě peníze (kredit i dluh), systém proto odmítne i **odebrání jeho účtu**, ne jen archivaci strávníka -- vypořádejte konto nejdřív. Totéž platí pro rodiče, který je zároveň pedagogem: dialog vám dopředu řekne, který řádek to blokuje, a po vypořádání vypíše, koho archivace zahrne. Jedna výjimka: **samoobjednávající pedagog**, jehož vlastní účet už kvůli archivaci zanikl (viz [Co se stane s účty](#co-se-stane-s-účty) níže), se obnovit nedá. Jeho záznam strávníka je svázaný s jeho přihlášením, a to už neexistuje -- obnovením by vznikl řádek, pro který nikdo nemůže objednávat ani platit. Systém proto obnovení odmítne a takového pedagoga je potřeba **založit znovu**. ### Co se stane s účty Archivace strávníka se propíše i na účty, na kterých strávník visel -- stejně jako to funguje v opačném směru u odebrání rodiče. Dřív se nepropisovala vůbec, takže po odchodu poslední dítěte zůstal v jídelně účet, který už nešlo k ničemu použít, a přesto pořád držel svou e-mailovou adresu. Systém vám dopředu v dialogu ukáže, co přesně to udělá: - **Rodič, kterému zůstane další dítě** v jídelně, se **nedotkne**. Sourozenec objednává dál. - **Rodič, kterému nezůstane žádné dítě**, se z jídelny **odpojí**. Byla-li to jeho jediná jídelna, jeho **účet zanikne** a tím se **uvolní jeho e-mailová adresa** (viz [Uvolnění e-mailu](#uvolnění-e-mailu-pro-novou-registraci)). - **Rodič, který má přístup i v jiné jídelně** nebo u vás zastává ještě jinou roli (typicky je zároveň operátor), se jen odpojí od téhle jídelny a **zůstává aktivní**. E-mail si nechává -- jinde se s ním pořád přihlašuje. - U **samoobjednávajícího pedagoga** se stejným způsobem odebírá role strávníka. Je-li ten člověk zároveň rodičem svého dítěte, roli rodiče si ponechá a jeho účet nezaniká. Dialog vypíše jmenovitě, který účet zaniká a s jakou adresou. U nevratné větve po vás navíc bude chtít opsat slovo **ARCHIVOVAT**; u běžné archivace, která žádný účet neruší, stačí jedno kliknutí. > **Rodič si tímhle vlastní účet nezruší.** Kaskáda běží jen když strávníka archivuje **operátor nebo administrátor**. Když si rodič archivuje poslední dítě sám ve své aplikaci, jeho účet zůstává beze změny -- jinak by se odpojil uprostřed vlastního přihlášení a sám by s tím nic nezmohl. Archivace strávníka i zrušení účtu se zapisují do **auditního protokolu**; u uvolněné adresy se ukládá jen její **doména**, ne celá adresa. **Nevypořádané konto dítěte odebrání rodiče zastaví.** Pokud by některé dítě zůstalo po odebrání bez rodiče a jeho konto nebylo na nule, systém odebrání odmítne celé a řekne vám dopředu, koho vypořádat. Platí to pro obě znaménka, i když z opačných důvodů: - **Dluh** je pohledávka, kterou by neměl kdo zaplatit. Vyrovnejte konto, nebo dluh odepište při archivaci toho strávníka. - **Kredit** jsou cizí peníze na kontě, ze kterého už nikdo nemůže objednávat. Vypořádejte zůstatek opravou zůstatku v detailu strávníka; kredit se nikdy neodepisuje, vrací se. Dřív kredit odebrání pustil dál a strávník zůstal viset živý, bez rodiče a s penězi -- objevil se jen v reportu **Strávníci bez aktivního rodiče**. Odebrání proto teď zopakujte až po vypořádání. ### Trvalé smazání strávníka (GDPR) Dítě vlastní účet nemá, takže smazání účtu rodiče se k jeho jménu nedostane. Pro strávníka je proto v nabídce dalších akcí v jeho detailu samostatná volba **Trvale smazat (GDPR)** -- nabízí se i u archivovaného strávníka, protože výmaz se typicky vyřizuje až po odchodu z jídelny. Vyžaduje opsat slovo **SMAZAT** a je **nevratná**. Co se stane: - jméno se změní na „Smazáno (strávník)", **alergeny** a **dietní poznámka** se vymažou, případný **čip se odpojí** (karta je znovu použitelná) a strávník se archivuje, - **zůstává** datum narození a věková kategorie (počítají se z nich porce a spotřební koš ve **všech historických sestavách**), kredit s variabilním symbolem (kvůli dohledání starých platb) a objednávky s výdeji, - nevypořádané konto smazání **odmítne** -- stejně jako archivaci. Vyrovnejte zůstatek, u dluhu ho lze odepsat při archivaci. > **Sestavy za minulé dny se tím změní.** Jméno na výdejce nebo ve jmenném seznamu se nečte z uložené kopie, ale živě ze záznamu strávníka -- po smazání se tedy i na starých sestavách vytiskne „Smazáno (strávník)". Pokud takový den ještě potřebujete s jménem, vytiskněte ho **před** smazáním. Smazání se zapisuje do auditního protokolu (kdo, kdy, které výdejní místo) -- bez jména, aby ho záznam znovu nezavedl. #### U pedagoga se maže i účet Samoobjednávající pedagog je **jedna osoba se svým účtem**, takže jeho jméno, alergeny i dietní poznámka jsou tytéž osobní údaje jako e-mail a telefon na účtu. Smazat jen záznam strávníka by po „trvalém smazání" nechalo živou přihlašovací adresu a jméno. V jeho detailu se proto volba jmenuje **Trvale smazat včetně účtu (GDPR)** a udělá obojí najednou: - na **účtu** se pseudonymizuje jméno, e-mail i telefon, přihlášení okamžitě přestane platit a nedoručené e-maily se zruší, - na **záznamu strávníka** se jméno změní na „Smazáno (strávník)", alergeny a poznámka se vymažou, případný čip se odpojí (karta je znovu použitelná) a záznam se archivuje. **Datum narození a příznak dospělosti zůstávají** -- z nich se počítá věková kategorie ve všech historických sestavách, takže jejich vymazáním by se zpětně změnily porce a spotřební koš. Zůstává i variabilní symbol a konto, aby šlo dohledat staré platby; nevypořádané konto proto smazání odmítne stejně jako archivaci. Pedagog v seznamu **Rodiče** není (je vedený rolí strávníka), takže tohle je jediné místo, odkud se jeho účet maže. Pokud má na sobě zároveň napojené děti (je i rodič), smazání se odmítne -- nejdřív je převeďte na jiný účet nebo archivujte. Podobně můžete archivovat i uživatelské účty rodičů, pokud již není jejich přístup do systému potřebný. Archivace rodiče **zachovává** jeho jméno, e-mail a telefon v databázi - je určená pro reverzibilní deaktivaci (např. dočasné pozastavení účtu) ne pro trvalé smazání. ### Co se stane se strávníky Odebrání rodiče se nově propíše i na jeho strávníky, a systém vám dopředu ukáže co přesně: - **Strávník, kterému zůstane jiný aktivní rodič** (sdílená péče, druhý rodič, prarodič) se **nedotkne**. Objednávky mu běží dál. - **Strávník, kterému nezůstane žádný aktivní rodič**, se **archivuje** - a v poznámce si nese, že to způsobilo odebrání rodiče, aby se pak dala odlišit od archivace, kterou jste udělali sami. - **Strávník bez rodiče, který má na kontě peníze, se NEarchivuje.** Jsou to cizí peníze a archivací by zmizely z dohledu. Zůstane v provozu, ale nedá se pro něj objednávat a nepřipisují se mu platby - a objeví se v reportu [Strávníci bez rodiče](/docs/operator/reports#strávníci-bez-aktivního-rodiče). Vypořádejte zůstatek (opravou zůstatku) a strávníka pak archivujte ručně. Dialog před potvrzením vypíše jmenovitě, kdo se archivuje a kdo má zůstatek s jakou částkou. U nevratné větve (účet zaniká nebo se archivují děti) po vás navíc bude chtít opsat slovo **ODEBRAT** - jednoduchá zábrana proti přebrnknutí. Převod strávníků na jiný účet zůstává k dispozici jako **volitelná** cesta, když chcete děti předat konkrétnímu člověku místo toho, aby se archivovaly. Povinný předkrok už to není. (Trvalé smazání dle GDPR ho ale pořád vyžaduje - pseudonymizovaný účet už nejde na nikoho ukázat.) ## Převod strávníků na jiný účet Nejčastější případ: **stejný rodič je v systému dvakrát** (např. jednou z importu a jednou z vlastní registrace) a děti visí na obou účtech. E-mail duplicitního účtu nejde přepsat na ten správný - každý živý e-mail může být v systému jen jednou a formulář takovou změnu odmítne hláškou „Tento e-mail už používá jiný účet". Řešením je strávníky převést a duplicitu zrušit. V detailu rodiče v menu pod ikonou `⋮` je položka **Převést strávníky**. (Ke stejnému dialogu vede i tlačítko u hlášky o obsazeném e-mailu a odmítnutá archivace.) V dialogu uvidíte: 1. **Co se převede** - seznam strávníků, ke kterým je účet přiřazený, včetně výdejního místa a označení „sdílená péče" u těch, kde rodič není hlavním vlastníkem. 1. **Cílový účet** - vyhledejte podle jména nebo e-mailu a vyberte. Cíl musí být existující aktivní účet ve vaší jídelně; nový účet dialog nezakládá. 1. **Po převodu archivovat původní účet** - předvyplněno. Odškrtněte, pokud chcete jen přesunout děti (např. na druhého rodiče) a původní účet zachovat. Po potvrzení přejdou všichni strávníci pod cílový účet a původní účet už u nich nefiguruje. Cílový účet automaticky získá roli rodiče. **Co se nemění:** zůstatek, variabilní symbol, historie objednávek ani platby - účet je vedený u strávníka, ne u rodiče. Převod se zapisuje do auditního záznamu. **Vlastní strávník zůstává.** Pokud je převáděný účet zároveň **strávník s vlastním přihlášením** (typicky učitel), jeho vlastní záznam strávníka se nepřevádí - patří k jeho identitě. Takový účet se proto ani nearchivuje, i když volbu necháte zaškrtnutou. Pokud má člověk přístup i v **jiné jídelně**, archivace ho odpojí jen od té vaší - jinde se přihlásí dál. ### Uvolnění e-mailu pro novou registraci Po archivaci účtu se jeho e-mail uvolní pro novou registraci v **jakékoli** jídelně. Adresu totiž obsazují jen **živé** účty: archivovaný účet si svou adresu v databázi nechává (nemažeme ji, je potřeba u fakturační historie a auditu), ale místo už blokuje. Když tedy rodič opustí jídelnu A a chce začít v jídelně B, stačí v A jeho účet archivovat a v B se zaregistruje **se stejným e-mailem**. Nemusíte mu říkat, ať si zakládá novou adresu. Účet se archivuje dvěma cestami a **obě adresu uvolní stejně**: - **Odebráním rodiče** z jídelny (v seznamu Rodiče), byla-li to jeho poslední jídelna. - **Archivací jeho posledního strávníka** -- to se od nové verze propíše na účet samo, viz [Co se stane s účty](#co-se-stane-s-účty). Trvalé smazání dle GDPR není k uvolnění adresy potřeba. To je samostatná, **nevratná** operace pro případ, kdy o smazání svých údajů požádá sám dotčený člověk -- viz [Trvalé smazání](#trvalé-smazání-gdpr-čl-17). ## Když se rodina vrátí Protože se e-mail archivací uvolní, vracející se rodina se zaregistruje jako **nový účet**. Jejich dítě ale v systému pořád je - archivované, s původním variabilním symbolem, zůstatkem i historií objednávek. Proto při zakládání strávníka hlídáme duplicity: když zadáte jméno a datum narození, které už v jídelně existuje (i archivovaně), formulář se zastaví a nabídne dvě cesty: - **Připojit existujícího strávníka** - původní záznam se přiřadí novému účtu a odarchivuje. Zůstatek, variabilní symbol i historie zůstávají, takže rodičův trvalý příkaz začne fungovat sám. - **Je to jiné dítě, vytvořit nového** - pro případ dvou skutečných jmenovců se stejným datem narození. **Zakládejte nového strávníka jen když to skutečně jiné dítě je.** Nový záznam dostane nový variabilní symbol a platby ze starého trvalého příkazu by se dál nepřipisovaly - skončily by v importu jako nespárované. Připojení je vždy operátorská akce. Rodič si dítě nemůže „nárokovat" sám - na účtu bývají peníze. ## Trvalé smazání (GDPR čl. 17) Pro situace, kdy rodič výslovně požádá o smazání svých osobních údajů, nebo kdy uplynula zákonná retenční lhůta pro účetní podklady, slouží **Trvalé smazání (GDPR)**. Akci může pustit jak operátor (v rámci svého tenanta), tak administrátor (napříč tenanty) - operátor je z pohledu GDPR _správce_ dat svých rodičů, takže žádost subjektu vyřizuje přímo bez nutnosti eskalace. V detail panelu rodiče v menu pod ikonou `⋮` najdete druhou položku s upozorněním „Nevratné - pseudonymizuje PII". Stejně jako u strávníka je akce za opsaným slovem **SMAZAT** -- dokud ho nenapíšete, potvrzovací tlačítko je neaktivní. Po potvrzení dialogu: - **Jméno, e-mail a telefon** se přepíšou na placeholder (`erased-@edumeal.invalid`) a původní hodnoty se z databáze ztratí - operaci nelze vrátit zpět. - **Všechny aktivní přihlašovací tokeny** okamžitě přestanou platit (nastaví se `token_invalidated_at = now()`). Případné otevřené relace v prohlížeči se odhlásí při dalším requestu. - **Nedoručené e-maily** v notifikační frontě, které byly určeny tomuto rodičovi, se zruší (status _failed_, payload vyprázdněn) - žádný „erasure-late" e-mail už neopustí systém. - **Audit log** (záznamy o přihlášeních, dobitích kreditu, objednávkách) _zůstává_ nezměněn - referencuje jen `user_id` (UUID), ne e-mail. UUID samo není osobní údaj. - **Finance** (transakce, kreditní účet, variabilní symbol, faktury) _zůstávají_ nezměněné. Český zákon o účetnictví vyžaduje archivaci 5–10 let v závislosti na typu dokladu; GDPR výslovně připouští tuto výjimku z práva na výmaz. - **Strávníci (děti)** musí být vyřešení předem: dokud na účtu visí byť jediný živý strávník, smazání se **odmítne** s hláškou o připojených strávnících. Převeďte je na jiný účet (**Převést strávníky**), nebo je archivujte -- archivovaní už smazání nebrání a zůstanou napojení na pseudonymizovaný účet. Jméno samotného dítěte tím smazané není, na to je [Trvalé smazání strávníka](#trvalé-smazání-strávníka-gdpr). > **Použijte rozumně:** trvalé smazání pouštějte jen po doložené žádosti subjektu nebo po vypršení retence. Pro běžné případy „rodič přestal používat systém" stačí Archivace - uvolní e-mail pro novou registraci a zachová možnost reaktivace. ## Obsluha výdeje (kitchen_staff) Pokud kuchyně používá RFID výdej, vytváří operátor také účty pro **obsluhu výdeje** -- kuchařky a paní jídelnové, které u okénka potvrzují výdej čipem strávníka. Tato role (`kitchen_staff`) je oddělená od role operátora a má přístup pouze k výdejnímu UI, ne ke správě cen, receptů ani uživatelských účtů. Postup vytvoření účtu obsluhy, přiřazení služebního čipu a vystavení fallback PINu najdete v sekci [RFID výdej obědů](/docs/operator/rfid).