Professional Documents
Culture Documents
Hotel Management System Documentation
Hotel Management System Documentation
Hotel Management System Documentation
BONAFIDE CERTIFICATE
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.
Place: Gudiyattam
Date:
ACKNOWLEDGEMENT
3. High security
5. Data consistency
6. Easy to handle
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.
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
HARDWARE REQUIREMENT
FORNT END
ABOUT PHP:
BACK END
History JavaScript:
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.
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 .
Compliant Management
Complaint management in a hotel management system typically involves several key
steps:
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.
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>
<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-->
<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>
</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="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-->
</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>
Error on Delete !
</div>";
}
if (isset($_GET['success'])) {
echo "<div class='alert alert-success'>
<span class='glyphicon glyphicon-info-sign'></span>
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>
</tbody>
</table>
</div>
</div>
</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">×</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-->
<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>
<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>
</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:
</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.";
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">
<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>
</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>
<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>
Error on Resolve !
</div>";
}
if (isset($_GET['resolveSuccess'])) {
echo "<div class='alert alert-success'>
<span class='glyphicon glyphicon-info-sign'></span>
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>
</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
Online Reference