Proč kalendář místo rezervačního systému
Klinika Alma Medical chtěla, aby se pacienti mohli online objednat na vyšetření znamének.
Recepce přitom už všechno plánuje v Google Kalendáři: ordinační hodiny, dovolené, školení i návštěvy domluvené po telefonu.
Přidat další rezervační systém by znamenalo dvě místa, kde se musí termíny shodovat, a další synchronizaci, která může selhat.
Proto rezervace nemají vlastní databázi termínů. Zdrojem pravdy je kalendář kliniky. Web z něj vypočítá volné časy a nové návštěvy do něj zapisuje jako běžné události.
Recepce dál pracuje tam, kde pracovala vždycky.
Jak to funguje
Volné termíny určuje recepce
Kdy se dá online objednat, nenastavuje nikdo v administraci webu.
Recepce vytvoří v kalendáři událost, jejíž název začíná slovem „Online“. Třeba opakovanou „Online · Dermatoskopie“ každý pracovní den od 8 do 14 hodin.
Jen uvnitř těchto oken web nabídne pacientům dvacetiminutové termíny.
Potřebuje klinika příští středu skončit dřív? Upraví událost v kalendáři. Hotovo. Bez zásahu do webu.
Všechno ostatní termín blokuje
Každá jiná událost v kalendáři daný čas obsadí. Platí to i pro celodenní události, třeba dovolenou.
Výjimkou jsou události nastavené v Google Kalendáři jako Volno. Ty neblokují běžné plánování a ignoruje je i rezervační web.
Web zároveň nenabízí termíny dřív než dvě hodiny předem ani dál než čtyři týdny.
Pacient dostane jen seznam volných časů. Jména pacientů, názvy schůzek ani obsah ostatních událostí se do prohlížeče neposílají.


Dva pacienti, jeden termín
Mezi zobrazením volného času a odesláním formuláře může uběhnout několik minut. Mezitím si stejný termín může vybrat někdo jiný.
Proto dostupnost nekontrolujeme jen při načtení stránky.
Před vytvořením rezervace web ověří kalendář znovu. Po zápisu navíc kontroluje, jestli ve stejném čase nevznikl souběžný konflikt.
Pokud ano, systém jednu rezervaci nepovažuje za potvrzenou a pacientovi nabídne výběr jiného termínu.
Tohle je detail, který na obrázku rezervačního formuláře není vidět. Ale bez něj může i jednoduchý systém začít rozdávat jeden termín dvěma lidem.
Potvrzení, připomínka a zrušení
Po rezervaci přijde pacientovi e-mail s potvrzením a odkazem na zrušení. Den před návštěvou odejde připomínka.
Odkaz pro zrušení je podepsaný, takže nestačí změnit pár znaků v URL a dostat se k cizí rezervaci.
Samotný odkaz navíc nic neruší. Nejprve otevře stránku a teprve na ní pacient zrušení potvrdí tlačítkem.
Důvod je docela praktický: e-mailové služby, bezpečnostní filtry a náhledy odkazů URL často automaticky otevírají. Kdyby samotné načtení odkazu rezervaci rušilo, zvládl by to e-mailový filtr dřív než pacient.
Co je potřeba nastavit
- Google Calendar API. Web potřebuje technický účet a přístup ke konkrétnímu kalendáři, ze kterého bude číst a do kterého bude zapisovat.
- Přístup jen tam, kam je potřeba. Technický účet dostane oprávnění k určenému kalendáři. Nemusí mít přístup k e-mailu ani k ostatním kalendářům kliniky.
- Odesílání e-mailů. Potvrzení a připomínky posíláme z domény kliniky přes ověřenou e-mailovou službu.
- Přístupové údaje jen na serveru. Klíče ke Googlu ani e-mailové službě nejsou v kódu posílaném do prohlížeče. Jsou uložené v serverovém prostředí hostingu.
A počítáme i s tím, že některá služba zrovna nemusí odpovídat.
Pokud web nemůže bezpečně zjistit dostupnost termínů, nenabízí rezervaci naslepo. Místo formuláře ukáže možnost objednat se telefonicky.
Kde tahle cesta končí
Google Kalendář jako zdroj rezervací funguje dobře pro jeden nebo několik jednoduchých typů návštěv s pevnou délkou.
Pak ale přijde bod, kdy už si vlastní databáze nebo hotový rezervační systém svoji složitost zaslouží.
- Platba předem. Termín bývá potřeba po dobu platby dočasně zablokovat a řešit, co se stane při nedokončené transakci.
- Více kapacit. Tři pacienti ve stejném čase, několik zaměstnanců, konkrétní přístroj nebo místnost už z jednoho kalendáře rychle udělají hlavolam.
- Různě dlouhé služby. Dvacet minut na jednu návštěvu a devadesát na jinou znamená složitější práci s dostupností.
- Statistiky a další automatizace. Kolik rezervací přišlo z webu, kolik jich lidé zrušili nebo kdo se opakovaně nedostavil, se z kalendáře zjistit dá. S databází se s tím ale pracuje podstatně lépe.
- Citlivá data. U zdravotnického zařízení může už samotná informace o rezervaci vypovídat o čerpání zdravotní péče. Proto do kalendáře ukládáme jen údaje, které klinika pro rezervaci skutečně potřebuje, a řešíme přístupová práva, zabezpečení účtů i podmínky zpracování dat.
Jednodušší technické řešení není automaticky horší. Jen musí být opravdu jednodušší i v provozu, ne pouze při vývoji.
Kdy stačí hotový rezervační systém a kdy už dává smysl něco vlastního, rozebíráme v článku Rezervační systém: hotový, doplněk, nebo vlastní?




