← Všetky projekty

Prípadová štúdia· Šćepan Polje· 2026

Waterfall Adventure Center

Booking platforma pre dobrodružný turizmus

Waterfall Adventure Center – úvodná stránka s ponukou raftingových túr
Kontext

Waterfall Adventure Center je raftingové a dobrodružné centrum pri ústí Tary a Pivy v Šćepan Polju, s ponukou jednodňových a viacdňových túr, kanyoningu a ubytovania pri rieke.

Výzva

Potrebovali platformu, ktorá skutočne vyberá platby kartou, počíta zložité ceny túr, funguje vo viacerých jazykoch a ktorú môže majiteľ spravovať sám, bez programátora pri každom kroku.

Riešenie

Postavili sme zákazkovú platformu Laravel + Vue: verejný web, booking engine s platbou kartou (3-D Secure) a modelom záloha/doplatok, a admin panel s ~55 obrazovkami a CMS v 8 jazykoch.

Výsledky

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

kartou, 3-D SecurePlatba
živá dostupnosťBooking
8Jazyky
~55 obrazoviekAdmin

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.

Galéria

Všetko sa začína
jednou otázkou.

Jedna otázka na začiatok: prečo vaša firma existuje? Všetko ostatné z toho vyplynie.

Začnime rozhovor