StaySync — Hotel Reservation Management System
A Java desktop application that streamlines hotel operations through self-service kiosk check-in, reservation management, billing, loyalty management, and role-based administration.
Overview
StaySync is a desktop hotel reservation management system built to simulate real-world hotel operations.
The application supports both customer self-service kiosks and front desk operations, allowing users to check in, check out, generate invoices, manage reservations, and administer hotel services through role-based access control.
The project demonstrates object-oriented software engineering, desktop application development, and enterprise-style business workflows.
The Problem
Hotels often manage reservations through multiple staff members while simultaneously allowing guests to perform self-service check-in.
This creates challenges such as:
- Reservation management
- Secure role permissions
- Billing accuracy
- Loyalty program updates
- Operational auditing
- Amenity management
The goal was to build a centralized desktop application capable of supporting these workflows while enforcing different permission levels.
Solution
StaySync provides two operational modes:
- Customer Self-Service Kiosk
- Staff Management Portal
The system allows hotel employees to manage reservations while enabling guests to perform basic check-in operations independently.
Key Features
Self-Service Kiosk
Guests can:
- Check in
- Check out
- View reservation details
Reservation Management
Staff can:
- Create reservations
- Update bookings
- Cancel reservations
- Search reservations
Role-Based Access Control
Two permission levels:
Administrator
- Check in/out guests
- Generate invoices
- Process payments
- View reservation information
Manager
Additional privileges include:
- Modify reservation dates
- Adjust loyalty points
- Manage amenities
- Override reservations
- Access administrative functions
Billing System
The application generates hotel bills and stores transaction records.
Loyalty Program
Managers can update customer loyalty points even after completed reservations.
Audit Logging
Every important system action records:
- User role
- Timestamp
- Generated bills
- Reservation modifications
System Architecture
User
│
┌───────┴────────┐
▼ ▼
Customer Hotel Staff
Kiosk
│
┌────────────┴────────────┐
▼ ▼
Administrator Manager
│ │
▼ ▼
Reservation Controller
│
┌───────────┼────────────┐
▼ ▼ ▼
Reservations Billing Loyalty System
│
▼
Database
Tech Stack
- Java
- JavaFX
- MVC
- OOP
- JDBC
- SQL Database
My Contributions
I collaborated on the development of the desktop application with a focus on object-oriented architecture, business logic implementation, reservation workflows, role-based permissions, billing functionality, testing, and debugging. I also contributed to designing reusable Java classes and implementing hotel management features across the application.
Technical Challenges
Role-Based Permissions
Different users required different capabilities.
The challenge was designing reusable permission logic without duplicating code.
Reservation Workflow
Managing reservation state transitions while maintaining data consistency required careful controller design.
Billing
Generating invoices while keeping reservation data synchronized required separating business logic from presentation logic.
Audit Logs
Recording operational events without impacting usability introduced additional architectural considerations.
Lessons Learned
Working on StaySync strengthened my understanding of:
- Desktop software architecture
- MVC
- Object-oriented design
- Role-based authorization
- Enterprise workflows
- Database interaction
- Team collaboration
Future Improvements
- Online reservations
- Mobile companion application
- Payment gateway integration
- QR Code check-in
- Email notifications
- Analytics dashboard
- Cloud deployment
- REST API backend
Technologies
- Java
- JavaFX
- MVC
- OOP
- SQL
- JDBC
What This Project Demonstrates
This project demonstrates experience with:
- Java desktop development
- MVC architecture
- Enterprise application design
- Role-based access control
- Database integration
- Business workflow implementation
- Billing systems
- Audit logging
- Team software development
Status
Completed as a team-based software engineering project demonstrating enterprise desktop application development using Java.

Log in or sign up for Devpost to join the conversation.