Prečo kalendár namiesto rezervačného systému
Klinika Alma Medical chcela, aby sa pacienti mohli online objednať na vyšetrenie znamienok.
Recepcia pritom už všetko plánuje v Google Kalendári: ordinačné hodiny, dovolenky, školenia aj návštevy dohodnuté po telefóne.
Pridať ďalší rezervačný systém by znamenalo dve miesta, kde sa musia termíny zhodovať, a ďalšiu synchronizáciu, ktorá môže zlyhať.
Preto rezervácie nemajú vlastnú databázu termínov. Zdrojom pravdy je kalendár kliniky. Web z neho vypočíta voľné časy a nové návštevy doň zapisuje ako bežné udalosti.
Recepcia ďalej pracuje tam, kde pracovala vždy.
Ako to funguje
Voľné termíny určuje recepcia
Kedy sa dá online objednať, nenastavuje nikto v administrácii webu.
Recepcia vytvorí v kalendári udalosť, ktorej názov začína slovom „Online“. Napríklad opakovanú „Online · Dermatoskopia“ každý pracovný deň od 8 do 14 hodín.
Len vnútri týchto okien web ponúkne pacientom dvadsaťminútové termíny.
Potrebuje klinika budúcu stredu skončiť skôr? Upraví udalosť v kalendári. Hotovo. Bez zásahu do webu.
Všetko ostatné termín blokuje
Každá iná udalosť v kalendári daný čas obsadí. Platí to aj pre celodenné udalosti, napríklad dovolenku.
Výnimkou sú udalosti nastavené v Google Kalendári ako Voľno. Tie neblokujú bežné plánovanie a ignoruje ich aj rezervačný web.
Web zároveň neponúka termíny skôr než dve hodiny vopred ani ďalej než štyri týždne.
Pacient dostane len zoznam voľných časov. Mená pacientov, názvy stretnutí ani obsah ostatných udalostí sa do prehliadača neposielajú.


Dvaja pacienti, jeden termín
Medzi zobrazením voľného času a odoslaním formulára môže uplynúť niekoľko minút. Medzitým si rovnaký termín môže vybrať niekto iný.
Preto dostupnosť nekontrolujeme len pri načítaní stránky.
Pred vytvorením rezervácie web overí kalendár znova. Po zápise navyše kontroluje, či v rovnakom čase nevznikol súbežný konflikt.
Ak áno, systém jednu rezerváciu nepovažuje za potvrdenú a pacientovi ponúkne výber iného termínu.
Toto je detail, ktorý na obrázku rezervačného formulára nie je vidieť. Ale bez neho môže aj jednoduchý systém začať rozdávať jeden termín dvom ľuďom.
Potvrdenie, pripomienka a zrušenie
Po rezervácii príde pacientovi e-mail s potvrdením a odkazom na zrušenie. Deň pred návštevou odíde pripomienka.
Odkaz na zrušenie je podpísaný, takže nestačí zmeniť pár znakov v URL a dostať sa k cudzej rezervácii.
Samotný odkaz navyše nič neruší. Najprv otvorí stránku a až na nej pacient zrušenie potvrdí tlačidlom.
Dôvod je celkom praktický: e-mailové služby, bezpečnostné filtre a náhľady odkazov URL často automaticky otvárajú. Keby samotné načítanie odkazu rezerváciu rušilo, zvládol by to e-mailový filter skôr než pacient.
Čo treba nastaviť
- Google Calendar API. Web potrebuje technický účet a prístup ku konkrétnemu kalendáru, z ktorého bude čítať a do ktorého bude zapisovať.
- Prístup len tam, kam je potrebný. Technický účet dostane oprávnenie k určenému kalendáru. Nemusí mať prístup k e-mailu ani k ostatným kalendárom kliniky.
- Odosielanie e-mailov. Potvrdenia a pripomienky posielame z domény kliniky cez overenú e-mailovú službu.
- Prístupové údaje len na serveri. Kľúče ku Googlu ani e-mailovej službe nie sú v kóde posielanom do prehliadača. Sú uložené v serverovom prostredí hostingu.
A počítame aj s tým, že niektorá služba práve nemusí odpovedať.
Ak web nemôže bezpečne zistiť dostupnosť termínov, neponúka rezerváciu naslepo. Namiesto formulára ukáže možnosť objednať sa telefonicky.
Kde táto cesta končí
Google Kalendár ako zdroj rezervácií funguje dobre pre jeden alebo niekoľko jednoduchých typov návštev s pevnou dĺžkou.
Potom však príde bod, keď si už vlastná databáza alebo hotový rezervačný systém svoju zložitosť zaslúži.
- Platba vopred. Termín býva potrebné počas platby dočasne zablokovať a riešiť, čo sa stane pri nedokončenej transakcii.
- Viac kapacít. Traja pacienti v rovnakom čase, niekoľko zamestnancov, konkrétny prístroj alebo miestnosť už z jedného kalendára rýchlo urobia hlavolam.
- Rôzne dlhé služby. Dvadsať minút na jednu návštevu a deväťdesiat na inú znamená zložitejšiu prácu s dostupnosťou.
- Štatistiky a ďalšia automatizácia. Koľko rezervácií prišlo z webu, koľko ich ľudia zrušili alebo kto sa opakovane nedostavil, sa z kalendára zistiť dá. S databázou sa s tým však pracuje podstatne lepšie.
- Citlivé dáta. Pri zdravotníckom zariadení môže už samotná informácia o rezervácii vypovedať o čerpaní zdravotnej starostlivosti. Preto do kalendára ukladáme len údaje, ktoré klinika pre rezerváciu skutočne potrebuje, a riešime prístupové práva, zabezpečenie účtov aj podmienky spracúvania dát.
Jednoduchšie technické riešenie nie je automaticky horšie. Len musí byť naozaj jednoduchšie aj v prevádzke, nie iba pri vývoji.
Kedy stačí hotový rezervačný systém a kedy už dáva zmysel niečo vlastné, rozoberáme v článku Rezervačný systém: hotový, doplnok, alebo vlastný?




