Lístky
Lístek je záznam ve frontě vydaný zákazníkovi ve chvíli, kdy se připojí. Je základní jednotkou systému front — vše od obrazovky až po rozhraní přepážky se točí kolem lístků.
Co lístek obsahuje
Sekce “Co lístek obsahuje”- Číslo lístku — pořadové celé číslo viditelné pro zákazníka, zobrazené na účtence z kiosku, na obrazovce a viditelné i v seznamu čekajících na přepážce. Čísla jsou vázána na frontu a monotónně rostou — nikdy se neresetují.
- Hash lístku — náhodný 22znakový řetězec se 128 bity entropie. Tento hash slouží jako anonymní přihlašovací údaj zákazníka (viz níže).
- Stav — jedna ze šesti hodnot (viz níže).
- Fronta — fronta, ke které lístek patří.
- Časová razítka — kdy byl lístek vytvořen, zavolán, dokončen atd.
- Anotace (volitelné) — metadata zadaná personálem: jméno zákazníka, velikost skupiny a volný text poznámky. Viz Anotace lístku.
Stavy lístku
Sekce “Stavy lístku”Lístek prochází během svého životního cyklu následujícími stavy:
| Stav | Konečný? | Význam |
|---|---|---|
WAITING | Ne | Zákazník je ve frontě a čeká na zavolání. |
CALLED | Ne | Přepážka tento lístek zavolala; zákazník by měl přijít k přepážce. |
SKIPPED | Ne | Přepážka tento lístek přeskočila. Lze znovu vyvolat — personál jej může vrátit do WAITING. |
COMPLETED | Ano | Přepážka označila obsluhu jako dokončenou. |
CANCELED | Ano | Zákazník zrušil své vlastní místo ve frontě. |
NO_SHOW | Ano | Přepážka potvrdila, že zákazník je nepřítomen. V analytice se počítá odděleně od SKIPPED. |
Přechody mezi stavy
Sekce “Přechody mezi stavy”WAITING → CALLED → COMPLETED ↘ SKIPPED → WAITING (přepážka zákazníka znovu vyvolá) ↘ NO_SHOW (přepážka potvrdí nepřítomnost) ↘ CANCELED (zákazník zruší své odložené místo)WAITING → CANCELED (iniciováno zákazníkem)CALLED → CANCELED (iniciováno zákazníkem)SKIPPED → CANCELED (iniciováno zákazníkem — odstraní z fronty znovu-vyvolatelných)SKIPPED vs. NO_SHOW
Sekce “SKIPPED vs. NO_SHOW”SKIPPED je odložení s možností opětovného vyvolání — zákazník byl přeskočen, ale lístek je stále aktivní. Personál může zákazníka zavolat zpět pomocí akce Vrátit do fronty ve vyhledávacím zobrazení přepážky, nebo stisknutím Vrátit zpět do 5 sekund od přeskočení. Odběr push notifikací přeskočeného zákazníka zůstává aktivní, takže push notifikace o opětovném vyvolání → zavolání jej dosáhne, i když byla stránka lístku zavřená.
NO_SHOW je potvrzená, konečná nepřítomnost. Lístek je odstraněn z fronty znovu-vyvolatelných a v analytice se počítá odděleně. Použijte, jakmile jste si jisti, že zákazník odešel.
Úplný postup pro přepážku najdete v části Řešení nedostavení.
Anotace lístku
Sekce “Anotace lístku”Personál může ke kterémukoli lístku připojit lehká metadata pomocí akce Anotovat na přepážce:
- Jméno zákazníka — na přepážce zobrazeno vždy. Na obrazovce zobrazeno pouze pokud je zapnuto nastavení fronty Volat jménem, a to jen ve zkrácené podobě („Jan N.“) — nikdy celé jméno.
- Velikost skupiny — na přepážce zobrazena vždy a odesílána i na obrazovku (číselný údaj s nízkou citlivostí).
- Poznámka — volný text pro interní účely. Pouze na přepážce; nikdy se neodesílá na obrazovku ani zákazníkovi.
Důvod přeskočení (zadaný do pole Důvod přeskočení (nepovinné), když je lístek přeskočen) se ukládá do pole poznámky lístku a je viditelný ve vyhledávacím zobrazení přepážky.
Anotace lze přidávat nebo upravovat kdykoli, dokud lístek není v konečném stavu.
Přesun lístku
Sekce “Přesun lístku”Lístek ve stavu WAITING lze přesunout do jiné fronty na stejné pobočce pomocí tlačítka Přesunout na přepážce. To se hodí, když se zákazník připojil do nesprávné fronty nebo když se při třídění zjistí, že potřebuje jinou službu.
Pravidla přesunu:
- Přesunout lze pouze lístky ve stavu
WAITING. Lístky ve stavuCALLEDmusí být nejprve dokončeny, přeskočeny nebo označeny jako nedostavené. - Zdrojová i cílová fronta musí být na stejné pobočce.
- Cílová fronta musí být
ACTIVE. - Přepážka musí být přiřazena jak ke zdrojové, tak k cílové frontě.
- Je vyžadováno aktivní předplatné.
Zařazení po přesunu — lístek si zachová původní čas připojení zákazníka plus penalizaci 5 minut. Tím se zachová již odčekaná doba a zároveň se zabrání tomu, aby zákazník předběhl ty, kdo v cílové frontě čekají déle.
Hash lístku zůstává zachován — URL stránky lístku zákazníka zůstává platná. Lístek dostane v cílové frontě nové pořadové číslo. Aktualizace v reálném čase se okamžitě odesílají do obou front.
Postup krok za krokem najdete v části Přesun lístku do jiné fronty v průvodci pro přepážku.
Hash lístku jako přihlašovací údaj
Sekce “Hash lístku jako přihlašovací údaj”Zákazníci jsou anonymní — pro připojení do fronty není potřeba žádné přihlášení ani účet. Místo toho slouží jako důkaz vlastnictví 22znakový hash lístku. Je vložen v URL stránky lístku:
https://customer.jonot.io/{org}/{location}/{queue}/{ticket-hash}/Znalost hashe dokazuje, že daný lístek vlastníte. API pomocí hashe autorizuje:
ticketByHash— vyhledání vašeho lístku a pozicecancelTicket— zrušení vlastního lístku (funguje pro lístky ve stavuWAITING,CALLEDaSKIPPED)
Tento návrh je záměrný: odstraňuje veškeré tření z připojování do fronty. Žádný účet, žádná aplikace, žádné heslo — stačí URL.
Hash má 128 bitů entropie (odpovídá UUID v4), takže je výpočetně nemožné uhodnout hash lístku jiného zákazníka.
Ověření při neobvyklém provozu
Sekce “Ověření při neobvyklém provozu”Při běžném provozu zůstává připojení zcela bez tření. Jako ochranu proti zneužití může fronta, pokud v krátkém okně obdrží neobvykle vysoký příval připojení, požádat zákazníky připojující se přes web (QR kód nebo odkaz) o rychlé ověření „Jsem člověk“, než je jejich lístek vydán. Většina legitimních návštěvníků jím projde neviditelně. Objevuje se pouze při náporech — při běžném provozu se žádné ověření nezobrazuje — a nikdy se netýká kiosku na místě, jehož připojení jsou důvěryhodná díky přihlašovacímu údaji zařízení.
Odhad čekací doby
Sekce “Odhad čekací doby”Když je lístek ve stavu WAITING, stránka lístku zákazníka zobrazuje
odhadovanou čekací dobu. Stejný odhad se zobrazuje i na potvrzovací obrazovce
kiosku po připojení, aby si zákazník od kiosku odnesl číslo, které si
zapamatuje. Jde o nejlepší možný odhad, nikoli záruku.
Odhad se počítá z nedávných intervalů obsluhy v dané frontě: pokud za
posledních 90 minut existuje dostatek dokončených lístků, server odvodí
medián doby obsluhy a vynásobí jej pozicí zákazníka ve frontě (počet lidí před ním + 0,5). Když je zákazník na řadě jako první (nikdo před ním),
odhad se uvádí jako nula. Když je nedávná historie řídká, jako záložní
hodnota se použije nakonfigurovaná Očekávaná doba obsluhy fronty. Odhad
nese indikátor spolehlivosti (high, pokud je odvozen z živých dat nebo
pokud je zákazník na řadě, low, pokud se používá nakonfigurovaná výchozí
hodnota).
Odhad se zobrazuje pouze pro lístky ve stavu WAITING v aktivní frontě
(ACTIVE). Nezobrazuje se, pokud je fronta pozastavena, a zmizí, jakmile je
lístek zavolán.
Zákaznická zkušenost
Sekce “Zákaznická zkušenost”- Zákazník se připojí přes QR kód nebo kiosek → je vydán lístek ve stavu
WAITING. - Zákazník otevře stránku lístku → v reálném čase vidí svou pozici ve frontě a, pokud je k dispozici, odhadovanou čekací dobu.
- Když přepážka zavolá jeho číslo, lístek přejde do stavu
CALLED→ stránka zákazníka se okamžitě aktualizuje. - Zákazník přijde k přepážce. Po obsluze jej přepážka označí jako
COMPLETED. - Pokud zákazník nereaguje, přepážka může:
- Přeskočit → lístek přejde do stavu
SKIPPED(odložení s možností opětovného vyvolání). Na obrazovce zákazníka se zobrazí, že byl přeskočen, s možností dál čekat nebo se znovu připojit. - Nedostavil se → lístek přejde do stavu
NO_SHOW(konečný stav). V analytice se počítá odděleně od přeskočených lístků.
- Přeskočit → lístek přejde do stavu
- Přeskočeného zákazníka může personál znovu vyvolat (vrátí se do stavu
WAITINGna začátek fronty), nebo zákazník může své místo zrušit a znovu se připojit na konec fronty.