← Svi projekti

Studija slučaja· Zeta, Podgorica· 2026

Elite Ride

Premium chauffeur servis sa onlajn naplatom

Elite Ride prikazan na laptopu, tabletu i telefonu
Kontekst

Elite Ride Mugoša je crnogorski prijevoznik za premium transfere: aerodromski prijevoz, poslovne vožnje, vjenčanja i privatne ture, sa flotom od limuzina do minibusa.

Izazov

Sajt je trebalo da radi kao prodajni kanal, a ne kao vizitkarta: da gost dobije cijenu prije nego što nekog pita i da može da plati karticom, uz uslov da banka odobri integraciju.

Rješenje

Izgradili smo Laravel sajt sa cijenom uživo po klasi vozila iz dispečerskog sistema, kartičnom naplatom preko Monri WebPay-a i Vue admin panelom za rezervacije i sadržaj.

Rezultati

Sajt je u produkciji na engleskom i crnogorskom, sa aktivnom kartičnom naplatom, sinhronizacijom rezervacija sa dispečerom i sadržajem koji klijent vodi sam.

Monri, 3-D SecureNaplata
po klasi vozila, uživoCijena
Vue panelAdmin
2Jezici

Vizitkarta ili prodajni kanal

Elite Ride Mugoša vozi premium transfere u Crnoj Gori. Aerodromski prijevoz, poslovne vožnje, vjenčanja, privatne ture. Flota ide od limuzine za dvoje do minibusa za šesnaest putnika.

Takvi prijevoznici obično imaju sajt koji izgleda dobro i ne radi ništa. Fotografija auta, spisak usluga, kontakt forma, pa čekanje da neko pošalje upit i pita koliko košta.

Naš zadatak je bio da to preokrenemo: gost treba da dobije cijenu prije nego što bilo koga pita, i da može da plati odmah ako hoće.


Cijena uživo, po klasi vozila

Na naslovnoj je traka za rezervaciju: datum, vrijeme, polazak i odredište.

Adrese se biraju kroz Google Places pretragu koja ide preko našeg servera i kešira se, pa je brza i ne troši kvotu na svaki pritisak tastera. Pretraga prvo daje prijedloge iz Crne Gore, pa širi na region.

Kad gost potvrdi, sistem traži cijenu iz dispečerskog sistema prijevoznika, za tačne koordinate i tačan termin, i vraća iznos po svakoj aktivnoj klasi vozila. Uz osnovnu cijenu dolaze i doplate koje operater primjenjuje: dodatno stajanje, dječje sjedište, dočekivanje sa tablom, napojnica, gorivo, aerodromska taksa, noćna vožnja i špic.

Kad rezervacija prođe, ona se vraća u dispečerski sistem, pa vozač dobija nalog kroz alat koji ionako koristi. Nema prepisivanja iz mejla u raspored.


Naplata koja je čekala banku

Ovo je bio najduži dio projekta i vrijedi ga ispričati iskreno.

Sajt je krenuo sa jednim gateway-om, a tokom ljeta 2026. smo prešli na Monri WebPay, na integraciju preko komponenti. Prelazak je značio novi potpis zahtjeva, novu provjeru webhook-a i novi krug validacije sa bankom.

Nekoliko odluka koje su to učinile bezbjednim:

  • Webhook se provjerava potpisom, poređenjem u konstantnom vremenu, pa lažni poziv ne može da obilježi rezervaciju kao plaćenu
  • Prekidač za kartično plaćanje radi na serveru. Dok banka ne odobri, putanja plaćanja vraća grešku i kartično polje se uopšte ne iscrtava. Nije riječ o sakrivenom dugmetu nego o zatvorenoj putanji.
  • „Naruči pa plati kasnije" radi uvijek, pa posao ne stoji ni jedan dan dok traje odobrenje
  • Postoji zasebna test stranica zaštićena lozinkom, koju banka koristi da provjeri integraciju na stvarnoj transakciji, bez ikakvog dodira sa živim tokom

Podnožje sajta nosi Visa, Mastercard i Maestro oznake, uz stranice o sigurnosti plaćanja, otkazivanju i povraćaju, jer kartična naplata traži i pravni okvir, ne samo tehnički.


Flota i usluge koje klijent vodi sam

Klase vozila se sinhronizuju iz dispečerskog sistema, ali sve što gost vidi ostaje u rukama klijenta: naziv, opis, slike, redoslijed prevlačenjem i prekidač vidljivosti. Sinhronizacija namjerno ne vraća u život lokalno obrisane klase i ne prepisuje ručno unesene nazive, jer bi inače svaka sinhronizacija poništila uređivanje.

Usluge, baneri na naslovnoj i vijesti idu kroz isti admin, sa uređivačem teksta i prevodima na oba jezika u tabovima.

Modul vijesti nije ukras. Kroz njega sajt hvata sezonske pretrage: dolazak nove aviokompanije u Podgoricu, festivali, savjeti o transferima. To su teme koje dovode goste koji tek planiraju put.


Pravila koja štite raspored

Vožnje se ne primaju bez ograničenja. U adminu se podešavaju pravila o vremenu najave po opsezima udaljenosti od Podgorice, pa se za daleke vožnje traži više sati unaprijed. Udaljenost se računa u odnosu na fiksnu polaznu tačku, tako da pravilo radi isto bez obzira odakle gost dolazi.

Napuštene rezervacije se čiste zakazanim poslom, pa lista rezervacija ostaje upotrebljiva.


Pod haubom

Backend: PHP 8.2, Laravel 13, Spatie paketi (permission, translatable, sitemap, honeypot), Sentry, reCAPTCHA Enterprise uz honeypot.

Javni sajt: Blade sa SCSS temom i Alpine.js.

Admin: Inertia.js sa Vue 3 i Vuetify, četrnaest ekrana, sa pravima pristupa po sekciji (rezervacije, članci, usluge, baneri, klase vozila, pravila najave, prevodi, korisnici).

Integracije: dispečerski sistem prijevoznika za cijene, doplate i slanje rezervacija, Google Places za adrese, Monri WebPay za kartice.

SEO: sitemap koji se generiše obilaskom sajta sa hreflang oznakama, sedam JSON-LD shema (organizacija, lokalni biznis, sajt, mrvice, često postavljana pitanja, navigacija), GA4, Google Ads i Clarity, svaki uključen samo ako mu je identifikator postavljen.

Obim: 12 modela, 26 migracija, dva jezika (engleski i crnogorski), oko 95 commit-a od aprila do jula 2026.

Kako pristupamo ovakvim projektima pogledajte na stranicama Izrada sajtova i UX i web.


Šta je nastalo poslije

Rad na ovom sajtu je pokazao da isti prijevoznik ima dvije potpuno različite publike. Gost koji traži limuzinu za vjenčanje i putnik koji traži taksi sa aerodroma ne pretražuju isto i ne odlučuju isto.

Zato smo za istog klijenta napravili i Podgorica Airport Taxi, sajt fokusiran samo na aerodromske transfere sa fiksnim cijenama po relaciji. Oba sajta rade pod Zayoto potpisom, a iskustvo sa oba je ugrađeno u modul transfera na Zayoto platformi.


Pogledajte websajt

eliteride.me


Ako vodite prijevoz i treba vam sajt koji daje cijenu i naplaćuje, a ne samo prikazuje vozila, kontaktirajte nas. Pogledajte i ostale projekte iz našeg portfolija.

Galerija

Sve počinje
jednim pitanjem.

Jedno pitanje za početak: zašto vaš posao postoji? Ostalo dolazi iz toga.

Započnimo razgovor