Obsluha (kuchařka) — výdej obědů
Obsluha výdeje (kuchařka, paní jídelnová) má v edumeal vlastní uživatelskou roli kitchen_staff a vlastní UI surface: kuchyňský terminál na adrese /scan/*. Tato role je oddělená od role operátora — obsluha nepřistupuje k jídelnímu lístku, cenám, recepturám ani správě uživatelů. Pracuje výhradně s výdejním rozhraním u okénka.
Klíčový rozdíl: obsluha nemá uživatelské jméno + heslo. Nepřihlašuje se do aplikace e-mailem — místo toho zadá PIN nebo přiloží služební čip přímo na kuchyňském terminálu, který předem nastavil operátor.
Co obsluha vidí a dělá
| Co dělá | UI | Frekvence |
|---|---|---|
| Přihlásit se na začátku směny a vybrat, co vydává | /scan/start — PIN nebo služební čip | 1x denně (8h platnost) |
| Skenovat čipy strávníků | /scan — scanning mode | Každý oběd |
| Manuální výdej (zapomenutý čip) | Tlačítko v /scan + dialog | Výjimečně |
| Stornovat dnešní výdej | Tlačítko v /scan + dialog | Výjimečně |
| Ukončit směnu | Tlačítko v /scan | Na konci výdejní špičky |
Předpoklady (operátor zajistí jednorázově)
Než obsluha přijde k terminálu poprvé, musí operátor jednorázově nachystat:
- Spárované zařízení na konkrétním kuchyňském PC — operátor v RFID průvodci projde cestu
/operator/scan-setupa vybere výdejní místo. Po úspěšném spárování PC pamatuje device token v localStorage prohlížeče. - Uživatelský účet kitchen_staff pro obsluhu — vytvoří se z
/operator/kitchen-staff→ + Přidat uživatele obsluhy. - PIN (4—8 číslic) a/nebo služební čip pro tohoto uživatele. Stačí jedno, oboje funguje jako fallback druhého.
Bez těchto tří kroků se obsluha k terminálu nepřihlásí. Detaily najde operátor v sekci RFID výdej obědů.
Zahájení směny
Kuchyňské PC ráno otevře https://edumeal.cz/ (nebo lokální URL kuchyně). Pokud je PC spárované a obsluha není ještě přihlášená, edumeal automaticky přesměruje na obrazovku Přihlášení obsluhy (/scan/start).
Volba jídel, která budete vydávat
Před přihlášením obsluha zaškrtne všechna jídla, která u okénka vydává — klidně několik. Vybírá se z dlaždic, takže to jde i prstem na tabletu nebo telefonu:
- Snídaně
- Přesnídávka — obě varianty
- Polévka — jde vybrat jen spolu s obědem, protože se vydává s hlavním jídlem
- Oběd — zahrnuje všechny varianty 1—5; systém najde tu, kterou konkrétní strávník objednal
- Svačina (odpolední) — obě varianty
- Večeře — obě varianty
Typické směny: „Polévka + Oběd” u výdejního okénka, „Přesnídávka + Oběd” v malé kuchyni, která obojí vydává ve stejném okně, nebo „Večeře + Svačina” na internátu.
Jedno přiložení čipu vydá všechna objednaná jídla ze zaškrtnutých skupin. Strávník, který má na dnešek přesnídávku i oběd, pípne jednou a panel ukáže obojí (viz Výdej čipem).
Pozor: Výběr platí pro celou směnu. Co jste nezaškrtli, terminál odmítne s hláškou „Žádná objednávka” — strávník to má objednané, jen ne v téhle směně. Změna uprostřed směny = ukončit směnu a zahájit novou.
Polévka nemá vlastní směnu. Vydává se vždy s hlavním jídlem, takže „Polévka” bez „Obědu” nejde zaškrtnout (výběr si to sám dorovná) a terminál by takovou směnu odmítl. Se zaškrtnutou polévkou se u pípnutí zaznamená výdej polévky i oběda; bez ní jen oběda.
Přihlášení
Obojí je na jedné obrazovce, nic se nepřepíná. Nejdřív zaškrtněte, co budete vydávat, pak se přihlaste kteroukoli cestou.
Služebním čipem — přiložte ho ke čtečce. UID se přečte samo, směna se rovnou otevře, žádné tlačítko netřeba. Funguje i když máte kurzor v políčku pro PIN.
PINem — zadejte 4—8 číslic klávesnicí, nebo velkými tlačítky na obrazovce (⌫ maže poslední číslici, Vymazat celý PIN); na dotykovém terminálu klávesnici nepotřebujete. Pak klikněte Zahájit směnu.
Po přihlášení UI přejde na /scan s bannerem „Vydáváš: Polévka + Oběd” — vypsaná jsou všechna zaškrtnutá jídla.
Když nevyberete žádné jídlo, terminál přihlášení odmítne s hláškou „Nejdřív vyber, co budeš vydávat.” — platí pro čip i PIN.
Tip: Služební čip je jiný čip než ten, který nosí strávník — ideálně vizuálně odlišený barvou náramku. Stejný fyzický čip nelze přiřadit zároveň obsluze a strávníkovi.
Výdej čipem (každodenní happy path)
Po přihlášení obrazovka ukazuje scanning mode: velký banner se slotem nahoře, čekání na sken uprostřed, kontextová tlačítka v pravém rohu (Manuální výdej, Storno, Ukončit směnu).
- Strávník přiloží svůj čip ke čtečce.
- Obrazovka se zaplaví zelenou, zazní krátký vyšší tón (880 Hz), ve velkém panelu se zobrazí:
- vlevo číslo varianty na kontrastním bílém podkladu a nad ním druh jídla („Oběd 1”) — největší prvek celé obrazovky, čitelný na pár kroků od okénka,
- nadpis „Vydáno”,
- pod ním velikost porce — věková kategorie strávníka a její koeficient („11—14 let · 0,80”),
- řádek pod ním: Jméno Příjmení · Oběd 1 — Svíčková na smetaně s houskovým knedlíkem.
- Panel zůstane viditelný 30 sekund nebo do dalšího pípnutí — kdy přijde další sken, aktuální feedback se okamžitě přepíše novým.
- Kuchařka vydá konkrétní jídlo podle obrazovky.
Když směna vydává víc jídel a strávník má na dnešek objednané třeba přesnídávku i oběd, jedno pípnutí vydá obojí: nadpis řekne „Vydáno 2 jídla” a pod ním je seznam, u každého jídla jeho číslo varianty a název. Velké číslo uprostřed se v tom případě neukazuje — každé jídlo má svoje. Druhé pípnutí už hlásí „Již vydáno”.
Jídlo, které se vydat nedalo, panel vypíše i tak, s důvodem v závorce — „Polévka (objednávka zrušena)” nebo „(již vydáno)“. Zbytek směny se přitom vydá normálně.
Číslo u porce je koeficient věkové kategorie, jak ho má provoz nastavený — stejné číslo, se kterým počítá kuchyně na výdejce a v žádance (0,80 = osm desetin plné porce). U druhu jídla, kde operátor věkový koeficient vypnul, je vždy 1,00. Dospělí (pedagogové, cizí strávníci) mají „Dospělí · 1,00”.
Číslo varianty je pořadí jídla v rámci slotu: u obědů 1—5, u přesnídávky, odpolední svačiny a večeře 1 nebo 2. Slot, který má jen jednu variantu (snídaně), žádné číslo ani druh jídla nad ním neukazuje — panel je pak stejný jako dřív.
Hlasové hlášení
Terminál umí výsledek i přečíst nahlas — druh jídla („Oběd 1”), název jídla, nebo obojí; neúspěšný sken hlásí důvod. Zapíná to operátor v Nastavení provozu pro celý provoz, výchozí stav je ticho.
Když terminál mlčí, i když má mluvit, jde skoro vždy o jednu ze tří věcí: počítač nemá zvukový výstup nebo je ztišený, nemá nainstalovaný český hlas (na Windows jazykový balíček pro češtinu — zajistí IT), nebo se stránka právě obnovila a nikdo v okně ještě neklikl. Poslední případ platí i pro pípání: klikněte kamkoli do stránky a zvuk se rozjede.
Co znamenají barvy a hlášky
| Barva | Titulek | Význam | Co dělat |
|---|---|---|---|
| Zelená | Vydáno | Pickup úspěšně zaznamenán | Vydat variantu podle velkého čísla, jídlo je pojmenované v řádku pod nadpisem |
| Žlutá | Již vydáno | Strávník už dnes ten samý slot vyzvedl | Nevydávat. Pokud spor, řešit přes audit s operátorem. |
| Červená | Žádná objednávka | Strávník nemá na dnešek objednané nic z jídel téhle směny | Zkontrolujte, co má směna zaškrtnuté. Pokud chce vyzvednout jiné jídlo, ukončete směnu a zahajte ji se správným výběrem, nebo použijte Manuální výdej. |
| Červená | Neznámý čip | Čip není u nikoho přiřazen | Operátor přiřadí čip ke strávníkovi (/operator/chips). Mezitím použijte manuální výdej. |
| Červená | Objednávka zrušena | Objednávka byla mezitím zrušena (rodičem nebo systémem) | Nevydávat. Případně manuální výdej s důvodem, řešit s operátorem. |
| Červená | Cizí čip | Čip patří jiné kuchyni / tenantu | V praxi by nastat nemělo. Pokud ano, nahlásit operátorovi. |
Manuální výdej (zapomenutý čip)
Pokud strávník zapomněl čip, ztratil ho nebo je nový a ještě nedostal, obsluha může vydat ručně:
- Klikněte tlačítko Manuální výdej v pravém horním rohu.
- Otevře se dialog se seznamem strávníků. Nabízí jen ty, kterým lze vydat — tedy kdo má na dnešek objednávku ve vašich druzích jídla a ještě si ji nevyzvedl. Na jednom výdejním místě to bývá pár desítek jmen ráno a pár odpoledne, takže obvykle stačí odrolovat a ťuknout.
- Kliknutím vyberte strávníka. Kdo je vybraný, stojí vedle tlačítka Vydat.
- Ťukněte na důvod manuálního výdeje — jsou to tlačítka, ne rozbalovací seznam:
- Zapomněl/a čip (předvybrané, nejčastější)
- Ztracený/poškozený čip
- Nový strávník — čip ještě nepřišel
- Jiné (volný text) — odkryje políčko na vlastní popis
- Klikněte Vydat.
Nenašli jste ho v seznamu? Pak dnes nemá nevyzvednutou objednávku na jídlo, které vydáváte — manuální výdej by stejně skončil hláškou „Žádná objednávka”.
Přepínač nad seznamem je pro terminál, u kterého se vydává za víc výdejních míst. Výchozí Toto výdejní místo nabídne jen vaše okénko, Všude celý provoz. Volba se nepamatuje, po dalším otevření je zase na vašem okénku.
Hledání se spouští tlačítkem Hledat (nebo Enterem), ne psaním. Hledá se na serveru, takže najde i toho, kdo se do seznamu nevešel.
PIN obsluhy se u manuálního výdeje nezadává. Dřív se vyžadoval; u okénka to znamenalo psát PIN pokaždé, když někdo zapomněl čip. Výdej se zapisuje pod přihlášenou obsluhu a s důvodem, takže je dohledatelný i bez něj.
Po úspěchu se dialog zavře a velký feedback panel na /scan ukáže totéž jako u čipového výdeje — zelená, číslo varianty, “Vydáno”, jméno strávníka, název jídla. Pokud strávník už dnes oběd dostal, panel se zbarví žlutě s hláškou „Již vydáno” — systém zablokuje dvojí výdej i přes manuální cestu.
Pozor: Manuální výdej vyžaduje, aby strávník měl objednávku pro vybraný slot na dnešek. Manuální výdej neumí udělat objednávku — jen zaznamenat výdej existující objednávky bez čipu. Pokud strávník nemá objednáno, manuální výdej selže s hláškou “Strávník dnes nemá objednávku”.
Stornovat dnešní výdej
Když se oběd vydá omylem, obsluha ho může stornovat. Dialog se jmenuje Stornovat dnešní výdej.
- Klikněte tlačítko Storno.
- UI zobrazí dnešní výdeje z tohoto okénka. Zaškrtněte řádky, které chcete stornovat.
- Ťukněte na důvod — opět tlačítka:
- Vydáno cizímu strávníkovi
- Vydáno do špatného slotu
- Jídlo poškozené, vydáno znovu
- Jiné (volný text)
- Ověřte se: Přiložit čip obsluhy (tlačítko na 20 vteřin zapne čtečku), nebo napište PIN na klávesnici v dialogu. Stačí jednou za celý výběr.
Jedno přiložení čipu vydá víc jídel, tak se i stornují společně. Když směna vydává polévku i oběd, zapíše se řádek za každé jídlo — zaškrtnutí jednoho vezme i to druhé ze stejného přiložení. Odškrtnout jednotlivě jde dál.
Dokud v seznamu něco zbývá, dialog zůstane otevřený, takže můžete stornovat dál. Když nezbyde nic, sám se zavře a na hlavní obrazovce se krátce ukáže, kolik storn proběhlo.
Stornovaný výdej v záznamech zůstává — není smazán, jen označen časem storna a důvodem. Po stornu lze tentýž čip znovu „pípnout” a jídlo vydat standardně — storno uvolní objednávku, takže druhý pokus už nehlásí „Již vydáno”.
Čtečka při otevřeném dialogu neposlouchá, dokud nestisknete Přiložit čip obsluhy. Je to schválně: kdyby poslouchala pořád, ťuknutí strávníka ve frontě by se spotřebovalo jako neúspěšné ověření a on by o svůj výdej přišel.
Co když…
…se obrazovka omylem reloadne (F5, restart prohlížeče)?
Vaše směna přežije reload. Edumeal ukládá staff session token do localStorage prohlížeče s 8hodinovou platností, takže po reloadu obrazovky obsluha pokračuje tam, kde skončila — žádné znovupřihlašování PINem. Reload sice neukáže poslední vydaný oběd v panelu (paměťový state se vyprázdní), ale samotná směna pokračuje.
Pokud reload trefí přesně do okamžiku přechodu mezi dvěma skeny, může se objevit prázdná scanning mode obrazovka — to je v pořádku, další sken funguje normálně.
…zadám špatný PIN?
Terminál odmítne přihlášení a hned nad tlačítkem, které jste stiskla, se objeví červená hláška — „PIN nebo služební čip nesouhlasí” u zahájení směny, „Nesprávný PIN” u storna. Obrazovka se k ní sama posune, takže na tabletu ani telefonu není potřeba nic dorolovávat. Pole PINu se přitom vyprázdní, takže se dá hned psát znovu; opravovat rozepsaný PIN není třeba. Odmítnutý čip pole PINu nemaže — rozepsaný PIN vám zůstane.
U manuálního výdeje tahle hláška nastat nemůže: PIN se tam nezadává.
Po pěti neúspěšných pokusech během 15 minut se PIN dočasně zamkne a terminál odpoví „Příliš mnoho neúspěšných pokusů o PIN”. To je ochrana proti hádání čtyřmístného kódu. Zámek platí jen pro PIN, takže kdo má služební čip, přiloží ho a jde vydávat hned; jinak pomůže počkat, do 15 minut se zámek sám uvolní. Kdo si PIN nepamatuje, ať ho operátor rotuje v /operator/kitchen-staff; rotace zámek nezruší, ale za čtvrt hodiny už platí nový PIN.
…se přihlásil někdo jiný omylem mým PINem?
PIN je vázán na konkrétního uživatele kitchen_staff, ne na konkrétní směnu. Pokud má kolega stejný PIN (nemělo by se stávat — operátor by měl vystavit každému vlastní), systém by ho přiřadil tomu, komu PIN aktuálně patří. Pokud si nejste jistá, ukončete směnu a operátor PIN rotuje (vystaví nový, starý zneplatní) v sekci /operator/kitchen-staff.
…musíme přepnout, co vydáváme (např. dovydávat svačinu po obědě)?
- Klikněte Ukončit směnu v pravém horním rohu.
- Potvrďte v dialogu.
- UI vás vrátí na
/scan/start— zaškrtněte, co budete vydávat teď, a přihlaste se znovu. (Nebo si příště zaškrtněte obojí najednou — jedna směna zvládne oběd i svačinu.)
…vypadne internet?
Edumeal nemá offline režim — výdej vyžaduje spojení se serverem. Pokud síť vypadne, sken selže s hláškou „Chyba sítě” a výdej je potřeba po obnovení připojení zopakovat. Žádné skeny se lokálně nefrontí ani se nic nesynchronizuje pozadu.
Dvě věci ale výpadek přežijí:
- Přihlášená směna zůstává. Session obsluhy se ukládá do localStorage prohlížeče, takže reload stránky nebo restart aplikace směnu neshodí — není nutné se znovu přihlašovat PINem.
- Opakování výdeje nezdvojí platbu. Každý výdej nese idempotenční klíč, takže když sken po timeoutu zopakujete, systém nevytvoří druhý výdej ani nestrhne kredit dvakrát.
Ukončení směny
- Na konci výdejní špičky klikněte Ukončit směnu (pravý horní roh).
- Potvrďte. UI vás vrátí na
/scan/start. - Pokud žádná další obsluha nepřichází, můžete prohlížeč zavřít — terminál zůstane spárovaný a další směna se otevře PINem/čipem dalšího pracovníka.
Bezpečnostní poznámka: Edumeal sám sebe neodhlašuje na pasivním terminálu. Pokud necháte otevřenou scanning mode obrazovku bez dohledu, kdokoli fyzicky u kuchyňského PC může (až do vypršení 8h session) skenovat čipy. Při delším přerušení vždy “Ukončit směnu” nebo PC zamknout na úrovni OS.
Co obsluha nedělá
Tyto akce dělá operátor, ne obsluha:
- Přiřazení / zneplatnění čipu strávníka (
/operator/chips) - Vystavení / rotace PINu obsluhy (
/operator/kitchen-staff) - Spárování nebo odpárování terminálu (
/operator/scan-setup) - Změna jídelního lístku, cen, receptů
- Řešení sporů přes audit log
Pokud nastane situace, kterou obsluha sama vyřešit nemůže, kontaktuje operátora — buď osobně, nebo přes výdejní průchod si dělá poznámku, kterou později předá.
Časté otázky
Můžu si změnit PIN sama?
Ne. PIN vystavuje a rotuje výhradně operátor. Pokud máte podezření, že váš PIN někdo zná, požádejte operátora o rotaci — nový PIN dostanete na rukou.
Co když na začátku směny PC nepřesměruje na “Přihlášení obsluhy”?
Znamená to, že PC není spárovaný. Kontaktujte operátora — musí projít pairing přes /operator/scan-setup. Po spárování stačí reload prohlížeče a edumeal vás přesměruje správně.
Co když na obrazovce vidím “Terminál není spárovaný nebo bylo jeho oprávnění odebráno”?
Operátor zařízení v admin UI revoke-nul, nebo došlo k resetu databáze. Kontaktujte operátora — musí PC znovu spárovat.
Můžu zkusit přiložit cizí čip, který někdo zapomněl?
Klidně. Systém ho odmítne jako “Neznámý čip”, pokud nebyl nikomu přiřazen, nebo jako “Cizí čip”, pokud patří jiné kuchyni. Žádné riziko — na fyzické úrovni žádná data z čipu neukládáme, jen čteme UID.
Vidím v některých případech anglický text místo českého. Co s tím?
Hlaste operátorovi (přepošle do edumeal supportu). Backend by měl vracet překladatelné kódy chyb, ale ojediněle se může objevit nepřeložený technický stav. Edumeal ho doplní v další verzi.