Hotel Management System and Hotel Booking Website

1. Introduction

This project is a comprehensive Hotel Booking and Management System that offers a seamless experience for both guests and hotel staff. Guests can book or cancel rooms easily, while staff can handle check-ins, check-outs, room tracking, and employee management.

The system is divided into two major modules: the Hotel Management System (HMS) for staff and administrators, and the Hotel Booking Website for customers. Key features include reservation handling, inventory management, employee control, feedback collection, and more.

2. Functional Requirements and Application Modules

1. Login and Registration: Secure login system with remember me, forgot password, and OTP verification.
2. Authentication and Authorization: User authentication and access control using cookies and session management for secure module access.
3. Home Page: Shows today's check-ins and check-outs with counters and access buttons.
4. Bookings: Features for room booking, viewing bookings, cancellations, and cancelled booking history.
5. Guests: Guest check-in, check-out, and full guest information listing.
6. Rooms: List and manage all available room details.
7. Employees: View current, managerial, and ex-employees.
8. Inventory: Track and manage hotel inventory items.
9. Messages: See messages from customers via the website.
10. User Settings: Allows users to change password, delete account, and logout.
11. Admin Panel: Admin access to room, employee, and user management, including adding/editing departments, room types, and bed types.

3. Hotel Booking Website

1. Sign-in and Registration: Includes new user sign-up, remember me, and forgot password with OTP.
2. User Profile: Manage personal details, change password, and sign out.
3. Book a Room: Customers can search and book rooms based on check-in/check-out date and guests.
4. Contact Us: Allows users to send messages, view contact info, and see Google Map location.
5. Pages: Includes Home, About, Rooms, Services, and Gallery.

4. Database Design

The system uses a database named HotelManagementSystem with normalized tables and referential integrity via foreign keys.

Key tables include:
- departments, designations, and employees: Define employee structure and relationships.
- users and website_users: Handle authentication and roles.
- bed_types, room_types, and rooms: Manage room classification.
- inventory: Tracks hotel stock items.
- guest_info, bookings, and cancelled_bookings: Track guest data and reservations.
- user_messages: Stores feedback from the website.

5. Module Details

- Module 1: Secure Login/Registration with OTP reset.
- Module 2: Home page with check-in/out count.
- Module 3: Bookings with sub-modules for booking, viewing, cancelling, and listing cancellations.
- Module 4: Guest Management including check-in, check-out, history, and info list.
- Module 5: Room overview and management.
- Module 6: Employees list and role-based views.
- Module 7: Inventory tracking and management.
- Module 8: Customer messages handling.
- Module 9: User settings – password, account deletion, and logout.
- Module 10: Admin panel including:
  - Room management (add/edit rooms, types, beds)
  - Employee management (add/search/edit/terminate)
  - Department/designation management
  - User management (add/edit/delete users and assign admin rights)

6. Screenshots

Management system for hotel employees

Login Page: Registered employees can log in with email and password.

Forgot Password: Reset password with employee ID and OTP.

Enter OTP: Enter received OTP and set new password.

New Account Registration: Register as a new employee using your ID and password.

Home Page: Overview of today's check-ins and check-outs.

Today's Check-ins: List of guests scheduled to check-in today.

Today's Check-outs: List of guests scheduled to check-out today.

Bookings Menu: Dropdown list of booking options.

Book a Room: Booking form begins with guest search.

No Guest Record Found: Alert for non-existent guest records.

Room Availability: Checking for available rooms before booking.

Select Room: Choose a preferred available room.

Booking Form: Fill guest and room details to confirm booking.

All Bookings: View the list of all bookings made so far.

Cancel Bookings: Cancel unconfirmed bookings.

Cancelled Bookings: View a list of cancelled bookings.

Guest Check-in: Check in guests from the guest section.

Guest Check-out: Check out guests from the guest section.

Guest Checkout History: View previously checked-out guests.

All Guest Information: Complete guest list and info.

Room Information: View various room types available in the hotel.

Current Employees: List of currently employed hotel staff.

Current Managers: View the current hotel managers.

Ex-Employees: List of previously terminated or resigned employees.

Inventory: View and manage the hotel inventory items.

Customer Messages: Messages received from hotel website.

Change Password: Update the current user password.

Password Changed Alert: Notification after password change.

Delete Account: Option to permanently delete the employee account.

Admin Panel Access: Admin-only access page.

Admin Menu: Admin navigation bar and options.

Room Management: Add, edit, or delete room details.

Add/Edit Room Info: Form to manage room data.

Add/Edit Bed & Room Types: Configure bed and room types.

Add Employee: Form to add a new employee to the system.

Edit Employee Info: Search and update employee records.

Terminate Employee: Remove an employee from the system.

Departments & Designations: Manage roles and departments in the hotel.

User Management: Manage user accounts and privileges.

Add New User: Form to add new users.

Update/Delete User: Search and manage user accounts.

Update Delete User

Return to Main Page: Redirects admin back to the main dashboard.

Booking website for customers

Customer Home Page: Website homepage for hotel guests.

Favourite Rooms: View of top-rated rooms with image slider.

Services Page: Shows list of hotel services provided to guests.

Gallery Page: Image gallery of the hotel and rooms.

Contact Us: Form for guests to send messages to hotel staff.

Customer Login Page: Page for guest sign-in to booking website.

Customer Registration Page: Guests can register a new account.

Forgot Password: Send an OTP to the registered email id to reset password.

Check For Availability Search available rooms by selecting check-in and check-out dates, along with the number of adults and children.

Select room: Select an available room from the list.

Confirm booking: Confirm your booking.

Booking Confirmed.

User Account.

Edit User Information.

View a list of past and future bookings: The user can cancel future bookings if needed.

Change Account Password: Change account password with the help of current password.