Design and Implementation of Reservation Management System Case Study: Grand Ville Hotels

The management and booking of Rooms in hotels is a tedious and complicated task especially if it is done manually. Keeping track of large customers and all their details requires an inordinate space for file cabinets, not to mention the time the hotel administrator would spend going back and forth to file cabinets so as to look up each customer’s information. This is why a good hotel reservation system is needed to make this task as easy as possible. This paper shows how the noted complicated human task can be solved by using a database Management System together with scripting and programming languages like Html and PHP respectively as the key tools in the development of a hotel reservation System. The system was developed using the object-oriented software development approach which includes the use of object-oriented analysis, object-oriented design and object-oriented programming. This was done so that the developed software can be maintainable, reliable and scalable.

laundry services, air conditioned rooms, telephone and transport for conveying customers to their respective destinations. The hotel has the following types of rooms: Presidential suite, Presidential suite with vintage, junior suites, vintage, vintage executive, business executive, diplomatic executive, deluxe, super deluxe. The hotels makes use of the manual system of room reservation. The hotel is also made up of various degree of staff which includes: the managing director, who is the overall manager of the hotel, the general manager who is in charge of all the transactions carried out by the two managers, that is the duty manager and the operational manager. The duty manager manages the front desk officer and the house-keepers. The front desk officer takes in the customer's requests and consequently hands them over the to the house-keeper who makes sure that the requests are granted by contacting room services, kitchen assistance, cleaners, porter, security and cooks. The operational manager controls the marketers, stock controllers and purchasing officers.The objectives of this paper is to ensure a planned approach towards working, ensure consistency of information stored and remove redundancy and to facilitate quick and efficient retrieval of stored information. The scope for this paper will encompass the following reservation processing, administration/management and marketing of the Hotel.   (2012) worked on implementation of web-based hotel reservation system which enables users to book hotel rooms by means of a web browser. The system is based on JavaServer Faces technology in the presentation layer, Spring Framework in the service layer and iBatis library for the data access layer. The system had features such as to search and to book hotel rooms, notifying of every event related to a user by sending the email on a given address during the registration process, supporting definition process of each component of the hotel and completing the reservation process by notifying the system about the fact that the guest came to the hotel and received keys to the booked room. Its modular architecture makes the application more error-resistant and flexible for any changes therefore easy to add new functionality. The common problem of sending input data through the GET method was also solved.
Ogirima et al (2014) worked on an online computerized hotel management system. The computerized hotel management system with Satellite Motel Ilorin, Nigeria as the case study was to understand and make use of the computer to solve some of the problems which are usually encountered during manual operations of the hotel management. Finding an accommodation or a hotel after having reached a particular destination is quite was noticed to be time consuming as well as expensive, hence the need for an online hotel booking facility. The system had four (4) architecture framework: database, web server, network signal and users of the designed system. The paper concluded that users preferred online hotel management system (HMS) to conventional manual hotel processing as investigated. Privacy, mobility, ease-of-use, security and cost were the preferential critical assessment factors considered to impact user's choice decision.

METHODOLOGY
The System development approach that used in this study is the object oriented approach which is a model-driven technique that integrates data and process concerns into constructs also called objects. A feasibility study was carried out in order to measure the viability of the study and to analyze the strengths and weaknesses of the system. The feasibility studies carried out are grouped into the following:  Technical Feasibility: This was carried out in order to measure the practicality of the system and the availability of technical resources and expertise in the organization. The system is more practical and mature method of hotel room reservation. It solves the problem of the existing system by providing a more efficient, effective and user-friendly way of room reservation. Grand villa Hotels possess the required technology for running the system. For instance the hotel has a desktops with compatible operating systems, database i.e. Microsoft Excel and a printer for printing out customer's receipts.
Research conducted in the hotel showed that the hotel had the skills required to properly apply the technology of hotel reservation. This is due to the fact that the management and most of the workers in the hotel are computer literates. Since the system will be built in a user-friendly way, learning how the system works will be so easy.  Cultural Feasibility: This was carried out in order to measure how well the proposed system will be accepted in the organization. The management of Grand Villa Hotels have seen the need to move from their current system of room reservation to a more efficient and less time consuming method which is already in the system. The use of the system will be of high benefit to the end-user since he'll be able to monitor his reservation processes himself and this will remove the problem of being over-charged with extra fees.  Operational Feasibility: This was done so as to know if the system can meet the identified system requirements and solve the problem of the existing system. From the information that was gathered about the hotel, most customers complained about being over-charged with extra fees. This and many other problems can be solved by the system. Also, considering the following advantages of the system over the current system, the study is said to be operationally feasible. The problem of slow paper filing systems will be solved and also making records and accounts easily accessible to add and retrieve.

Requirement Elicitation
The methods that was used in gathering information from Grand villa Hotels were:  Direct interviewing of the Staff: The Assistant Manager of the Hotel was interviewed in order to find out about the organization of the Hotel, its origin, etc. Also, I was introduced to the Front Desk Officer who showed me how the current system works.  Research/Hotel visit:  Use of Questionnaire: Below is a copy of the questionnaire used.

Questionnaire on Hotel Room Reservation System
[1] Hotel Name___________________________________________________________ [2] Location_______________________________________________ [3] When was the Hotel built/when did you start operation? _____________________________ [4] How many rooms do you have in your Hotel? ________________________ [5] What are the types of rooms in your Hotel e.g. Classic, Business Executive etc_________________________________________________________________ [6] (5) ______________________________________________________________ [11] Have you heard of hotel reservation system before? Yes/No [12] Does your hotel have a reservation system? Yes/ No button "Add Customer Preferences", the customer preferences will be added. [

8] Use case 8: Change Customer Preferences
Actors: Customers, Front desk officer and System Administrator. Description: They will be prompted with menu screen. After choosing "Change Customer Preferences", they will enter in the Customer ID. Select the preference that needs to be changed. Enter in new amount for that preference. After clicking button "Change Customer Preferences", the customer preferences will be updated. [9] Use case 9: Check Room availability Actors: Customers, Front desk officer and System Administrator Description: They will be prompted with menu screen. After choosing "Check Availability", they will choose tower they would like to stay in. After clicking button "Check Availability", the page should display the room types, prices for room types, and number of rooms available.
[10] Use case 10: Profit Reports Actor: System Administrator Description: Administrator will be prompted with menu screen. After choosing "Profit by Date", they will enter the start and end dates (this time frame will show the profit made). After clicking button "Show Me the Money", the page should display the room types and profit made for those types.

[11] Use case 11: Reservation Receipts Reporting
Actors: Front desk officer and System Administrator Description: Front desk officer and System Administrator will be prompted with menu screen. After making a reservation, they will enter the customer's reservation Id where the reservation receipt page should display and print out the most current reservation information.

Requirement Specification
As a result of the requirement elicitation carried out, the requirement of Hotel reservation System can be classified into: functional and Non-functional requirement.  Functional Requirements: functional requirement for the system is divided into three main categories: Reservation/Booking, Food and Management. Reservation/Booking a) The system must keep the records of the room number, room type, and number of occupants of the room, display the default room rate. b) The system must record the customer's details e.g. first name, last name, address, phone number, c) The system must generate a confirmation number for each reservation made and generate the bill for customers. d) The system shall record the expected check-in and check-out date and time. e) Customers must know the availability of the rooms on any particular date. f) Customers should be able to book the available rooms.
Food a) The system shall track all meals purchased in the hotel and room services. b) Customers should be able to order for food and services Management a) The system shall display the hotel occupancy for a specified period of time (days, including past, present and future dates.) b) The system shall allow for the addition and deletion and modification of information, regarding rooms and user profiles. c) The system shall allow managers to assign user passwords.  Non-functional Requirements: the non-functional requirements include the following: a) Usability: the system will be user friendly and easy to learn. The reservation page will be designed with simple graphics. Also icons with good background contrast together with alternative texts and pop-up windows will be used to communicate information to the user during reservation. b) Reliability: the system will be more reliable because of the use of MySQL relational database which has the following advantages: c) The security level: when data is in MySQL, the MySQL server manages the security in that anyone attempting to access the data stored must know the proper user name and password for connecting to MySQL. d) Management of large database: MySQL can manage hundreds of megabytes of data and more. e) Performance: the system will be designed in a way to respond to user's needs quickly through the use of an application server (i.e.WAMP).It can also cope with the required volume of transactions through the use of MySQL database management system. f) Security: The system will have a user login screen that will require a user name and a password. This will prevent unauthorized users from gaining access to the various subsystems. Also, the credit card number together with the password of the customer will be kept safe by converting them to hexadecimal code through encryption.

Hardware/Software Requirement
The table below shows the software and hardware requirements of reservation system.

Design of Application Architecture
Designing the application architecture involves network technologies and making decisions on how the system' data, processes and interfaces are to be distributed. To do this, the data and process models that were created during the requirement analysis were analyzed. The hotel room reservation system is based on the 3-tier architecture which is made up of three logical tiers i.e. the Presentation-tier, Middle-tier and Data-tier  The Presentation-tier: When designing the presentation-tier of this Hotel reservation system, HTML (a scripting language) together with PHP which is a programming language was used.  Middle-tier: The middle tier was designed to capture information like: the customer's login details, making a reservation, cancelling a reservation, requesting an account and report generation.  Data-tier: This was designed for error handling. The URL that will generate error was written using PHP. The hotel reservation system used Java script Form authentication to validate users of the system.

Design of System Database
The primary goal of creating a database is to provide an environment that will be convenient and efficient to use in retrieving and storing information. When designing the database for Grand villa Hotels, the following were considered:  Purpose of the Database: the main purpose of this database is to store and retrieve information of the customers and to create an environment that will enable the customer to easily asses his/her reservation details whenever the need arises.  Tables needed to create the Database and fields needed to create the tables: the fields that will be used to create the necessary tables were identified and the tables were consequently created. The  7   different table created were:   The Login table: This table was labeled "tbl_login". It shows the login details of the customer. The user logs in with a user name whose field type is TEXT and a password with field type, VARCHAR. Customer_id  VARCHAR  10  Username  TEXT  13  Password  VARCHAR  10  Table 3.1 -The Login table: This table was labeled "tbl_login". It shows the login details of the customer. The user logs in with a user name whose field type is TEXT and a password with field type, VARCHAR.

Field Name Field Type Length/Values
Field

Normalization of tables
Normalization is the art of organizing the database in such a way that the tables are related where appropriate and flexible for future growth. There are some sets of rules used in normalization which are called normal forms. If the database design follows the first set of rules, it's considered in the first normal form i.e. 1NF. If the first three sets of rules of normalization are followed, the database is said to be in the third normal form i.e. 3NF. The tables are said to be in their first normal form (1NF) already because there is no repeating information in any of the tables. To take the tables to their second normal form (2NF) means identifying the primary keys of the tables and making sure that the fields in the tables are related. The primary keys of each table is labeled (PK). There was no relationship between the registration and room detail tables that was why a mapping was done to create an intermediary table which connects both tables. In order to convert the tables to the third normal form (3NF), the tables was examined to see whether there are more fields that can be broken down further and that aren't dependent on a key. Third normal form is usually adequate for removing redundancy and allowing for flexibility and growth. Table relationships come in one-toone relationships, one-to-many relationships and many-to-many relationships.
In a one-to-one relationship, a key appears only once in a related table. In a one-to-many relationship, keys from one table appear multiple times in a related table while in many-to-many relationship, the primary key in the second table appears many times in the first table. The many-to-many relationship often causes problems in practical examples of normalized databases, so it is better to break many-to-many relationships into a series of one-to-many relationships. From the above definitions, the login and registration tables have a one-to-one relationship since both tables are connected to each other through the customer's id which is the primary key (PK) for both tables. Also, the room details and reservation tables have a one-to-one relationship with room number as the primary key for the room detail table and reservation number as the primary key for the reservation table.
Since no relationship exist between the registration and room details table, a mapping was done and an intermediary table (Registration_room details_map) was created to connect both tables. The mapping was also done to create the intermediary table (Registration_reservation_ map) that connects the registration and reservation tables since they were not related. In this form, the user will be requested to enter a user name and password. If the password is correct (i.e the user has registered before) he/she will be able to access his/her profile and make any necessary changes otherwise he will be requested to register. Username Password 2. Registration Form: in this form, the user is prompted to register so that information about him can be saved in the company's database. The registration form must be filled before the customer reserves a room because the information captured here is what is used during the reservation process. Number of rooms reserved 4.New Reservation: the main purpose of this form is to add a new customer to the records. For this purpose, the user will be required to fill the customer's title, sex, first and last names, date of birth, address and phone number. The user can then select the type of room from the list box. The description and charges of these rooms are also displayed. After filling all the entries, when the submit button is clicked on, the record will be added to the database. 5.Update reservation: this form is used by the customer to make changes in the reservation already made.
6.Room description: this form is used to give a brief description of each room. It shows the facilities found in the rooms together with the room charges.

CONCLUSION
Hotel needs to maintain the record of guests and reserve rooms beforehand. Customers should be able to know the availability of the rooms on a particular date. They should be able to reserve the available rooms according to their need in advance so as to make their stay comfortable. No hotel reservation system can operate alone in the hotel, because it concentrates mainly in reservation process, the system needs an accounting system and a management information system, and so it can serve all the needs of the hotel. It is therefore very important to build new and modern flexible dynamic effective compatible reusable information systems including database to help manipulate different processes and operations that are carried out in hotels.