Hotel Room Reservation System Capstone Project Document


The resort management project will automate the manual and legacy operation of a resort or a hotel. The project will keep track of Guest details, Room Reservation, Room Booking, Finance and Reports.


  • Room Description:-
    • This form consists of the following sub menus
    • Room Entry
    • Room Entry Update and Delete
  • Room Entry :-

This form display the information roomno, roomrent, bookingtype and arrivaldate,deposit.If the room entered in the form is vacant them only we can allot that room. Room entry called another name room reservation.


  • Room Entry Update and Delete :-

Room entry Update means already reserve the room any more changes using these options. Then delete option used for booking code, Room number, cancel date, fine levied,fine waived. We can select the rooms that are reserved, for cancellations.

  • Room Booking      This form display the information like Booking code, Booking name, Booking date, guest name, and check in date. if the room entered in the form is vacant then only we can reserve that room.
  • Room Vacating 

This will form display the information like room number,check out date, advance amount, balance amount, total amount, guest phone number, address etc., also display the room vacating form.

  • Reporting View

There are only one report are available. That is like vacating are includes financial ,departure report and paymentreport are generated between booking dates to vacating dates.

 System Analysis

The existing system is manual. It maintains huge records for various departments. The book keeping procedure is tedious and is prompt to errors. Very careful handling is needed in manual systems. Even a very minute mistake may lead to imbalanced results. Manualprocessesresultsinwasteoftimeandenergy.In the earlier system the inventory report iscalculated manually. Whenever the accounting is to be performed. That information must be extracted from the files and the calculation will have to check by the Concern person. The existing system leads to a lotofproblems.Theexisting system consumed a lot of stationary cost. Dailytransactions are maintained in journals. These journal entries are then posted on to the ledger accounts correspondingly.


  1. The map searching system is not located on the first pages. This would make it to be ignored.
  2. 2. There are only one room picture for a hotel. Providing different services must be the rule of every hotel, so providing pictures of any kind of rooms would help people to know the details.

Proposed System

This project integrates all Operation processes in the computer to synergies the important resources of Material and Money. The department people can gather the needed information at their desk without any manual burdens. This project reduces manual burdens and automates the functions of various departments. In manual process, to decide the Room booking details, vacating details have to be verified each time. But with this project these process are automated and no manual checking is required. This project reports can be automatically generated. The processes of creating reports are manually very tedious which are made very easy and automatically through this project. The reports produced helps in making managementdecision easily. With this project, since all information about previous years is readily available, such reports can be produced within few seconds. Thus the project eliminates many difficulties saving a lot of time and energy, which could be used for some other constructive purpose towards the organization’s success.


  1. Less effort
  2. Quick reference
  3. Future enhancement


System Requirement & Specification

Hardware Requirements

Processor                      –          Intel Dual Core 3.0 GHZ

Ram Capacity             –           1 GB

Hard disk                    –           80 Gb

Monitor                       –           19’’ LCD Monitor

Keyboard                    –           108 key keyboard

Mouse                         –           Optical Mouse

Software Requirements

Front end                                 –           PHP 5.5, HTML,CSS5

Back end                                 –           MySQL

Operating System                   –           Windows XP Professional /Win 7

Browser                                   –           Firefox 18.5 / Chrome 22 above


About the Software

PHP started out as a small open source project that evolved as more and more people found out how useful it was. RasmusLerdorf unleashed the first version of PHP way back in 1994.

  • PHP is a recursive acronym for “PHP: Hypertext Preprocessor”.
  • PHP is a server side scripting language that is embedded in HTML. It is used to manage dynamic content, databases, session tracking, even build entire e-commerce sites.
  • It is integrated with a number of popular databases, including MySQL, PostgreSQL, Oracle, Sybase, Informix, and Microsoft SQL Server.
  • PHP is pleasingly zippy in its execution, especially when compiled as an Apache module on the Unix side. The MySQL server, once started, executes even very complex queries with huge result sets in record-setting time.
  • PHP supports a large number of major protocols such as POP3, IMAP, and LDAP. PHP4 added support for Java and distributed object architectures (COM and CORBA), making n-tier development a possibility for the first time.PHP is forgiving: PHP language tries to be as forgiving as possible.
  • PHP Syntax as C Language.

Common uses of PHP:

  • PHP performs system functions, i.e. from files on a system it can create, open, read, write, and close them.
  • PHP can handle forms, i.e. gather data from files, save data to a file, through email you can send data, return data to the user.
  • You add, delete, modify elements within your database thru PHP.
  • Access cookies variables and set cookies.
  • Using PHP, you can restrict users to access some pages of your website.It can encrypt data.

Characteristics of PHP

Five important characteristics make PHP’s practical nature possible:

  • Simplicity
  • Efficiency
  • Security
  • Flexibility
  • Familiarity

Instead of lots of commands to output HTML (as seen in C or Perl), PHP pages contain HTML with embedded code that does “something” (in this case, output “Hi, I’m a PHP script!”). The PHP code is enclosed in special start and end processing instructions <?php and ?> that allow you to jump into and out of “PHP mode.”

What distinguishes PHP from something like client-side JavaScript is that the code is executed on the server, generating HTML which is then sent to the client. The client would receive the results of running that script, but would not know what the underlying code was. You can even configure your web server to process all your HTML files with PHP, and then there’s really no way that users can tell what you have up your sleeve.

The best things in using PHP are that it is extremely simple for a newcomer, but offers many advanced features for a professional programmer. Don’t be afraid reading the long list of PHP’s features. You can jump in, in a short time, and start writing simple scripts in a few hours.

 What can PHP do?     

PHP is mainly focused on server-side scripting, so you can do anything any other CGI program can do, such as collect form data, generate dynamic page content, or send and receive cookies. But PHP can do much more.

1.Server-side scripting: This is the most traditional and main target field for PHP. You need three things to make this work. The PHP parser (CGI or server module), a web server and a web browser. You need to run the web server, with a connected PHP installation. You can access the PHP program output with a web browser, viewing the PHP page through the server. All these can run on your home machine if you are just experimenting with PHP programming.

Command line scripting: You can make a PHP script to run it without any server or browser. You only need the PHP parser to use it this way. This type of usage is ideal for scripts regularly executed using cron (on *nix or Linux) or Task Scheduler (on Windows). These scripts can also be used for simple text processing tasks.

Writing desktop applications: PHP is probably not the very best language to create a desktop application with a graphical user interface, but if you know PHP very well, and would like to use some advanced PHP features in your client-side applications you can also use PHP-GTK to write such programs. You also have the ability to write cross-platform applications this way. PHP-GTK is an extension to PHP, not available in the main distribution.

PHP can be used on all major operating systems, including Linux, many Unix variants (including HP-UX, Solaris and OpenBSD), Microsoft Windows, Mac OS X, RISC OS, and probably others. PHP has also support for most of the web servers today. This includes Apache, Microsoft Internet Information Server, Personal Web Server, Netscape and iPlanet servers, Oreilly Website Pro server, Caudium, Xitami, OmniHTTPd, and many others. For the majority of the servers, PHP has a module, for the others supporting the CGI standard, PHP can work as a CGI processor.

One of the strongest and most significant features in PHP is its support for a wide range of databases. Writing a database-enabled web page is incredibly simple. The following databases are currently supported:

Adabas D



FilePro (read-only)








Direct MS-SQL



Oracle (OCI7 and OCI8)









Why use PHP-Nuke and not static HTML pages?

  • Because managing large sites with only static HTML pages is dangerous for your health.
  • Because through the dynamic pages, users can interact (Forum, chat)
  • Because through the dynamic pages we can offer value added services (restricted areas, various services based on user classification…)
  • Because the information is more easily cataloged.
  • Because with a few PHP pages we recall a lot of information.
  • Because keeping the contents up-to-date does not demand particular technical expertise and can be managed by anyone (by Davis Batistes).
  • It is very intuitive and easy to learn (by Anonymous)
  • It is easy to modify by those who intend to personalize the program (By Arus)
  • It is easy to use by the lesser experts among us.


What is MySQL?

MySQL is a fast, easy-to-use RDBMS used being used for many small and big businesses. MySQL is developed, marketed, and supported by Oracle. MySQL is becoming so popular because of many good reasons.

  • MySQL is released under an open-source license. So you have nothing to pay to use it.
  • MySQL is a very powerful program in its own right. It handles a large subset of the functionality of the most expensive and powerful database packages.
  • MySQL uses a standard form of the well-known SQL data language.
  • MySQL works on many operating systems and with many languages including PHP, PERL, C, C++, JAVA etc.
  • MySQL works very quickly and works well even with large data sets.
  • MySQL is very friendly to PHP, the most appreciated language for web development.
  • MySQL supports large databases, up to 50 million rows or more in a table. The default file size limit for a table is 4GB, but you can increase this (if your operating system can handle it) to a theoretical limit of 8 million terabytes (TB).
  • MySQL is customizable. The open source GPL license allows programmers to modify the MySQL software to fit their own specific environments.

 Architectural Design

Architectural Diagram

Architectural Diagram


 Contest Level Diagram

Contest Level Diagram

Contest Level Diagram

Dataflow Diagram

Data flow diagram (DFD) is a tool developed for he purpose of graphically representing t he system in order t make the classification of system requirements easy and identifying the major transformation that will become modules in system design.  So, it is starting point of the design phase that functionally decomposes specifications down phase to the lowest level of details.  This diagram follows a top down approach.  As the overview mode is exploded, lower level diagrams can be obtained that shows additional features.  Each process in the data flows diagram can be exploded into yet more detailed data flow diagram.

Data flow diagram is used to descried the actual process that makeup the system, the data stores and data flows.  ADFD typically shows the minimum contents of the data stores.  Each data stores well contain all the data elements the flow in and or f it.  DFD shows the flow of the data within the system. It consists of a series of “bubbles”joined by “lines” The bubble represents data transformations and the  line represents data flow in the system.





ER Diagram

ER Diagram

Database Design


Table name: customer_info

Description: Stores the Customer details

Field Name Datatype Size Constraints Description
cid Int 3 Primary Key Customer id
Ctitle Varchar 50 Not null Customer Title
Fullname Varchar 200 Not null Customer Full Name
Phone varchar 20 Not null Customer Phone
Address Varchar 20 Not null Customer Address
Country Varchar 20 Not null Customer Country
Gender Varchar 20 Not null Customer Gender
Dateofbirth Varchar 50 Not null Customer date of birth
Email Varchar 20 Not null Customer Email
Username Int 3 Not null Customer Username
Password Varchar 40 Not null Customer Password





Table name: booking_info

Description: Stores the room booking details

Field Name Datatype Size Constraints Description
Id int 3(auto) Primary Key Booking id
cid Int 3 Foreign Key Customer id
Rid Varchar 20 Foreign Key Roomid
Foodorder Varchar 20 Foreign Key Customer food order
Duration Varchar 40 Not null Duration
Num of guests Varchar 20 Not null Numberof guests
Startdate Varchar 20 Not null Startdate
Comments Varchar 25 Not null Comments
Totalprice Varchar 15 Not null Totalprice
Ispaid Varchar 39 Not null Ispaid
Paymenttype Varchar 24 Not null Paymenttype
Paymentdate Varchar 34 Not null Paymentdate








Table name:food_info

Description: Stores the food order details

Field Name Datatype Size Constraints Description
id Int 3(auto) Primary key Food id
bid Varchar 30 Foreign Key Booking id
cid Varchar 30 Foreign Key Customer id
Rid Varchar 30 Not null Room id
Date Varchar 30 Not null Date
Persons Varchar    50 Not null Persons
price Varchar 10 Not null Price



Table name: restaurant_ info

Description: Stores the restaurant name and id

Field Name Datatype Size Constraints Description
id Int 3(auto) Primary Key Restaurant id
name Varchar 50 Not null Name of the Restaurant




Table name: rooms_info

Description: Stores the room details

Field Name Datatype Size Constraints Description
Id Varchar 100 Primary Key Room id
Type Varchar 50 Not null Room Type
Price Int 50 Not null Price
Num_beds Varchar 20 Not null Number of Beds
Availability Varchar 20 Not null Availability
Roomfloor Varchar 50 Not null Roomfloor
Roomnum Varchar 20 Not null RoomNumber
Description Varchar 20 Not null Room Description

Table name: payment

Description: Stores the payment details

Field Name Datatype Size Constraints Description
Cardno Varchar 20 Not null Card number
Nameoncard Varchar 30  Not null Name on Card
Expiredmonth Varchar 20 Not null Expiry month
Expiredyear Varchar 20 Not null Expiry date
Balance Varchar 20 Not null Balance

System Testing


System testing is the stage of implementation, which is aimed at ensuring that the system works accurately and efficiently before live operation commences. Testing is vital to the success of the system. Testing is the process of executing a program with the explicit intention of finding errors that is making the program fail. The tester may analysts, programmer or a specialist trained for software testing, is actually trying to make the program fail. Analysts know that an effective testing program does not guarantee system reliability. Therefore reliability must be designed into the system.

Testing in the system was done to ensure the integrity of the system. Testing to vital for the success of the project, whichis the last stage of the software development testing, has several purpose



A number of testing strategies have been proposed in the literature.  All provide the developer with a template for testing and all have the following generic characteristics.

Testing begins at the module level and works “outward” toward the integration of the entire computer-based system.

Different testing techniques are appropriate at different points in time.

The developer of the software and independent test group conducts testing.

Testing and debugging are different activities, but debugging must be accommodated in any testing strategy.



Unit Testing

In unit testing we have to test the programs making up the system. For this reason unit testing is sometimes called as the Program testing. The software units in a system are modules and routines that are assembled and integrated to perform a specific function.

Unit testing focuses first on modules, independently of one another, to locate errors. This enables, to detect errors in coding and logic that are contained within the module alone. Unit testing can   be performed from the bottom up, starting with the lowest level modules and proceeding one at a time. Unit testing is done for each module in Online Examination. This ensures that the value we enter match with the data type and within the specified limits.

  Integration Testing

Data can be lost across any interface, one module can have an adverse effect on another, sub functions when combined, may not produce the desired major functions. Integration testing is a systematic testing for conducting tests to uncover errors associated within the interface. The objective is to take unit tested modules and build a program structure. All the modules are combined and tested as a whole. Here correction is difficult because the vast expenses of the entire program complicate the isolation of causes. Thus in the integration testing step, all the errors are corrected for the next testing steps.

In Online Examination each module is integrated and tested. This testing provides the assurance that the application is well integrated functional unit with smooth transition of data.

Validation Testing

At the culmination of integration testing, software is completely assembled as a package; interfacing errors have been recovered and corrected and a final series of a software tests-validation tests begin.

Validation testing can be defined in many ways but a simple definition is that validation succeeds when the software functions in a manner that can be reasonably expected by the customer.

In validation testing if user wants to enter the numeric value he can only enter the numeric value not the text value. For e.g.: in phone number field user can only enter numeric value to it. The system is user friendly with user guide and messages to explain further procedures. An attempt has been made to perfect the process by incorporating validation at each level.

Output Testing

Output testing is series of different test whole primary purpose is the fully exercise the company based system.Although each test has a different purpose all the works should verify that all system elements have been properly integrated and perform allocated function.Output testing is the stage of implementation, whicha ensuring that system works accurately before live operation commences. The input screens, output documents, database structure etc.were checked and required modification made suitspecification. Then using the test data prepared, the wholesystem was tested and found to be a successful one.Testing is a set of activities that can be planned in advance and conducted systematically.  For this reason, template for software testing is set of steps into which we can place specific test case design techniques and testing methods-should be defined for the software Engineering process.

Testing is done to locate any errors in the application.  The common view of testing is that it is performed to prove that there are no errors in a program.  However, this is virtually impossible since no program will be free and clear form errors.  Some useful and practical approach to trace the errors should be employed.  Test cases have been developed for this purpose.

A test case is a set of data that the system will process as normal input.  Actually testing is the state if implementation, which is aimed at ensuring that the system works accurately and efficiently before live operation commences.  Software testing is one element of a broader topic that is often referred to as verification and validation.

System Implementation

The term implementation has different meanings, ranging from the conversion of a basic application to a complete replacement of a computer system.  The procedure, however, is virtually the same.  Implementation is used here to mean the process of converting a new of a revised system design into an operational one.  Conversion is one aspect of implementation.  The other aspects are the post implementation review and software maintenance.

Implementation Method

Implementation is the stage in the project where the theoretical design is turned into a working system and is giving confidence on the new system for the users that it will work efficiently and effectively. It involves careful planning, investigation of the current system and its constraints on implementation, design of methods to achieve the change over, an evaluation, of change over methods. Apart from planning major task of preparing the implementation are education and training of users. The more complex system being implemented, the more involved will be the system analysis and the design effort required just for implementation.

An implementation co-ordination committee based on policies of individual organization has been appointed. The implementation process begins with preparing a plan for the implementation of the system. According to this plan, the activities are to be carried out, discussions are made regarding the equipment and resources and the additional equipment has to be acquired to implement the new system.

Implementation is the final and important phase. This is the most critical stage in achieving a successful new system and in giving the users confidence that the new system will work is effective. The system can be implemented only after thorough testing. This method also offers the greatest security since the old system can take over if the errors are found or inability to handle certain type of transactions while using the new system.


Implementation Plan:

          To install this software in the system the following steps must be followed:

  • Install xWampserver 2.0
  • Install and correct SQL Yog with localhost
  • Copy the Project folder into c:/xWamp/www
  • Open Mozilla firefox 18
  • Type the localhost to open the wampserver, select the project folder to run

Thus the system is ready to start the operation of the project.

Future Enhancement

“Hotel Reservation System “ project is developed considering only material and money but it can be extended for man and machine machine also. Since our objective of the project is successfully completed. This is system provides efficiency in many ways. All the features that is required for the HOTEL RESERVATION SYSTEM has been finished successfully.All the complications concerned with this project are successfully solved. Every application has it s own merits and demerits. The project has covered almost all the requirements.Further requirements and improvements can easily be done since the coding is mainly structured or modular in nature. Changing the existing modules or adding new module can append improvements. This project provides detailed information about all the Room Booking , Rook vacating and Reporting details for all transactions.

Form Design And Reports

Admin Amenities List

Admin Amenities List

Admin Log in

Admin Log in

Admin Modifying

Admin Modifying

Admin Reservation

Admin Reservation

Admin Room Type

Admin Room Type

Admin Room Type

Admin Room Type

Admin user

Admin user

Admin View user

Admin View user

After Log In

After Log In

Booking Room

Booking Room

Contact and Location

Contact and Location

Home Page

Home Page

List of Amenities

List of Amenities

Reservation Billing

Reservation Billing

User Registration

User Registration

User Reservation

User Reservation

Users Room View

Users Room View


            This project work is an attempt to develop a system that can be used for computerization of activities in the resort. Since these activities are tedious process requiring lot of effort more care has been taken for the system development. The requirements a suitable database is created maximum effortwere taken to avoid duplication in data entry and data storage. Various reports can be generated by this system. The major advantage of the system is fast and accurate information retrieval, minimization of clerical work, easy and efficient data storage and report generation

Share This Post!