GOVERNMENT COLLEGE UNIVERSITY FAISLABAD Final Year Project Hotel Management System (A web application) Submitted by Muhammad Awais Raza Muqadas Raees 2018-GCUF-071441 2018-GCUF-071432 Department of Computer Science Abdul Salam Group of Colleges Affiliated with Government College University, Faisalabad 202 GOVERNMENT COLLEGE UNIVERSITY FAISLABAD CONTENTS CHAPTER-1 INTRODUCTION……………………………………………. 1.1) Objective of Project…………………………………………………………………… 1.2) Scope of the Project…………………………………………………………………… 1.3) Introduction of the Project…………………………………………………………… CHAPTER-2 LITERATURE REVIEW…………………………………… 2.1) Existing System……………………………………………………………………… 2.2) Drawbacks…………………………………………………………………………… 2.3) Advantages of Proposed System…………………………………………………… CHAPTER-3 DEVELOPMENT METHODOLOGY ……………………… 3.1) Waterfall Methodology ……………………………………………………………… 3.2) Development Methodology …………………………………………………………… 3.3) Observations and Report…………………………………………………………… CHAPTER -4 WEBSITE REQUIREMENTS………………………………………… SPECIFICATIONS………………………………………………………………………… 4.1) Functional Requirements……………………………………………………………… 4.2) Non-Functional Requirements……………………………………………………… 4.3) Website Specification…………………………………………………………………… CHAPTER-5 SYSTEM ANALYSIS AND DESIGN PHASE…………………… 5.1) Use Case Diagram…………………………………………………………………………… 5.2) Sequence Diagram…………………………………………………………………………… 5.3) Webpage Sitemap………………………………………………………………………… 5.4) System Deployment Diagram………………………………………………………… GOVERNMENT COLLEGE UNIVERSITY FAISLABAD 5.5) Entity Relational Diagram……………………………………………………………… 5.8) Database Design…………………………………………………………………………… CHAPTER- 6 IMPLEMENTATION AND TESTING…………………………………… CHAPTER-7 WEBSITE DEMOSTRATION……………………………………………… CHAPTER- 8 FUTURE SCOPE …………………………………………………………… GOVERNMENT COLLEGE UNIVERSITY FAISLABAD Chapter 1: INTRODUCTION 1.1 OBJECTIVE OF PROJECT The main objective of the Project on airbnb website is to manage the details of Hotel, Rooms, Services, Payments, and Bookings. It manages all the information about Hotel, Customers, Bookings, Hotel. The project is totally built at administrative end and thus only the administrator is guaranteed the access. The purpose of the project is to build an application program to reduce the manual work for managing the Hotel, Rooms, Customers, and Services. It tracks all the details about the Services, Payments, and Bookings. 1.2 SCOPE OF THE PROJECT It may help collecting perfect management in details. In a very short time, the collection will be obvious, simple and sensible. It will help a person to know the management of passed year perfectly and vividly. It also helps in current all works relative to airbnb website. It will be also reduced the cost of collecting the management & collection procedure will go on smoothly. Our project aims at Business process automation, i.e. we have tried to computerize various processes of airbnb website. In computer system the person has to fill the various forms & number of copies of the forms can be easily generated at a time. In computer system, it is not necessary to create the manifest but we can directly print it, which saves our time. To assist the staff in capturing the effort spent on their respective working areas. To utilize resources in an efficient manner by increasing their productivity through automation. The system generates types of information that can be used for various purposes. 1.3 INTRODUCTION OF PROJECT Airbnb website is a website where the management of entire hotel is computerized. The Airbnb website is designed using ruby on rails as the rich GUI for front end and SQL Server as the secured backend database. In this project the details are maintained like customer details, reservation details, Booking details and billing details The reservation process of reserving rooms for the customers, canceling the reserved rooms, booking the rooms, vacating the rooms, the restaurant management, billing process, etc . The reports can be viewed completely and the head of the management daily or weekly or monthly can review it. For company auditing it will be more useful. This Proposed System will be interactive, faster and user- friendly for the end users. Using the Airbnb website, the following activities can be performed. GOVERNMENT COLLEGE UNIVERSITY FAISLABAD Room Service Check In Check Out Login GOVERNMENT COLLEGE UNIVERSITY FAISLABAD Chapter 2: LITERATURE REVIEW EXISTING SYSTEM Airbnb website involves maintaining various operations of the hotel like Booking or reservations of the rooms, Cancellation of the rooms, Cash billing, Room service, Restaurant service, Restaurant billing, Total billing, Travels arrangement etc. The existing system is a manual one and there is lot of issues like erroneous data, slow process, lack of security etc. Finding out the final payment amount completely relies on the hotel manager and if he is absent, it takes a long time to find out the details during check out and is prone to errors. DRAWBACKS OF THE EXISTING SYSTEM Manual entry consumes more time. It is difficult to maintain bulk of record in manual. Restrictions in the users. Not easy to prepare the daily reports. Lack of accuracy and error prone. Overall efficiency is less. Lot of paperwork. Non-secure. No perfect maintenance of report. No method to trace details. Human errors. The manual system is too slow. Searching is more time consuming. ADVANTAGES OF PROPOSED SYSTEM Secure data. Faster process. Error Free. GOVERNMENT COLLEGE UNIVERSITY FAISLABAD CHAPTER 3 DEVELOPMENT METHODOLOGY DEVELOPMENT METHODOLOGY A methodology is a development system of methods that is used to plan, structure and control the process of developing an information system. (Benda & Robertson 2006). A wide variety of published development methodologies have evolved over the years, each with its own recognized strength and weakness. Different types of system project use available methodologies that best suits a specific project based on the project’s various technical development process. Below are the types of methodologies used in projects development. WATERFALL METHODOLOGY Waterfall methodology is a method used in software development projects, divided into sequential phases where “Each phase must be completed before the next phase can begin” (Royce, 2006). This model is often considered as the classic approach to SDLC and has distinct goals for each development phase. When to use Waterfall Methodology When all requirements are properly captured. Clarity of the final product. Clients do not have ability to make any changes on the project. Defined product quality. Figure 2: waterfall methodology process GOVERNMENT COLLEGE UNIVERSITY FAISLABAD Requirement Gathering This is the first phase of the waterfall development. In this phase, all requirements is collected from users for the project and system to be developed is been captured and documented. System Design In this phase, the requirement collected from the previous phase is then implemented to design the system software. Implementation After the system design, the generation of codes begins in this phase. Each requirement will be developed and tested for its functionality in this phase. Testing The developed system is then tested with users of the system to ensure the system meets the requirements. Deployment Once the software is completely developed, it is then deployed into the market for customers but this is done after the testing of both the functional and non-functional requirements. Maintenance Maintenance is usually done when there are issues in the system users are facing. A system update is released to fix those issues. Advantages of Waterfall Model Errors in designs are captured before any software is written; this helps in saving time in implementation phase. Excellent technical documentation, making it easier for programmers to speed in the maintenance phase The software system development is measurable Conserves resources needed for development of the system Disadvantages of Waterfall Model Difficult to respond to changes that occur later in the software development. Errors are often not identified until stem testing. Once the software development is in testing phase it is difficult to correct or make any changes. Requirements are not consistent; some components for the system are often discovered during the design and coding stage. GOVERNMENT COLLEGE UNIVERSITY FAISLABAD Development Methodology Chosen For This Project The development methodology selected for this project is the Waterfall Development. This methodology was chosen because its shows the flow of project process in a logical form. “Each phase must be completed before the next phase can begin” (Royce, 2006). It is mostly use in the process of creating software and it is easy to understand. One of the advantages that will benefit this project is the waterfall works for projects where requirements are very well understood. The waterfall development allows departmentalization and control. The cost of the project can be estimated once all requirements are gathered and defined. Observation on the customers and company An observation was carried out at Airbnb is to see how guests make reservation and check-in. Firstly, to make a reservation guests will have to come to the hotel in person and then complete the booking form. After this, guests then proceed to finance department for payment and payment invoice is provided. When a guest is checking in, the invoice is used as a reference to retrieve the customer’s reservation and then a room is given to the guest. Retrieving customer details is done manually. This usually takes fifteen to twenty minutes on each customer. Some customers get upset and find it inconvenient to stay at the hotel. The Hotel manager was interviewed to know how the hotel handles any issue or complains from the any guest and then discussed how the proposed system will convenient for customers to make reservation/booking at anytime. From the interview the hotel manager was able to provide few requirements needed for the website and a survey was carried out in the hotel with few guests who were willing to fill the questionnaires. GOVERNMENT COLLEGE UNIVERSITY FAISLABAD CHAPTER 4 PROPOSED WEBSITE REQUIREMENT SPECIFICATION PROPOSED WEBSITE REQUIREMENT SPECIFICATION A requirement is a ‘statement regarding an intended product that specifies what it should do or how it should perform’. (Rogers. 2011.). There are two types of requirements: FUNCTIONAL REQUIREMENTS A functional requirement is a function of a system and its components. It describes a set of input, the behavior and output. The functional requirements for this project are: For customer reservation /Booking The system should allow customers to reserve room. The system should record customer personal details (for example, first name, last name, passport no). The system should display room type availability The system should record the room type and numbers of occupants. The system should display the room rate by default The system should allow customers modify any information provided earlier. The system should record expected check-in and check-out dates and time The system should generate a unique customer confirmation number The system should record any form of payment The system should display any amount owned by customers The system should allow space for customer feedback For Managements The system allow manager view feedback/review comments The system should display a specific period of time of guest occupancy. The system should allow manager to login and logout from the system The system should display any overridden prices of food and rooms. The system should allow duty manager generate daily reservation report System Administrator The system should allow the system administrator to add or delete room The system should allow the system administrator to login and logout from the system The system should allow the system administrator to update hotel information. GOVERNMENT COLLEGE UNIVERSITY FAISLABAD NON-FUNCTIONAL REQUIREMENTS A non-functional requirement specifies the properties of the information system itself. Some of the non- functional requirements for this project are: Security: Manager and customer representative on duty will be able to log into the system (Hotel management system) and have access to the reservation/booking system but access to the various subsystems will be protected by a user login screen that requires a username and password. Availability: The system will be available during normal hotel operating hours Reliability: The performance of the system is consistent according to its specifications Speed: The system should respond to users request within 2-3 seconds. Usability: The system gives direct input on how real users use the system. Portability: The system supports every operating system Efficiency: The system provides appropriate output based on the list of inputs WEBSITE SPECIFICATION Front End : HTML, CSS, Js Back End : SQL Server Operating System : Windows XP or above GOVERNMENT COLLEGE UNIVERSITY FAISLABAD CHAPTER 5: SYSTEM ANALYSIS AND DESIGN PHASE USE CASE DIAGRAM A use case diagram is an interaction between an information system and users of the system (Actors) that enables the users achieve a goal. A Use Case Diagram shows what activities every actor conducts in the system. The most important elements in UCD are actors and use cases. Basic Model Element Actor: An actor represents a role (someone) that directly interacts or uses the system. Association: An association describes the relationship between an actor and a business use case in the use case diagram. GOVERNMENT COLLEGE UNIVERSITY FAISLABAD SEQUENCE DIAGRAM A sequence diagram is the interaction between objects in a sequential order that those interactions occur. (Bell. 2004). in sequence diagram, each role is shown as lifeline and messages are shown as arrows between lifelines. Below is the sequence diagram of this project Hotel reservation system. Figure 3:Sequence Diagram 5.3 Activity Diagram An activity diagram describes the flow of actions that are part of larger activities in a chart of a system from on activity to another activity. (Bell. 2003) An activity diagram is used in this project to model a use case in a detailed level. The four basic elements in an activity diagram are: activities, association, constraints and conditions. Below is an activity diagram for this project’s Hotel Reservation System. GOVERNMENT COLLEGE UNIVERSITY FAISLABAD WEBPAGE SITEMAP A site map is a visual or textually organized model of a website content designed to help users and search engine to navigate through a site to find information available in the sites. (Buytaert. 2016). Below is a hierarchical representation of this project site map of Ta’al hotel website with a booking system. GOVERNMENT COLLEGE UNIVERSITY FAISLABAD System Deployment Diagram A deployment diagram is used to visualize the physical component of a system which consists of nodes and their relationship. Below is the hotel reservation system deployment diagram. This diagram shows how users can access the website by using different web browsers as listed below, Apache will serve as the web server and MYSQL will be used to store customer and hotel information in categorized tables in the database DATABASE DESIGN Table: user-comment This table is used to store review messages provided by users on the website Field Name Data Type Length Description id Int (Auto Increment) 11 P.K users id username Varchar (50) username Table: Users This table is used to store users information when the register their details on the website. It will also be used to retrieve information when users try to login. Field Name Data Type Length Description id Int (Auto Increment) 11 P.K users id username Varchar (50) username email Varchar (50) Users email address password Varchar (20) password Confirm password Varchar (20) Verification of the first password GOVERNMENT COLLEGE UNIVERSITY FAISLABAD Table: Contact This table is used to store information about users who make complains or want to make an enquiry about the hotel or their reservation. Field Name id Data Type int Length 11 Description Users id (P.K) email Varchar 50 Email address message Varchar 50 Enquiry message Table: Reservation This table is used to store customer’s reservation details. Field Name Data Type Length Description id int 11 Users id (P.K) title Varchar 5 Gender title username Varchar 20 username email Varchar 20 email contactnumber int 20 contact number checkin Date check-in checkout Date checkout Meal selection Boolean Meal selection address Varchar 30 address states Varchar 20 states city Varchar 10 city paymenttype Varchar 10 payment type GOVERNMENT COLLEGE UNIVERSITY FAISLABAD CHAPTER 6 IMPLEMENTATION AND TESTING Series of testings’ and evaluation will be use on the developed system in order to avoid system errors and also make sure every functional requirement gathered from the requirement stage is been implemented in the system. FUNCTIONAL TESTING Functional testing is done by the developer to verify that each function in the system software operates with the requirements specifications. Functional testing involves checking client/server application (This project will use apache webserver), user interface, database and the system functionality which is tested by providing required input and then verify the output and compare the results with the expected result. The functions that will be tested in the section are: Mainline functions: This is the testing of the system main functions. Basic Usability: basic usability is usability testing of the system to check whether a user can easily navigate through the webpages without any difficulties. Error Condition: This is to check or errors and whether error messages are displayed. Since the systemwill be developed using PHP codes it is easier to identify an error once the developer runs the page. USABILITY TESTING This testing technique will be used to determine whether the developed system is accessible, findable, useful and easy for end users to achieve the tasks for which it was designed. The goal of using this technique is to know the effectiveness of the system, user friendliness, accuracy and efficiency. Usability testing process will be used to develop the system evaluation results, analysis and any findings. The usability testing processes consist of: After the testing participants, will be giving a user satisfaction survey to find out how users feel about using thedeveloped system, by asking them to rate the system on a scale. Possible tasks that will be asked or performed during the survey may include: Search for specific items or information. Navigate through different menu on the webpages. Selecting images available to view it information. GOVERNMENT COLLEGE UNIVERSITY FAISLABAD CHAPTER7: WEBSITE DEMONSTRATION Home Page This is the first page users will interact with on the website. It provides a detail description about the hotel, a booking form for customers to check room availability within selected date. The home page also has a Review form for users to leave a feedback about their experience in the hotel. Users can register and the login on this page in order to have full access of the website. Accommodation Page In this web page, users can view the types of accommodation available in the hotel on the website, they can also click on these room types to have an idea or know more information about the room. It also has the reservation form for users to book or check rooms’ availability on all pages of room types. GOVERNMENT COLLEGE UNIVERSITY FAISLABAD Gallery Page The image gallery is one of the attractive pages on the website. In this page, users can view different type images of the hotel to have an idea of what the hotel looks like. Admin Login Page This page allows user to register in to the website in order have full access to the website. Once users are registered to the website, the login function allows the system to recover their details. GOVERNMENT COLLEGE UNIVERSITY FAISLABAD Booking Page This page is for users who may wish to make a reservation with the hotel online, users are supposed to fill in this form and click the submit button to confirm their reservation. After this a unique id is generated as a confirmation number for customers who have confirmed their booking. GOVERNMENT COLLEGE UNIVERSITY FAISLABAD CHAPTER 8: FUTURE SCOPE OF THE PROJECT In a nutshell, it can be summarized that the future scope of the project circles around maintaining information regarding: • We can add printer in future. • We can give more advance software for airbnb website including more facilities We will host the platform on online servers to make it accessible worldwide Integrate multiple load balancers to distribute the loads of the system Create the master and slave database structure to reduce the overload of the database queries Implement the backup mechanism for taking backup of codebase and database on regular basis on different servers The above-mentioned points are the enhancements which can be done to increase the applicability and usage of this project. Here we can maintain the records of Hotel and Rooms. Also, as it can be seen that now-a-days the players are versatile, i.e. so there is a scope for introducing a method to maintain the airbnb website. Enhancements can be done to maintain all the Hotel, Rooms, Services, Payments, and Bookings. We have left all the options open so that if there is any other future requirement in the system by the user for the enhancement of the system then it is possible to implement them. In the last we would like to thanks all the persons involved in the development of the system directly or indirectly. We hope that the project will serve its purpose for which it is develop there by underlining success of process.