Hotel Management System HMS full database project using ASP. Net C#, SQL Server Source Code with detail Database Design article and Explanation of Entity relationship diagram
System Module
Room management Module:
Reservation Module:
Employee Management Module:
Accounting Module:
Product Management Module:
Users/Roles of the System
Forms and Reports
Tables Description
This system involves the management of small and medium sized hotel properties. It will allow check-ins, check-outs, reservations, employee information handling, product and supplier information handling. A user accesses the system by entering his/her user name and password which were previously defined by the hotel owner/manager. The clerk uses the system through a Graphical User Interface (GUI).
Source Code Link here
• A computer based management system is designed to handle all the primary information required to calculate monthly statements.
• Separate database is maintained to handle all the details required for the correct statement calculation and generation.
• This project intends to introduce more user friendliness in the various activities such as record updation, maintenance, and searching.
• The searching of record has been made quite simple as all the details of an employee can be obtained by simply keying in the identification of that employee.
• All the records are absolutely up-to-date.
• The entire information has been maintained in the database and whoever wants to retrieve can’t retrieve it, only authorized user can retrieve the necessary information which can be easily be accessible from the file.
• The main objective of the entire activity is to automate the process of day to day activities of Hotel like:
1. Room activities,
2. Admission of a New Customer,
3. Assign a room according to customer’s demand,
4. Checkout of a customer,
5. Storing information of suppliers and products,
6. Storing employee information,
7. Keep track of accounts payable and receivable.
Some other objectives are:
• No data duplication
• No Paper Work Required
• Time Efficient
• Cost Efficient
• Automatic data validation
• User friendly environment
• Data security and reliability
• Fast data insertion & retrieval
• Easy performance check
The scope of our project "Hotel Management System” is that it could be given to any small/medium sized hotel so that they can maintain their room reservations, employee details, product details, accounts payable and receivable. In this project, we will keep track of information of employees working in the hotel. We are also not managing restaurants in this project. The facilities such as airline booking, rent a car, gift shop etc. could also be provided but we are not providing this yet.
System Module
Room management Module:
This module provides the management facility of rooms. It would allow to:
· add a new room;
· edit an existing room;
· view all rooms.
Reservation Module:
This module allows the employee to manage reservations. It would allow to:
· make a new reservation(check in, assuming that the customer makes the reservation at the same time he checks in);
· check out a customer;
· Find all reservations by a customer.
Employee Management Module:
This module allows to manage the employee information. It would allow to:
· password verification;
· add a new employee;
· edit an existing employee;
· different views for receptionist and manager.
Accounting Module:
This module keeps track of all the accounting information regarding the hotel. It would consist of:
· view the amount payable by receipt number;
· view the amount payable by supplier ID number;
· the amount receivable by reservationID;
· the amount receivable by accounts receivable ID.
Product Management Module:
This module keeps track of inventory. It would allow to:
· add a new supplier;
· edit an existing supplier;
· add a new product;
· edit an existing product.
Users/Roles of the System
Manager:
The manager would have special privileges. He will be able to:
· add a new employee;
· edit an existing employee.
Receptionist:
The receptionist will have access to the Room management module, Product management module and Reservation module. He will be able to perform the following operations:
- add a new room;
- edit an existing room;
- add a new product;
- edit an existing product;
- check in a customer;
- check out a customer;
Maintenance:
The maintenance would be responsible to maintain rooms.
Forms and Reports
- Reservation/Check in
- Check out
- Rooms Details (add and edit)
- Employee Details (add and edit)
- Product Details (add and edit)
- Supplier Details (add and edit)
- Accounts receivable
- Accounts payable
Entity Relationship Diagram
Tables Description
Table Name: CUSTOMER
Primary Key: Customer ID
Purpose: To store the customer details.
Column Name | Data Type and Domain | Null Constraint | Key Constraint | Application based Constraint |
Customer ID | int (4) | Not Null | Primary Key | |
Name | varchar (100) | Not Null | ||
Address | varchar (100) | Null | ||
Phone | int(10) | Null | ||
Cell | int(11) | Null |
Table Name: EMPLOYEE
Primary Key: Employee ID
Purpose: To store the employee detail.
Column Name | Data Type and Domain | Null Constraint | Key Constraint | Application based Constraint |
Employee ID | int (4) | Not Null | Primary Key | |
Name | varchar (100) | Not Null | ||
Manager ID | int (4) | Not Null | Foreign Key | |
Address | varchar (100) | Not Null | ||
Phone | int(10) | Not Null |
Table Name: SUPPLIER
Primary Key: Supplier ID
Purpose: To store the information of each supplier.
Column Name | Data Type and Domain | Null Constraint | Key Constraint | Application based Constraint |
Supplier ID | int (4) | Not Null | Primary Key | |
Name | varchar (100) | Not Null | ||
Address | varchar (100) | Null | ||
Phone | int(10) | Null |
Table Name: PRODUCT
Primary Key: Product ID
Purpose: To store the information of each product.
Column Name | Data Type and Domain | Null Constraint | Key Constraint | Application based Constraint |
Product ID | int (4) | Not Null | Primary Key | |
Name | varchar (100) | Not Null | ||
Supplier ID | varchar (100) | Not Null | Foreign Key | |
Price | int(10) | Not Null | Price not less then 0 or greater then 100,000 | |
Description | varchar (100) | Null | ||
Quantity | long(8) | Not Null | Quantity not less then 0 or greater then 100,000 |
Table Name: ROOM
Primary Key: Room ID
Purpose: To store the information of each room.
Column Name | Data Type and Domain | Null Constraint | Key Constraint | Application based Constraint |
Room ID | int (4) | Not Null | Primary Key | |
Manager ID | int (4) | Not Null | Foreign Key | |
Price | int (10) | Not Null | ||
Maintenance ID | int (4) | Not Null | Foreign Key |
Table Name: ROOM-TYPE
Primary Key: Room ID, Room Type
Purpose: To store the room type against each room id.
Column Name | Data Type and Domain | Null Constraint | Key Constraint | Application based Constraint |
Room ID | int (4) | Not Null | Primary Key | |
Room Type | varchar (100) | Not Null | Primary Key |
Table Name: RESERVATION
Primary Key: Customer ID, Room ID
Purpose: To store the reservation information.
Column Name | Data Type and Domain | Null Constraint | Key Constraint | Application based Constraint |
Customer ID | int (4) | Not Null | Primary Key | |
Room ID | int (4) | Not Null | Primary Key | |
Employee ID | int (4) | Not Null | Foreign Key | |
Start Date | Date | Not Null | Date must be in DD-MM-YYYY format | |
End Date | Date | Not Null | Date must be in DD-MM-YYYY format | |
Charges | int(10) | Not Null | Charges not less then 0 |
Table Name: Accounts Payable
Primary Key: ID
Purpose: To keep a record of the accounts payable.
Column Name | Data Type and Domain | Null Constraint | Key Constraint | Application based Constraint |
ID | int (4) | Not Null | Primary Key | |
Amount | int (10) | Not Null | Amount not less than 0 | |
Date | Date | Not Null | Date must be in DD-MM-YYYY format | |
EmployeeID | int (4) | Not Null | Foreign Key |
Table Name: Accounts Receivable
Primary Key: ID
Purpose: To keep a record of the accounts receivable.
Column Name | Data Type and Domain | Null Constraint | Key Constraint | Application based Constraint |
ID | int (4) | Not Null | Primary Key | |
Amount | int (10) | Not Null | Amount not less than 0 | |
Date | Date | Not Null | Date must be in DD-MM-YYYY format |
Table Name: SUPPLIER-PRODUCT
Primary Key: Transaction ID, Product ID
Purpose: To keep a record of which supplier supplies a product.
Column Name | Data Type and Domain | Null Constraint | Key Constraint | Application based Constraint |
Transaction ID | int (4) | Not Null | Primary Key | |
Product ID | int (4) | Not Null | Primary Key | |
Supplier ID | int (4) | Not Null | Foreign Key | |
Date | Date | Not Null | Date must be in DD-MM-YYYY format | |
Amount | int(10) | Not Null | Charges not less then 0 |
Table Name: ROOM-PRODUCT
Primary Key: Room ID, Product ID
Purpose: To keep a record of which product is used in which room.
Column Name | Data Type and Domain | Null Constraint | Key Constraint | Application based Constraint |
Room ID | int (4) | Not Null | Primary Key | |
Product ID | int (4) | Not Null | Primary Key |
Source Code Link here




