SeatSure is a bus ticket booking system PHP project for BCA, BSc CS / IT, MCA and diploma students. Passengers search buses between cities for a date, see the real seat layout of the bus - seater 2+2 or sleeper with lower and upper deck - choose their seats, enter traveller details, pay and download an e-ticket with PNR and QR code. Bus operators manage their buses, trips and passenger chart, and the admin approves operators and buses and watches bookings, payments and refunds.
The highlight is seat layout selection with no double booking: selected seats are held for 10 minutes while the passenger pays (database transaction with row lock), and a unique seat key makes it impossible to sell the same seat twice.
How it works
- Passenger searches From, To and journey date, with filters for bus type, AC and departure time
- Seat map shows free, booked, ladies and on-hold seats with the fare of each seat
- Passenger enters name, age and gender for each seat (ladies seat only for a female passenger)
- Seats are held for 10 minutes with a live countdown while the passenger pays (Razorpay test mode or demo)
- E-ticket with PNR and QR code, printable receipt, and a public Check PNR page
- Cancellation refund is calculated automatically: 90% / 50% / 0% depending on the time left before departure
- Operator sees the passenger chart, marks passengers boarded by PNR and completes the trip; the passenger rates the journey
Users
- Passenger - search, seat selection, payment, e-ticket, cancel and refund, rating, notifications
- Bus Operator - buses with seat layout and ladies seats, trips with fares, trip status, passenger chart, bookings
- Admin - cities, boarding points, operator and bus approval, trips, bookings, payments and refunds, reports, notices, settings
Highlights
- 3 roles, 43 pages (8 public, 12 passenger, 8 operator, 15 admin), 12 database tables
- Seater 2+2 (40 seats) and sleeper 2+1 lower + upper deck (30 berths) layouts
- 10-minute seat hold with SELECT ... FOR UPDATE and a UNIQUE seat lock key - no double booking
- Razorpay test mode payment + offline demo mode for college demos
- E-ticket with QR code, receipts, automatic refunds, live seat refresh
- Admin dashboard with Chart.js charts, reports with date filter and print
- Validations on every form (client + server), prepared statements, CSRF tokens, bcrypt passwords
- Demo logins: admin / admin123, rahul@gmail.com / 123456, shivneri@gmail.com / 123456
What you get
- Complete PHP source code with MySQL database and sample data
- Project report (53 pages) with 8 diagrams, abstract, explanation with viva questions, setup guide - all in PDF
- Screenshots and a README with a 10-minute demo script
Who can use this project
BCA, BSc CS / IT, MCA and diploma final year students, and engineering 2nd / 3rd year students as a micro project.
Frequently asked questions
Does it work without internet? Yes. Demo payment mode works offline on XAMPP; internet is needed only for Razorpay test payments.
Which software is needed? XAMPP (PHP 8 + MySQL) and any browser. The setup guide explains every step.
Is real money charged? No. Razorpay works only in test mode in this project.
Can three students present it? Yes. The README and the explanation document split the work into three parts and three demos.