Buslink
Building a two-sided bus-booking platform for passengers and transport partners.

Country
Ukraine
Services
What we did
Multi-vendor marketplace
·Booking System
·Microservices
Stack
PHP
·Laravel
·Vue.js
·MySQL
·REST API
buslink.in.ua
Client
Buslink is an online bus-booking platform for passenger routes across Ukraine and Europe. The product has two user sides: passengers who search routes and book tickets, and transport partners who create and manage routes, schedules, bookings, tickets, and passenger information. The project covered the booking flow from route search and reservation through payment, ticket generation, and trip notifications for those two product sides.
Key Highlights
Dynamic route and schedule management for transport partners.
Shared booking and passenger data across the partner and passenger interfaces.
Digital tickets with unique QR codes generated from confirmed bookings.
Two payment scenarios — online payment and pay-on-arrival.
Automated SMS/email notifications triggered by booking and trip events.
~3 months documented delivery duration.
Challenge
The complexity came from keeping two interfaces aligned around one booking lifecycle. A route or schedule created by a transport partner had to be represented correctly to passengers, while bookings, passenger data, seat availability, payment status, and generated tickets had to reference the same underlying trip data.
- Model dynamic routes and schedules so partner changes feed the passenger booking experience.
- Keep seat-availability and reservation data consistent across both product sides.
- Support online and pay-on-arrival payment states within the same booking lifecycle.
- Generate passenger tickets and notifications from booking events using shared booking data.
- Design and test both interfaces as parts of one system rather than independent applications.
Solution
We built the passenger and partner experiences around the same route, schedule, booking, passenger, and ticket data model.
- Transport-partner portal. Route, schedule, booking, passenger, and ticket administration.
- Passenger booking interface. Route search, seat selection/reservation flow, booking, and payment.
- Shared reservation state. Both interfaces work with the same booking and passenger data so updates remain aligned across the product.
- QR ticket generation. Each completed booking can produce a unique digital ticket.
- Payment flows. Online payment and pay-on-arrival are represented as distinct booking scenarios.
- Event notifications. SMS and email messages are triggered by defined booking and trip events.
Process
The delivery sequence was organized around the shared booking model first, because both user interfaces depend on the same route, schedule, reservation, and ticket state.
- Mapped the route, schedule, booking, passenger, ticket, and payment lifecycle during business analysis.
- Designed the passenger and transport-partner interfaces around that shared model.
- Built the partner-side route and schedule management and the passenger-side booking flow.
- Connected booking state to QR-ticket generation, payment scenarios, and SMS/email notifications.
- Ran end-to-end QA across both interfaces and deployed the completed product.
Result
The delivered result is a working two-sided booking product built around shared route, schedule, booking, passenger, and ticket data.
- Passengers can search routes, create bookings, use the supported payment scenarios, receive digital QR tickets, and get automated trip/booking notifications.
- Transport partners can manage routes, schedules, bookings, passenger information, and tickets through the B2B portal.
- Both sides operate on shared booking data instead of maintaining separate copies of route and passenger information.
- The documented product was delivered in approximately three months.
Technologies: PHP · Laravel · Vue.js · MySQL · REST API.

Explore more case studies
Explore allHave a product that needs to impress from the first second?
Premium look and speed don't have to compete. ZentixSoft builds sites that convey the full value of your product - and open instantly on any device.
