A full-featured desktop Hotel Management System built using Java, JavaFX, Maven, and MySQL to streamline hotel operations including room management, guest registration, reservations, billing, checkout, and business analytics.
The application provides a modern dashboard-driven experience for hotel staff and managers while maintaining persistent records of rooms, guests, bookings, revenue, and occupancy data.
โ Multi-role Authentication System
โ Real-Time Hotel Dashboard
โ Smart Room Allocation Engine
โ Dynamic Occupancy Tracking
โ Guest Registration & Management
โ Reservation & Booking Workflow
โ Automated Checkout Processing
โ Invoice & Billing Generation
โ Revenue Analytics Dashboard
โ Search & Filtering Across Modules
โ Persistent MySQL Database Storage
โ Modern Dark-Themed JavaFX Interface
Managing hotel operations manually becomes increasingly difficult as the number of rooms, guests, reservations, and transactions grows.
Grand Hotel Management System solves this problem by providing a centralized platform where hotel staff can:
- Monitor room occupancy
- Register guests
- Create bookings
- Track active stays
- Process checkouts
- Generate invoices
- Analyze hotel performance
- View revenue insights
All data is stored permanently in a MySQL database and updated across modules in real time.
The system supports three user roles:
Full system access.
Handles guest registrations, bookings, and checkout operations.
Operational access for day-to-day hotel management tasks.
- Role selection buttons
- Auto-fill login credentials
- Email validation
- Gmail-only authentication format validation
- Secure role-based entry into the application
The dashboard acts as the operational control center of the hotel.
- Total Rooms
- Available Rooms
- Occupied Rooms
- Daily Revenue
- Pending Checkouts
- Occupancy Percentage
-
Dynamic greeting system
- Good Morning
- Good Afternoon
- Good Evening
-
Live digital clock
-
Floor-wise room visualization
-
Active guest monitoring
-
Recent activity tracking
-
Revenue summary cards
-
Quick navigation actions
The dashboard updates automatically as bookings, room allocations, and checkouts occur.
The room management module allows hotel administrators to manage all hotel rooms from a single interface.
Each room stores:
- Room Number
- Room Type
- Floor Number
- Price Per Day
- Current Status
- Available
- Occupied
- Cleaning
- Maintenance
- Add new rooms
- Update room information
- Delete rooms
- Change room status
- Search rooms instantly
- Filter rooms by status
- Visual room card previews
Selecting a room automatically loads all associated information for editing.
The guest management module maintains complete customer records.
- Register guests
- Store contact details
- Manage room assignments
- View guest history
- Search guest records
- Filter active and checked-out guests
Only rooms marked as:
Available
can be assigned to guests.
Once a guest is assigned:
Available โ Occupied
This prevents double bookings and ensures room availability remains accurate throughout the system.
The booking module handles reservations and stay planning.
- Select customer
- Choose available room
- Select check-in date
- Enter duration of stay
- Calculate checkout date
- Generate booking summary
- Confirm booking
- Room availability validation
- Stay duration calculation
- Checkout date generation
- Total amount calculation
- Booking record generation
Only available rooms are displayed during reservation creation.
The checkout module manages guest departures and payment processing.
- Active guest selection
- Booking summary generation
- Payment processing
- Invoice generation
- Printable receipts
- PDF export support
- Cash
- Card
- UPI
After checkout completion:
Occupied โ Available
The room instantly becomes available for future bookings.
This ensures occupancy statistics remain accurate without manual updates.
The analytics module provides business intelligence and operational insights.
- Total Revenue
- Occupancy Rate
- Average Stay Duration
- Revenue Per Room
- Room Performance Ranking
- Weekly Revenue Charts
- Revenue Distribution
- Occupancy Analysis
- Booking Trends
- Room Type Performance
Reports can be generated for:
- Weekly
- Monthly
- Custom Date Range
Reports can be exported directly for management review.
Two guests cannot occupy the same room simultaneously.
Only available rooms can be booked.
Booking:
Available โ Occupied
Checkout:
Occupied โ Available
All operations are stored inside MySQL and remain available after application restart.
| Component | Technology |
|---|---|
| Language | Java |
| UI Framework | JavaFX |
| Database | MySQL |
| Build Tool | Maven |
| Architecture | Desktop Application |
| IDE | VS Code / IntelliJ IDEA |
- Authentication System
- Dashboard
- Room Management
- Guest Management
- Booking System
- Checkout & Billing
- Reporting & Analytics
(Add Screenshot)
(Add Screenshot)
(Add Screenshot)
(Add Screenshot)
(Add Screenshot)
(Add Screenshot)
(Add Screenshot)
- Online Guest Reservations
- QR-Based Check-In
- Email Notifications
- SMS Alerts
- Multi-Hotel Management
- Employee Attendance Module
- AI-Based Revenue Forecasting
- Cloud Database Integration
Tarunashri Surapaneni
Data Science & Engineering Manipal Institute of Technology
GitHub: https://github.com/tarunashri6
โญ If you found this project interesting, consider giving it a star.