Overview
Express Bus runs intercity coach services in Egypt. We built the platform behind it: an operations dashboard for the fleet, trips and counter sales, a Flutter app for passengers, and a WordPress plugin that brings booking to the company website, all three on one Laravel API.
01 05
The challenge
Fleet, routes, trips, tickets, parcels, payments and reports were handled in separate places, and selling seats online carried a real risk: two passengers paying for the same seat. The operator needed one system that counter staff, drivers, passengers and management could all rely on, with cash at the counter and online payment working side by side.
02 05
The solution
We built a single Laravel API with three clients on top of it. Counter agents sell from a seat map that mirrors the real coaches, in 49 and 56-seat layouts, while passengers book the same seats from the mobile app or the company website. A seat held by an unpaid booking is released automatically after 15 minutes, and Fawry payments are confirmed server to server, so a seat is never sold twice and never lost to a closed browser tab.
Around that core sit the operational tools: round trips and open returns, whole-coach charters, moving a booking to another trip, refunds, parcel shipping on scheduled trips, promo codes and loyalty points. Counter shifts are tracked with their own reports, receipts are issued as Arabic and English PDFs, customers verify by SMS code, trip statuses update on schedule, and the database is backed up to Google Drive every day.
03 05
Key features
- 01 Seat maps matching the real 49 and 56-seat coaches
- 02 Unpaid seat holds released automatically after 15 minutes
- 03 Cash at the counter and Fawry online, confirmed server to server
- 04 Round trips, open returns and whole-coach charters
- 05 Moving a booking to another trip, and refunds
- 06 Parcel shipping on scheduled trips
- 07 Promo codes and loyalty points
- 08 Counter shifts with their own reports, and PDF receipts in Arabic and English
- 09 SMS notifications and one-time verification codes
- 10 Automatic trip status updates and daily backups to Google Drive
04 05
In numbers
3
platforms on one API
49 / 56
seat layouts drawn like the real coaches
11
WordPress shortcodes for booking on the website
15
minutes before an unpaid seat is released