Cieľom projektu je vytvoriť spoľahlivý, rýchly a intuitívny rezervačný systém, ktorý dokáže fungovať ako samostatná webová stránka aj ako embed widget vložený do ľubovoľného webu.
Dôraz je kladený na rýchlosť, dostupnosť, správu slotov, kapacít a jednoznačný používateľský zážitok pre zákazníkov aj administrátorov.
tvojbooking.sk
Update: 12. 12. 2025
tvojbooking.sk - je moderný online rezervačný systém navrhnutý pre salóny a služby, ktoré pracujú s presným časom. Umožňuje jednoduché objednanie klientom, prehľadné riadenie prevádzky a automatizáciu mnohých procesov — od plánovania služieb až po interný tímový kalendár.
🎯 Úvod / Cieľ projektu
🛠️ Použité technológie
-
.NET 9 MVC – server-side rendering, rýchle reakčné časy
-
C# + Dapper – ľahká a rýchla dátová vrstva bez ORMs
-
MS SQL Server – spoľahlivé ukladanie reservácií a plánov
-
Bootstrap + vlastné CSS/JS – responzívne a čisté UI
-
Serilog – logovanie udalostí a diagnostika
-
QuestPDF – generovanie faktúr a dokumentov
-
PWA prvky + caching – rýchle načítanie widgetu
📦 Funkcie
-
Rezervačný widget / hostovaná stránka
-
Mesačný a denný kalendár so slotmi
-
Automatická detekcia kolízií a kapacít
-
Správa služieb, zamestnancov a otváracích hodín
-
Dovolenky, štátne sviatky, DPP systém
-
Tímový kalendár cez unikátny link
-
Emailové notifikácie (rezervácie, storno, predplatné)
-
Predplatné pre klientov (Basic/Team/Pro) + platby
-
SuperAdmin sekcia pre správu celého systému
🎨 UX, dizajn, accessibility
Ak chceme, aby sa zákazník bez problémov objednal, tak najskôr musíme odstrániť všetko rušivé — preto UI stojí na jasných prvkoch, veľkých klikateľných blokoch a rýchlom toku krokov.
Pre adminov je rozhranie navrhnuté tak, aby žiadna funkcia nebola „schovaná“ — všetky kritické úkony sú dostupné priamo z kalendára alebo zo služieb.
⚙️ Technické riešenia
-
Slotový mechanizmus s výpočtom dostupnosti podľa služby, staffa a výnimiek
-
Kombinácia tenant, staff a holiday vrstiev pri generovaní rozpisov
-
Dátové modely uložené v UTC + konverzia podľa timezóny
-
Čisté Dapper repository s parameterizovanými SQL
-
Modulárne ViewComponents pre limity plánov, bannery a časti UI
-
Vlastné JS moduly (admin-calendar.js, embed.js, alerts.js)
-
Tímový kalendár zabezpečený cez jednorazové kľúče
🚀 Optimalizácie výkonu
-
PWA caching pre statické súbory a widget
-
Server-side rendering pre rýchle prvé vykreslenie
-
Minimalizované SQL dotazy s indexami nad Booking a Subscription tabuľkami
-
Cielené warm-up requesty po deployi
-
Lightweight JS bez zbytočných knižníc
-
Oddelené načítanie Facebook/externých widgetov (defer + idle)
🧩 Výzvy a riešenia
-
Kolízie rezervácií
→ vyriešené centralizovanou metódouFindConflictsAsynca uzamknutím slotov. -
Dovolenky a sviatky
→ trojvrstvový model (staff holiday → tenant overrides → DPP) umožňuje spoľahlivé blokovanie dní. -
Zmena plánov bez chaosu
→ upgrade/downgrade sa uplatňuje vždy až od ďalšieho obdobia, bez preratávania. -
Spoľahlivé emaily
→ oddelené HTML šablóny a plná diagnostika cez Serilog. -
Rýchlosť widgetu
→ optimalizované route parametre, sanitizované vstupy, minimálne množstvo JS.
📝 Záver
TvojBooking vznikol ako riešenie, ktoré má byť jednoduché pre používateľov a robustné pre prevádzky. Projekt rastie modulárne — nové funkcie ako fakturácia, zľavy, tímové nástroje či analytika sú nadstavby nad stabilným rezervačným jadrom.