Vlastný systém online rezervácií pre manikérske štúdio why not nailsroom
whynot-nailsroom.sk
Výsledok
- Od základov bol vyvinutý vlastný systém online rezervácií na modeli „okien s kapacitou“ — web štúdia, verejný widget, účet majstra a klientska zóna so samostatným presunom a zrušením rezervácie.
Popis projektu
why not nailsroom — manikérske štúdio majsterky Mily v Ivanke pri Dunaji (Slovensko): strojová a kombinovaná manikúra, gél lak, predlžovanie nechtov. Na webe nájdete ceny a dĺžku trvania každej služby, galériu prác (načítava sa z Instagramu @whynot_nailsroom), sekciu „ako pracujem“ a online rezerváciu termínu. Rozhranie webu je v slovenčine, dohodnúť sa však možno aj po rusky.
Ide o vlastný projekt agentúry: web aj rezervačný systém sme vyvinuli od základov na Next.js, bez použitia hotového CMS či krabicovej rezervačnej služby.
Hotové služby ako Dikidi (rezervácia klienta) a Beauty Agent (rozvrh majstra) popisujú dostupnosť pracovnými hodinami — „utorok od 9 do 21“. Majsterka však potrebuje niečo iné: v jeden deň prijať ráno jedného klienta a večer dvoch. Preto je základom nášho vlastného riešenia model rozvrhu „okná s kapacitou“: časový úsek plus počet klientov, ktorých je majsterka ochotná v ňom prijať; z tohto modelu vychádza všetko ostatné — voľné termíny, kontrola pri rezervácii, ručné rezervácie.
Rozvrh tvorí týždenná šablóna plus úpravy na konkrétny dátum (úprava na dátum šablónu úplne prekryje). Každá služba má vlastnú dĺžku trvania a rezervu po nej na upratanie a sterilizáciu, ktorá sa klientovi nezobrazuje, no blokuje ďalšiu rezerváciu.
Okrem verejného rezervačného widgetu (`/widget`, vkladá sa na cudzí web cez `<script>`, nachádza sa v kabinete majsterky) obsahuje projekt mobilný kabinet majsterky (`/admin`) na ručné rezervácie a nastavenia a osobný kabinet klienta (`/rezervacie`), kde klient sám presunie alebo zruší rezerváciu bez volania majsterke.
Úlohy
- Nahradiť kombináciu dvoch externých služieb (rezervácia klientov v Dikidi + rozvrh majsterky v Beauty Agent) jedným vlastným systémom.
- Vytvoriť model rozvrhu, ktorý nepracuje s pracovnými hodinami, ale s voľnou „kapacitou“ – koľko klientov je majsterka ochotná prijať v konkrétnom časovom úseku.
- Pri rezervácii zohľadniť trvanie konkrétnej služby a technologickú rezervu po jej skončení.
- Umožniť majsterke zadávať ručné rezervácie a blokovať čas na osobné záležitosti priamo z telefónu.
- Poskytnúť klientovi osobný účet, v ktorom si rezerváciu sám presunie alebo zruší bez volania majsterke.
- Upozorňovať majsterku v Telegrame na nové rezervácie, zrušenia a presuny.
Čo sme urobili
- Vytvorili sme jadro rozvrhu postavené na oknách s kapacitou – týždenný vzor plus úpravy na konkrétny dátum, pričom pravidlá sa kontrolujú na serveri v transakcii, nielen v rozhraní.
- Zaviedli sme trvanie a časovú rezervu pre každú službu: služba sa klientovi ponúka len v tých dňoch a hodinách, do ktorých sa zmestí celá spolu s rezervou.
- Vytvorili sme verejný rezervačný widget (`/widget` + `embed.js`), ktorý sa vkladá cez iframe na akúkoľvek externú stránku a sám prispôsobuje výšku obsahu.
- Vytvorili sme mobilný účet majsterky (`/admin`): ručná rezervácia a blokovanie času, týždenný vzor a úpravy na dátum, zoznam služieb, nastavenia, kód na vloženie widgetu.
- Vytvorili sme osobný účet klienta (`/rezervacie`) s prihlásením cez telefónne číslo a heslo: klient si rezerváciu presúva a ruší sám, s časovým limitom do návštevy, ktorý určuje majsterka.
- Pripojili sme upozornenia pre majsterku v Telegrame o novej rezervácii, zrušení a presune – nastavujú sa z účtu majsterky bez zásahu vývojára.
Výsledok
Web a rezervačný systém sú nasadené na whynot-nailsroom.sk a štúdio ich využíva v praxi: ceny a služby sú reálne, prevzaté z aktuálnej rezervačnej stránky majsterky, galéria sa skladá z priečinka s fotografiami jej práce. Časť funkcií, ktoré projekt zatiaľ nepokrýva – pripomienky klientovi pred návštevou, samostatná obnova hesla a slovenský jazyk rozhrania samotných účtov (momentálne je ruské so slovenskými názvami služieb) – autori evidujú ako ďalšie kroky.
Čo práca zahŕňala
- Vývoj od základov
- Next.js
- Vlastný model rozvrhu
- Online rezervácia / widget na vloženie
- Osobný účet klienta
- Účet majsterky
- Telegram upozornenia