Perfect for cinema halls, events, and theater seat reservation systems.
- β¨ Introduction
- βοΈ Tech Stack
- π Features
- π€Έ Quick Start
- π§± Project Structure
- π Customization
- π€ Contribution
- π Contacts
- π License
- π Acknowledgements
CinemaSeatBooking is an interactive and customizable seat booking component built in React. It features:
- Seat selection with categories (Regular, Premium, VIP)
- Dynamic pricing and booking summary
- Aisle separation and booked seat management
- Customizable layout, seat pricing, and booking callbacks
Itβs ideal for use in cinema halls, theater reservations, or event booking platforms.
- React.js β Component-based UI
- TailwindCSS β Modern utility-first styling
- JavaScript (ES6+) β State management and interactivity
- Vite / CRA β Fast development with hot reload
- VS Code β Development environment
- ποΈ Dynamic Seat Map β Rows, seats per row, and aisle separation
- π¨ Seat Categories β Regular, Premium, VIP (customizable)
- πΈ Booking Summary β Selected seats, seat count, and total price
- π« Booked Seat Handling β Disable unavailable seats
- β‘ Interactive UI β Click-to-select seats with animations
- π± Responsive Design β Works across devices
- π’ Inline Notifications β Shows success/error messages instead of alerts
- β Post-Booking Status β Button shows booked seat IDs after completion
git clone https://github.com/Itssanthoshhere/Cinema-Seat-Booking.git
cd Cinema-Seat-Bookingnpm installnpm run dev| File/Folder | Description |
|---|---|
App.jsx |
Entry point with demo usage |
components/ |
Contains the CinemaSeatBooking component |
CinemaSeatBooking.jsx |
Main seat booking component |
assets/ |
Images or thumbnails |
README.md |
Documentation |
- Change seat layout (rows, seats per row, aisle position):
layout={{
rows: 8,
seatsPerRow: 12,
aislePosition: 5,
}}- Update seat categories and pricing:
seatTypes={{
regular: { name: "Regular", price: 150, rows: [0, 1, 2] },
premium: { name: "Premium", price: 250, rows: [3, 4, 5] },
vip: { name: "VIP", price: 350, rows: [6, 7] },
}}- Predefine booked seats:
bookedSeats={["C2", "C4"]}- Capture booking completion:
onBookingComplete={(booking) => console.log(booking)}Contributions are welcome! You can:
- Fork the repo
- Create a new branch (
git checkout -b feature/my-feature) - Make your changes
- Commit (
git commit -m 'feat: my feature') - Push (
git push origin feature/my-feature) - Create a Pull Request
- GitHub: Itssanthoshhere
- LinkedIn: Santhosh VS
This project is for educational and portfolio purposes. All rights for logos, assets, and branding belong to their respective owners.
- React β For the component-based UI
- TailwindCSS β For styling utilities
- Vercel β For live deployment
If you liked this project, give it a β and share it with your network!