Hotel Management System Documentation

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 76

HOTEL MANAGEMENT SYSTEM

A Project Report Submitted to


THIRUVALLUVAR UNIVERSITY
In partial fulfilment of the requirements
for the award of the Degree of
BACHELOR OF COMPUTER SCIENCE
By
Name Register Number
1. B. Meganathan 31520U18051
2. K. Mukesh 31520U18053
3. N. Nanda 31520U18054
4. C. Nandha 31520U18055
5. G. Nandhini 31520U18056

Under the Guidance of


Prof.N.S.RAJANANDAN,M.Sc.,M.Phil.,
Assistant Professor
PG & RESEARCH DEPARTMENT OF COMPUTER SCIENCE
K.M.G. COLLEGE OF ARTS AND SCIENCE
(Permanently Affiliated by Thiruvalluvar University
Recognized under section 2(f) and 12B of the UGC Act 1956
Accredited A Grade by the NAAC)
GUDIYATTAM-635803
MARCH-2024
K.M.G. COLLEGE OF ARTS AND SCIENCE
Gudiyattam, Vellore-635803
(Affiliated to Thiruvalluvar University)

BONAFIDE CERTIFICATE

Certified that this project report titled “HOTEL


MANAGEMENT SYSTEM” is the bonafide of work done by
B.MEGANATHAN(Reg.No:31520U18051),K.MUKESH(Reg.No:31520U18053),
N.NANDA(Reg.No:31520U18054),C.NANDHA(Reg.No:31520U18055),
G.NANDHINI(Reg.No:31520U18056),to K.M.G. College of Arts And Science,
Gudiyattam in partial fulfilment of the requirement for the award of the degree of
Bachelor of Computer Science is a record of the bonafide work carried out by him
under my guidance. The major is the requirement as per the regulation of the
institute and in May meets the necessary standards for submission.

SIGNATURE OF THE GUIDE H.O.D

Submitted for the project work held on …………………………..

INTERNAL EXAMINER EXTERNAL EXAMINER

DECLARATION
We hereby declare that the project entitled “HOTEL MANAGEMENT
SYSTEM” submitted to Thiruvalluvar University in partial fulfilment of the
requirements for the award of the BACHELOR OF COMPUTER SCIENCE is
a record of original project work done by us during 2022-2023 under the
guidance of Prof. N.S.RAJANANDAN, M.Sc., M.Phil., Assistant Professor , PG
& RESEARCH DEPARTMENT OF COMPUTER SCIENCE and it has not
formed the basis for the award of any Degree/Diploma/Fellowship or other
similar title to any candidate of any university.

Signature of the Candidate


1. Meganathan B
2. Mukesh K
3. Nanda N
4. Nandha C
5. Nandhini G

Place: Gudiyattam

Date:
ACKNOWLEDGEMENT

At the very outset, We offer my sincere thanks to Almighty God for


the grace and blessings that made us to complete the research in a
successful manner. We sincerely thank our parents who have gifted us this
life to attain many achievements.
We express our sincere thanks to
Shri.K.M.G.SUNDARAVADANAM, B.A.,B.G.L., Chairman,
Shri.K.M.G.BALASUBRAMANIAN, Managing Trustee,
Shri.K.M.G.RAJENDRAN, B.Sc.,M.L., Secretary and
Shri.K.M.G.MUTHUKUMAR, B.Com., Treasurer, K.M.G. Group of
Educational Institutions, Gudiyattam for giving us an opportunity to
research in the field of Computer science.
We offer our humble gratitude to Prof:Dr.M.SENTHIL RAJ,
PRINCIPAL K.M.G.College of Arts & Science, Gudiyattam for
permitting us to do the research in the college.
We express our sincere gratitude to Dr.P.DANIEL SUNDARRAJ,
M.Sc., M.Phil., Head, PG & Research Department of Computer
Science K.M.G. College of Arts & Science, Gudiyattam for his valuable
assistance support.
We convey our sincere thanks and gratitude to our respected guide
Prof.N.S.RAJANANDAN,M.Sc.,M.Phil, Assistant Professor, PG &
Research Department of Computer Science K.M.G. College of Arts &
Science, Gudiyattam for his valuable guidance towards the completion of
this ProjectWork.
We would like to thank the entire teaching and non-teaching staff
members of our department for their support in completing our research
work successfully.
Last but not the least, We own our special thanks to all our beloved
friends and family members for their help in finishing this project
successfully.
ABSTRACT

An automated project based on Hotel Management System which uses PHP


Language. Following PHP project contains all essential features which can be in
use for the first-year, second-year as well as final-year IT students for their
college projects. It has important features that will allow all the users to interact
in a way that a system needs to interact with their customers on basis of
maintaining daily records, room bookings information, and much more. This
system as well as the web application’s concept is all clear, it’s the same as real-
life scenarios and well-implemented on it. To download free hotel management
system project in PHP with source code files, please scroll down to the bottom
of this post for the Download button.
This particular project deals with the problems on managing a hotel and avoids
the problems which occur when carriedmanually. Identification of the
drawbacks of the existing system leads to the designing of computerized system
that will be compatible to the existing system with the system which is more
user friendly and more GUI oriented. We can improve the efficiency of the
system, thus overcome the drawbacks of the existing system.

1. Less human error

2. Strength and strain of manual labour can be reduced

3. High security

4. Data redundancy can be avoided to some extent

5. Data consistency

6. Easy to handle

7. Easy data updating

8. Easy record keeping

9. Backup data can be easily generated


Table of Contents

1. Introduction
2. System Configuration
3. System Design
4. System Specification
5. Hotel Modul
6. Source Code
7. Conclusion
8. Online reference
INTRODUCTION
Objectives:-
Objectives of the hotel management system is report that briefs the objectives of
using the hotel management system. The hotel management system is an
application that can ensure maintaining the details of the hotel management of
the hotel is possible through this application. The Objectives of the hotel
management system report can highlight the working of the hotel management
system. The application is reliable to use since the users can know about the
hotel management system.

ABOUT HOTEL MANAGEMENT SYSTEM

Moving on, this hotel management system project in PHP MySQL focuses
mainly on dealing with customers regarding their bookings, hotel records,
etc. Also, the system displays all the available data such as room
categories, reservations, total income, pending payments, complaints,
employees, and the hotel’s statistics. The project contains an Admin Panel
only for the management of the system. In an overview of this web app,
the user can create a room by selecting room category and number. Talking
more about the project, the system allows users to maintain room bookings
on particular available rooms.
SYSTEM CONFIGRATION

SOFTWARE REQUIREMENTS

Operating System Windows 11,10


Front End PHP
Back End JavaScript
Data Base MySQL

HARDWARE REQUIREMENT

Processor Pentium IV and


Above
Hard Disk 80 GB
RAM 512 MB(Minimum)
Processor Speed 1.4 GHz Onwards
SYSTEM DESIGN
Hotel management system flowchart
SYSTEM SPECIFICATION

FORNT END

ABOUT PHP:

PHP (Hypertext Preprocessor) is a widely-used open-source


scripting language that is especially suited for web
development and can be embedded into HTML. It's known for
its simplicity, flexibility, and ability to interact with various
databases. PHP code is executed on the server, generating
HTML which is then sent to the client's web browser. It's
commonly used in conjunction with MySQL or other
relational databases to create dynamic content and
web applications.

PHP is a server-side scripting language primarily used for web


development. It's open-source, easy to learn, and widely
supported. PHP code is embedded within HTML to create
dynamic web pages. It can handle forms, interact with
databases, manage sessions, and more. PHP scripts are
executed on the server, generating HTML which is then sent
to the client's browser. It supports a wide range of platforms
and databases, making it highly versatile. PHP's syntax is
similar to C and Perl, making it accessible to developers
familiar with those languages. Its extensive documentation
and large community make it easy to find support and
resources. Overall, PHP is a powerful tool for building
dynamic and interactive websites and web applications.

BACK END

History JavaScript:

Brendan Eich first developed JavaScript, a computer


language, in about ten days in May 1995. The language,
formerly known as Mocha, later modified to Live Script, and
is now known simply as JavaScript, was created to be used on
the client-side of websites, enabling the addition of dynamic
and interactive components to static HTML texts.
JavaScript was initially implemented in Netscape Navigator,
which was the most popular browser at the time. The
language was quickly adopted by Microsoft for use in Internet
Explorer. Due to its simplicity of usage and the fact that it was
the only client-side scripting language available at the time,
JavaScript quickly gained popularity among web developers.
JavaScript gained popularity during the ensuing years and was
used to develop a wide range of web applications, such as
online games, dynamic menus, and form validation.
ECMAScript 4, a new version of the language, was planned in
2002, however, it was ultimately abandoned because of
conflicts among the various browser vendors.
About JavaScript:

PHP, which stands for Hypertext Preprocessor, is a server-side


scripting language widely used in web development.
Originally created by Rasmus Lerdorf in 1994, PHP has
evolved into one of the most popular and versatile scripting
languages for building dynamic web applications. In this
article, we'll explore five key aspects of PHP, including its
purpose, syntax, server-side capabilities, integration with
databases, and support for web development frameworks.
The syntax of PHP is similar to other C-based programming
languages, making it accessible to developers with
programming experience in languages like C, C++, or Java.
PHP code is embedded within HTML using special delimiters
(<?php and ?>), allowing developers to seamlessly mix
server-side logic with client-side markup. This integration
enables the creation of dynamic web pages that can interact
with databases, handle form submissions, and perform various
server-side tasks.
One of PHP's significant strengths is its robust support for
interacting with databases. PHP can connect to various
database management systems, such as MySQL, PostgreSQL,
and SQLite, allowing developers to retrieve, store, and
manipulate data seamlessly.
Hotel Management System Modul
1. Admin Panel
2. Manage Rooms
3. Room Reservation System
4. Check-In & Check-Out System
5. Staff Management System
6. View Staff History
7. Compliant Management
8. Total earnings and pending
9. View statistics

Admin Panel
An admin panel, also known as an administration panel or dashboard, is a web-
based interface that allows authorized users to manage and control various
aspects of a system or application. The admin panel provides a centralized
platform for administrators to perform administrative tasks, configure settings,
view reports, and monitor system activities.

Key features of an admin panel include user management, content management,


data analytics, system configuration, security settings, and reporting tools.
Administrators can access the admin panel using login credentials and are
typically granted different levels of access based on their roles and
responsibilities.

Admin panels are commonly used in various industries such as e-commerce,


content management systems, customer relationship management (CRM)
software, and, as in your case, hotel management systems. They play a crucial
role in facilitating efficient system administration, ensuring data security, and
enabling effective decision-making based on real-time insights and analytics.

MANAGE ROOM
Managing rooms in a hotel context refers to the process of overseeing and
controlling the various aspects related to hotel rooms to ensure efficient
operations and provide a positive guest experience. This includes tasks such as
room allocation, availability tracking, maintenance scheduling, and pricing
management.
Effective room management is essential for maximizing room occupancy,
revenue generation, and guest satisfaction in a hotel. By efficiently managing
rooms, hotel administrators can optimize room utilization, streamline
operations, and deliver a seamless and enjoyable stay experience for guests .

ROOM RESERVATION SYSTEM


Under the room reservation section, the user can list up for reserving a
room by filling up details such as room type, room number, check-in &
check-out date with customer details which include names, contact
information, and id card information. Only after filling up room details,
the system automatically calculates the total amount according to days.
After all this process, the reservation process is now complete and the user
has can check in whenever he/she wants. In terms of check-in, he/she must
make an advance payment for finalizing the rooms. Similarly, the user has
to enter the remaining amount during the check-out procedure. Throughout
this process, the system generates all the remaining and total amount and
store into the database.

Check-In & Check-Out System


Check-in Process
1.
o Reservation Verification: Upon arrival, the front desk staff verifies the guest's
reservation details, including room type, dates of stay, and any special
requests.
o Guest Registration: The guest provides identification and personal information
for registration, which is recorded in the hotel management system.
o Room Assignment: The front desk assigns a room to the guest based on
availability, preferences, and reservation details.
o Key Issuance: The guest receives a room key or key card to access their
assigned room.
o Payment Processing: Payment for the stay, including room charges and any
additional services, is processed at check-in.
o Check-In Completion: The front desk staff updates the guest's status in the
hotel management system to indicate that they have checked in.
Check-Out Process
 Settlement of Charges: The guest reviews and settles any outstanding charges for
room service, minibar items, or other expenses incurred during the stay.
 Room Inspection: The hotel staff inspects the room for any damages or missing items
before finalizing the check-out process.
 Check-Out Confirmation: The guest informs the front desk of their intention to check
out, and the front desk staff updates the system accordingly.
 Key Return: The guest returns the room key or key card to the front desk upon check-
out.
 Invoice Generation: An itemized invoice detailing the charges incurred during the
stay is generated and provided to the guest.
 Check-Out Completion: The guest's check-out status is updated in the hotel
management system, indicating that they have officially left the premises.

STAFF MANAGEMENT AND OTHERS


An admin can simply add staff records under the staff section. For this, the user
has to provide his/her full name, position, working shifts, id card, contact
information, and salary. After that, the system automatically assigns the staff to
work depending upon the current time which can be also seen under the staff
section. Besides all these features, he/she can make hotel complaints too. For
filling up complaints under the complaints section, the user needs to provide the
name of the complainant, complaint type with a description of particular
complaints in detail. Whenever the hotel manager wants to solve it,
he/she can do it by inserting resolving records of complaints under it
with a certain budget amount. Also, the system generates statistics of
the hotel system inform of pie chart, bar graphs.
Last but not least, a clean and simple dashboard is presented with
simple colour combinations for a greater user experience while using
this hotel management system project in PHP. For its UI elements, a
free open-source CSS framework; Bootstrap is on board. Presenting a
new hotel management system project in PHP MySQL which includes
an admin panel that contains all the essential features to follow up,
and a knowledgeable resource for learning purposes.
View Staff History
In a hotel management system, viewing staff history typically involves
accessing and reviewing information related to the employment history,
performance, roles, and responsibilities of the hotel staff. Here's how this
functionality can be implemented in a hotel management system:
1. Staff Profile: Each staff member has a profile in the system that includes personal
details, contact information, job title, department, and work schedule.
2. Employment History: The system stores information about each staff member's
employment history, including start date, positions held, promotions, transfers, and
any disciplinary actions.

Compliant Management
Complaint management in a hotel management system typically involves several key
steps:

1. Recording Complaints*: Staff should have a system in place to efficiently record


complaints as they arise. This could be through a dedicated software platform or a
physical logbook.

2. Classification and Prioritization*: Complaints should be classified based on their


nature (e.g., room cleanliness, noise disturbance, service quality) and prioritized
according to severity and urgency.

3. Assigning Responsibility*: Each complaint should be assigned to the appropriate


staff member or department for resolution. Clear lines of responsibility ensure that
issues are addressed promptly.

4. Investigation*: Staff should investigate each complaint thoroughly to understand


the root cause and gather relevant information.

5. Resolution*: Once the cause of the complaint is identified, appropriate actions


should be taken to resolve the issue. This may involve offering compensation,
providing alternative accommodations, or addressing the underlying problem directly.

6. Communication with Guests*: Throughout the process, clear and timely


communication with the guest is essential. Keeping them informed about the status of
their complaint and the steps being taken to resolve it helps to manage expectations
and maintain guest satisfaction.

7. Follow-Up*: After the complaint has been resolved, it's important to follow up
with the guest to ensure their satisfaction and gather feedback on their experience.

8. Analysis and Improvement*: Hotel management should regularly analyze


complaints data to identify trends, recurring issues, and areas for improvement in
service delivery and guest experience.
An effective complaint management system not only addresses guest concerns
promptly but also helps to prevent similar issues from arising in the future, ultimately
enhancing guest satisfaction and loyalty.

Total earnings and pending


In a hotel management system, tracking total earnings and pending payments is crucial for financial
management and reporting. Here's how this information can be managed within the system:

1. Total Earnings:

o Room Revenue: The system calculates revenue generated from room bookings,
including room rates, extra services, and package deals.
o Food and Beverage Revenue: Revenue from restaurants, bars, room service, and
catering services is recorded in the system.
o Event Revenue: Income from hosting events, conferences, weddings, and other
functions is tracked.
o Other Revenue Streams: Revenue from spa services, tours, parking fees, and other
hotel amenities is included in the total earnings calculation.
o Discounts and Promotions: The system accounts for any discounts, promotions, or
complimentary services that impact total earnings.

2. Pending Payments:

o Guest Invoices: The system tracks outstanding invoices for room charges, food and
beverage expenses, event bookings, and other services provided to guests.
o Accounts Receivable: Pending payments from corporate clients, travel agencies,
group bookings, and long-term guests are monitored in the system.
o Deposits and Prepayments: The system records any deposits or prepayments made by
guests that have not been fully utilized or settled.
o Payment Terms: The system tracks payment terms, due dates, and aging of
outstanding balances to follow up on overdue payments.
o Payment Reconciliation: The system reconciles payments received with outstanding
balances to ensure accuracy in pending payment records.

View Statistics
In a hotel management system, viewing statistics is essential for monitoring key performance indicators,
analyzing trends, and making data-driven decisions to optimize operations and enhance guest satisfaction.
Here's how statistics can be viewed and utilized within a hotel management system:

1. Occupancy Rate: The system provides statistics on the hotel's occupancy rate, including daily,
weekly, monthly, and yearly occupancy percentages. This data helps in forecasting demand,
managing room inventory, and setting pricing strategies.
2. Revenue and Profitability: Statistics on total revenue, average daily rate (ADR), revenue per
available room (RevPAR), and profitability metrics are available in the system for financial
analysis and performance evaluation.
3. Room Utilization: The system tracks statistics on room utilization, including the number of
occupied rooms, vacant rooms, room types, and room revenue contribution. This information
guides room allocation and pricing decisions.
4. Guest Satisfaction: Statistics on guest feedback, reviews, ratings, and survey responses are
captured in the system to assess guest satisfaction levels and identify areas for improvement in
service quality.
5. Sales and Marketing Performance: The system presents statistics on sales conversion rates,
marketing campaign effectiveness, lead generation, and customer acquisition metrics to evaluate
the performance of sales and marketing initiatives.
6. Staff Productivity: Statistics on staff performance, workload distribution, task completion rates,
and efficiency metrics are available in the system to optimize staffing levels, training programs,
and workflow management.
7. Inventory and Supply Chain: Statistics on inventory levels, procurement costs, supplier
performance, stock turnover rates, and wastage metrics are tracked in the system to streamline
inventory management and control costs.
8. Forecasting and Trend Analysis: The system utilizes statistical forecasting models, trend analysis
tools, and data visualization techniques to predict future demand, identify patterns, and anticipate
market trends for strategic planning.
9. Benchmarking and Comparison: The system allows for benchmarking against industry standards,
competitor performance, and historical data to evaluate the hotel's performance relative to peers
and identify areas of competitive advantage.
10. Customized Reports and Dashboards: The system offers customizable reporting features,
interactive dashboards, and real-time data visualization tools to view statistics in a user-friendly
format and facilitate data interpretation for decision-making.

By leveraging statistics within the hotel management system, hotel administrators can gain insights into
operational performance, guest preferences, market dynamics, and financial health to drive continuous
improvement, enhance guest experiences, and achieve sustainable business growth in the hospitality
industry.

SOURCE CODE

LOGIN PAGE
<?php
/**
* Created by PhpStorm.
* User: vishal
* Date: 10/23/17
* Time: 1:45 PM
*/ ?>
<!--
you can substitue the span of reauth email for a input with the email and
include the remember me checkbox
-->
<html>
<head>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="css/login.css"/>
</head>
<body>

<div class="container">
<div class="card card-container">
<img id="profile-img" class="profile-img-card" src="img/htl.png"/>

<br>
<div class="result">
<?php
if (isset($_GET['empty'])){
echo '<div class="alert alert-danger">Enter Username or
Password</div>';
}elseif (isset($_GET['loginE'])){
echo '<div class="alert alert-danger">Username or Password
Don\'t Match</div>';
} ?>
</div>
<form class="form-signin" data-toggle="validator" action="ajax.php"
method="post">
<div class="row">
<div class="form-group col-lg-12">
<label>Username or Email</label>
<input type="text" name="email" class="form-control"
placeholder="" required
data-error="Enter Username or Email">
<div class="help-block with-errors"></div>
</div>
<div class="form-group col-lg-12">
<label>Password</label>
<input type="password" name="password" class="form-
control" placeholder="" required
data-error="Enter Password">
<div class="help-block with-errors"></div>
</div>
</div>

<button class="btn btn-lg btn-success btn-block btn-signin"


type="submit" name="login">LOGIN</button>

</form><!-- /form -->


</div><!-- /card-container -->
</div><!-- /container -->

<script src="js/jquery-1.11.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/validator.min.js"></script>
</body>
</html>

DASH BOARD

<body>
<div class="col-sm-9 col-sm-offset-3 col-lg-10 col-lg-offset-2
main">
<div class="row">
<ol class="breadcrumb">
<li><a href="#">
<em class="fa fa-home"></em>
</a></li>
<li class="active">Dashboard</li>
</ol>
</div><!--/.row-->

<!-- <div class="row">


<div class="col-lg-12">
<h1 class="page-header">Dashboard</h1>
</div>
</div>/.row -->

<div class="panel panel-container">


<div class="row">
<div class="col-xs-6 col-md-3 col-lg-3 no-
padding">
<div class="panel panel-teal panel-widget
border-right">
<div class="row no-padding"><em
class="fa fa-xl fa-bed color-blue"></em>
<div class="large"><?php
include 'counters/room-count.php'?></div>
<div class="text-muted">Total
Rooms</div>
</div>
</div>
</div>
<div class="col-xs-6 col-md-3 col-lg-3 no-
padding">
<div class="panel panel-blue panel-widget
border-right">
<div class="row no-padding"><em
class="fa fa-xl fa-bookmark color-orange"></em>
<div class="large"><?php
include 'counters/reserve-count.php'?></div>
<div class="text-
muted">Reservations</div>
</div>
</div>
</div>
<div class="col-xs-6 col-md-3 col-lg-3 no-
padding">
<div class="panel panel-orange panel-
widget border-right">
<div class="row no-padding"><em
class="fa fa-xl fa-users color-teal"></em>
<div class="large"><?php
include 'counters/staff-count.php'?></div>
<div class="text-
muted">Staffs</div>
</div>
</div>
</div>
<div class="col-xs-6 col-md-3 col-lg-3 no-
padding">
<div class="panel panel-red panel-widget ">
<div class="row no-padding"><em
class="fa fa-xl fa-comments color-red"></em>
<div class="large"><?php
include 'counters/complaints-count.php'?></div>
<div class="text-
muted">Complaints</div>
</div>
</div>
</div>
</div><!--/.row-->

<hr>

<div class="row">
<div class="col-xs-6 col-md-3 col-lg-3 no-
padding">
<div class="panel panel-teal panel-widget
border-right">
<div class="row no-padding"><em
class="fa fa-xl fa-reorder color-red"></em>
<div class="large"><?php
include 'counters/bookedroom-count.php'?></div>
<div class="text-
muted">Booked Rooms</div>
</div>
</div>
</div>
</div>

<div class="col-xs-6 col-md-4 col-lg-4 no-


padding">
<div class="panel panel-orange panel-
widget ">
<div class="row no-padding"><em
class="fa fa-xl fa-credit-card color-purp"></em>
<div class="large">Rs.<?php
include 'counters/pendingpayment.php'?></div>
<div class="text-
muted">Pending Payment</div>
</div>
</div>
</div>
<div class="col-xs-6 col-md-2 col-lg-2 no-
padding">

</div>
</div><!--/.row-->
</div>

</div> <!--/.main-->

</body>
</html>
RESERVATION

<?php
if (isset($_GET['room_id'])){
$get_room_id = $_GET['room_id'];
$get_room_sql = "SELECT * FROM room NATURAL JOIN
room_type WHERE room_id = '$get_room_id'";
$get_room_result = mysqli_query($connection,$get_room_sql);
$get_room = mysqli_fetch_assoc($get_room_result);

$get_room_type_id = $get_room['room_type_id'];
$get_room_type = $get_room['room_type'];
$get_room_no = $get_room['room_no'];
$get_room_price = $get_room['price'];
}

?>
<div class="col-sm-9 col-sm-offset-3 col-lg-10 col-lg-offset-2 main">
<div class="row">
<ol class="breadcrumb">
<li><a href="#">
<em class="fa fa-home"></em>
</a></li>
<li class="active">Reservation</li>
</ol>
</div><!--/.row-->
<!-- <div class="row">
<div class="col-lg-12">
<h1 class="page-header">Reservation</h1>
</div>
</div>/.row -->

<div class="row">
<div class="col-lg-12">
<form role="form" id="booking" data-toggle="validator">
<div class="response"></div>
<div class="col-lg-12">
<?php
if (isset($_GET['room_id'])){?>

<div class="panel panel-default">


<div class="panel-heading">Room Information:
<a class="btn btn-secondary pull-right"
href="index.php?room_mang">Replan Booking</a>
</div>
<div class="panel-body">
<div class="form-group col-lg-6">
<label>Room Type</label>
<select class="form-control" id="room_type" data-
error="Select Room Type" required>
<option selected disabled>Select Room
Type</option>
<option selected value="<?php echo
$get_room_type_id; ?>"><?php echo $get_room_type; ?></option>
</select>
<div class="help-block with-errors"></div>
</div>

<div class="form-group col-lg-6">


<label>Room No</label>
<select class="form-control" id="room_no"
onchange="fetch_price(this.value)" required data-error="Select Room
No">
<option selected disabled>Select Room
No</option>
<option selected value="<?php echo
$get_room_id; ?>"><?php echo $get_room_no; ?></option>
</select>
<div class="help-block with-errors"></div>
</div>

<div class="form-group col-lg-6">


<label>Check In Date</label>
<input type="text" class="form-control"
placeholder="mm/dd/yyyy" id="check_in_date" data-error="Select Check
In Date" required>
<div class="help-block with-errors"></div>
</div>

<div class="form-group col-lg-6">


<label>Check Out Date</label>
<input type="text" class="form-control"
placeholder="mm/dd/yyyy" id="check_out_date" data-error="Select
Check Out Date" required>
<div class="help-block with-errors"></div>
</div>

<div class="col-lg-12">
<h4 style="font-weight: bold">Total Days : <span
id="staying_day">0</span> Days</h4>
<h4 style="font-weight: bold">Price: <span
id="price"><?php echo $get_room_price; ?></span> /-</h4>
<h4 style="font-weight: bold">Total Amount :
<span id="total_price">0</span> /-</h4>
</div>
</div>
</div>
<div class="form-group col-lg-6">
<label>Check Out Date</label>
<input type="text" class="form-control"
placeholder="mm/dd/yyyy" id="check_out_date" data-error="Select
Check Out Date" required>
<div class="help-block with-errors"></div>
</div>

<div class="col-lg-12">
<h4 style="font-weight: bold">Total Days : <span
id="staying_day">0</span> Days</h4>
<h4 style="font-weight: bold">Price: <span
id="price">0</span> /-</h4>
<h4 style="font-weight: bold">Total Amount :
<span id="total_price">0</span> /-</h4>
</div>
</div>
</div>
<?php }
?>
<div class="row">
<div class="col-sm-12">
<p class="back-link">Developed By Prem Chand Saini</p>
</div>
</div>

</div> <!--/.main-->

<!-- Booking Confirmation-->


<div id="bookingConfirm" class="modal fade" role="dialog">
<div class="modal-dialog">

<!-- Modal content-->


<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-
dismiss="modal">&times;</button>
<h4 class="modal-title text-center"><b>Room
Booking</b></h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-lg-12">
<div class="alert bg-success alert-dismissable"
role="alert"><em class="fa fa-lg fa-check-circle">&nbsp;</em>Room
Successfully Booked</div>
<table class="table table-striped table-bordered table-
responsive">
<!-- <thead>
<tr>
<th>Name</th>
<th>Detail</th>
</tr>
</thead> -->
<tbody>
<tr>
<td><b>Customer Name</b></td>
<td id="getCustomerName"></td>
</tr>
<tr>
<td><b>Room Type</b></td>
<td id="getRoomType"></td>
</tr>
<tr>
<td><b>Room No</b></td>
<td id="getRoomNo"></td>
</tr>
<tr>
<td><b>Check In</b></td>
<td id="getCheckIn"></td>
</tr>
<tr>
<td><b>Check Out</b></td>
<td id="getCheckOut"></td>
</tr>
<tr>
<td><b>Total Amount</b></td>
<td id="getTotalPrice"></td>
</tr>
<tr>
<td><b>Payment Status</b></td>
<td id="getPaymentStaus"></td>
</tr>

</tbody>
</table>
</div>
</div>
</div>
<div class="modal-footer">
<a class="btn btn-primary" style="border-radius:60px;"
href="index.php?reservation"><i class="fa fa-check-circle"></i></a>
</div>
</div>

</div>
</div>

ROOM MANAGE
<div class="col-sm-9 col-sm-offset-3 col-lg-10 col-lg-offset-2 main">
<div class="row">
<ol class="breadcrumb">
<li><a href="#">
<em class="fa fa-home"></em>
</a></li>
<li class="active">Manage Rooms</li>
</ol>
</div><!--/.row-->

<br>

<div class="row">
<div class="col-lg-12">
<div id="success"></div>
</div>
</div>

<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">Manage Rooms
<button class="btn btn-secondary pull-right" style="border-
radius:0%" data-toggle="modal" data-target="#addRoom">Add
Rooms</button>
</div>
<div class="panel-body">
<?php
if (isset($_GET['error'])) {
echo "<div class='alert alert-danger'>
<span class='glyphicon glyphicon-info-sign'></span>
&nbsp; Error on Delete !
</div>";
}
if (isset($_GET['success'])) {
echo "<div class='alert alert-success'>
<span class='glyphicon glyphicon-info-sign'></span>
&nbsp; Successfully Delete !
</div>";
}
?>
<table class="table table-striped table-bordered table-
responsive" cellspacing="0" width="100%"
id="rooms">
<thead>
<tr>
<th>Room No</th>
<th>Room Type</th>
<th>Booking Status</th>
<th>Check In</th>
<th>Check Out</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
$room_query = "SELECT * FROM room NATURAL
JOIN room_type WHERE deleteStatus = 0";
$rooms_result = mysqli_query($connection, $room_query);
if (mysqli_num_rows($rooms_result) > 0) {
while ($rooms = mysqli_fetch_assoc($rooms_result)) { ?
>
<tr>
<td><?php echo $rooms['room_no'] ?></td>
<td><?php echo $rooms['room_type'] ?></td>
<td>
<?php
if ($rooms['status'] == 0) {
echo '<a href="index.php?
reservation&room_id=' . $rooms['room_id'] . '&room_type_id=' .
$rooms['room_type_id'] . '" class="btn btn-success" style="border-
radius:0%">Book Room</a>';
} else {
echo '<a href="#" class="btn btn-danger"
style="border-radius:0%">Booked</a>';
}
?>

<td>
<?php
if ($rooms['status'] == 1 &&
$rooms['check_in_status'] == 1) {
echo '<button class="btn btn-primary"
style="border-radius:0%" id="checkOutRoom" data-id="' .
$rooms['room_id'] . '">Check Out</button>';
} elseif ($rooms['status'] == 0) {
echo '-';
}
?>
</td>
<td>

<button title="Edit Room Information"


style="border-radius:60px;" data-toggle="modal"
data-target="#editRoom" data-id="<?php
echo $rooms['room_id']; ?>"
id="roomEdit" class="btn btn-info"><i
class="fa fa-pencil"></i></button>
<?php
if ($rooms['status'] == 1) {
echo '<button title="Customer Information"
data-toggle="modal" data-target="#cutomerDetailsModal" data-id="' .
$rooms['room_id'] . '" id="cutomerDetails" class="btn btn-warning"
style="border-radius:60px;"><i class="fa fa-eye"></i></button>';
}
?>

<a href="ajax.php?delete_room=<?php echo


$rooms['room_id']; ?>"
class="btn btn-danger" style="border-
radius:60px;" onclick="return confirm('Are you Sure?')"><i
class="fa fa-trash" alt="delete"></i></a>
</td>
</tr>
<?php }
} else {
echo "No Rooms";
}
?>

</tbody>
</table>
</div>
</div>

</div>
</div>

<!-- Add Room Modal -->


<div id="addRoom" class="modal fade" role="dialog">
<div class="modal-dialog">

<!-- Modal content-->


<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-
dismiss="modal">&times;</button>
<h4 class="modal-title">Add New Room</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-lg-12">
<form id="addRoom" data-toggle="validator"
role="form">
<div class="response"></div>
<div class="form-group">
<label>Room Type</label>
<select class="form-control" id="room_type_id"
required
data-error="Select Room Type">
<option selected disabled>Select Room
Type</option>
<?php
$query = "SELECT * FROM room_type";
$result = mysqli_query($connection, $query);
if (mysqli_num_rows($result) > 0) {
while ($room_type =
mysqli_fetch_assoc($result)) {
echo '<option value="' .
$room_type['room_type_id'] . '">' . $room_type['room_type'] . '</option>';
}
}
?>
</select>
<div class="help-block with-errors"></div>
</div>

<div class="form-group">
<label>Room No</label>
<input class="form-control" placeholder="Room
No" id="room_no"
data-error="Enter Room No" required>
<div class="help-block with-errors"></div>
</div>
<button class="btn btn-success pull-right">Add
Room</button>
</form>
</div>
</div>
</div>
</div>

</div>
</div>

<!---customer details-->
<div id="cutomerDetailsModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-
dismiss="modal">&times;</button>
<h4 class="modal-title text-center"><b>Customer's
Detail</b></h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-lg-12">
<table class="table table-responsive table-bordered">
<!-- <thead>
<tr>
<th>Title</th>
<th>Detail</th>
</tr>
</thead> -->
<tbody>
<tr>
<td><b>Customer Name</b></td>
<td id="customer_name"></td>
</tr>
<tr>
<td><b>Contact Number</b></td>
<td id="customer_contact_no"></td>
</tr>
<tr>
<td><b>Email</b></td>
<td id="customer_email"></td>
</tr>
<tr>
<td><b>ID Card Type</b></td>
<td id="customer_id_card_type"></td>

</tr>
<tr>
<td><b>ID Card Number</b></td>
<td id="customer_id_card_number"></td>
</tr>
<tr>
<td><b>Address</b></td>
<td id="customer_address"></td>
</tr>
<tr>
<td><b>Remaining Amount</b></td>
<td id="remaining_price"></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<!---customer details ends here-->

<!-- Check In Modal -->


<div id="checkIn" class="modal fade" role="dialog">
<div class="modal-dialog">

<!-- Modal content-->


<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-
dismiss="modal">&times;</button>
<h4 class="modal-title text-center"><b>Room - Check
In</b></h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-lg-12">
<table class="table table-responsive table-bordered">

<tr>
<td><b>Check In</b></td>
<td id="getCheckIn"></td>
</tr>
<tr>
<td><b>Check Out</b></td>
<td id="getCheckOut"></td>
</tr>
<tr>
<td><b>Total Price</b></td>
<td id="getTotalPrice"></td>
</tr>
</tbody>
</table>
<form role="form" id="advancePayment">
<div class="payment-response"></div>
<div class="form-group col-lg-12">
<label>Advance Payment</label>
<input type="number" class="form-control"
id="advance_payment"
placeholder="Please Enter Amounts Here..">
</div>
<input type="hidden" id="getBookingID" value="">
<button type="submit" class="btn btn-primary pull-
right">Payment & Check In</button>
</form>
</div>
</div>
</div>
</div>

</div>
</div>

<!-- Check Out Modal-->


<div id="checkOut" class="modal fade" role="dialog">
<div class="modal-dialog">

<!-- Modal content-->


<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-
dismiss="modal">&times;</button>
<h4 class="modal-title text-center"><b>Room- Check
Out</b></h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-lg-12">
<table class="table table-responsive table-bordered">

<tbody>
<tr>
<td><b>Customer Name</b></td>
<td id="getCustomerName_n"></td>
</tr>
<tr>
<td><b>Room Type</b></td>
<td id="getRoomType_n"></td>
</tr>
<tr>
<td><b>Room Number</b></td>
<td id="getRoomNo_n"></td>
</tr>
<tr>
<td><b>Check In</b></td>
<td id="getCheckIn_n"></td>
</tr>
<tr>
<td><b>Check Out</b></td>
<td id="getCheckOut_n"></td>

</tr>

<input type="text" class="form-control"


id="remaining_amount"
placeholder="Remaining Payment" required
data-error="Please Enter Remaining Amount">
<div class="help-block with-errors"></div>
</div>
<input type="hidden" id="getBookingId_n" value="">
<button type="submit" class="btn btn-primary pull-
right">Proceed Checkout</button>
</form>
</div>
</div>
</div>
</div>

</div>
</div>

<div class="row">
<div class="col-sm-12">
<p class="back-link">Developed By Prem Chand Saini</p>
</div>
</div>

</div> <!--/.main-->

STAFF SECTION:

<div class="col-sm-9 col-sm-offset-3 col-lg-10 col-lg-offset-2 main">


<div class="row">
<ol class="breadcrumb">
<li><a href="#">
<em class="fa fa-home"></em>
</a></li>
<li class="active">Manage Staffs</li>
</ol>
</div><!--/.row-->
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">Employee Details:
<a href="index.php?add_emp" class="btn btn-secondary pull-
right" style="border-radius:0%">Add Employee</a>
</div>
<div class="panel-body">
<?php
if (isset($_GET['error'])) {
echo "<div class='alert alert-danger'>
<span class='glyphicon glyphicon-info-sign'></span>
&nbsp; Error on Shift Change !
</div>";
}
if (isset($_GET['success'])) {
echo "<div class='alert alert-success'>
<span class='glyphicon glyphicon-info-sign'></span>
&nbsp; Shift Successfully Changed!
</div>";
}
?>
<table class="table table-striped table-bordered table-
responsive" cellspacing="0" width="100%"
id="rooms">
<thead>
<tr>
<th>Sr. No</th>
<th>Employee Name</th>
<th>Staff</th>
<th>Shift</th>
<th>Joining Date</th>
<th>Salary</th>
<th>Change Shift</th>
<th>Action</th>

</tr>
</thead>
<tbody>
<?php
//$staff_query = "SELECT * FROM staff JOIN staff_type
JOIN shift ON staff.staff_type_id =staff_type.staff_type_id ON shift.";
$staff_query = "SELECT * FROM staff NATURAL JOIN
staff_type NATURAL JOIN shift";
$staff_result = mysqli_query($connection, $staff_query);

if (mysqli_num_rows($staff_result) > 0) {
while ($staff = mysqli_fetch_assoc($staff_result)) { ?>
<tr>

<?php
}
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>

<div class="row">
<div class="col-sm-12">
<p class="back-link">Developed By Prem Chand Saini</p>
</div>
</div>

</div> <!--/.main-->

<?php
//$staff_query = "SELECT * FROM staff JOIN staff_type JOIN shift ON staff.staff_type_id =staff_type.staff_type_id ON
shift.";

$staff_query = "SELECT * FROM staff NATURAL JOIN staff_type


NATURAL JOIN shift";
$staff_result = mysqli_query($connection, $staff_query);

if (mysqli_num_rows($staff_result) > 0) {
while ($staffGlobal = mysqli_fetch_assoc($staff_result)) {
$fullname = explode(" ", $staffGlobal['emp_name']);
?>
<!-- Employee Detail-->
<div id="empDetail<?php echo $staffGlobal['emp_id']; ?>"
class="modal fade" role="dialog">
<div class="modal-dialog">

<!-- Modal content-->


<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-
dismiss="modal">&times;</button>
<h4 class="modal-title">Employee Detail</h4>
</div>
<div class="modal-body">

<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">Employee
Detail:</div>
<div class="panel-body">
<form data-toggle="validator" role="form"
action="functionmis.php"
method="post">
<div class="row">
<div class="form-group col-lg-6">
<label>Staff</label>
<select class="form-control"
id="staff_type" name="staff_type_id"
required>
<option selected disabled>Select Staff
Type</option>
<?php
$query = "SELECT * FROM
staff_type";
$result = mysqli_query($connection,
$query);
if (mysqli_num_rows($result) > 0) {
while ($staff =
mysqli_fetch_assoc($result)) {
// echo '<option value=" ' .
$staff['staff_type_id'] . ' " selected >' . $staff['staff_type'] . '</option>';
echo '<option value="' .
$staff['staff_type_id'] . '" ' . (($staff['staff_type_id'] ==
$staffGlobal['staff_type_id']) ? 'selected="selected"' : "") . '>' .
$staff['staff_type'] . '</option>';
}
}
?>
</select>
</div>

<input type="hidden" value="<?php echo


$staffGlobal['emp_id']; ?>"
id="emp_id" name="emp_id">

<div class="form-group col-lg-6">


<label>ID Card Type</label>
<select class="form-control"
id="id_card_id" name="id_card_type"
required>
<

<div class="form-group col-lg-6">


<label>ID Card No</label>
<input type="text" class="form-control"
placeholder="ID Card No"
id="id_card_no"
value="<?php echo
$staffGlobal['id_card_no']; ?>"
name="id_card_no" required>
</div>
<div class="form-group col-lg-6">
<label>Contact Number</label>
<input type="number" class="form-
control"
placeholder="Contact Number"
id="contact_no"
value="<?php echo
$staffGlobal['contact_no']; ?>"
name="contact_no" required>
</div>

<div class="form-group col-lg-6">


<label>Address</label>
<input type="text" class="form-control"
placeholder="address"
id="address" value="<?php echo
$staffGlobal['address']; ?>"
name="address">
</div>

<div class="form-group col-lg-6">


<label>Salary</label>
<input type="number" class="form-
control" placeholder="Salary"
id="salary" value="<?php echo
$staffGlobal['salary']; ?>"
name="salary" required>
</div>

</div>

<button type="submit" class="btn btn-lg btn-


primary" name="submit">Submit
</button>
<button type="reset" class="btn btn-lg btn-
danger">Reset</button>
</form>
</div>
</div>
</div>

</div>

</div>
</div>
</div>
</div>

<?php
$query = "SELECT * FROM shift";
$result = mysqli_query($connection,
$query);
if (mysqli_num_rows($result) > 0) {
while ($shift =
mysqli_fetch_assoc($result)) {
// echo '<option value="' .
$shift['shift_id'] . '">' . $shift['shift'] . ' - ' . $shift['shift_timing'] .
'</option>';
echo '<option value="' .
$shift['shift_id'] . '" ' . (($shift['shift_id'] == $staffGlobal['shift_id']) ?
'selected="selected"' : "") . '>' . $shift['shift_timing'] . '</option>';
}
}
?>
</select>
</div>
</div>
<input type="hidden" name="emp_id"
value="" id="getEmpId">
<button type="submit" class="btn btn-lg btn-
primary" name="change_shift">Submit</button>
</form>
</div>
</div>
</div>

</div>

</div>
</div>

</div>
</div>
<?php
}
}

MANAGE COMPLAINTS

<div class="col-sm-9 col-sm-offset-3 col-lg-10 col-lg-offset-2 main">


<div class="row">
<ol class="breadcrumb">
<li><a href="#">
<em class="fa fa-home"></em>
</a></li>
<li class="active">Complaint</li>
</ol>
</div><!--/.row-->
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">Make Complaint</div>
<div class="panel-body">
<?php
if (isset($_GET['error'])) {
echo "<div class='alert alert-danger'>
<span class='glyphicon glyphicon-info-sign'></span>
&nbsp; Error on Complaint !
</div>";
}
if (isset($_GET['success'])) {
echo "<div class='alert alert-success'>
<span class='glyphicon glyphicon-info-sign'></span>
&nbsp; Complaint Successfully Added !
</div>";
}
?>
<form role="form" data-toggle="validator" method="post"
action="ajax.php">
<div class="row">
<div class="form-group col-lg-6">
<label>Complainant Name</label>
<input type="text" class="form-control"
placeholder="Complainant Name" name="complainant_name" required>
<div class="help-block with-errors"></div>
</div>
<div class="form-group col-lg-6">
<label>Complaint Type</label>
<input type="text" class="form-control"
placeholder="Complaint Type" name="complaint_type" required>
<div class="help-block with-errors"></div>
</div>

<div class="form-group col-lg-12">


<label>Please Describe Your Complaints</label>
<textarea class="form-control" name="complaint"
placeholder="Complaint" required></textarea>
</div>

</div>

<button type="submit" class="btn btn-lg btn-success"


name="createComplaint" style="border-radius:0%">Submit</button>
<button type="reset" class="btn btn-lg btn-danger"
style="border-radius:0%">Reset</button>
</form>
</div>
</div>
</div>
</div>

<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">Complaint Management</div>
<div class="panel-body">
<?php
if (isset($_GET['resolveError'])) {
echo "<div class='alert alert-danger'>
<span class='glyphicon glyphicon-info-sign'></span>
&nbsp; Error on Resolve !
</div>";
}
if (isset($_GET['resolveSuccess'])) {
echo "<div class='alert alert-success'>
<span class='glyphicon glyphicon-info-sign'></span>
&nbsp; Complaint Successfully Resolve !
</div>";
}
?>
<tr>
<td><?php echo $num ?></td>
<td><?php echo $complaint['complainant_name'] ?
></td>
<td><?php echo $complaint['complaint_type']
?></td>
<td><?php echo $complaint['complaint'] ?></td>
<td><?php echo date('M j,
Y',strtotime($complaint['created_at'])) ?></td>
<td>
<?php if(!$complaint['resolve_status']){
echo '<button class="btn btn-info" data-
toggle="modal" style="border-radius:0%" data-target="#complaintModal"
data-id="' . $complaint['id'] . '" id="complaint">Resolve</a>';
} else{
echo date('M j,
Y',strtotime($complaint['resolve_date']));
}
?>
</td>
<th><?php echo $complaint['budget'] ?></th>

</tr>
<?php }
} else {
echo "No Rooms";
}
?>

</tbody>
</table>
</div>
</div>

</div>
</div>

<!-- Add Room Modal -->


<div id="complaintModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-
dismiss="modal">&times;</button>
<h4 class="modal-title">Complaint Resolve</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-lg-12">
<form data-toggle="validator" role="form"
method="post" action="ajax.php">
<div class="form-group">
<label>Budget</label>
<input class="form-control" placeholder="Budget"
name="budget" data-error="Enter Budget" required>
<div class="help-block with-errors"></div>
</div>
<input type="hidden" id="complaint_id"
name="complaint_id" value="">
<button class="btn btn-success pull-right"
name="resolve_complaint">Resolve Complaint</button>
</form>
</div>
</div>
</div>
</div>

</div>
</div>
<div class="row">
<div class="col-sm-12">
<p class="back-link">Developed By Prem Chand Saini</p>
</div>
</div>

</div> <!--/.main-->

STATISTICS

<?php
include_once "db.php";
include_once "header.php";
include_once "sidebar.php";
?>

<html>
<head>
<script type="text/javascript"
src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">

google.charts.load("current", {packages:["corechart"]});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Employee', 'Count'],
['Manager', 2],
['Cleaning', 14],
['Reception', 4],
['Cook', 5],

]);

</style>
<script type="text/javascript">
google.charts.load("current", {packages:["corechart"]});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
["Type", "Expense", { role: "style" } ],
["Maintanence", 8.94, "#b87333"],
["Salary", 10.49, "silver"],
["Electric Bills", 19.30, "gold"],
["External Services", 21.45, "color: #e5e4e2"]
]);
var view = new google.visualization.DataView(data);
view.setColumns([0, 1,
{ calc: "stringify",
sourceColumn: 1,
type: "string",
role: "annotation" },
2]);

var options = {
title: "Hotel Expense",
width: 410,
height: 400,
bar: {groupWidth: "95%"},
legend: { position: "none" },
};
var chart = new
google.visualization.BarChart(document.getElementById("barchart_v
alues"));
chart.draw(view, options);
}
</script>
<script type="text/javascript">
google.charts.load("current", {packages:["calendar"]});
google.charts.setOnLoadCallback(drawChart);

function drawChart() {
var dataTable = new google.visualization.DataTable();
dataTable.addColumn({ type: 'date', id: 'Date' });
dataTable.addColumn({ type: 'number', id: 'Room Booked' });
dataTable.addRows([
[ new Date(2020, 3, 13), 6 ],
[ new Date(2020, 3, 14), 7 ],
[ new Date(2020, 3, 15), 2 ],
[ new Date(2020, 3, 16), 3 ],
[ new Date(2020, 3, 17), 3 ],
//
[ new Date(2020, 4, 13), 5 ],
[ new Date(2020, 4, 14), 9 ],
[ new Date(2020, 4, 15), 5 ],
[ new Date(2020, 4, 16), 6 ],
[ new Date(2020, 4, 17), 2 ],
// Many rows omitted for brevity.
[ new Date(2020, 9, 4), 3 ],
[ new Date(2020, 9, 5), 5],
[ new Date(2020, 9, 12), 6],
[ new Date(2020, 9, 13), 7],
[ new Date(2020, 9, 19), 1 ],
[ new Date(2020, 9, 23), 3],
[ new Date(2020, 9, 24), 5],
[ new Date(2020, 9, 30), 2 ]
]);
var chart = new
google.visualization.Calendar(document.getElementById('calendar_basic')
);

var options = {
title: "Reserved Room on Different Day",
height: 350,
};

chart.draw(dataTable, options);
}
</script>
</head>
<body>
<div id="piechart_3d"></div>

<div id="barchart_values"></div><br><br><br>
<div id="calendar_basic"></div>
</body>
</html>
<?php
include_once "footer.php";
?>
DATABASE
-- phpMyAdmin SQL Dump
-- version 4.6.5.2
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Apr 09, 2021 at 10:41 AM
-- Server version: 5.6.21
-- PHP Version: 5.6.3
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `hotelms`
--
-- --------------------------------------------------------
--
-- Table structure for table `booking`
--
CREATE TABLE `booking` (
`booking_id` int(10) NOT NULL,
`customer_id` int(10) NOT NULL,
`room_id` int(10) NOT NULL,
`booking_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`check_in` varchar(100) DEFAULT NULL,
`check_out` varchar(100) NOT NULL,
`total_price` int(10) NOT NULL,
`remaining_price` int(10) NOT NULL,
`payment_status` tinyint(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `booking`
--
INSERT INTO `booking` (`booking_id`, `customer_id`, `room_id`,
`booking_date`, `check_in`, `check_out`, `total_price`,
`remaining_price`, `payment_status`) VALUES
(1, 1, 5, '2017-11-13 05:45:17', '13-11-2017', '15-11-2017', 3000,
3000, 0),
(2, 2, 2, '2017-11-13 05:46:04', '13-11-2017', '16-11-2017', 6000, 0,
1),
(3, 3, 2, '2017-11-11 06:49:19', '11-11-2017', '14-11-2017', 6000,
3000, 0),
(4, 4, 7, '2017-11-09 06:50:24', '11-11-2017', '15-11-2017', 10000,
10000, 0),
(5, 5, 13, '2017-11-17 06:59:10', '17-11-2017', '20-11-2017', 12000, 0,
1),
(6, 6, 9, '2021-04-08 09:45:56', '08-04-2021', '10-04-2021', 3000,
3000, 0),
(7, 7, 14, '2021-04-08 17:56:41', '08-04-2021', '10-04-2021', 16500,
11500, 0),
(8, 8, 22, '2021-04-09 08:32:57', '09-04-2021', '13-04-2021', 34500, 0,
1);
-- --------------------------------------------------------
--
-- Table structure for table `complaint`
--
CREATE TABLE `complaint` (
`id` int(11) NOT NULL,
`complainant_name` varchar(100) NOT NULL,
`complaint_type` varchar(100) NOT NULL,
`complaint` varchar(200) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`resolve_status` tinyint(1) NOT NULL,
`resolve_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP,
`budget` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `complaint`
--
INSERT INTO `complaint` (`id`, `complainant_name`, `complaint_type`,
`complaint`, `created_at`, `resolve_status`, `resolve_date`, `budget`)
VALUES
(1, 'Janice Alexander\n', 'Room Windows', 'Doesnot operate properly',
'2020-07-16 06:51:24', 1, '2020-07-17 06:51:58', 3600),
(2, 'Robert Peter\n', 'Air Conditioner', 'Sensor Problems', '2020-10-01
06:51:44', 1, '2020-10-03 07:06:02', 7950),
(3, 'Jason J Pirkle\n', 'Bad Smells', 'Some odd smells around room
areas', '2018-04-01 07:01:17', 1, '2018-04-01 07:01:52', 500),
(5, 'Will Williams', 'Faulty Electronics', 'Due to some weird reasons,
the electronics are not working as it should; some voltage problems too
- M-135', '2021-04-09 08:38:19', 1, '2021-04-09 08:38:39', 2500);
-- --------------------------------------------------------
--
-- Table structure for table `customer`
--
CREATE TABLE `customer` (
`customer_id` int(10) NOT NULL,
`customer_name` varchar(100) NOT NULL,
`contact_no` bigint(20) NOT NULL,
`email` varchar(100) NOT NULL,
`id_card_type_id` int(10) NOT NULL,
`id_card_no` varchar(20) NOT NULL,
`address` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `customer`
--
INSERT INTO `customer` (`customer_id`, `customer_name`, `contact_no`,
`email`, `id_card_type_id`, `id_card_no`, `address`) VALUES
(1, 'Billy S. Burke', 7540001240, 'billyb9@gmail.com', 1,
'422510099122', '3166 Rockford Road'),
(2, 'John Mitchell', 2870214970, 'johnm@gmail.com', 2, '422510099122',
'1954 Armory Road'),
(3, 'Beatriz M. Matthews', 1247778460, 'matthews@gmail.com', 1,
'422510099122', '4879 Shearwood Forest Drive'),
(4, 'Kevin Johnson', 1478546500, 'kevin@gmail.com', 3, '0', '926
Richland Avenue\n'),
(5, 'Dwayne Scott', 2671249780, 'scottdway@gmail.com', 1,
'422510099122', '4698 Columbia Road\n'),
(6, 'Bruno Denn', 1245554780, 'denbru@gmail.com', 4, 'AASS
12454784541', '4764 Warner Street\n'),
(7, 'Ric Austin', 2450006974, 'austinric@gmail.com', 1, '457896000002',
'1680 Brownton Road'),
(8, 'Andrew Stuartt', 2457778450, 'andrew@gmail.com', 1,
'147000245810', '766 Lodgeville Road');
-- --------------------------------------------------------
--
-- Table structure for table `emp_history`
--
CREATE TABLE `emp_history` (
`id` int(11) NOT NULL,
`emp_id` int(11) NOT NULL,
`shift_id` int(11) NOT NULL,
`from_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`to_date` timestamp NULL DEFAULT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `emp_history`
--
INSERT INTO `emp_history` (`id`, `emp_id`, `shift_id`, `from_date`,
`to_date`, `created_at`) VALUES
(1, 1, 1, '2017-11-13 05:39:06', '2017-11-15 02:22:26', '2017-11-13
05:39:06'),
(2, 2, 3, '2017-11-13 05:39:39', '2017-11-15 02:22:43', '2017-11-13
05:39:39'),
(3, 3, 1, '2017-11-13 05:40:18', '2017-11-15 02:22:49', '2017-11-13
05:40:18'),
(4, 4, 1, '2017-11-13 05:40:56', '2017-11-15 02:22:35', '2017-11-13
05:40:56'),
(5, 5, 1, '2017-11-13 05:41:31', NULL, '2017-11-13 05:41:31'),
(6, 6, 3, '2017-11-13 05:42:03', NULL, '2017-11-13 05:42:03'),
(7, 7, 4, '2017-11-13 05:42:35', '2017-11-18 02:35:02', '2017-11-13
05:42:35'),
(8, 8, 3, '2017-11-13 05:43:13', '2017-11-18 02:32:26', '2017-11-13
05:43:13'),
(9, 9, 2, '2017-11-13 05:43:49', NULL, '2017-11-13 05:43:49'),
(10, 10, 1, '2017-11-13 06:30:45', '2017-11-18 02:34:28', '2017-11-13
06:30:45'),
(11, 1, 2, '2017-11-15 06:52:26', '2017-11-17 02:23:05', '2017-11-15
06:52:26'),
(12, 4, 3, '2017-11-15 06:52:35', NULL, '2017-11-15 06:52:35'),
(13, 2, 3, '2017-11-15 06:52:43', NULL, '2017-11-15 06:52:43'),
(14, 3, 3, '2017-11-15 06:52:49', NULL, '2017-11-15 06:52:49'),
(15, 1, 3, '2017-11-17 06:53:05', NULL, '2017-11-17 06:53:05'),
(16, 8, 1, '2017-11-18 07:02:26', NULL, '2017-11-18 07:02:26'),
(17, 11, 2, '2017-11-18 07:04:03', NULL, '2017-11-18 07:04:03'),
(18, 10, 2, '2017-11-18 07:04:28', NULL, '2017-11-18 07:04:28'),
(19, 7, 2, '2017-11-18 07:05:02', NULL, '2017-11-18 07:05:02'),
(20, 12, 1, '2021-04-08 17:54:22', NULL, '2021-04-08 17:54:22'),
(21, 13, 2, '2021-04-09 08:35:27', NULL, '2021-04-09 08:35:27');
-- --------------------------------------------------------
--
-- Table structure for table `id_card_type`
--
CREATE TABLE `id_card_type` (
`id_card_type_id` int(10) NOT NULL,
`id_card_type` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `id_card_type`
--
INSERT INTO `id_card_type` (`id_card_type_id`, `id_card_type`) VALUES
(1, 'National Identity Card'),
(2, 'Voter Id Card'),
(3, 'Pan Card'),
(4, 'Driving License');
-- --------------------------------------------------------
--
-- Table structure for table `room`
--
CREATE TABLE `room` (
`room_id` int(10) NOT NULL,
`room_type_id` int(10) NOT NULL,
`room_no` varchar(10) NOT NULL,
`status` tinyint(1) DEFAULT NULL,
`check_in_status` tinyint(1) NOT NULL,
`check_out_status` tinyint(1) NOT NULL,
`deleteStatus` tinyint(1) DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `room`
--
INSERT INTO `room` (`room_id`, `room_type_id`, `room_no`, `status`,
`check_in_status`, `check_out_status`, `deleteStatus`) VALUES
(1, 2, 'A-101', NULL, 0, 0, 1),
(2, 2, 'A-102', 1, 1, 1, 0),
(3, 3, 'A-103', NULL, 0, 0, 0),
(4, 4, 'A-104', NULL, 0, 0, 0),
(5, 1, 'B-101', 1, 0, 0, 0),
(6, 2, 'B-102', NULL, 0, 0, 1),
(7, 3, 'B-103', 1, 0, 0, 0),
(8, 4, 'B-104', NULL, 0, 0, 1),
(9, 1, 'C-101', 1, 0, 0, 0),
(10, 2, 'C-102', NULL, 0, 0, 0),
(11, 3, 'C-103', NULL, 0, 0, 1),
(12, 4, 'C-104', NULL, 0, 0, 0),
(13, 4, 'D-101', NULL, 0, 1, 1),
(14, 5, 'K-699', 1, 1, 0, 0),
(15, 5, 'K-799', NULL, 0, 0, 0),
(16, 5, 'K-899', NULL, 0, 0, 0),
(17, 6, 'M-333', NULL, 0, 0, 0),
(18, 6, 'M-444', NULL, 0, 0, 0),
(19, 6, 'M-555', NULL, 0, 0, 0),
(20, 9, 'P-696', NULL, 0, 0, 0),
(21, 10, 'M-966', NULL, 0, 0, 0),
(22, 10, 'M-869', NULL, 0, 1, 0),
(23, 8, 'Z-666', NULL, 0, 0, 0),
(24, 7, 'X-969', NULL, 0, 0, 0),
(25, 8, 'Z-111', NULL, 0, 0, 0),
(26, 6, 'M-135', NULL, 0, 0, 0);
-- --------------------------------------------------------
--
-- Table structure for table `room_type`
--
`id_card_no` varchar(20) NOT NULL,
`address` varchar(100) NOT NULL,
`contact_no` bigint(20) NOT NULL,
`salary` bigint(20) NOT NULL,
`joining_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `staff`
--
INSERT INTO `staff` (`emp_id`, `emp_name`, `staff_type_id`, `shift_id`,
`id_card_type`, `id_card_no`, `address`, `contact_no`, `salary`,
`joining_date`, `updated_at`) VALUES
(1, 'Joseph Bow', 1, 3, 1, '422510099122', '4516 Spruce Drive\n',
3479454777, 21000, '2020-11-13 05:39:06', '2021-04-08 17:36:16'),
(2, 'Cleta Landon', 3, 3, 1, '422510099122', '2555 Hillside Drive',
1479994500, 12500, '2021-04-07 20:21:00', '2021-04-08 17:36:23'),
(3, 'Gerald White', 2, 3, 1, '422510099122', 'Ap #897-1459 Quam
Avenue', 976543111, 25000, '2019-11-13 05:40:18', '2021-04-08
17:36:27'),
(4, 'Frank J. Welch', 2, 3, 2, '0', '2272 Sun Valley Road\n',
7451112450, 31000, '2017-11-13 05:40:55', '2021-04-08 17:36:33'),
(5, 'Gary Johnson', 4, 1, 1, '12345341212', '458 Chandler Drive\n',
4578884500, 28000, '2018-11-13 05:41:31', '2021-04-08 17:36:42'),
(6, 'Miguel M. Miller', 3, 3, 3, '0', 'Ap #897-1459 Quam Avenue',
8520000000, 40000, '2017-11-13 05:42:03', '2021-04-08 17:36:47'),
(7, 'Clement L. Brainerd\n', 2, 2, 1, '422510099122', '4381 Gateway
Road\n', 4547778450, 40000, '2017-11-13 05:42:35', '2021-04-08
17:36:51'),
(8, 'Randall Leclair', 1, 1, 4, '0', '1724 Round Table Drive\n',
1457845554, 15000, '2020-11-13 05:43:13', '2021-04-08 17:36:56'),
(9, 'Fredrick A. Wile', 3, 2, 4, '0', '3431 Joyce Street\n',
7145554500, 20000, '2020-11-13 05:43:49', '2021-04-08 17:36:59'),
(10, 'Brent Tatro', 5, 2, 1, '422510099122', '1616 Coventry Court\n',
3475468569, 24000, '2019-11-13 06:30:45', '2021-04-08 17:37:07'),
(11, 'Charles Miller', 3, 2, 1, '0', '382 Byers Lane\n', 7869696969,
20000, '2019-11-18 07:04:03', '2021-04-08 17:37:10'),
(12, 'John Doe', 2, 1, 4, 'AD69 14579500002', '3714 Duffy Street',
1475550036, 13500, '2021-04-08 17:54:22', '2021-04-08 17:54:22'),
(13, 'Brent Dixon', 9, 2, 1, '457854555012', '1821 Harry Place',
7457778560, 65500, '2021-04-09 08:35:27', '2021-04-09 08:35:27');
-- --------------------------------------------------------
--
-- Table structure for table `staff_type`
--
CREATE TABLE `staff_type` (
`staff_type_id` int(10) NOT NULL,
`staff_type` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `staff_type`
SCREENSHORT

LOGIN PAGE
DASHBOARD

RESERVATION
MANAGE ROOMS
STAFF SECTION

MANAGE COMPLAINTS
STATISTICS
CONCLUSION

In conclusion, the development of the hotel


management system project has been a
comprehensive endeavor aimed at streamlining and
enhancing various operational aspects within the
hospitality industry. Through meticulous planning,
robust design, and diligent implementation, the
system has successfully addressed key challenges
faced by hotel administrators, staff, and guests alike.
The project has achieved its objectives by providing
a user-friendly interface for efficient management of
reservations, room allocations, guest services, billing,
and inventory control. By leveraging technology, the
system has automated numerous processes, reducing
manual errors, enhancing accuracy, and saving
valuable time and resources ,Furthermore , the
integration of features such as online booking, secure
payment gateways, and real-time analytics has not
only enhanced the guest experience but also
contributed to increased revenue generation and
business growth opportunities for the hotel .

Online Reference

You might also like