INTRODUCTION
1.1ABOUT THE PROJECT
Project Description:
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.
Modules:
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
1
out
date,
advance
amount,
balance
2. SYSTEM ANALYSIS
2.1 EXISTING SYSTEM:
The existing system is manual. It maintains huge
records
for
files
and
Concern person.
the
calculation
The
existing
will
have
system
to check
by
the
leads
to
1. Less effort
2. Quick reference
3. Future enhancement
Ram Capacity
1 GB
Hard disk
80 Gb
Monitor
19 LCD Monitor
Keyboard
Mouse
Optical Mouse
Back end
MySQL
Operating System
Browser
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.
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
dBase
9
Empress
FilePro (read-only)
Hyperwave
IBM DB2
Informix
Ingres
InterBase
FrontBase
mSQL
Direct MS-SQL
MySQL
ODBC
Oracle (OCI7 and OCI8)
Ovrimos
PostgreSQL
SQLite
Solid
Sybase
Velocis
Unixdbm
10
MySQL
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.
11
3. SYSTEM DESIGN
12
13
14
As the
15
LEVEL 0:
16
LEVEL 1:
17
3.3. ER DIAGRAM
Field Name
Datatype
Size
Constraints
Description
cid
Int
Primary Key
Customer id
Ctitle
Varchar
50
Not null
Customer Title
Fullname
Varchar
200
Not null
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
Varchar
20
Not null
Customer Email
Username
Int
Not null
Customer Username
Password
Varchar
40
Not null
Customer Password
Datatype
Size
Constraints
Description
Id
int
cid
Int
Foreign Key
Customer id
Rid
Varchar
20
Foreign Key
Roomid
Foodorder
Varchar
20
Foreign Key
Duration
Varchar
40
Not null
Duration
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
20
Booking id
Datatype
Size
Constraints
Description
id
Int
bid
Varchar
30
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
Not null
Price
10
Food id
Datatype
Size
Constraints
Description
id
Int
name
Varchar
50
Not null
Field Name
Datatype
Size
Constraints
Description
Id
Varchar
100
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
Datatype
Size Constraints
Not null
Description
Cardno
Varchar
20
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
4. SAMPLE CODE
Index.php
22
Card number
<!--End of Header-->
<div class="container">
<?php include'sidebar.php';?>
<div class="panel-body">
<div class="col-xs-12 col-sm-12">
<fieldset>
<legend><h2 class="text-left">About</h2></legend>
</div>
</div>
</div>
</div>
<!--
</div>-->
</div>
<!--/span-->
<!--Sidebar-->
</div>
<!--/row-->
<!--End of Header-->
<div class="container">
<?php include'sidebar.php';?>
<!--<div class="jumbotron">-->
<div class="">
<div class="panel panel-default">
<div class="panel-body">
<div class="col-xs-12 col-sm-12">
<fieldset>
<legend><h2 class="text-left">Contact</h2></legend>
</fieldset>
</div>
</div>
</div>
</div>
<!--
</div>-->
</div>
<!--/span-->
<!--Sidebar-->
</div>
<!--/row-->
26
<!--End of Header-->
<div class="container">
<?php include'sidebar.php';?>
<div class="panel-body">
<div class="col-xs-12 col-sm-12">
<fieldset>
<legend><h2 class="text-left">List of Amenities</h2></legend>
<?php
?>
</fieldset>
</div>
</div>
</div>
</div>
<!--
</div>-->
28
</div>
<!--/span-->
<!--Sidebar-->
</div>
<!--/row-->
<div class="container">
<?php include'sidebar.php';?>
<div class="panel-body">
<div class="col-xs-12 col-sm-12">
<fieldset>
29
<fieldset>
<legend><h2 class="text-left">Company Vision</h2></legend>
<p>Gowri Sankar Hotel is to provide best quality of services applying top
quality
Hotel and conference facilities, in order to fulfill the best way in the relevant
needs of every guest.</p>
</fieldset>
<fieldset>
<legend><h2 class="text-left">About</h2></legend>
On the year 2003, Elizabeth Gasataya and Family have started a business. It
was Gowri Sankar hotel, located at # 3 Rojas Street, Kabankalan City
30
foreach($cur as $room){
$image = 'admin/mod_room/'.$room->roomImage;
echo '<div style=" float:left; margin:7px;">';
echo '<a href="'.$image.'" rel="prettyPhoto[mwaura]"><img src="'.
$image.'" width="100px" height="120px"
style="-webkit-border-radius:5px; -moz-border-radius:5px;" title="'.$room>roomName.'" alt="'.$room->roomName.'" >
<br>'.$room->roomName.'<br>'.$room->typeName.'</a>';
31
echo'</div>';
?>
</fieldset>
</div>
</div>
</div>
</div>
<!--
</div>-->
</div>
<!--/span-->
<!--Sidebar-->
32
</div>
<?php
require_once("includes/initialize.php");
$content='home.php';
$view = (isset($_GET['page']) && $_GET['page'] != '') ? $_GET['page'] : '';
switch ($view) {
case '1' :
$title="Home";
$content='home.php';
break;
case '2' :
$title="Gallery";
$content ='gallery.php';
break;
case '3' :
$title="About Us";
$content = 'about.php';
break;
case '4' :
33
$title="Contacts";
$content ='contact.php';
break;
case '5' :
$title="Room Rates";
$content='rates.php';
break;
case '7' :
$title="Location";
$content ='sitemap.php';
break;
default :
$title="Home";
$content ='home.php';
}
require_once 'theme/template.php';
?>
34
<?php
require_once("includes/initialize.php");
// Four steps to closing a session
// (i.e. logging out)
unset($_SESSION['to']);
if (!isset($_SESSION['from']) || !isset($_SESSION['to'])){
message("Please Choose check in Date and Check out Out date to continue
reservation!", "error");
redirect("index.php?page=5");
36
}
if(isset($_POST['roomid'])){
$_SESSION['roomid']=$_POST['roomid'];
redirect(WEB_ROOT. 'booking/');
}
}
/*if(!isset($_POST['adults'])){
message("Choose from Adults!", "error");
redirect(".WEB_ROOT. 'booking/");
//exit;
}*/
/* if(isset($_POST['adults'])&&isset($_POST['child'])){
$_SESSION['roomid']=$_POST['roomid'];
$_SESSION['adults'] = $_POST['adults'];
$_SESSION['child'] = $_POST['child'];
*/
//
$_SESSION['roomid']=$_POST['roomid'];
//exit;
37
//}
//}
?>
<!--End of Header-->
<div class="container">
<?php include'sidebar.php';?>
<?php
echo '<div class="alert alert-info" ><strong>From:'.$arrival. ' To: ' .
$departure.'</strong> </div>';
?></p>
38
<?php
$mydb->setQuery("SELECT *,typeName FROM room ro, roomtype rt
WHERE ro.typeID = rt.typeID");
$cur = $mydb->loadResultList();
OR (
arrival >= '$arrival'
AND arrival <= '$departure'
)
)
AND roomNo =".$result->roomNo);
$stats = $mydb->executeQuery();
$rows = mysql_fetch_assoc($stats);
$image = 'admin/mod_room/'.$result->roomImage;
echo '<div style="float:left; width:370px; margin-left:10px;">';
echo '<div style="float:left; width:70px; margin-bottom:10px;">';
echo '<img src="'.$image .'" width="180px" height="150px" style="-webkitborder-radius:5px; -moz-border-radius:5px;"title="<?php echo
$roomName; ?>"/>';
echo '</div>';
$status=$rows['STATUS'];
if($status=='pending'){
echo '<div style="margin-top:10px; color: rgba(0,0,0,1); fontsize:16px;"><strong>Reserve!</strong></div><br>';
}elseif($status=='Confirmed'){
echo '<div style="margin-top:10px; color: rgba(0,0,0,1); fontsize:16px;"><strong>Book!</strong></div><br>';
}else{
echo '
<div class="form-group">
<div class="row">
41
</div>
</div>
</div>';
}
echo '</form>';
echo '</div>';
echo '</div>';
?>
42
</fieldset>
</div>
</div>
</div>
<!--
</div>-->
</div>
<!--/span-->
<!--Sidebar-->
</div>
<!--/row-->
<?php
if(isset($_POST['login'])){
$email = $_POST['log_email'];
$pass = $_POST['log_pword'];
redirect("index.php");
} else {
$guest = new Guest();
$res = $guest->guest_login($email, $pass);
if($res == true){
redirect("index.php");
}else{
}
?>
<!--Side bar-->
<div class="row row-offcanvas row-offcanvas-right">
44
<div class="form-group">
<div class="row">
<div class="col-xs-12 col-sm-12">
<label class="control-label" for="from">Check In</label>
45
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-xs-12 col-sm-12">
<label class="control-label" for="to">Check Out</label>
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-xs-12 col-sm-12">
46
</div>
<?php if(!isset($_SESSION['guest_id'])){
47
<div class="form-group">
<div class="row">
<div class="col-xs-12 col-sm-12">
<input type="email" placeholder="Email" class="form-control"
name="log_email">
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-xs-12 col-sm-12">
<input type="password" placeholder="Password" class="form-control"
name="log_pword">
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-xs-12 col-sm-12">
48
</div>';
}else{
}
?>
</div>
<form name="clock">
<hr>
50
</div>
<!--/.well -->
</div>
<!--/span-->
<!--End of Side bar-->
<!--End of Header-->
<div class="container">
<?php include'sidebar.php';?>
<fieldset>
<legend><h2 class="text-left">Location</h2></legend>
51
</fieldset>
</div>
52
</div>
</div>
<!--
</div>-->
</div>
<!--/span-->
<!--Sidebar-->
</div>
<!--/row-->
<!DOCTYPE html>
<html>
<head>
<title></title>
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
<link href="css/bootstrap-datetimepicker.min.css" rel="stylesheet"
media="screen">
</head>
<body>
53
<div class="container">
<form action="" class="form-horizontal" role="form">
<fieldset>
<legend>Bootstrap-DateTimePicker</legend>
<div class="form-group">
<label for="dtp_input1" class="col-md-2 control-label">Date And
Time</label>
<div class="input-group date form_datetime col-md-5" data-date="1979-0916T05:25:07Z" data-date-format="dd MM yyyy - HH:ii p" data-linkfield="dtp_input1">
<input class="form-control" size="16" type="text" value="" readonly>
<span class="input-group-addon"><span class="glyphicon glyphiconremove"></span></span>
<span class="input-group-addon"><span class="glyphicon glyphiconth"></span></span>
</div>
<input type="hidden" id="dtp_input1" value="" /><br/>
</div>
<div class="form-group">
<label for="dtp_input2" class="col-md-2 control-label">Date Only</label>
54
<div class="input-group date form_date col-md-5" data-date="" data-dateformat="dd MM yyyy" data-link-field="dtp_input2" data-linkformat="yyyy-mm-dd">
<input class="form-control" size="16" type="text" value="" readonly>
<span class="input-group-addon"><span class="glyphicon glyphiconremove"></span></span>
<span class="input-group-addon"><span class="glyphicon glyphiconcalendar"></span></span>
</div>
<input type="hidden" id="dtp_input2" value="" /><br/>
</div>
<div class="form-group">
<label for="dtp_input3" class="col-md-2 control-label">Time Only</label>
<div class="input-group date form_time col-md-5" data-date="" data-dateformat="hh:ii" data-link-field="dtp_input3" data-link-format="hh:ii">
<input class="form-control" size="16" type="text" value="" readonly>
<span class="input-group-addon"><span class="glyphicon glyphiconremove"></span></span>
<span class="input-group-addon"><span class="glyphicon glyphicontime"></span></span>
55
</div>
<input type="hidden" id="dtp_input3" value="" /><br/>
</div>
</fieldset>
</form>
</div><!---End Container-->
<script type="text/javascript">
//in this line of code, to display the datetimepicker, we used form_datetime
as an argument to be
//passed in javascript. This is for Date and Time.
$('.form_datetime').datetimepicker({
56
language: 'en',
weekStart: 1,
todayBtn: 1,
autoclose: 1,
todayHighlight: 1,
startView: 2,
forceParse: 0,
showMeridian: 1
});
//this is for Date only
$('.form_date').datetimepicker({
language: 'en',
weekStart: 1,
todayBtn: 1,
autoclose: 1,
todayHighlight: 1,
startView: 2,
minView: 2,
forceParse: 0
});
57
5. 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
58
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
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
59
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
60
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
61
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
62
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.
63
6. SYSTEM IMPLEMENTATION
The term implementation has different meanings, ranging from
the conversion of a basic application to a complete replacement of a
computer system.
6.2.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
65
7. FUTURE ENHANCEMENTS
66
HOME PAGE
67
8.
FORM
68
69
List of Amenities
70
Booking room
71
User Registration
72
77
78
79
80
81
82
83
9. CONCLUSION
84
10. BIBLIOGRAPHY
Websites:
1.
2.
3.
4.
5.
6.
http://www.nationalrail.co.uk/
http://www.us-football-tickets.com/
http://www.hotels.com/
http://www.ticketmaster.co.uk/
http://www.seetickets.com/
Dix et al. (1998) Human-Computer Interaction, Ch3 : The interaction
Books:
Seyed M.M Saied Tahaghoghi, Huge E. Williams Learning MySQL1st
edition ,O'Reilly,2004
W.Jason Gilmore, Beginning PHP and MySQL From Novice to Professional,1 st
edition, Apress,2003
Robin Nixon, Learning PHP, MySQL, and JavaScript,2nd edition, O'Reilly,2002
Baron Schwartz, High Performance MySQL,3rd edition, O'Reilly,2008
85