Flagship case study

DriveSoft — Reservation & Ticketing Platform for Srbija Tours

DriveSoft is a full-stack reservation, ticketing, and operations platform I built from scratch for Srbija Tours, an international bus carrier. It replaced disconnected manual tools with a single system covering online booking, ticket validation, payments, and daily operations. The platform has processed over 150,000 tickets and reservations and is used daily by 100+ internal staff across offices and routes.

150,000+

passengers served

100+

active internal users daily

Live

production workflows, in continuous use

01

The Challenge

Srbija Tours, an international bus carrier, ran reservations, ticketing and field operations across disconnected, mostly manual tools.

  • No online sales channel — passengers had to call the office or buy tickets in person
  • No central passenger database — records were scattered across spreadsheets and paper logs
  • Field staff had no way to validate tickets on the road — boarding relied on paper manifests
  • Payments were processed manually with no automated fiscal-receipt generation
  • Office, dispatch, and field teams worked from different data sources with no shared view of operations

They needed one system to sell tickets online, manage routes and passengers, validate tickets on the spot, handle payments with legally required fiscal receipts, and give both office and field staff a single source of truth.

02

The Solution

I built DriveSoft end to end: a Laravel/MySQL backend exposing REST APIs, a React passenger-facing booking site, a React admin panel for operations, and React Native tools for field workers. The backend handles the full transaction lifecycle — seat availability, reservation locking, payment processing, fiscal-receipt generation and ticket issuance — with Redis caching and queued background jobs to keep response times fast under concurrent bookings.

03

System Architecture

DriveSoft is structured as a service-oriented monolith: a single Laravel backend serving multiple frontends through REST APIs.

API

Backend

Laravel with MySQL. Resource controllers with form request validation, service classes for business logic, and repository pattern for data access. Redis handles session storage, caching of route and departure lookups, and rate limiting. Queued jobs process payment confirmations, fiscal receipt generation, and email notifications in the background.

WEB

Passenger Frontend

A React SPA that guides passengers through route search, departure selection, seat picking, passenger details, and checkout. Connected to the backend via REST API with real-time seat availability.

ADM

Admin Panel

A React admin application with role-based access control. Operators manage routes, departures, passengers, and pricing. Managers access revenue reports, occupancy data, and CSV/Excel exports. Super-admins configure system settings and user permissions.

MOB

Mobile Tools

React Native (Expo) app for field workers — primarily ticket validation via QR code scanning. Works with intermittent connectivity through offline-first data caching and background sync.

OPS

Infrastructure

Dockerized deployment on DigitalOcean. Nginx reverse proxy, automated SSL, and environment-based configuration for staging and production.

04

The Booking Flow

01

Search

Passenger selects origin, destination, and date. The system returns available departures with pricing.

02

Select seats

Interactive seat map shows available and taken seats. Selected seats are temporarily locked to prevent double-booking.

03

Passenger details

Name, contact, and any required travel documents are entered and validated.

04

Payment

Online payment is processed. A fiscal receipt is generated automatically to comply with Serbian tax regulations.

05

Ticket issued

The system generates a ticket with a unique QR code. Confirmation is sent by email.

06

Boarding

Field worker scans the QR code with the mobile app. Ticket is validated and the passenger manifest updates in real time.

05

Key Features

Online Seat Reservation

Passengers search routes, view real-time seat availability on interactive seat maps, and complete reservations through a guided checkout flow.

QR-Code Ticket Validation

Each ticket carries a unique QR code. Field workers use the React Native app to scan and validate tickets at boarding, replacing paper manifests.

Fiscal-Receipt Integration

Every payment automatically generates a legally compliant fiscal receipt, meeting Serbian tax authority requirements. The integration handles receipt numbering, tax calculation, and regulatory reporting.

Route & Departure Management

Admin users define routes with stops, set departure schedules, manage pricing, and track occupancy across departures.

Role-Based Admin Panel

Four access levels — operators handle daily bookings, dispatchers manage departures, managers view reports, and super-admins configure the system.

Operational Reporting

Daily, weekly, and monthly reports covering revenue, passenger counts, route performance, and occupancy rates. Exportable to CSV and Excel.

06

My Role

Sole full-stack developer. I own the architecture, the Laravel/MySQL backend, both React frontends, and the React Native mobile tools — from database schema and API design through deployment. I built the initial version, shipped it to production, and continue to maintain and extend it as the business grows. Every layer of the stack — from migration files to UI components to Docker configuration — is my work.

07

Impact

Online reservations, ticketing, and back-office operations now run through one maintained platform instead of scattered manual processes. Passengers book and pay online instead of calling the office. Office staff manage operations from a unified dashboard instead of spreadsheets. Field workers validate tickets with a phone scan instead of paper lists. Over 150,000 tickets and reservations have been processed through the system, with 100+ internal users relying on it daily.

Built with

LaravelPHPMySQLReactReact NativeREST APIsRedisDockerDigitalOcean

Try It Yourself

Open the live demos below — no login required. The passenger demo shows the booking flow, the admin demo shows the operations dashboard.

Need a similar system?

I build reservation, ticketing, and operations platforms for transport and service businesses.

Start a project

© 2026 Petar Arsić