Prípadová štúdia · Dobrodružný turizmus

Waterfall Adventure Center – booking platforma pre dobrodružný turizmus

Booking platforma pre rafting na Tare a Pive: platba kartou (3-D Secure), cenový engine, záloha/doplatok, CMS v 8 jazykoch. Prípadová štúdia.

Šćepan Polje Rok: 2026 ME
Platba: kartou, 3-D SecureBooking: živá dostupnosťJazyky: 8

Booking platforma, nie brožúra

Waterfall Adventure Center je raftingové a dobrodružné centrum pri ústí Tary a Pivy, v Šćepan Polju na severe Čiernej Hory. Ponúkajú jednodňové a viacdňové raftingové a kanyoningové túry, turistiku a ubytovanie pri rieke pre hostí z celého sveta.

Nepotrebovali ďalší web s krásnymi fotografiami a kontaktným formulárom. Potrebovali platformu, ktorá skutočne prijíma platby kartou, počíta reálne ceny túr so všetkými variantmi a funguje vo viacerých jazykoch. A to platformu, ktorú majiteľ spravuje sám, bez programátora pri každom kroku.

Postavili sme presne to: jedna aplikácia Laravel + Vue, ktorá v sebe nesie rýchly verejný web, seriózny booking engine a admin panel s takmer 55 obrazovkami.


Výzva

Dobrodružný turizmus má niekoľko vlastností, ktoré bežný web nerieši:

  • Skutočná platba. Túry sa platia online, so zálohou pri rezervácii a zvyškom neskôr. To znamená reálne peniaze, európsku reguláciu a 3-D Secure, kde chyba nie je možnosť.
  • Zložité ceny. Cena na osobu alebo na skupinu, rôzne sadzby pre deti, doplnkové aktivity, balíky, ubytovanie a miestne dane podľa túry. Všetko sa musí vypočítať presne, v reálnom čase.
  • Viacero jazykov. Hostia prichádzajú z desiatok krajín, takže celý web, rozhranie aj obsah, musí fungovať v ich jazyku.
  • Samostatnosť. Majiteľ denne mení túry, ceny, sezóny a obsah. To nesmie závisieť od programátora.

Čo sme postavili

Jedna Laravel aplikácia s dvomi tvárami: rýchly, server-renderovaný verejný web a bohatý admin panel tvorený ako single-page aplikácia (Inertia + Vue 3). Čísla, ktoré opisujú rozsah:

8 jazykov · ~55 admin obrazoviek · skutočná platba kartou (3-D Secure) · 36 dátových modelov · ~88 000 riadkov kódu · CI/CD do produkcie.

Projekt vznikol v ~202 commitoch počas troch mesiacov, s automatickým testovaním a nasadením, a v produkcii beží za Cloudflare-om.


Booking engine, srdce platformy

Rezervácia prebieha v dvoch krokoch: najprv detaily, potom bezpečná platba. Používateľ vyberie túru, dátum, počet dospelých a detí, pridá ubytovanie ak chce, a na pravej strane sleduje cenu naživo s rozpísanými položkami.

Čo robí tento systém serióznym:

  • Kontrola dostupnosti v reálnom čase, kapacita túry a počet voľných ubytovacích jednotiek pre zvolené dátumy, s vylúčením zrušených rezervácií. Rezervácia nikdy nezablokuje samu seba, keď ju personál presunie na iný dátum.
  • Transparentný výpočet, napríklad jednodňový rafting na Tare zobrazí cenu na osobu, osobitnú sadzbu pre deti a miestne dane (Rafting Tax, Piva Nature Park Tax) ako samostatné položky.
  • Záloha a doplatok, pri rezervácii sa vyberie záloha (predvolene 20 %), zvyšok sa fakturuje neskôr.

Viac o tom, prečo priame rezervácie prinášajú viac než závislosť od OTA platforiem, píšeme v článku priame rezervácie vs Booking.com.


Platba kartou, spravená správne

Toto je časť, kde väčšina webov skončí, a my sme ju dotlačili do konca.

  • Bankart gateway cez Payment.js hostované polia, web nikdy nepríde do kontaktu so surovými údajmi karty, s podporou 3-D Secure výzvy.
  • Integrita sumy, vyúčtovaná suma vždy pochádza z databázy, nikdy z požiadavky prehliadača. Používateľ nemôže zmeniť cenu.
  • Idempotentné potvrdenie, podpísaný webhook (HMAC overený) potvrdzuje 3-DS platby a je bezpečný pre opakované volanie. Duplicitné alebo zopakované volanie nemôže vytvoriť dvojitú platbu ani pokaziť stav rezervácie.
  • Platba cez odkaz, personál vygeneruje odkaz so zamknutou sumou (záloha, doplatok alebo ľubovoľná suma) a pošle ho hosťovi na e-mail.

Operačná konzola, nie obyčajná administrácia

Admin nie je len zoznam záznamov. Stránka jednej rezervácie je kompletný back-office pracovný priestor na jednom mieste.

Na nej personál vidí a robí všetko: stav rezervácie, položky a prepočet ceny, stav zálohy a doplatku, stav Bankart platieb, generovanie odkazov na platbu, synchronizáciu s Google Sheets, poznámky a kompletný log aktivít.

Okrem toho sú tu aj zjednotené kalendáre obsadenosti pre túry a ubytovanie, operačný dashboard s prehľadom príchodov a odchodov pre daný deň, ručné vytváranie rezervácií a reporty (rezervácie a financie, s CSV exportom).


Skutočný cenový engine

Ceny v turizme nie sú jedno číslo. Postavili sme systém, ktorý pokrýva spôsob, akým centrum skutočne podniká:

  • cena na osobu alebo na skupinu
  • osobitné sadzby pre deti (percentuálna alebo fixná zľava)
  • doplnkové aktivity a balíky (skupinové a so stravou)
  • príplatky za ubytovanie a miestne dane podľa túry
  • sezónne ceny bez väzby na rok, okno „nov.–mar." sa opakuje každý rok, s jasnou prioritou: pevný dátum, sezóna, celý rok, základná cena

CMS, ktorý majiteľ spravuje sám

Takmer všetko, čo je viditeľné na verejnom webe, možno meniť z adminu bez programátora. Patria sem Site Settings (značka, kontakt, sociálne siete, SEO, analytika, pravidlá rezervácií), editor túr so 7 záložkami, správa ubytovania, sezón a príplatkov, hero slideshow, blog s rich editorom, právne stránky a obsah retreat a About stránok.

Prístup je pod kontrolou: účty personálu s rolami (super-admin, admin, agent, recepcia), voliteľné dvojfaktorové prihlásenie a kompletný denník aktivít, ktorý zaznamenáva kto čo zmenil a kedy.


Osem jazykov, do konca

Web je nakonfigurovaný pre 8 jazykov: angličtina (zdrojová), čiernohorčina, nemčina, francúzština, taliančina, ruština, čeština a poľština. URL adresy majú jazykový prefix, s hreflang značkami a prepínaním jazyka priamo na webe.

Preklady fungujú na dvoch úrovniach: statické texty rozhrania a samostatná prekladová tabuľka pre obsah z databázy (názvy túr, opisy, itineráre, právne stránky). Každá entita v admine má záložku „Translations" s indikátorom, koľko percent je preložených, takže majiteľ presne vidí, čo ešte treba dokončiť.


Pod kapotou

Backend: PHP 8.4, Laravel 12, Fortify (prihlásenie + 2FA), Inertia.js 2, Spatie balíky (permission, medialibrary, activitylog, honeypot), Google API klient pre Sheets, MySQL a Redis pre frontu úloh a cache.

Admin: Vue 3.5 + TypeScript, Tailwind CSS v4, reka-ui / shadcn-vue komponenty, TinyMCE, vue-advanced-cropper pre orezávanie obrázkov, Vite 7.

Verejný web: Blade + Alpine.js, Swiper pre galérie, Flatpickr a GLightbox. Písma Fjalla One a Albert Sans.

Kvalita a nasadenie: Pest 4 testovacia sada (68 súborov), ktorá hlídkuje automatické nasadenie cez GitHub Actions.

Tri veci, na ktoré sme mimoriadne hrdí:

  1. Platba s garanciou integrity, hostované polia, 3-DS, suma z databázy a idempotentné potvrdenie zaručujú, že opakované volanie nikdy nevytvorí dvojitú platbu.
  2. Sezónne ceny bez roku, okná sa opakujú každý rok, s deterministickým poradím riešenia priorít.
  3. Obrázky s viacerými orezmi, art-direction cez <picture> so samostatnými desktop a mobilnými orezmi vo formáte AVIF/WebP, rýchle a ostré na každom zariadení.

Viac o našom prístupe k tvorbe takýchto systémov nájdete na stránkach Tvorba webových stránok a Systémové integrácie.


Výsledok a rozsah

PoložkaHodnota
Dátové modely36
Migrácie databázy104
Kontroléry56
Admin obrazovky (Vue)~55
Verejné šablóny stránok27
Podporované jazyky8
Riadky kódu~88 000
Testovacie súbory (Pest)68
Git commity~202

Web je v produkcii za Cloudflare-om, prijíma skutočné rezervácie a vyberá zálohu kartou. Majiteľ samostatne vedie túry, ceny, sezóny, obsah a preklady vo všetkých 8 jazykoch.


Pozrite si web

raftingmontenegro.com


Ak aj vy potrebujete booking systém, ktorý skutočne vyberá platby a ktorý spravujete sami, kontaktujte nás a pripravíme plán, ktorý zodpovedá vašmu podnikaniu. Pozrite si aj ďalšie projekty z nášho portfólia.

Ďalší krok

Máte nápad na podobný projekt alebo chcete systémovú kontrolu?

Na základe takýchto projektov staviame digitálne systémy, ktoré vám vrátia čas. Ozvite sa, aby sme videli, čo je reálne pre vaše podnikanie v nasledujúcich 6-12 mesiacoch.