0% found this document useful (0 votes)
25 views249 pages

AJU191422

The document is a project report on the Travel and Tourism Management System developed as part of a Bachelor's degree in Computer Application at Arka Jain University. It outlines the system's purpose, objectives, and features, emphasizing the transition from a manual to a computerized system to enhance efficiency and user experience. The report includes sections on system analysis, design, implementation, and testing, highlighting the benefits of local tourism and the use of cloud technology for data management.

Uploaded by

rajputanup705
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views249 pages

AJU191422

The document is a project report on the Travel and Tourism Management System developed as part of a Bachelor's degree in Computer Application at Arka Jain University. It outlines the system's purpose, objectives, and features, emphasizing the transition from a manual to a computerized system to enhance efficiency and user experience. The report includes sections on system analysis, design, implementation, and testing, highlighting the benefits of local tourism and the use of cloud technology for data management.

Uploaded by

rajputanup705
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 249

A Project Report On

TRAVEL AND TOURISM MANAGEMENT SYSTEM


BACHELOR OF COMPUTER APPLICATION

DEPARTMANT OF COMPUTER SCIENCE & INFORMATION TECHNOLOGY

ARKA JAIN UNIVERSITY, JAMSHEDPUR

JHARKHAND

2019-2022

Under The esteemed guidance of

Ms. SWETA KUMARI BARNWAL

Assistant Professor

&

Dr. Arvind Kumar Pandey

PRESENTED BY

SONU KUMAR SAH

(AJU/191422)
A Project Report on

Travel And Tourism Management System


Submitted in partialfulfilment
for the award of the Degree in

BACHELOR OF COMPUTER APPLICATION


By

SONU KUMAR SAH


AJU/191422

Under the guidance of

Ms. SWETA KUMARI BARNWAL

ARKA JAIN UNIVERSITY


JAMSHEDPUR, JHARKHAND

DEPARTMENT OF COMPUTER SCIENCE & INFORMATION TECHNOLOGY


2019-22
ABSTRACT

This Project is entitled as “TRAVEL AND TOURISM MANAGEMENT SYSTEM”.

As the name specifies “TOURISM MANAGEMENT SYSTEM” is software, developed for


managing tour booking.

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 users friendly
and more GUI oriented. We can improve the efficiency of the system, thus overcome the
drawbacks of the existing system.

o Less human error

o Strength and strain of manual labor can be reduced

o High security

o Data redundancy can be avoided to some extent

o Data consistency

o Easy to handle

o Easy data updating

o Easy record keeping

o Backup data can be easily generate


TABLE OF CONTENT
Chapter 1: Introduction…………………………………...... 1
1.1 Purpose and scope ………………………………………………………….. 2

1.2 Project planning………………………………………………………………2

1.3 Objective……………………………………………………………………..3

Chapter 2: System Analysis………………………………… 4


2.1 Existing System……………………………………………………………..4

2, 2 Proposed System……………………………………………………………5

2.3 Study of the System………………………………………………………….6

2.4 Feasibility report……………………………………………………………..6

2.5 Technical feasibility…………………………………………………………7

2.6 Operational feasibility……………………………………………………….7

2.7 Economical feasibility………………………………………………………8

2.8 Required specification………………………………………………………8

2.9 Functional requirements…………………………………………………….8

2.10 Hardware Requirements……………………………………………………10

2.11 Software Requirements…………………………………………………….11

2.12 Introduction to DFD………………………………………………………...17

LEVEL -0……………………………………………………………18

LEVEL-1……………………………………………………………19

LEVEL-2……………………………………………………………21
Chapter 3: System Design……………………………………………….26
Module Division…………………………………………………………………

3.1Introduction to methods and design adopted within the design………………26

3.2Advantages……………………………………………………………………29

3.3Performance requirements……………………………………………………29

3.4Implementation ………………………………………………………………29

3.5Software development practices adopted……………………………………..30

3.9UML Diagrams……………………………………………………………….31

3.10ER Diagrams………………………………………………………………..36

3.11Database Design…………………………………………………………….37

Chapter 4: Implementation and Testing ……………………………


4.1Coding……………………………………………………………………….44

4.2Testing Approach……………………………………………………………224

4.3Use Case…………………………………………………………………….226

Chapter 5: Results and Discussion (Output Screens)…………


5.1Screenshots of output screens……………………………………………….228

Chapter 6: Conclusion and Future work…………………………239


Chapter 7: References…………………………………………………….2340
INTRODUCTION

Tourism has turned out to be an economic booster contributing to the economic development of
many countries over the last few decades. People see holidays as a necessity, and not as luxury in
the present scenario. Tourism calls for coordination and cooperation between travel agents, tour
operators, and tourists. Tourism has a few major elements − destinations, attractions, sites,
accommodation, and all ancillary services.

Tour Management system is a dynamic website for tourism business. It is dynamic and responsive
website. It is also called travel technology solutions for agencies and tour operations. Nearly
everyone goes on vacation for this a “Travel and Tourism Management system” would play a vital
role in planning the perfect trip. The tourism management system that allows the user of the system
access all the details such as location, events, trips, accommodation’s, and etc. The purposed
system maintains centralized repository to make necessary travel arraignments and to retrieve
information easily. Tourists are more attractive for cultural diversity of the worlds.

Page | 1
1.1PURPOSE OF THE PROJEECT
The purpose is to build a system that performs all operations related to traveling, booking,
sightseeing, etc. This system connects customers and agents directly, provides a feedback
mechanism for tourists maintains and controls the database of tourists’ information, and gives a
variety of travel services.

Unique about “Tourism Management System”


• The uniqueness about our project is that, we encourage “LOCAL TOURISM”.

• Benefits of “LOCAL TOURISM” Is that will encourage and give empowerment to the
locals from which they can earn.

• Other benefits are that people can know about the local culture and more about that place.

• The best thing about our project is that our client does not need to search for any hotel or
accommodation they will directly get into their package.

1.2 Project Planning


At the beginning of the project, we scheduled meeting time for the group to discuss on the design
and implementation of the software and what language to use in writing the software. We had
several Meetings of this effect. When then developed a time-line for the project–when we would
Be releasing. The first version for scrutiny and the estimated time we thought we would use for
refactoring. We also pondered on a suitable name to give the project. We came up with the name
“ROAD LESS TRAVELLED”.

The group was then divided into two pairs that would work on parts of the code. We kept in touch
With each other and whenever we had difficulties, we asked each other question. On some
Occasions, we had to pretend we were the customer so as to try to figure out some of the things
that User would desire, such as the friendliness of the user interface and ease of navigation through
the Software. We also created a blog so that we could communicate with each other, and also so
that our When we discovered that we were behind schedule, we met to create a new time-line. We

Page | 2
were behind schedule mostly because of our different engagements in collage work and other
personal Issues. Fortunately for the team, we were able to stick to the new time-line and the project
was Completed in due time. After the major part of the code was completed, we went ahead to
lace the code, that is, adding Exception handlers which will make the software more robust. We
avoided this at the beginning Because we did not want to get confused with too many lines
of code. The version of the software that has been released can still be improved depending on
user response. So far, we have succeeded in completing the desired goal of from the user stories
given to us. The Beta software has been released about three times and we have been able to get
good ideas from the various users on how to improve the functionality, reliability and robustness
of the software.

1.3 OBJECTIVE:

 The objective of the project is to develop a system that automates the processes and
activities of a travel and tourism agency.
 The purpose is to design a system using which one can perform all operations related to
traveling and sight-seeing.

Page | 3
Chapter 2
System Analysis

System analysis in software engineering is, therefore, the activities that comprise software
engineering as a process in the production of software. It is the software process. This process has
4 main activities. They are:

 Software specification
 Software design and implementation
 Software validation
 Software evolution

As we can see, these activities are similar to those within systems analysis and the design of
software. Depending on the methodology used, the activities can be arranged differently. They are
arranged sequentially, for example, in the well-known Waterfall Model, while in the Incremental
Development model they are inter-related.

2.1 EXISTING SYSTEM:

 In the present system a customer has to approach various agencies to find details of places
and to book tickets.
 This often requires a lot of time and effort.
 A customer may not get the desired information from these offices and often the customer
may be misguided.
 It is tedious for a customer to plan a particular journey and have it executed properly.

CHALLENGES EXISTING SYSTEM:


The user needs to visit the travel agency office to plan any tour. It involves a lot of manual
paperwork, and customers need to stay in the queue for a long time. The present systems are

Page | 4
inadequate in providing information and advice to the agencies and customers about tour plans.
Most of the time agencies have to rely on local information sources and their own experience
regarding time and cost. Through a phone call, they have to get information. There are some
problems that exist in traditional systems, and those are given as follows:

● There will be many users visiting the portal, and hence we require a reliable and robust frontend
that can withhold the users on our site.

● We need a secure database, whereas data will be store by everyone.

2.2 PROPOSED SYSTEM:


 The proposed system is a web based application and maintains a centralized repository of
all related information.

 The system allows one to easily access the relevant information and make necessary travel
arrangements.

 Users can decide about places they want to visit and make bookings online for travel and
accommodation.

FEATURES OF PROPOSED SYSTEM:

1. Cloud Technology: Tourism Management System incorporates cloud-based back-end


web design that can achieve in storing large storehouses of data.
2. Security: The system is entirely password protected. Only authorized users can get access.
Features like Mobile number verification via OTP, Email verification are also included.
3. Flexibility: The project has been designed in such a way that new features and modules
can be added to the system in the future as per user requirements.
4. Time-Saving: One can access the travel management office from anywhere on the web
and need not visit the travel agency office.
5. The various requirements of the system can be summarized as:-

Page | 5
6. Signup: New users give their completed personal details, address, email, and phone
number for registration.
7. Login: The user enters their username and password for login.
8. Holiday packages: Users can then enter the date of journey and return; they can also select
the packages, number of rooms, etc., and can choose the packages as Deluxe, Premium,
Super deluxe.
9. Best deals: Users can get the best deals with discount prices based on their preferences
available during the festival season.
10. Feedback: The users can give their input.
11. About us: The user can get information about the travel agency
12. Contact us: It displays the contact details.

2.3 STUDY OF THE SYSTEM:


To provide flexibility to the users, the interfaces have been developed that are accessible through
a browser. The GUI’S at the top level have been categorized as
1. Administrative user interface
2. The operational or generic user interface
The ‘administrative user interface’ concentrates on the consistent information that is
practically, part of the organizational activities and which needs proper authentication
for the data collection. These interfaces help the administrators with all the transactional
states like Data insertion, Data deletion and Date updating along with the extensive data
search capabilities.

The ‘operational or generic user interface’ helps the end users of the system in
transactions through the existing data and required services. The operational user
interface also helps the ordinary users in managing their own information in a customized
manner as per the included flexibilities.

Page | 6
2.4 FEASIBILITY STUDY:
FEASIBILITY REPORT:

Preliminary investigation examines project feasibility; the likelihood the system will be
useful to the organization. The main objective of the feasibility study is to test the Technical,
Operational and Economical feasibility for adding new modules and debugging old running
system. All systems are feasible if they are given unlimited resources and infinite time. There are
aspects in the feasibility study portion of the preliminary investigation:

 Technical Feasibility
 Operation Feasibility
 Economic Feasibility

2.5 TECHNICAL FEASIBILITY:

The technical issue usually raised during the feasibility stage of the investigation includes the
following:

 Does the necessary technology exist to do what is suggested?


 Do the proposed equipment’s have the technical capacity to hold the data required to use
the new system?
 Will the proposed system provide adequate response to inquiries, regardless of the number
or location of users?
 Can the system be upgraded if developed?
 Are there technical guarantees of accuracy, reliability, ease of access and data security?

2.6 OPERATIONAL FEASIBILITY:

Proposed projects are beneficial only if they can be turned out into information systems,
which will meet the organization’s operating requirements. Operational feasibility aspects of the

Page | 7
project are to be taken as an important part of the project implementation. Some of the important
issues raised are to test the operational feasibility of a project includes the following: -

 Is there sufficient support for the management from the users?


 Will the system be used and work properly if it is being developed and implemented?
 Will there be any resistance from the user that will undermine the possible application benefits?
This system is targeted to be in accordance with the above-mentioned issues. Beforehand,
the management issues and user requirements have been taken into consideration. So there is no
question of resistance from the users that can undermine the possible application benefits.

The well-planned design would ensure the optimal utilization of the computer resources and would
help in the improvement of performance status.

2.7 ECONOMIC FEASIBILITY:

A system can be developed technically and that will be used if installed must still be a good
investment for the organization. In the economic feasibility, the development cost in creating the
system is evaluated against the ultimate benefit derived from the new systems. Financial benefits
must equal or exceed the costs. The system is economically feasible. It does not require any
additional hardware or software.

2.8 Required Specifications


The purpose is to build a system that performs all operations related to traveling, booking,
sightseeing, etc. This system connects customers and agents directly, provides a feedback
mechanism for tourists maintains and controls the database of tourists’ information, and gives a
variety of travel services.

Page | 8
2.9 FUNCTIONAL REQUIREMENTS:

Requirement analysis is very critical process that enables the success of a system or software
project to be assessed. Requirements are generally split into two types: Functional and
Nonfunctional requirements.

Functional requirements: These are the requirements that the end user specifically demand as basic
facilities that the system should offer. All these functionalities need to be nessarialy incorporated
into the system as a part of the contract. These are represented or stated in the form of input to be
given to the system, the operation performed and the output expected. They are basically the
requirements stated by the user which one can see directly in the final product, unlike the non-
functional requirements.

Number of Modules
After careful analysis the system has been identified to have the following modules:

1. Administrator module
2. User(Traveler) module
3. Guest user

1. ADMINISTRATOR MODULE:

This module provides administrator related functionality. Administrator manages all information
and has access rights to add, delete, edit and view the data related to places, travels, routes,
bookings, Enquiries etc.

Packages—Admin will create the packages and Manage the packages (Create, Update, delete)

Users- Admin views all Information of all users.

Booking- Admin will responsible for manage booking. Admin can confirm and cancel a booking
of traveler.

Page | 9
Manage issues/ Complaints—Admin can take action on any issue /complaint rose by user
(traveller) and Put remark.

Manage Enquiries—admin can manage all enquiries raised by users (traveller).

Manage pages- Admin can edit the info of all pages that are display on the website,

Dashboard- Here admin can view all count of booking, issues, Enquiries and Users.

Change password--- Admin can change own password.

2. USER (TRAVELLER) MODULE:

Signup- User can register you for booking.

Sign in- Here user can login with valid username and password.

Forgot Password—User can recover/change their own password.

My Profile- user can update own profile.

Tour history-After login user can book any tour that will show in Tour history. User can cancel
their booking before 24 hours of travelling.

Change Password---- User can generate their own Password.

Write-use—here user can raise any issue related to booking, Cancelation etc.

3. Guest MODULE:

Guest user can visit the website and view the all content of website. Guest user cans also Enquiry.

Page | 10
2.10 Hardware Configuration

RAM 512 MB
Hard disk 10 GB

Processor 1.0 GHz

2.11 Software Configuration

In software engineering, software configuration management (SCM) is a process to systematically


manage, organize, and control the changes in the documents, codes, and other entities during the
Software Development Life Cycle.

Client Side:

Web Browser
Google Chrome or any compatible browser
Operating System

Windows or any equivalent OS

Server Side:

Web Server APACHE v2.4.46

Frontend HTML, CSS, JAVASCRIPT,AJAX

Backend PHP v8.0.0, MYSQL v5.7.0

Editor Visual studio code

Web Browser Crome, Internet explorer or any

Operating Windows(Vista/7 or above)

Page | 11
USE OF PHP

PHP is a general-purpose scripting language that is especially suited for web development. PHP
generally runs on a web server, taking PHP code as its input and creating web pages as output. It
can also be used for command-line scripting and client-side GUI applications. PHP can be
deployed on most web servers, many operating systems and platforms, and can be used with many
relational database management systems. It is available free of charge, and the PHP Group
provides the complete source code for users to build, customize and extend for their own use.

USE OF MYSQL

What is a database? Quite simply, it’s an organized collection of data. A database management
system (DBMS) such as Access, FileMaker Pro, Oracle or SQL Server provides you with the
software tools you need to organize that data in a flexible manner. It includes facilities to add,
modify or delete data from the database, ask questions (or queries) about the data stored in the
database and produce reports summarizing selected contents.

MySQL is a multithreaded, multi-user SQL database management system (DBMS). The basic
program runs as a server providing multi-user access to a number of databases. Originally financed
in a similar fashion to the Jobs model, MySQL was owned and sponsored by a single for-profit
firm, the Swedish company MySQLAB now a subsidiary of Sun Microsystem , which holds the
copyright to most of the codebase. The project’s source code is available under terms of the GNU
General Public License, as well as under a variety of proprietary agreements.

MySQL is a database. The data in MySQL is stored in database objects called tables. A table is a
collection of related data entries and it consists of columns and rows. Databases are useful when
storing information categorically. A company may have a database with the following tables:
“Employees”, “Products”, “Customers” and “Orders”.

Page | 12
USE OF HTML

Hypertext Markup Language, or HTML, is a programming language used to describe the structure
of information on a webpage. Together, HTML, CSS, and JavaScript make up the
essential building blocks of websites worldwide, with CSS controlling a page’s appearance
and JavaScript programming its functionality. You can think of the HTML document as providing
the bones of a webpage, while CSS provides the skin, and JavaScript provides the brains.

A webpage can contain headings, paragraphs, images, videos, and many other types of data. Front-
end developers use the HTML element to specify what kind of information each item on a
webpage contains — for instance, the “p” HTML element indicates a paragraph. Developers also
write HTML language code to specify how different items relate to one another in
the page’s overall structure or document structure.

Every website you open in your web browser, from social networks to music services, uses HTML.
A look under the hood of any website would reveal a basic HTML code page, written with an
HTML structure editor, providing structure for all the page’s components, including its header
element, footer element, main content, and other inline elements.

Laying Out Pages with CSS

In Macromedia Dreamweaver 8, you can use CSS styles to lay out your page. You can either
insert div tags manually or apply CSS positioning styles to them, or you can use Dreamweaver
layers to create your layout. A layer in Dreamweaver is an HTML page element—specifically, a
div tag, or any other tag—that has an absolute position assigned to it. Whether you use CSS,
tables, or frames to lay out your pages, Dreamweaver has rulers and grids for visual guidance in
your layout. Dreamweaver also has a tracing image feature, which you can use to re-create a page
design that was created in a graphics application.

USE of phpMAdmin
Page | 13
PhpMyAdmin is an open source tool written in PHP intended to handle the administration of
MySQL over the World Wide Web. PhpMyAdmin supports a wide range of operations with
MySQL. Currently it can create and drop databases, create/drop/alter tables, and delete/edit/add
fields, execute any SQL statement, manage users and permissions, and manage keys on fields.
While you still have the ability to directly execute any SQL statement. PhpMyAdmin can manage
a whole MySQL server (needs a super-user) as well as a single database. To accomplish the latter
you’ll need a properly set up MySQL user who can read/write only the desired database. It’s up
to you to look up the appropriate part in the MySQL manual.

USE of Apache Web server


Often referred to as simply Apache, a public-domain open source Web server developed by a
loosely-knit group of programmers. The first version of Apache, based on the NCSA http Web
server, was developed in 1995. Core development of the Apache Web server is performed by a
group of about 20 volunteer programmers, called the Apache Group. However, because the source
code is freely available, anyone can adapt the server for specific needs, and there is a large public
library of Apache add-ons. In many respects, development of Apache is similar to development of
the Linux operating system.

The original version of Apache was written for UNIX, but there are now versions that run under
OS/ 2, Windows and other platforms. The name is a tribute to the Native American Apache Indian
tribe, a tribe well known for its endurance and skill in warfare. A common misunderstanding is
that it was called Apache because it was developed from existing NCSA code plus various patches,
hence the name a patchy server, or Apache server.

Apache consistently rates as the world’s most popular Web server according to analyst surveys.
Apache has attracted so much interest because it is full-featured, reliable, and free. Originally
developed for UNIX™ operating systems, Apache has been updated to run on Windows, OS/2,
and other platforms. One aspect of Apache that some site administrators find confusing —
especially those unfamiliar with UNIX-style software — is its configuration scheme. Instead of

Page | 14
using a point-and-click graphic user interface (GUI) or Windows Registry keys as most other

USE of XAMMP CONTROL PANEL

XAMPP Control Panel is a management tool that offers to supervise the actions of individual
components of XAMPP. It controls each component of the text server. The user can initiate or halt
discrete modules by operating upon the buttons below the "Actions" column. Control panels
efficiently manage all the components of the XAMPP package.

One can use the Control Panel to determine whether Apache, MySQL, Mercury, etc. are currently
in function or not. The development environment can only be used when Apache and MySQL are
in running state. The XAMPP Control Panel icon exists in the system tray. It is an orange-colored
icon that is visible when Panel is in running state

Use of Razorpay Payment Gateway

Razorpay is the in-between mode of payment which transacts the payments to the other banks
which are connected and available in all kinds of banks, credit, and debit, wallets (Netflix, Airtel,
Swiggy, and others).

Razorpay subscription also brings with it the useful feature of UPI autopsy, nowadays transactions
via cards are decreasing day by day due to digital payments. It helps in registered business also
where payments get easier for others from different apps. After the pandemic and big break from
the direct interaction, people have started to get more comfortable in digital payments where all
the business has got a lot of upstream.

This platform of digital payment makes a link between many other apps in which one of the levels
is crossed by Razorpay. Apart from the payment gateway, it provides more other benefits to the
customers like Razorpay provides where it provides the merchant to automate bank transfer,
invoices, and the account for the payroll.

Page | 15
Razorpay capital provides a loan for the business to avoid your cash flow. It benefits all the small
business and cashier flow for the people. It helps businesses to make their market place and make
available working capital rolls. Now if we come how does it work?

How does Razorpay works?

Razorpay makes payment convenient for others through different transaction mode if we discuss
in normal terms as the Razorpay app first transact the money from the authorised bank with all
details after that it provides that amount to the digital marketing app so when the user starts online
payment the marketing app get the money from the Razorpay app this how digitally it makes flow.
Now Razorpay provides service of loans also for small businesses to grow and lend money to
avoid the cashier flow, they help in small business-like freelancers, entrepreneurs, enterprises and
other businesses.

Mostly this Razorpay is freely used in India and companies like India Mart intermesh limited,
Ample technologies, Brio technologies private limited, Savari car rentals Private limited. While
using a Razorpay account a person can receive transactions from the customers online to activate
your Razorpay account. Following are the processes that have to be followed to activate your
account in Razorpay. It just takes a few minutes from your clock to enjoy your Hassle free
transaction.

Page | 16
2.12 DFD

Introduction to DFD

A Data Flow Diagram (DFD) is a traditional visual representation of the information flows within
a system. A neat and clear DFD can depict the right amount of the system requirement graphically.
It can be manual, automated, or a combination of both. It shows how data centers and leaves the
system, what changes the information, and where data is stored. The objective of a DFD is to show
the scope and boundaries of a system as a whole. It may be used as a communication tool between
a system analyst and any person who plays a part in the order that acts as a starting point for
redesigning a system. The DFD is also called as a data flow graph or bubble chart.

Levels in Data Flow Diagrams (DFD)

The DFD may be used to perform a system or software at any level of abstraction. In fact, DFDs
may be partitioned into levels that represent increasing information flow and functional detail.
Levels in DFD are numbered 0, 1, 2 or beyond. Here, we will see primarily three levels in the data
flow diagram, which are: 0-level DFD, 1-level DFD, and 2-level DFD.

SYMBOLS

Used to connect process to each other to


source or sinks, the arrow indicates
PROCESS
direction of data flow.

DATA Performs some transformation of input


data to yield output data.
FLOW
A source of system inputs or sinks of
system outputs.
ENTITY
A reposition of data which stores
database.
DATABASE

Page | 17
Page | 18
DFD LEVEL – 1

Page | 19
DFD LEVEL-1 USER

Page | 20
DFD LEVEL-2

Page | 21
DFD Level 2 Manage
Enquiry(3.0) Admin

Page | 22
DFD Level 2 Manage
Dashboard(2.0) Admin

Page | 23
DFD LEVEL – 2 BOOK Ticket (3.0)
User

Page | 24
DFD Level 2 Testimonials (5.0)
User

Page | 25
CHAPTER 3
DESIGN
Software design is a mechanism to transform user requirements into some suitable form, which
helps the programmer in software coding and implementation. It deals with representing the
client's requirement, as described in SRS (Software Requirement Specification) document, into a
form, i.e., easily implementable using programming language.

The software design phase is the first step in SDLC (Software Design Life Cycle), which moves
the concentration from the problem domain to the solution domain. In software design, we consider
the system to be a set of components or modules with clearly defined behaviors & boundaries.

Objectives of Software Design:

1. Correctness: Software design should be correct as per requirement.


2. Completeness: The design should have all components like data structures, modules, and
external interfaces, etc.
3. Efficiency: Resources should be used efficiently by the program.
4. Flexibility: Able to modify on changing needs.
5. Consistency: There should not be any inconsistency in the design.
6. Maintainability: The design should be so simple so that it can be easily maintainable by
other designers.

3.1 An Introduction to the methods and techniques adopted


Within the design

SDLC Methodology:

This document play a vital role in the development of life cycle (SDLC) as it describes the
complete requirement of the system. It means for use by developers and will be the basic during
testing phase. Any changes made to the requirements in the future will have to go through formal
change approval process.

Page | 26
SPIRAL MODEL was defined by Barry Boehm in his 1988 article, “A spiral Model of Software
Development and Enhancement. This model was not the first model to discuss iterative
development, but it was the first model to explain why the iteration models.

As originally envisioned, the iterations were typically 6 months to 2 years long. Each phase starts
with a design goal and ends with a client reviewing the progress thus far. Analysis and engineering
efforts are applied at each phase of the project, with an eye toward the end goal of the project.

The steps for Spiral Model can be generalized as follows:

 The new system requirements are defined in as much details as possible. This usually involves
interviewing a number of users representing all the external or internal users and other aspects of
the existing system.

 A preliminary design is created for the new system.

 A first prototype of the new system is constructed from the preliminary design. This is usually
a scaled-down system, and represents an approximation of the characteristics of the final product.

 A second prototype is evolved by a fourfold procedure:

1. Evaluating the first prototype in terms of its strengths, weakness, and risks.

2. Defining the requirements of the second prototype.

3. Planning and designing the second prototype.

4. Constructing and testing the second prototype.

 At the customer option, the entire project can be aborted if the risk is deemed too great. Risk
factors might involve development cost overruns, operating-cost miscalculation, or any other
factor that could, in the customer’s judgment, result in a less-than-satisfactory final product.

 The existing prototype is evaluated in the same manner as was the previous prototype, and if
necessary, another prototype is developed from it according to the fourfold procedure outlined
above.

Page | 27
 The preceding steps are iterated until the customer is satisfied that the refined prototype
represents the final product desired.

 The final system is constructed, based on the refined prototype.

 The f inal system is thoroughly evaluated and tested. Routine maintenance is carried on a
continuing basis to prevent large scale failures and to minimize down time.

The following diagram shows how a spiral model acts like:

Page | 28
3.2 Advantages:
 Estimates(i.e. budget, schedule etc .) become more relistic as work progresses, because important
issues discoved earlier.

 It is more able to cope with the changes that are software development generally entails.

Software engineers can get their hands in and start woring on the core of a project earlier

3.3 Performance Requirements:

Performance is measured in terms of the output provided by the application. Requirement


specification plays an important part in the analysis of a system. Only when the requirement
specifications are properly given, it is possible to design a system, which will fit into required
environment. It rests largely with the users of the existing system to give the requirement
specifications because they are the people who finally use the system. This is because the
requirements have to be known during the initial stages so that the system can be designed
according to those requirements. It is very difficult to change the system once it has been designed
and on the other hand designing a system, which does not cater to the requirements of the user, is
of no use.

The requirement specification for any system can be broadly stated as given below:

 The system should be able to interface with the existing system


 The system should be accurate
 The system should be better than the existing system
The existing system is completely dependent on the user to perform all the duties.

3.4 IMPLEMETATION

Some of the difficulty we faced was in trying to make the desired functions work. At first the
coding seemed a little complex, so we went back to the client for clarification and we were able

Page | 29
to get a more detailed description of the functions. After studying the IDE we wanted to use,
the coding became less complex and we were able to figure out how to go about it.

3.5 Technical issues encountered

Some of the technical issues and questions we encountered were with the following:

 How the program saves data


 How errors are detected and the error messages that should appear
 What happens when we try overwriting data that already exists on the list
 Is the software user friendly?
 Is the Graphic User Interface elegant?
 The platform the software should run on

We were able to answer and resolve these issues after meetings and discussions with the entire
group.

3.6 Software development practices adopted


 We used Extreme Programming to build the software.
 We adopted the whole team approach in which the client was involved throughout the
software development.
 We used simple designs which were as simple as the current functionality allowed by the
system. We first began with very simple design which is incrementally improved.
 Continuous integration was also used where each code was compiled run and tested before
adding to the system after which the system must meet all the criteria
 The most important practice adopted was pair programming. We paired up with members
of the team and each team met at various times to code. After each pair coded, they made
sure they tested and compiled it, then added it to the main system which they sent to the
other group members.

Page | 30
3.8 Design Introduction:
Design is the first step in the development phase for any techniques and principles for the
purpose of defining a device, a process or system in sufficient detail to permit its physical
realization.
Once the software requirements have been analyzed and specified the software design involves
three technical activities - design, coding, implementation and testing that are required to build
and verify the software.
The design activities are of main importance in this phase, because in this activity, decisions
ultimately affecting the success of the software implementation and its ease of maintenance are
made. These decisions have the final bearing upon reliability and maintainability of the system.
Design is the only way to accurately translate the customer’s requirements into finished software
or a system.
Design is the place where quality is fostered in development. Software design is a process through
which requirements are translated into a representation of software. Software design is
conducted in two steps. Preliminary design is concerned with the transformation of requirements
into data. A coherent set of roles that users of use cases play when interacting with the use
`cases'. Use case: A description of sequence of actions, including variants, that a system performs
that yields an observable result of value of an actor.

3.9 UML Diagram:


UML stands for Unified Modeling Language. UML is a language for specifying, visualizing and
documenting the system. This is the step while developing any product after analysis. The goal
from this is to produce a model of the entities involved in the project which later need to be built.
The representation of the entities that are to be used in the product being developed need to be
designed.
USECASE DIAGRAMS:

Use case diagrams model behavior within a system and helps the developers understand of what
the user require. The stick man represents what’s called an actor.
Use case diagram can be useful for getting an overall view of the system and clarifying that can
do and more importantly what they can’t do.

Page | 31
UML Diagram (Admin)

UML Diagram (User)

Page | 32
3.10 ER Diagram:
The Entity-Relationship (ER) model was originally proposed by Peter in 1976 [Chen76] as a
way to unify the network and relational database views. Simply stated the ER model is a
conceptual data model that views the real world as entities and relationships. A basic component
of the model is the Entity- Relationship diagram which is used to visually represent data objects.
Since Chen wrote his paper the model has been extended and today it is commonly used for
database design for the database designer, the utility of the ER model is:

 It maps well to the relational model. The constructs used in the ER model can easily be
transformed into relational tables.
 It is simple and easy to understand with a minimum of training. Therefore, the model can
be used by the database designer to communicate the design to the end user.
 In addition, the model can be used as a design plan by the database developer to implement
a data model in specific database management software.

ER Notation

There is no standard for representing data objects in ER diagrams. Each modeling methodology
uses its own notation. The original notation used by Chen is widely used in academics texts and
journals but rarely seen in either CASE tools or publications by non-academics. Today, there are
a number of notations used; among the more common are Bachman, crow's foot, and IDEFIX.

All notational styles represent entities as rectangular boxes and relationships as lines connecting
boxes. Each style uses a special set of symbols to represent the cardinality of a connection. The
notation used in this document is from Martin. The symbols used for the basic ER constructs
are:

 Entities are represented by labeled rectangles. The label is the name of the entity. Entity

names should be singular nouns.

 Relationships are represented by a solid line connecting two entities. The name of the

Page | 33
relationship is written above the line. Relationship names should be verbs

 Attributes, when included, are listed inside the entity rectangle. Attributes which are

identifiers are underlined. Attribute names should be singular nouns.

 Cardinality of many is represented by a line ending in a crow's foot. If the crow's foot is

omitted, the cardinality is one.

 Existence is represented by placing a circle or a perpendicular bar on the line. Mandatory


existence Shown by the bar (looks like a 1) next to the entity for an instance is required.
Optional existence is shown by placing circle next to the entity that is optional.

Shown by the bar (looks like a 1) next to the entity for an instance is required. Optional existence is
shown by placing a circle next to the entity that is optional.

Page | 34
ER-Notations:

Symbols Purpose
Represents Entity sets.

Represent attributes.

Represent Relationship Sets.

Line represents flow

Structured analysis is a set of tools and techniques that the analyst.


To develop a new kind of a system:
The traditional approach focuses on the cost benefit and feasibility analysis, Project management,
and hardware and software selection a personal considerations.

Page | 35
Page | 36
3.11 DATABASE DESIGN

The data in the system has to be stored and retrieved from database. Designing the database is part
of system design. Data elements and data structures to be stored have been identified at analysis
stage. They are structured and put together to design the data storage and retrieval system.

A database is a collection of interrelated data stored with minimum redundancy to serve many
users quickly and efficiently. The general objective is to make database access easy, quick,
inexpensive and flexible for the user. Relationships are established between the data items and
unnecessary data items are removed. Normalization is done to get an internal consistency of data
and to have minimum redundancy and maximum stability. This ensures minimizing data storage
required, minimizing chances of data inconsistencies and optimizing for updates. The MySQL
database has been chosen for developing the relevant databases.

Database tables and Structure

Admin Table: This table stores the admin login details.

tbluser table: This table store the user personal and login details.

Page | 37
tbltourpackages table: This table store the tour package full details.

tblbooking table: This table store the user booking details.

Page | 38
tblissues table: This table store the user issue details raised by the user.

tblenquiry table: This table store the user enquiry details.

tblpages table: This table store the website pages details.

Page | 39
Class Diagram

The class diagram shows a set of classes, interfaces, collaborations and their relationships .

Page | 40
Architecture flow :(N-Tier)

N-Tier Applications can easily implement the concepts of Distributed Application Design and
Architecture. The N-Tier Applications provide strategic benefits to Enterprise Solutions. While 2-
tier, client-server can help us create quick and easy solutions and may be used for Rapid
Prototyping, they can easily become maintenance and security night mare The N-tier Applications
provide specific advantages that are vital to the business continuity of the enterprise. Typical
features of a real life n-tier may include the following:

 Security

 Availability and Scalability

 Manageability

 Easy Maintenance

 Data Abstraction

The above mentioned points are some of the key design goals of a successful n-tier application
that intends to provide a good Business Solution.

Definition:

Simply stated, an n-tier application helps us distribute the overall functionality into various tiers
or layers:

 Presentation Layer

 Business Logic layer

 Data Link Layer

 Database/Data Store

Each layer can be developed independently of the other provided that it adheres to the standards
and communicates with the other layers as per the specifications. This is the one of the biggest
advantages of the n-tier application. Each layer can potentially treat the other layer as a ‘Block-

Page | 41
Box’. In other words, each layer does not care how other layer processes the data as long as it
sends the right data in a correct format.

Presentation Layer

Request Response
Business Logic
Layer

Data Link

Layer

Data Base

Fig: N-Tier Architecture

Page | 42
1. Presentation Layer:

Also called as client layer, comprises of components that are dedicated to presenting the data to
the user. For example: Windows/Web Forms and buttons, edit boxes, Text boxes, labels, grids,
etc.

2. Business Logic Layer:

This layer encapsulates the Business rules or the business logic of the encapsulations. To have a
separate layer for business logic is of a great advantage. This is because any changes in Business
Rules can be easily handled in this layer. As long as the interface between the layers remains the
same, any changes to the functionality/processing logic in this layer can be made without
impacting the others. A lot of client-server apps failed to implement successfully as changing the
business logic was a painful process.

3. Data Link Layer:

This layer comprises of components that help in accessing the Database. If used in the right way,
this layer provides a level of abstraction for the database structures. Simply put changes made to
the database, tables, etc. do not affect the rest of the application because of the Data Access layer.
The different application layers send the data requests to this layer and receive the response from
this layer.

4. Database Layer:

This layer comprises of the Database Components such as DB Files, Tables, Views, etc. The
Actual database could be created using SQL Server, Oracle, Flat files, etc. In an n-tier application,
the entire application can be implemented in such a way that it is independent of the actual
Database. For instance, you could change the Database Location with minimal changes to Data
Access Layer. The rest of the Application should remain unaffected.

Page | 43
CHAPTER 4
CODING

The coding is the process of transforming the design of a system into a computer language format.
This coding phase of software development is concerned with software translating design
specification into the source code. It is necessary to write source code & internal documentation
so that conformance of the code to its specification can be easily verified.

Coding is done by the coder or programmers who are independent people than the designer. The
goal is not to reduce the effort and cost of the coding phase, but to cut to the cost of a later stage.
The cost of testing and maintenance can be significantly reduced with efficient coding.

4.1 Admin side

1. Index.php

<?php

session_start();

include('includes/config.php');

if(isset($_POST['login']))

$uname=$_POST['username'];

$password=md5($_POST['password']);

Page | 44
$sql ="SELECT UserName,Password FROM admin WHERE UserName=:uname and
Password=:password";

$query= $dbh -> prepare($sql);

$query-> bindParam(':uname', $uname, PDO::PARAM_STR);

$query-> bindParam(':password', $password, PDO::PARAM_STR);

$query-> execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

if($query->rowCount() > 0)

$_SESSION['alogin']=$_POST['username'];

echo "<script type='text/javascript'> document.location = 'dashboard.php'; </script>";

} else{

echo "<script>alert('Invalid Details');</script>";

}}?>

<!DOCTYPE HTML>

<html>

<head>

<title>TMS | Admin Sign in</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="application/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<!-- Bootstrap Core CSS -->

<link href="css/bootstrap.min.css" rel='stylesheet' type='text/css' />

<!-- Custom CSS -->

Page | 45
<link href="css/style.css" rel='stylesheet' type='text/css' />

<link rel="stylesheet" href="css/morris.css" type="text/css"/>

<!-- Graph CSS -->

<link href="css/font-awesome.css" rel="stylesheet">

<link rel="stylesheet" href="css/jquery-ui.css">

<!-- jQuery -->

<script src="js/jquery-2.1.4.min.js"></script>

<!-- //jQuery -->

<link href='//fonts.googleapis.com/css?family=Roboto:700,500,300,100italic,100,400'
rel='stylesheet' type='text/css'/>

<link href='//fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet'


type='text/css'>

<!-- lined-icons -->

<link rel="stylesheet" href="css/icon-font.min.css" type='text/css' />

<!-- //lined-icons -->

</head>

<body>

<div class="main-wthree">

<div class="container">

<div class="sin-w3-agile">

<h2>Sign In</h2>

<form method="post">

<div class="username">

<span class="username">Username:</span>

<input type="text" name="username" class="name" placeholder="" required=""><div


class="clearfix"></div>

Page | 46
</div>

<div class="password-agileits">

<span class="username">Password:</span>

<input type="password" name="password" class="password" placeholder="" required="">

<div class="clearfix"></div>

</div>

<div class="login-w3">

<input type="submit" class="login" name="login" value="Sign In">

</div>

<div class="clearfix"></div></form>

<div class="back">

<a href="../index.php">Back to home</a>

</div>

</div>

</div>

</div>

</body>

</html>

2. Dahboard.php

<?php

session_start();

include('includes/config.php');

if(strlen($_SESSION['alogin'])==0)

Page | 47
{

header('location:index.php');

else{

?>

<!DOCTYPE HTML>

<html>

<head>

<title>TMS | Admin Dashboard</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="application/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<!-- Bootstrap Core CSS -->

<link href="css/bootstrap.min.css" rel='stylesheet' type='text/css' />

<!-- Custom CSS -->

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link rel="stylesheet" href="css/morris.css" type="text/css"/>

<!-- Graph CSS -->

<link href="css/font-awesome.css" rel="stylesheet">

<!-- jQuery -->

<script src="js/jquery-2.1.4.min.js"></script>

<!-- //jQuery -->

<link href='//fonts.googleapis.com/css?family=Roboto:700,500,300,100italic,100,400'
rel='stylesheet' type='text/css'/>

Page | 48
<link href='//fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet'
type='text/css'>

<!-- lined-icons -->

<link rel="stylesheet" href="css/icon-font.min.css" type='text/css' />

<!-- //lined-icons -->

</head>

<body>

<div class="page-container">

<!--/content-inner-->

<div class="left-content">

<div class="mother-grid-inner">

<!--header start here-->

<?php include('includes/header.php');?>

<!--header end here-->

<ol class="breadcrumb">

<li class="breadcrumb-item"><a href="index.html">Home</a> <i class="fa fa-angle-


right"></i></li>

</ol>

<!--four-grids here-->

<div class="four-grids">

<div class="col-md-3 four-grid">

<div class="four-agileits">

<div class="icon"><i class="glyphicon glyphicon-user" aria-hidden="true"></i>

</div>

<div class="four-text">

<h3>User</h3>

Page | 49
<?php $sql = "SELECT id from tblusers";

$query = $dbh -> prepare($sql);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=$query->rowCount();?>

<h4> <?php echo htmlentities($cnt);?>

</h4>

</div>

</div>

</div>

<div class="col-md-3 four-grid">

<div class="four-agileinfo">

<div class="icon">

<i class="glyphicon glyphicon-list-alt" aria-hidden="true"></i>

</div>

<div class="four-text">

<h3>Bookings</h3>

<?php $sql1 = "SELECT BookingId from tblbooking";

$query1 = $dbh -> prepare($sql1);

$query1->execute();

$results1=$query1->fetchAll(PDO::FETCH_OBJ);

$cnt1=$query1->rowCount();

?>

<h4><?php echo htmlentities($cnt1);?></h4>

</div>

Page | 50
</div>

</div>

<div class="col-md-3 four-grid">

<div class="four-w3ls">

<div class="icon">

<i class="glyphicon glyphicon-folder-open" aria-hidden="true">

</i>

</div>

<div class="four-text">

<h3>Enquiries</h3>

<?php $sql2 = "SELECT id from tblenquiry";

$query2= $dbh -> prepare($sql2);

$query2->execute();

$results2=$query2->fetchAll(PDO::FETCH_OBJ);

$cnt2=$query2->rowCount()?>

<h4><?php echo htmlentities($cnt2);?></h4>

</div>

</div>

</div>

<div class="col-md-3 four-grid">

<div class="four-wthree">

<div class="icon">

<i class="glyphicon glyphicon-briefcase" aria-hidden="true"></i></div>

<div class="four-text">

<h3>Toatal packages</h3>

Page | 51
<?php $sql3 = "SELECT PackageId from tbltourpackages";

$query3= $dbh -> prepare($sql3);

$query3->execute();

$results3=$query3->fetchAll(PDO::FETCH_OBJ);

$cnt3=$query3->rowCount();?>

<h4><?php echo htmlentities($cnt3);?></h4>

</div>

</div>

</div>

<div class="clearfix"></div>

</div>

<div class="four-grids">

<div class="col-md-3 four-grid"><div class="four-w3ls">

<div class="icon"><i class="glyphicon glyphicon-folder-open" aria-hidden="true"></i></div>

<div class="four-text">

<h3>Issues Riaised</h3>

<?php $sql5 = "SELECT id from tblissues";

$query5= $dbh -> prepare($sql5);

$query5->execute();

$results5=$query5->fetchAll(PDO::FETCH_OBJ);

$cnt5=$query5->rowCount();?>

<h4><?php echo htmlentities($cnt5);?></h4>

</div>

</div>

</div>

Page | 52
<div class="clearfix"></div>

</div>

<!--//four-grids here-->

<div class="inner-block">

</div>

<!--inner block end here-->

<!--copy rights start here-->

<?php include('includes/footer.php');?>

</div>

</div>

<!--/sidebar-menu-->

<?php include('includes/sidebarmenu.php');?>

<div class="clearfix"></div>

</div>

<script>

var toggle = true;

$(".sidebar-icon").click(function() {

if (toggle)

$(".page-container").addClass("sidebar-collapsed").removeClass("sidebar-collapsed-back");

$("#menu span").css({"position":"absolute"});

else

{$(".page-container").removeClass("sidebar-collapsed").addClass("sidebar-collapsed-back");

setTimeout(function() {

Page | 53
$("#menu span").css({"position":"relative"});

}, 400);

toggle = !toggle

});

</script>

<!--js -->

<script src="js/jquery.nicescroll.js"></script>

<script src="js/scripts.js"></script>

<!-- Bootstrap Core JavaScript -->

<script src="js/bootstrap.min.js"></script>

<!-- /Bootstrap Core JavaScript -->

<!-- morris JavaScript -->

<script src="js/raphael-min.js"></script>

<script src="js/morris.js"></script>

<script>

$(document).ready(function() {

//BOX BUTTON SHOW AND CLOSE

jQuery('.small-graph-box').hover(function() {

jQuery(this).find('.box-button').fadeIn('fast');

}, function() {

jQuery(this).find('.box-button').fadeOut('fast');

});

jQuery('.small-graph-box .box-close').click(function() {

jQuery(this).closest('.small-graph-box').fadeOut(200);

Page | 54
return false;

});

//CHARTS

function gd(year, day, month) {

return new Date(year, month - 1, day).getTime();

graphArea2 = Morris.Area({

element: 'hero-area',

padding: 10,

behaveLikeLine: true,

gridEnabled: false,

gridLineColor: '#dddddd',

axes: true,

resize: true,

smooth:true,

pointSize: 0,

lineWidth: 0,

fillOpacity:0.85,

data: [

{period: '2014 Q1', iphone: 2668, ipad: null, itouch: 2649},

{period: '2014 Q2', iphone: 15780, ipad: 13799, itouch: 12051},

{period: '2014 Q3', iphone: 12920, ipad: 10975, itouch: 9910},

{period: '2014 Q4', iphone: 8770, ipad: 6600, itouch: 6695},

{period: '2015 Q1', iphone: 10820, ipad: 10924, itouch: 12300},

{period: '2015 Q2', iphone: 9680, ipad: 9010, itouch: 7891},

Page | 55
{period: '2015 Q3', iphone: 4830, ipad: 3805, itouch: 1598},

{period: '2015 Q4', iphone: 15083, ipad: 8977, itouch: 5185},

{period: '2016 Q1', iphone: 10697, ipad: 4470, itouch: 2038},

{period: '2016 Q2', iphone: 8442, ipad: 5723, itouch: 1801}

],

lineColors:['#ff4a43','#a2d200','#22beef'],

xkey: 'period',

redraw: true,

ykeys: ['iphone', 'ipad', 'itouch'],

labels: ['All Visitors', 'Returning Visitors', 'Unique Visitors'],

pointSize: 2,

hideHover: 'auto',

resize: true

}});

</script>

</body>

</html>

<?php } ?>

3. Create Package.php

<?php

session_start();

error_reporting(0);

include('includes/config.php');

Page | 56
if(strlen($_SESSION['alogin'])==0)

header('location:index.php');

else{

if(isset($_POST['submit']))

$pname=$_POST['packagename'];

$ptype=$_POST['packagetype'];

$plocation=$_POST['packagelocation'];

$pprice=$_POST['packageprice'];

$pfeatures=$_POST['packagefeatures'];

$pdetails=$_POST['packagedetails'];

$pimage=$_FILES["packageimage"]["name"];

move_uploaded_file($_FILES["packageimage"]["tmp_name"],"pacakgeimages/".$_FILES["pac
kageimage"]["name"]);

$sql="INSERT INTO
tbltourpackages(PackageName,PackageType,PackageLocation,PackagePrice,PackageFetures,Pa
ckageDetails,PackageImage)
VALUES(:pname,:ptype,:plocation,:pprice,:pfeatures,:pdetails,:pimage)";

$query = $dbh->prepare($sql);

$query->bindParam(':pname',$pname,PDO::PARAM_STR);

$query->bindParam(':ptype',$ptype,PDO::PARAM_STR);

$query->bindParam(':plocation',$plocation,PDO::PARAM_STR);

$query->bindParam(':pprice',$pprice,PDO::PARAM_STR);

$query->bindParam(':pfeatures',$pfeatures,PDO::PARAM_STR);

$query->bindParam(':pdetails',$pdetails,PDO::PARAM_STR);

Page | 57
$query->bindParam(':pimage',$pimage,PDO::PARAM_STR);

$query->execute();

$lastInsertId = $dbh->lastInsertId();

if($lastInsertId)

$msg="Package Created Successfully";

else

$error="Something went wrong. Please try again";

?>

<!DOCTYPE HTML>

<html>

<head>

<title>TMS | Admin Package Creation</title>

<script type="application/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<link href="css/bootstrap.min.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link rel="stylesheet" href="css/morris.css" type="text/css"/>

<link href="css/font-awesome.css" rel="stylesheet">

<script src="js/jquery-2.1.4.min.js"></script>

Page | 58
<link href='//fonts.googleapis.com/css?family=Roboto:700,500,300,100italic,100,400'
rel='stylesheet' type='text/css'/>

<link href='//fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet'


type='text/css'>

<link rel="stylesheet" href="css/icon-font.min.css" type='text/css' />

<style>

.errorWrap {

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #dd3d36;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

.succWrap{

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #5cb85c;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

</style>

</head>

<body>

Page | 59
<div class="page-container">

<!--/content-inner-->

<div class="left-content">

<div class="mother-grid-inner">

<!--header start here-->

<?php include('includes/header.php');?>

<div class="clearfix"> </div>

</div>

<!--heder end here-->

<ol class="breadcrumb">

<li class="breadcrumb-item"><a href="index.php">Home</a><i class="fa fa-angle-


right"></i>Create Package </li>

</ol>

<!--grid-->

<div class="grid-form">

<!---->

<div class="grid-form1">

<h3>Create Package</h3>

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo


htmlentities($error); ?> </div><?php }

else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?php echo


htmlentities($msg); ?> </div><?php }?>

<div class="tab-content">

<div class="tab-pane active" id="horizontal-form">

Page | 60
<form class="form-horizontal" name="package" method="post" enctype="multipart/form-data">

<div class="form-group">

<label for="focusedinput" class="col-sm-2 control-label">Package Name</label>

<div class="col-sm-8">

<input type="text" class="form-control1" name="packagename" id="packagename"


placeholder="Create Package" required>

</div>

</div>

<div class="form-group">

<label for="focusedinput" class="col-sm-2 control-label">Package Type</label>

<div class="col-sm-8">

<input type="text" class="form-control1" name="packagetype" id="packagetype" placeholder="


Package Type eg- Family Package / Couple Package" required>

</div>

</div>

<div class="form-group">

<label for="focusedinput" class="col-sm-2 control-label">Package Location</label>

<div class="col-sm-8">

<input type="text" class="form-control1" name="packagelocation" id="packagelocation"


placeholder=" Package Location" required>

</div>

</div>

<div class="form-group">

<label for="focusedinput" class="col-sm-2 control-label">Package Price in USD</label>

<div class="col-sm-8">

Page | 61
<input type="text" class="form-control1" name="packageprice" id="packageprice"
placeholder=" Package Price is USD" required>

</div>

</div>

<div class="form-group">

<label for="focusedinput" class="col-sm-2 control-label">Package Features</label>

<div class="col-sm-8">

<input type="text" class="form-control1" name="packagefeatures" id="packagefeatures"


placeholder="Package Features Eg-free Pickup-drop facility" required>

</div></div>

<div class="form-group">

<label for="focusedinput" class="col-sm-2 control-label">Package Details</label>

<div class="col-sm-8">

<textarea class="form-control" rows="5" cols="50" name="packagedetails" id="packagedetails"


placeholder="Package Details" required></textarea>

</div>

</div>

<div class="form-group">

<label for="focusedinput" class="col-sm-2 control-label">Package Image</label>

<div class="col-sm-8">

<input type="file" name="packageimage" id="packageimage" required>

</div>

</div>

<div class="row">

<div class="col-sm-8 col-sm-offset-2">

<button type="submit" name="submit" class="btn-primary btn">Create</button>

Page | 62
<button type="reset" class="btn-inverse btn">Reset</button>

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

</form>

<div class="panel-footer">

</div>

</form>

</div></div>

<!--//grid-->

<!-- script-for sticky-nav -->

<script>

$(document).ready(function() {

var navoffeset=$(".header-main").offset().top;

$(window).scroll(function(){

var scrollpos=$(window).scrollTop();

if(scrollpos >=navoffeset){

$(".header-main").addClass("fixed");

}else{

$(".header-main").removeClass("fixed");

}});

});

</script>

<!-- /script-for sticky-nav -->

<!--inner block start here-->

<div class="inner-block">

</div>

Page | 63
<!--inner block end here-->

<!--copy rights start here-->

<?php include('includes/footer.php');?>

<!--COPY rights end here-->

</div>

</div>

<!--//content-inner-->

<!--/sidebar-menu-->

<?php include('includes/sidebarmenu.php');?>

<div class="clearfix"></div>

</div>

<script>

var toggle = true;

$(".sidebar-icon").click(function() {

if (toggle)

$(".page-container").addClass("sidebar-collapsed").removeClass("sidebar-collapsed-back");

$("#menu span").css({"position":"absolute"});

}else{

$(".page-container").removeClass("sidebar-collapsed").addClass("sidebar-collapsed-back");

setTimeout(function() {

$("#menu span").css({"position":"relative"});

}, 400);

toggle = !toggle;

Page | 64
});

</script>

<!--js -->

<script src="js/jquery.nicescroll.js"></script>

<script src="js/scripts.js"></script>

<!-- Bootstrap Core JavaScript -->

<script src="js/bootstrap.min.js"></script>

<!-- /Bootstrap Core JavaScript -->

</body>

</html>

<?php } ?>

4. Changge Password.php

<?php

session_start();

error_reporting(0);

include('includes/config.php');

if(strlen($_SESSION['alogin'])==0)

header('location:index.php');

else{

// Code for change password

if(isset($_POST['submit']))

Page | 65
{

$password=md5($_POST['password']);

$newpassword=md5($_POST['newpassword']);

$username=$_SESSION['alogin'];

$sql ="SELECT Password FROM admin WHERE UserName=:username and


Password=:password";

$query= $dbh -> prepare($sql);

$query-> bindParam(':username', $username, PDO::PARAM_STR);

$query-> bindParam(':password', $password, PDO::PARAM_STR);

$query-> execute();

$results = $query -> fetchAll(PDO::FETCH_OBJ);

if($query -> rowCount() > 0)

$con="update admin set Password=:newpassword where UserName=:username";

$chngpwd1 = $dbh->prepare($con);

$chngpwd1-> bindParam(':username', $username, PDO::PARAM_STR);

$chngpwd1-> bindParam(':newpassword', $newpassword, PDO::PARAM_STR);

$chngpwd1->execute();

$msg="Your Password succesfully changed";

}else {

$error="Your current password is wrong";

}}?>

<!DOCTYPE HTML>

<html>

<head>

Page | 66
<title>TMS | Admin Change Password</title>

<script type="application/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<link href="css/bootstrap.min.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link rel="stylesheet" href="css/morris.css" type="text/css"/>

<link href="css/font-awesome.css" rel="stylesheet">

<script src="js/jquery-2.1.4.min.js"></script>

<link href='//fonts.googleapis.com/css?family=Roboto:700,500,300,100italic,100,400'
rel='stylesheet' type='text/css'/>

<link href='//fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet'


type='text/css'>

<link rel="stylesheet" href="css/icon-font.min.css" type='text/css' />

<script type="text/javascript">

function valid()

if(document.chngpwd.newpassword.value!= document.chngpwd.confirmpassword.value)

alert("New Password and Confirm Password Field do not match !!");

document.chngpwd.confirmpassword.focus();

return false;

return true;

</script>

<style>

Page | 67
.errorWrap {

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #dd3d36;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

.succWrap{

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #5cb85c;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

</style>

</head>

<body>

<div class="page-container">

<!--/content-inner-->

<div class="left-content">

<div class="mother-grid-inner">

<!--header start here-->

<?php include('includes/header.php');?>

Page | 68
<div class="clearfix"> </div>

</div>

<!--heder end here-->

<ol class="breadcrumb">

<li class="breadcrumb-item"><a href="dashboard.php">Home</a><i class="fa fa-angle-


right"></i>Change Password</li>

</ol>

<!--grid-->

<div class="grid-form">

<div class="grid-form1">

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo


htmlentities($error); ?> </div><?php }

else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?php echo


htmlentities($msg); ?> </div><?php }?>

<div class="panel-body">

<form name="chngpwd" method="post" class="form-horizontal" onSubmit="return valid();">

<div class="form-group">

<label class="col-md-2 control-label">Current Password</label>

<div class="col-md-8">

<div class="input-group">

<span class="input-group-addon">

<i class="fa fa-key"></i>

</span>

<input type="password" name="password" class="form-control1" id="exampleInputPassword1"


placeholder="Current Password" required="">

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

<div class="form-group">

Page | 69
<label class="col-md-2 control-label">New Password</label>

<div class="col-md-8">

<div class="input-group">

<span class="input-group-addon">

<i class="fa fa-key"></i>

</span>

<input type="password" class="form-control1" name="newpassword" id="newpassword"


placeholder="New Password" required="">

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

<div class="form-group">

<label class="col-md-2 control-label">Confirm Password</label>

<div class="col-md-8">

<div class="input-group">

<span class="input-group-addon">

<i class="fa fa-key"></i>

</span>

<input type="password" class="form-control1" name="confirmpassword"


id="confirmpassword" placeholder="Confrim Password" required="">

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

<div class="col-sm-8 col-sm-offset-2">

<button type="submit" name="submit" class="btn-primary btn">Submit</button>

<button type="reset" class="btn-inverse btn">Reset</button>

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

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

<!--//grid-->

<!-- script-for sticky-nav -->

Page | 70
<script>

$(document).ready(function() {

var navoffeset=$(".header-main").offset().top;

$(window).scroll(function(){

var scrollpos=$(window).scrollTop();

if(scrollpos >=navoffeset){

$(".header-main").addClass("fixed");

}else{

$(".header-main").removeClass("fixed");

}});});

</script>

<!-- /script-for sticky-nav --><!--inner block start here-->

<div class="inner-block">

</div>

<!--inner block end here-->

<!--copy rights start here-->

<?php include('includes/footer.php');?>

<!--COPY rights end here-->

</div></div>

<!--//content-inner-->

<!--/sidebar-menu-->

<?php include('includes/sidebarmenu.php');?>

<div class="clearfix"></div>

</div><script>

var toggle = true;

Page | 71
$(".sidebar-icon").click(function() {

if (toggle)

$(".page-container").addClass("sidebar-collapsed").removeClass("sidebar-collapsed-back");

$("#menu span").css({"position":"absolute"});

else

$(".page-container").removeClass("sidebar-collapsed").addClass("sidebar-collapsed-back");

setTimeout(function() {

$("#menu span").css({"position":"relative"});

}, 400);}

toggle = !toggle;

});

</script>

<script src="js/jquery.nicescroll.js"></script>

<script src="js/scripts.js"></script>

<script src="js/bootstrap.min.js"></script>

</body>

</html>

<?php } ?>

5. Change Image.php

<?php

Page | 72
session_start();

error_reporting(0);

include('includes/config.php');

if(strlen($_SESSION['alogin'])==0)

header('location:index.php');

else{

$imgid=intval($_GET['imgid']);

if(isset($_POST['submit']))

{$pimage=$_FILES["packageimage"]["name"];

move_uploaded_file($_FILES["packageimage"]["tmp_name"],"pacakgeimages/".$_FILES["pac
kageimage"]["name"]);

$sql="update TblTourPackages set PackageImage=:pimage where PackageId=:imgid";

$query = $dbh->prepare($sql);

$query->bindParam(':imgid',$imgid,PDO::PARAM_STR);

$query->bindParam(':pimage',$pimage,PDO::PARAM_STR);

$query->execute();

$msg="Package Created Successfully";

}?>

<!DOCTYPE HTML>

<html>

<head>

<title>TMS | Admin Package Creation</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

Page | 73
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="keywords" content="Pooled Responsive web template, Bootstrap Web Templates,


Flat Web Templates, Android Compatible web template,

Smartphone Compatible web template, free webdesigns for Nokia, Samsung, LG, SonyEricsson,
Motorola web design" />

<script type="application/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<link href="css/bootstrap.min.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link rel="stylesheet" href="css/morris.css" type="text/css"/>

<link href="css/font-awesome.css" rel="stylesheet">

<script src="js/jquery-2.1.4.min.js"></script>

<link href='//fonts.googleapis.com/css?family=Roboto:700,500,300,100italic,100,400'
rel='stylesheet' type='text/css'/>

<link href='//fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet'


type='text/css'>

<link rel="stylesheet" href="css/icon-font.min.css" type='text/css' />

<style>

.errorWrap {

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #dd3d36;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

Page | 74
.succWrap{

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #5cb85c;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

</style>

</head>

<body>

<div class="page-container">

<!--/content-inner-->

<div class="left-content">

<div class="mother-grid-inner">

<!--header start here-->

<?php include('includes/header.php');?>

<div class="clearfix"> </div>

</div>

<!--heder end here-->

<ol class="breadcrumb">

<li class="breadcrumb-item"><a href="index.html">Home</a><i class="fa fa-angle-


right"></i>Update Package Image </li>

</ol>

<!--grid-->

Page | 75
<div class="grid-form">

<!---->

<div class="grid-form1">

<h3>Update Package Image </h3>

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo


htmlentities($error); ?> </div><?php }

else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?php echo


htmlentities($msg); ?> </div><?php }?>

<div class="tab-content">

<div class="tab-pane active" id="horizontal-form">

<form class="form-horizontal" name="package" method="post" enctype="multipart/form-data">

<?php

$imgid=intval($_GET['imgid']);

$sql = "SELECT PackageImage from TblTourPackages where PackageId=:imgid";

$query = $dbh -> prepare($sql);

$query -> bindParam(':imgid', $imgid, PDO::PARAM_STR);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query->rowCount() > 0)

foreach($results as $result)

{?>

<div class="form-group">

<label for="focusedinput" class="col-sm-2 control-label"> Package Image </label>

<div class="col-sm-8">

Page | 76
<img src="pacakgeimages/<?php echo htmlentities($result->PackageImage);?>" width="200">

</div></div>

<div class="form-group">

<label for="focusedinput" class="col-sm-2 control-label">New Image</label>

<div class="col-sm-8">

<input type="file" name="packageimage" id="packageimage" required>

</div></div>

<?php }} ?>

<div class="row">

<div class="col-sm-8 col-sm-offset-2">

<button type="submit" name="submit" class="btn-primary btn">Update</button>

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

</form>

<div class="panel-footer">

</div></form>

</div></div>

<!--//grid-->

<!-- script-for sticky-nav -->

<script>

$(document).ready(function() {

var navoffeset=$(".header-main").offset().top;

$(window).scroll(function(){

var scrollpos=$(window).scrollTop();

if(scrollpos >=navoffeset){

$(".header-main").addClass("fixed");

Page | 77
}else{

$(".header-main").removeClass("fixed");

});

});

</script>

<!-- /script-for sticky-nav -->

<!--inner block start here-->

<div class="inner-block"></div>

<!--inner block end here-->

<!--copy rights start here-->

<?php include('includes/footer.php');?>

<!--COPY rights end here-->

</div></div>

<!--//content-inner-->

<!--/sidebar-menu-->

<?php include('includes/sidebarmenu.php');?>

<div class="clearfix"></div>

</div>

<script>

var toggle = true;

$(".sidebar-icon").click(function() {

if (toggle)

$(".page-container").addClass("sidebar-collapsed").removeClass("sidebar-collapsed-back");

Page | 78
$("#menu span").css({"position":"absolute"});

else

$(".page-container").removeClass("sidebar-collapsed").addClass("sidebar-collapsed-back");

setTimeout(function() {

$("#menu span").css({"position":"relative"});

}, 400);

}toggle = !toggle;

});

</script>

<!--js -->

<script src="js/jquery.nicescroll.js"></script>

<script src="js/scripts.js"></script>

<!-- Bootstrap Core JavaScript -->

<script src="js/bootstrap.min.js"></script>

<!-- /Bootstrap Core JavaScript -->

</body>

</html>

<?php } ?>

6. Manage Bookings.php

<?php

session_start();

Page | 79
error_reporting(0);

include('includes/config.php');

if(strlen($_SESSION['alogin'])==0)

header('location:index.php');

else{

// code for cancel

if(isset($_REQUEST['bkid']))

$bid=intval($_GET['bkid']);

$status=2;

$cancelby='a';

$sql = "UPDATE tblbooking SET status=:status,CancelledBy=:cancelby WHERE


BookingId=:bid";

$query = $dbh->prepare($sql);

$query -> bindParam(':status',$status, PDO::PARAM_STR);

$query -> bindParam(':cancelby',$cancelby , PDO::PARAM_STR);

$query-> bindParam(':bid',$bid, PDO::PARAM_STR);

$query -> execute();

$msg="Booking Cancelled successfully";

}if(isset($_REQUEST['bckid']))

$bcid=intval($_GET['bckid']);

$status=1;

Page | 80
$cancelby='a';

$sql = "UPDATE tblbooking SET status=:status WHERE BookingId=:bcid";

$query = $dbh->prepare($sql);

$query -> bindParam(':status',$status, PDO::PARAM_STR);

$query-> bindParam(':bcid',$bcid, PDO::PARAM_STR);

$query -> execute();

$msg="Booking Confirm successfully";

}?>

<!DOCTYPE HTML>

<html>

<head>

<title>TMS | Admin manage Bookings</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="application/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<link href="css/bootstrap.min.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link rel="stylesheet" href="css/morris.css" type="text/css"/>

<link href="css/font-awesome.css" rel="stylesheet">

<script src="js/jquery-2.1.4.min.js"></script>

<link rel="stylesheet" type="text/css" href="css/table-style.css" />

<link rel="stylesheet" type="text/css" href="css/basictable.css" />

<script type="text/javascript" src="js/jquery.basictable.min.js"></script>

<script type="text/javascript">

Page | 81
$(document).ready(function() {

$('#table').basictable();

$('#table-breakpoint').basictable({

breakpoint: 768

});

$('#table-swap-axis').basictable({

swapAxis: true

});

$('#table-force-off').basictable({

forceResponsive: false

});

$('#table-no-resize').basictable({

noResize: true

});

$('#table-two-axis').basictable();

$('#table-max-height').basictable({

tableWrapper: true

});

});

</script>

<link href='//fonts.googleapis.com/css?family=Roboto:700,500,300,100italic,100,400'
rel='stylesheet' type='text/css'/>

<link href='//fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet'


type='text/css'>

<link rel="stylesheet" href="css/icon-font.min.css" type='text/css' />

<style>

Page | 82
.errorWrap {

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #dd3d36;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

.succWrap{

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #5cb85c;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

</style>

</head>

<body>

<div class="page-container">

<!--/content-inner-->

<div class="left-content">

<div class="mother-grid-inner">

<!--header start here-->

<?php include('includes/header.php');?>

Page | 83
<div class="clearfix"> </div>

</div>

<!--heder end here-->

<ol class="breadcrumb">

<li class="breadcrumb-item"><a href="index.html">Home</a><i class="fa fa-angle-


right"></i>Manage Bookings</li>

</ol>

<div class="agile-grids"><!-- tables -->

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo


htmlentities($error); ?> </div><?php }

else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?php echo


htmlentities($msg); ?> </div><?php }?>

<div class="agile-tables">

<div class="w3l-table-info">

<h2>Manage Bookings</h2>

<table id="table">

<thead>

<tr>

<th>Booikn id</th>

<th>Name</th>

<th>Mobile No.</th>

<th>Email Id</th>

<th>RegDate </th>

<th>From /To </th>

<th>Comment </th>

<th>Status </th>

Page | 84
<th>Action </th>

</tr>

</thead>

<tbody>

<?php $sql = "SELECT tblbooking.BookingId as bookid,tblusers.FullName as


fname,tblusers.MobileNumber as mnumber,tblusers.EmailId as
email,tbltourpackages.PackageName as pckname,tblbooking.PackageId as
pid,tblbooking.FromDate as fdate,tblbooking.ToDate as tdate,tblbooking.Comment as
comment,tblbooking.status as status,tblbooking.CancelledBy as
cancelby,tblbooking.UpdationDate as upddate from tblusers join tblbooking on
tblbooking.UserEmail=tblusers.EmailId join tbltourpackages on
tbltourpackages.PackageId=tblbooking.PackageId";

$query = $dbh -> prepare($sql);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query->rowCount() > 0)

foreach($results as $result)

?>

<tr>

<td>#BK-<?php echo htmlentities($result->bookid);?></td>

<td><?php echo htmlentities($result->fname);?></td>

<td><?php echo htmlentities($result->mnumber);?></td>

<td><?php echo htmlentities($result->email);?></td>

<td><a href="update-package.php?pid=<?php echo htmlentities($result->pid);?>"><?php echo


htmlentities($result->pckname);?></a></td>

Page | 85
<td><?php echo htmlentities($result->fdate);?> To <?php echo htmlentities($result-
>tdate);?></td>

<td><?php echo htmlentities($result->comment);?></td>

<td><?php if($result->status==0)

echo "Pending";

if($result->status==1)

echo "Confirmed";

if($result->status==2 and $result->cancelby=='a')

echo "Canceled by you at " .$result->upddate;

if($result->status==2 and $result->cancelby=='u')

echo "Canceled by User at " .$result->upddate;

?></td>

<?php if($result->status==2)

?><td>Cancelled</td>

<?php } else {?>

<td><a href="manage-bookings.php?bkid=<?php echo htmlentities($result->bookid);?>"


onclick="return confirm('Do you really want to cancel booking')" >Cancel</a> / <a

Page | 86
href="manage-bookings.php?bckid=<?php echo htmlentities($result->bookid);?>"
onclick="return confirm('booking has been confirm')" >Confirm</a></td>

<?php }?>

</tr>

<?php $cnt=$cnt+1;} }?>

</tbody>

</table>

</div>

</table>

</div>

<!-- script-for sticky-nav -->

<script>

$(document).ready(function() {

var navoffeset=$(".header-main").offset().top;

$(window).scroll(function(){

var scrollpos=$(window).scrollTop();

if(scrollpos >=navoffeset){

$(".header-main").addClass("fixed");

}else{

$(".header-main").removeClass("fixed");

});});

</script>

<!-- /script-for sticky-nav -->

<!--inner block start here-->

Page | 87
<div class="inner-block">

</div>

<!--inner block end here-->

<!--copy rights start here-->

<?php include('includes/footer.php');?>

<!--COPY rights end here-->

</div>

</div>

<!--//content-inner-->

<!--/sidebar-menu-->

<?php include('includes/sidebarmenu.php');?>

<div class="clearfix"></div>

</div>

<script>

var toggle = true;

$(".sidebar-icon").click(function() {

if (toggle)

$(".page-container").addClass("sidebar-collapsed").removeClass("sidebar-collapsed-back");

$("#menu span").css({"position":"absolute"});

else

$(".page-container").removeClass("sidebar-collapsed").addClass("sidebar-collapsed-back");

Page | 88
setTimeout(function() {

$("#menu span").css({"position":"relative"});

}, 400);

toggle = !toggle;

});

</script>

<!--js -->

<script src="js/jquery.nicescroll.js"></script>

<script src="js/scripts.js"></script>

<!-- Bootstrap Core JavaScript -->

<script src="js/bootstrap.min.js"></script>

<!-- /Bootstrap Core JavaScript -->

</body>

</html>

<?php } ?>

7. Manage Enquries.php

<?php

session_start();

error_reporting(0);

Page | 89
include('includes/config.php');

if(strlen($_SESSION['alogin'])==0)

header('location:index.php');

else{

// code for cancel

if(isset($_REQUEST['eid']))

$eid=intval($_GET['eid']);

$status=1;

$sql = "UPDATE tblenquiry SET Status=:status WHERE id=:eid";

$query = $dbh->prepare($sql);

$query -> bindParam(':status',$status, PDO::PARAM_STR);

$query-> bindParam(':eid',$eid, PDO::PARAM_STR);

$query -> execute();

$msg="Enquiry successfully read";

?>

<!DOCTYPE HTML>

<html>

<head>

<title>TMS | Admin manage Bookings</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

Page | 90
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="application/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<link href="css/bootstrap.min.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link rel="stylesheet" href="css/morris.css" type="text/css"/>

<link href="css/font-awesome.css" rel="stylesheet">

<script src="js/jquery-2.1.4.min.js"></script>

<link rel="stylesheet" type="text/css" href="css/table-style.css" />

<link rel="stylesheet" type="text/css" href="css/basictable.css" />

<script type="text/javascript" src="js/jquery.basictable.min.js"></script>

<script type="text/javascript">

$(document).ready(function() {

$('#table').basictable();

$('#table-breakpoint').basictable({

breakpoint: 768

});

$('#table-swap-axis').basictable({

swapAxis: true

});

$('#table-force-off').basictable({

forceResponsive: false

});

$('#table-no-resize').basictable({

noResize: true

Page | 91
});

$('#table-two-axis').basictable();

$('#table-max-height').basictable({

tableWrapper: true

});

});

</script>

<link href='//fonts.googleapis.com/css?family=Roboto:700,500,300,100italic,100,400'
rel='stylesheet' type='text/css'/>

<link href='//fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet'


type='text/css'>

<link rel="stylesheet" href="css/icon-font.min.css" type='text/css' />

<style>

.errorWrap {

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #dd3d36;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

.succWrap{

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #5cb85c;

Page | 92
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

</style>

</head>

<body>

<div class="page-container">

<!--/content-inner-->

<div class="left-content">

<div class="mother-grid-inner">

<!--header start here-->

<?php include('includes/header.php');?>

<div class="clearfix"> </div>

</div>

<!--heder end here-->

<ol class="breadcrumb">

<li class="breadcrumb-item"><a href="index.html">Home</a><i class="fa fa-angle-


right"></i>Manage Enquiries</li>

</ol>

<div class="agile-grids">

<!-- tables -->

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo


htmlentities($error); ?> </div><?php }

else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?php echo


htmlentities($msg); ?> </div><?php }?>

<div class="agile-tables">

Page | 93
<div class="w3l-table-info">

<h2>Manage Enquiries</h2>

<table id="table">

<thead>

<tr>

<th>Ticket id</th>

<th>Name</th>

<th>Mobile No./ Email</th>

<th>Subject </th>

<th>Description </th>

<th>Posting date </th>

<th>Action </th>

</tr>

</thead>

<tbody>

<?php $sql = "SELECT * from tblenquiry";

$query = $dbh -> prepare($sql);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

if($query->rowCount() > 0)

foreach($results as $result)

{ ?>

<tr>

<td width="120">#TCKT-<?php echo htmlentities($result->id);?></td>

Page | 94
<td width="50"><?php echo htmlentities($result->FullName);?></td>

<td width="50"><?php echo htmlentities($result->MobileNumber);?> /<br />

<?php echo $result->EmailId;?></td>

<td width="200"><?php echo htmlentities($result->Subject);?></a></td>

<td width="400"><?php echo htmlentities($result->Description);?></td>

<td width="50"><?php echo htmlentities($result->PostingDate);?></td>

<?php if($result->Status==1)

?><td>Read</td>

<?php } else {?>

<td><a href="manage-enquires.php?eid=<?php echo htmlentities($result->id);?>"


onclick="return confirm('Do you really want to read')" >Pending</a>

</td>

<?php } ?>

</tr>

<?php } }?>

</tbody>

</table></div>

</table></div>

<!-- script-for sticky-nav -->

<script>

$(document).ready(function() {

var navoffeset=$(".header-main").offset().top;

$(window).scroll(function(){

var scrollpos=$(window).scrollTop();

Page | 95
if(scrollpos >=navoffeset){

$(".header-main").addClass("fixed");

}else{

$(".header-main").removeClass("fixed");

});

});

</script>

<!-- /script-for sticky-nav -->

<!--inner block start here-->

<div class="inner-block">

</div>

<!--inner block end here-->

<!--copy rights start here-->

<?php include('includes/footer.php');?>

<!--COPY rights end here-->

</div>

</div>

<!--//content-inner-->

<!--/sidebar-menu-->

<?php include('includes/sidebarmenu.php');?>

<div class="clearfix"></div>

</div>

<script>

var toggle = true;

Page | 96
$(".sidebar-icon").click(function() {

if (toggle)

$(".page-container").addClass("sidebar-collapsed").removeClass("sidebar-collapsed-back");

$("#menu span").css({"position":"absolute"});

else

$(".page-container").removeClass("sidebar-collapsed").addClass("sidebar-collapsed-back");

setTimeout(function() {

$("#menu span").css({"position":"relative"});

}, 400);

toggle = !toggle;

});

</script>

<!--js -->

<script src="js/jquery.nicescroll.js"></script>

<script src="js/scripts.js"></script>

<!-- Bootstrap Core JavaScript -->

<script src="js/bootstrap.min.js"></script>

<!-- /Bootstrap Core JavaScript -->

</body>

</html>

<?php } ?>

Page | 97
8. Manage Issue.php

<?php

session_start();

error_reporting(0);

include('includes/config.php');

if(strlen($_SESSION['alogin'])==0)

header('location:index.php');

else{

// code for cancel

if(isset($_REQUEST['eid']))

$eid=intval($_GET['eid']);

$status=1;

$sql = "UPDATE tblenquiry SET Status=:status WHERE id=:eid";

$query = $dbh->prepare($sql);

$query -> bindParam(':status',$status, PDO::PARAM_STR);

$query-> bindParam(':eid',$eid, PDO::PARAM_STR);

$query -> execute();

$msg="Enquiry successfully read";

?>

Page | 98
<!DOCTYPE HTML>

<html>

<head>

<title>TMS | Admin manage Issues</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="application/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<link href="css/bootstrap.min.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link rel="stylesheet" href="css/morris.css" type="text/css"/>

<link href="css/font-awesome.css" rel="stylesheet">

<script src="js/jquery-2.1.4.min.js"></script>

<link rel="stylesheet" type="text/css" href="css/table-style.css" />

<link rel="stylesheet" type="text/css" href="css/basictable.css" />

<script type="text/javascript" src="js/jquery.basictable.min.js"></script>

<script type="text/javascript">

$(document).ready(function() {

$('#table').basictable();

$('#table-breakpoint').basictable({

breakpoint: 768

});

$('#table-swap-axis').basictable({

swapAxis: true

});

Page | 99
$('#table-force-off').basictable({

forceResponsive: false

});

$('#table-no-resize').basictable({

noResize: true

});

$('#table-two-axis').basictable();

$('#table-max-height').basictable({

tableWrapper: true

});

});

</script>

<link href='//fonts.googleapis.com/css?family=Roboto:700,500,300,100italic,100,400'
rel='stylesheet' type='text/css'/>

<link href='//fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet'


type='text/css'>

<link rel="stylesheet" href="css/icon-font.min.css" type='text/css' />

<style>

.errorWrap {

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #dd3d36;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

Page | 100
.succWrap{

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #5cb85c;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

</style>

<script language="javascript" type="text/javascript">

var popUpWin=0;

function popUpWindow(URLStr, left, top, width, height)

if(popUpWin)

if(!popUpWin.closed) popUpWin.close();

popUpWin = open(URLStr,'popUpWin',
'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copy
history=yes,width='+600+',height='+600+',left='+left+',
top='+top+',screenX='+left+',screenY='+top+'');

</script>

</head>

<body>

<div class="page-container">

Page | 101
<!--/content-inner-->

<div class="left-content">

<div class="mother-grid-inner">

<!--header start here-->

<?php include('includes/header.php');?>

<div class="clearfix"> </div>

</div>

<!--heder end here-->

<ol class="breadcrumb">

<li class="breadcrumb-item"><a href="index.html">Home</a><i class="fa fa-angle-


right"></i>Manage Issues</li>

</ol>

<div class="agile-grids">

<!-- tables -->

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo


htmlentities($error); ?> </div><?php }

else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?php echo


htmlentities($msg); ?> </div><?php }?>

<div class="agile-tables">

<div class="w3l-table-info">

<h2>Manage Issues</h2>

<table id="table">

<thead>

<tr>

<th>#</th>

<th>Name</th>

Page | 102
<th>Mobile No.</th>

<th>Email Id</th>

<th>Issues </th>

<th>Description </th>

<th>Posting date </th>

<th>Action </th>

</tr>

</thead>

<tbody>

<?php $sql = "SELECT tblissues.id as id,tblusers.FullName as fname,tblusers.MobileNumber as


mnumber,tblusers.EmailId as email,tblissues.Issue as issue,tblissues.Description as
Description,tblissues.PostingDate as PostingDate from tblissues join tblusers on
tblusers.EmailId=tblissues.UserEmail";

$query = $dbh -> prepare($sql);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

if($query->rowCount() > 0)

foreach($results as $result)

{ ?>

<tr>

<td width="120">#00<?php echo htmlentities($result->id);?></td>

<td width="50"><?php echo htmlentities($result->fname);?></td>

<td width="50"><?php echo htmlentities($result->mnumber);?></td>

<td width="50"><?php echo htmlentities($result->email);?></td>

<td width="200"><?php echo htmlentities($result->issue);?></a></td>

Page | 103
<td width="400"><?php echo htmlentities($result->Description);?></td>

<td width="50"><?php echo htmlentities($result->PostingDate);?></td>

<td><a href="javascript:void(0);" onClick="popUpWindow('updateissue.php?iid=<?php echo


($result->id);?>');">View </a>

</td>

</tr>

<?php } }?>

</tbody>

</table>

</div>

</table>

</div>

<!-- script-for sticky-nav -->

<script>

$(document).ready(function() {

var navoffeset=$(".header-main").offset().top;

$(window).scroll(function(){

var scrollpos=$(window).scrollTop();

if(scrollpos >=navoffeset){

$(".header-main").addClass("fixed");

}else{

$(".header-main").removeClass("fixed");

});});

</script>

Page | 104
<!-- /script-for sticky-nav -->

<!--inner block start here-->

<div class="inner-block">

</div>

<!--inner block end here-->

<!--copy rights start here-->

<?php include('includes/footer.php');?>

<!--COPY rights end here-->

</div>

</div>

<!--//content-inner-->

<!--/sidebar-menu-->

<?php include('includes/sidebarmenu.php');?>

<div class="clearfix"></div>

</div>

<script>

var toggle = true;

$(".sidebar-icon").click(function() {

if (toggle)

$(".page-container").addClass("sidebar-collapsed").removeClass("sidebar-collapsed-back");

$("#menu span").css({"position":"absolute"});

else

Page | 105
$(".page-container").removeClass("sidebar-collapsed").addClass("sidebar-collapsed-back");

setTimeout(function() {

$("#menu span").css({"position":"relative"});

}, 400);

toggle = !toggle;

});

</script>

<!--js -->

<script src="js/jquery.nicescroll.js"></script>

<script src="js/scripts.js"></script>

<!-- Bootstrap Core JavaScript -->

<script src="js/bootstrap.min.js"></script>

<!-- /Bootstrap Core JavaScript -->

</body>

</html>

<?php } ?>

9. Manage Packages

<?php

session_start();

error_reporting(0);

include('includes/config.php');

if(strlen($_SESSION['alogin'])==0)

Page | 106
{

header('location:index.php');

else{

?>

<!DOCTYPE HTML>

<html>

<head>

<title>TMS | admin manage packages</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="application/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<!-- Bootstrap Core CSS -->

<link href="css/bootstrap.min.css" rel='stylesheet' type='text/css' />

<!-- Custom CSS -->

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link rel="stylesheet" href="css/morris.css" type="text/css"/>

<!-- Graph CSS -->

<link href="css/font-awesome.css" rel="stylesheet">

<!-- jQuery -->

<script src="js/jquery-2.1.4.min.js"></script>

<!-- //jQuery -->

<!-- tables -->

<link rel="stylesheet" type="text/css" href="css/table-style.css" />

Page | 107
<link rel="stylesheet" type="text/css" href="css/basictable.css" />

<script type="text/javascript" src="js/jquery.basictable.min.js"></script>

<script type="text/javascript">

$(document).ready(function() {

$('#table').basictable();

$('#table-breakpoint').basictable({

breakpoint: 768

});

$('#table-swap-axis').basictable({

swapAxis: true

});

$('#table-force-off').basictable({

forceResponsive: false

});

$('#table-no-resize').basictable({

noResize: true

});

$('#table-two-axis').basictable();

$('#table-max-height').basictable({

tableWrapper: true

});

});

</script>

<!-- //tables -->

Page | 108
<link href='//fonts.googleapis.com/css?family=Roboto:700,500,300,100italic,100,400'
rel='stylesheet' type='text/css'/>

<link href='//fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet'


type='text/css'>

<!-- lined-icons -->

<link rel="stylesheet" href="css/icon-font.min.css" type='text/css' />

<!-- //lined-icons -->

</head>

<body>

<div class="page-container">

<!--/content-inner-->

<div class="left-content">

<div class="mother-grid-inner">

<!--header start here-->

<?php include('includes/header.php');?>

<div class="clearfix"> </div>

</div>

<!--heder end here-->

<ol class="breadcrumb">

<li class="breadcrumb-item"><a href="index.html">Home</a><i class="fa fa-angle-


right"></i>Manage Packages</li>

</ol>

<div class="agile-grids">

<!-- tables -->

<div class="agile-tables">

<div class="w3l-table-info">

Page | 109
<h2>Manage Packages</h2>

<table id="table">

<thead>

<tr>

<th>#</th>

<th >Name</th>

<th>Type</th>

<th>Location</th>

<th>Price</th>

<th>Creation Date</th>

<th>Action</th>

</tr>

</thead>

<tbody>

<?php $sql = "SELECT * from TblTourPackages";

$query = $dbh -> prepare($sql);

//$query -> bindParam(':city', $city, PDO::PARAM_STR);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query->rowCount() > 0)

foreach($results as $result)

{ ?>

<tr>

Page | 110
<td><?php echo htmlentities($cnt);?></td>

<td><?php echo htmlentities($result->PackageName);?></td>

<td><?php echo htmlentities($result->PackageType);?></td>

<td><?php echo htmlentities($result->PackageLocation);?></td>

<td>$<?php echo htmlentities($result->PackagePrice);?></td>

<td><?php echo htmlentities($result->Creationdate);?></td>

<td><a href="update-package.php?pid=<?php echo htmlentities($result-


>PackageId);?>"><button type="button" class="btn btn-primary btn-block">View
Details</button></a></td>

</tr>

<?php $cnt=$cnt+1;} }?>

</tbody>

</table>

</div>

</table>

</div>

<!-- script-for sticky-nav -->

<script>

$(document).ready(function() {

var navoffeset=$(".header-main").offset().top;

$(window).scroll(function(){

var scrollpos=$(window).scrollTop();

if(scrollpos >=navoffeset){

$(".header-main").addClass("fixed");

}else{

$(".header-main").removeClass("fixed");

Page | 111
}

});});

</script>

<!-- /script-for sticky-nav -->

<!--inner block start here-->

<div class="inner-block">

</div>

<!--inner block end here-->

<!--copy rights start here-->

<?php include('includes/footer.php');?>

<!--COPY rights end here-->

</div>

</div>

<!--//content-inner-->

<!--/sidebar-menu-->

<?php include('includes/sidebarmenu.php');?>

<div class="clearfix"></div>

</div>

<script>

var toggle = true;

$(".sidebar-icon").click(function() {

if (toggle)

$(".page-container").addClass("sidebar-collapsed").removeClass("sidebar-collapsed-back");

$("#menu span").css({"position":"absolute"});

Page | 112
}

else

$(".page-container").removeClass("sidebar-collapsed").addClass("sidebar-collapsed-back");

setTimeout(function() {

$("#menu span").css({"position":"relative"});

}, 400);

toggle = !toggle;

});

</script>

<!--js -->

<script src="js/jquery.nicescroll.js"></script>

<script src="js/scripts.js"></script>

<!-- Bootstrap Core JavaScript -->

<script src="js/bootstrap.min.js"></script>

<!-- /Bootstrap Core JavaScript -->

</body>

</html>

<?php } ?>

10. Manage User.php

<?php

session_start();

Page | 113
error_reporting(0);

include('includes/config.php');

if(strlen($_SESSION['alogin'])==0)

header('location:index.php');

else{

?>

<!DOCTYPE HTML>

<html>

<head>

<title>TMS | Admin manage Users</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="application/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<!-- Bootstrap Core CSS -->

<link href="css/bootstrap.min.css" rel='stylesheet' type='text/css' />

<!-- Custom CSS -->

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link rel="stylesheet" href="css/morris.css" type="text/css"/>

<!-- Graph CSS -->

<link href="css/font-awesome.css" rel="stylesheet">

<!-- jQuery -->

<script src="js/jquery-2.1.4.min.js"></script>

Page | 114
<!-- //jQuery -->

<!-- tables -->

<link rel="stylesheet" type="text/css" href="css/table-style.css" />

<link rel="stylesheet" type="text/css" href="css/basictable.css" />

<script type="text/javascript" src="js/jquery.basictable.min.js"></script>

<script type="text/javascript">

$(document).ready(function() {

$('#table').basictable();

$('#table-breakpoint').basictable({

breakpoint: 768

});

$('#table-swap-axis').basictable({

swapAxis: true

});

$('#table-force-off').basictable({

forceResponsive: false

});

$('#table-no-resize').basictable({

noResize: true

});

$('#table-two-axis').basictable();

$('#table-max-height').basictable({

tableWrapper: true

});

});

Page | 115
</script>

<!-- //tables -->

<link href='//fonts.googleapis.com/css?family=Roboto:700,500,300,100italic,100,400'
rel='stylesheet' type='text/css'/>

<link href='//fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet'


type='text/css'>

<!-- lined-icons -->

<link rel="stylesheet" href="css/icon-font.min.css" type='text/css' />

<!-- //lined-icons -->

</head>

<body>

<div class="page-container">

<!--/content-inner-->

<div class="left-content">

<div class="mother-grid-inner">

<!--header start here-->

<?php include('includes/header.php');?>

<div class="clearfix"> </div>

</div>

<!--heder end here-->

<ol class="breadcrumb">

<li class="breadcrumb-item"><a href="index.html">Home</a><i class="fa fa-angle-


right"></i>Manage Users</li>

</ol>

<div class="agile-grids">

<!-- tables -->

Page | 116
<div class="agile-tables">

<div class="w3l-table-info">

<h2>Manage Users</h2>

<table id="table">

<thead>

<tr>

<th>#</th>

<th>Name</th>

<th>Mobile No.</th>

<th>Email Id</th>

<th>RegDate </th>

<th>Updation Date</th>

</tr>

</thead>

<tbody>

<?php $sql = "SELECT * from tblusers";

$query = $dbh -> prepare($sql);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query->rowCount() > 0)

foreach($results as $result)

{?>

<tr>

Page | 117
<td><?php echo htmlentities($cnt);?></td>

<td><?php echo htmlentities($result->FullName);?></td>

<td><?php echo htmlentities($result->MobileNumber);?></td>

<td><?php echo htmlentities($result->EmailId);?></td>

<td><?php echo htmlentities($result->RegDate);?></td>

<td><?php echo htmlentities($result->UpdationDate);?></td>

</tr>

<?php $cnt=$cnt+1;} }?>

</tbody>

</table>

</div>

</table>

</div>

<!-- script-for sticky-nav -->

<script>

$(document).ready(function() {

var navoffeset=$(".header-main").offset().top;

$(window).scroll(function(){

var scrollpos=$(window).scrollTop();

if(scrollpos >=navoffeset){

$(".header-main").addClass("fixed");

}else{

$(".header-main").removeClass("fixed");

});

Page | 118
});

</script>

<!-- /script-for sticky-nav -->

<!--inner block start here-->

<div class="inner-block">

</div>

<!--inner block end here-->

<!--copy rights start here-->

<?php include('includes/footer.php');?>

<!--COPY rights end here-->

</div>

</div>

<!--//content-inner-->

<!--/sidebar-menu-->

<?php include('includes/sidebarmenu.php');?>

<div class="clearfix"></div>

</div>

<script>

var toggle = true;

$(".sidebar-icon").click(function() {

if (toggle)

$(".page-container").addClass("sidebar-collapsed").removeClass("sidebar-collapsed-back");

$("#menu span").css({"position":"absolute"});

Page | 119
else

$(".page-container").removeClass("sidebar-collapsed").addClass("sidebar-collapsed-back");

setTimeout(function() {

$("#menu span").css({"position":"relative"});

}, 400);

toggle = !toggle;

});

</script>

<!--js -->

<script src="js/jquery.nicescroll.js"></script>

<script src="js/scripts.js"></script>

<!-- Bootstrap Core JavaScript -->

<script src="js/bootstrap.min.js"></script>

<!-- /Bootstrap Core JavaScript -->

</body>

</html>

<?php } ?>

11. Manage Pages.php

<?php

session_start();

error_reporting(0);

Page | 120
include('includes/config.php');

if(strlen($_SESSION['alogin'])==0)

header('location:index.php');

else{

if($_POST['submit']=="Update")

$pagetype=$_GET['type'];

$pagedetails=$_POST['pgedetails'];

$sql = "UPDATE tblpages SET detail=:pagedetails WHERE type=:pagetype";

$query = $dbh->prepare($sql);

$query -> bindParam(':pagetype',$pagetype, PDO::PARAM_STR);

$query-> bindParam(':pagedetails',$pagedetails, PDO::PARAM_STR);

$query -> execute();

$msg="Page data updated successfully";

}?>

<!DOCTYPE HTML>

<html>

<head>

<title>TMS | Admin Package Creation</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="keywords" content="Pooled Responsive web template, Bootstrap Web Templates,


Flat Web Templates, Android Compatible web template,

Page | 121
Smartphone Compatible web template, free webdesigns for Nokia, Samsung, LG, SonyEricsson,
Motorola web design" />

<script type="application/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<link href="css/bootstrap.min.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link rel="stylesheet" href="css/morris.css" type="text/css"/>

<link href="css/font-awesome.css" rel="stylesheet">

<script src="js/jquery-2.1.4.min.js"></script>

<link href='//fonts.googleapis.com/css?family=Roboto:700,500,300,100italic,100,400'
rel='stylesheet' type='text/css'/>

<link href='//fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet'


type='text/css'>

<link rel="stylesheet" href="css/icon-font.min.css" type='text/css' />

<style>

.errorWrap {

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #dd3d36;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

.succWrap{

padding: 10px;

margin: 0 0 20px 0;

Page | 122
background: #fff;

border-left: 4px solid #5cb85c;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

</style>

<script type="text/JavaScript">

<!--

function MM_findObj(n, d) { //v4.01

var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {

d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}

if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];

for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);

if(!x && d.getElementById) x=d.getElementById(n); return x;

function MM_validateForm() { //v4.0

var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;

for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);

if (val) { nm=val.name; if ((val=val.value)!="") {

if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');

if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';

} else if (test!='R') { num = parseFloat(val);

if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';

if (test.indexOf('inRange') != -1) { p=test.indexOf(':');

min=test.substring(8,p); max=test.substring(p+1);

Page | 123
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and
'+max+'.\n';

} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }

} if (errors) alert('The following error(s) occurred:\n'+errors);

document.MM_returnValue = (errors == '');

function MM_jumpMenu(targ,selObj,restore){ //v3.0

eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");

if (restore) selObj.selectedIndex=0;

//-->

</script>

<script type="text/javascript" src="nicEdit.js"></script>

<script type="text/javascript">

bkLib.onDomLoaded(function() { nicEditors.allTextAreas() });

</script>

</head>

<body>

<div class="page-container">

<!--/content-inner-->

<div class="left-content">

<div class="mother-grid-inner">

<!--header start here-->

<?php include('includes/header.php');?>

<div class="clearfix"> </div>

Page | 124
</div>

<!--heder end here-->

<ol class="breadcrumb">

<li class="breadcrumb-item"><a href="index.html">Home</a><i class="fa fa-angle-


right"></i>Update Page Data </li>

</ol>

<!--grid-->

<div class="grid-form">

<!---->

<div class="grid-form1">

<h3>Update Page Data</h3>

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo


htmlentities($error); ?> </div><?php }

else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?php echo


htmlentities($msg); ?> </div><?php }?>

<div class="tab-content">

<div class="tab-pane active" id="horizontal-form">

<form class="form-horizontal" name="package" method="post" enctype="multipart/form-data">

<div class="form-group">

<label for="focusedinput" class="col-sm-2 control-label">Select page</label>

<div class="col-sm-8">

<select name="menu1" onChange="MM_jumpMenu('parent',this,0)">

<option value="" selected="selected" class="form-control">***Select One***</option>

<option value="manage-pages.php?type=terms">terms and condition</option>

<option value="manage-pages.php?type=privacy">privacy and policy</option>

<option value="manage-pages.php?type=aboutus">aboutus</option><option value="manage-


pages.php?type=contact">Contact us</option>

Page | 125
</select>

</div>

</div>

<div class="form-group">

<label for="focusedinput" class="col-sm-2 control-label">Selected Page</label>

<div class="col-sm-8">

<?php

switch($_GET['type'])

case "terms" :

echo "Terms and Conditions";

break;

case "privacy" :

echo "Privacy And Policy";

break;

case "aboutus" :

echo "About US";

break;

case "software" :

echo "Offers";

break;

case "aspnet" :

echo "Vission And MISSION";

break;

Page | 126
case "objectives" :

echo "Objectives";

break;

case "disclaimer" :

echo "Disclaimer";

break;

case "vbnet" :

echo "Partner With Us";

break;

case "candc" :

echo "Super Brand";

break;

case "contact" :

echo "Contact Us";

break;

default :

echo "";

break;}

?>

</div>

</div>

<div class="form-group">

<label for="focusedinput" class="col-sm-2 control-label">Package Details</label>

<div class="col-sm-8"><textarea class="form-control" rows="5" cols="50" name="pgedetails"


id="pgedetails" placeholder="Package Details" required>

Page | 127
<?php

$pagetype=$_GET['type'];

$sql = "SELECT detail from tblpages where type=:pagetype";

$query = $dbh -> prepare($sql);

$query->bindParam(':pagetype',$pagetype,PDO::PARAM_STR);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query->rowCount() > 0)

foreach($results as $result)

echo htmlentities($result->detail);

}}

?>

</textarea>

</div>

</div>

<div class="row">

<div class="col-sm-8 col-sm-offset-2">

<button type="submit" name="submit" value="Update" id="submit" class="btn-primary


btn">Update</button>

</div>

</div></div>

</form>

Page | 128
<div class="panel-footer">

</div>

</form>

</div>

</div>

<!--//grid-->

<!-- script-for sticky-nav -->

<script>

$(document).ready(function() {

var navoffeset=$(".header-main").offset().top;

$(window).scroll(function(){

var scrollpos=$(window).scrollTop();

if(scrollpos >=navoffeset){

$(".header-main").addClass("fixed");

}else{

$(".header-main").removeClass("fixed");

});});

</script>

<!-- /script-for sticky-nav -->

<!--inner block start here-->

<div class="inner-block">

</div>

<!--inner block end here-->

<!--copy rights start here-->

Page | 129
<?php include('includes/footer.php');?>

<!--COPY rights end here-->

</div>

</div>

<!--//content-inner-->

<!--/sidebar-menu-->

<?php include('includes/sidebarmenu.php');?>

<div class="clearfix"></div>

</div>

<script>

var toggle = true;

$(".sidebar-icon").click(function() {

if (toggle)

$(".page-container").addClass("sidebar-collapsed").removeClass("sidebar-collapsed-back");

$("#menu span").css({"position":"absolute"});

else

$(".page-container").removeClass("sidebar-collapsed").addClass("sidebar-collapsed-back");

setTimeout(function() {

$("#menu span").css({"position":"relative"});

}, 400);

Page | 130
toggle = !toggle;

});

</script>

<!--js -->

<script src="js/jquery.nicescroll.js"></script>

<script src="js/scripts.js"></script>

<!-- Bootstrap Core JavaScript -->

<script src="js/bootstrap.min.js"></script>

<!-- /Bootstrap Core JavaScript -->

</body>

</html>

<?php } ?>

12. Update Packeges.php

<?php

session_start();

error_reporting(0);

include('includes/config.php');

if(strlen($_SESSION['alogin'])==0)

header('location:index.php');

else{

Page | 131
$pid=intval($_GET['pid']);

if(isset($_POST['submit']))

$pname=$_POST['packagename'];

$ptype=$_POST['packagetype'];

$plocation=$_POST['packagelocation'];

$pprice=$_POST['packageprice'];

$pfeatures=$_POST['packagefeatures'];

$pdetails=$_POST['packagedetails'];

$pimage=$_FILES["packageimage"]["name"];

$sql="update TblTourPackages set


PackageName=:pname,PackageType=:ptype,PackageLocation=:plocation,PackagePrice=:pprice,
PackageFetures=:pfeatures,PackageDetails=:pdetails where PackageId=:pid";

$query = $dbh->prepare($sql);

$query->bindParam(':pname',$pname,PDO::PARAM_STR);

$query->bindParam(':ptype',$ptype,PDO::PARAM_STR);

$query->bindParam(':plocation',$plocation,PDO::PARAM_STR);

$query->bindParam(':pprice',$pprice,PDO::PARAM_STR);

$query->bindParam(':pfeatures',$pfeatures,PDO::PARAM_STR);

$query->bindParam(':pdetails',$pdetails,PDO::PARAM_STR);

$query->bindParam(':pid',$pid,PDO::PARAM_STR);

$query->execute();

$msg="Package Updated Successfully";

?>

<!DOCTYPE HTML>

Page | 132
<html>

<head>

<title>TMS | Admin Package Creation</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="keywords" content="Pooled Responsive web template, Bootstrap Web Templates,


Flat Web Templates, Android Compatible web template,

Smartphone Compatible web template, free webdesigns for Nokia, Samsung, LG, SonyEricsson,
Motorola web design" />

<script type="application/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<link href="css/bootstrap.min.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link rel="stylesheet" href="css/morris.css" type="text/css"/>

<link href="css/font-awesome.css" rel="stylesheet">

<script src="js/jquery-2.1.4.min.js"></script>

<link href='//fonts.googleapis.com/css?family=Roboto:700,500,300,100italic,100,400'
rel='stylesheet' type='text/css'/>

<link href='//fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet'


type='text/css'>

<link rel="stylesheet" href="css/icon-font.min.css" type='text/css' />

<style>

.errorWrap {

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

Page | 133
border-left: 4px solid #dd3d36;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

.succWrap{

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #5cb85c;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

</style>

</head>

<body>

<div class="page-container">

<!--/content-inner-->

<div class="left-content">

<div class="mother-grid-inner">

<!--header start here-->

<?php include('includes/header.php');?>

<div class="clearfix"> </div>

</div>

<!--heder end here-->

Page | 134
<ol class="breadcrumb">

<li class="breadcrumb-item"><a href="index.html">Home</a><i class="fa fa-angle-


right"></i>Update Tour Package </li>

</ol>

<!--grid-->

<div class="grid-form">

<!---->

<div class="grid-form1">

<h3>Update Package</h3>

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo


htmlentities($error); ?> </div><?php }

else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?php echo


htmlentities($msg); ?> </div><?php }?>

<div class="tab-content">

<div class="tab-pane active" id="horizontal-form">

<?php

$pid=intval($_GET['pid']);

$sql = "SELECT * from TblTourPackages where PackageId=:pid";

$query = $dbh -> prepare($sql);

$query -> bindParam(':pid', $pid, PDO::PARAM_STR);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query->rowCount() > 0)

foreach($results as $result)

Page | 135
{ ?>

<form class="form-horizontal" name="package" method="post" enctype="multipart/form-data">

<div class="form-group">

<label for="focusedinput" class="col-sm-2 control-label">Package Name</label>

<div class="col-sm-8">

<input type="text" class="form-control1" name="packagename" id="packagename"


placeholder="Create Package" value="<?php echo htmlentities($result->PackageName);?>"
required>

</div>

</div>

<div class="form-group">

<label for="focusedinput" class="col-sm-2 control-label">Package Type</label>

<div class="col-sm-8">

<input type="text" class="form-control1" name="packagetype" id="packagetype" placeholder="


Package Type eg- Family Package / Couple Package" value="<?php echo htmlentities($result-
>PackageType);?>" required>

</div>

</div>

<div class="form-group">

<label for="focusedinput" class="col-sm-2 control-label">Package Location</label>

<div class="col-sm-8">

<input type="text" class="form-control1" name="packagelocation" id="packagelocation"


placeholder=" Package Location" value="<?php echo htmlentities($result-
>PackageLocation);?>" required>

</div>

</div>

<div class="form-group">

Page | 136
<label for="focusedinput" class="col-sm-2 control-label">Package Price in USD</label>

<div class="col-sm-8"><input type="text" class="form-control1" name="packageprice"


id="packageprice" placeholder=" Package Price is USD" value="<?php echo
htmlentities($result->PackagePrice);?>" required>

</div>

</div>

<div class="form-group">

<label for="focusedinput" class="col-sm-2 control-label">Package Features</label>

<div class="col-sm-8">

<input type="text" class="form-control1" name="packagefeatures" id="packagefeatures"


placeholder="Package Features Eg-free Pickup-drop facility" value="<?php echo
htmlentities($result->PackageFetures);?>" required>

</div>

</div>

<div class="form-group">

<label for="focusedinput" class="col-sm-2 control-label">Package Details</label>

<div class="col-sm-8">

<textarea class="form-control" rows="5" cols="50" name="packagedetails" id="packagedetails"


placeholder="Package Details" required><?php echo htmlentities($result-
>PackageDetails);?></textarea>

</div>

</div>

<div class="form-group">

<label for="focusedinput" class="col-sm-2 control-label">Package Image</label>

<div class="col-sm-8">

<img src="pacakgeimages/<?php echo htmlentities($result->PackageImage);?>"


width="200">&nbsp;&nbsp;&nbsp;<a href="change-image.php?imgid=<?php echo
htmlentities($result->PackageId);?>">Change Image</a>

Page | 137
</div>

</div>

<div class="form-group">

<label for="focusedinput" class="col-sm-2 control-label">Last Updation Date</label>

<div class="col-sm-8">

<?php echo htmlentities($result->UpdationDate);?>

</div>

</div>

<?php }} ?>

<div class="row">

<div class="col-sm-8 col-sm-offset-2">

<button type="submit" name="submit" class="btn-primary btn">Update</button>

</div>

</div>

</div>

</form>

<div class="panel-footer"></div>

</form>

</div>

</div>

<!--//grid-->

<!-- script-for sticky-nav -->

<script>

$(document).ready(function() {

var navoffeset=$(".header-main").offset().top;

Page | 138
$(window).scroll(function(){

var scrollpos=$(window).scrollTop();

if(scrollpos >=navoffeset){

$(".header-main").addClass("fixed");

}else{

$(".header-main").removeClass("fixed");

});});

</script>

<!-- /script-for sticky-nav -->

<!--inner block start here-->

<div class="inner-block">

</div>

<!--inner block end here-->

<!--copy rights start here-->

<?php include('includes/footer.php');?>

<!--COPY rights end here-->

</div>

</div>

<!--//content-inner-->

<!--/sidebar-menu-->

<?php include('includes/sidebarmenu.php');?>

<div class="clearfix"></div>

</div>

<script>

Page | 139
var toggle = true;

$(".sidebar-icon").click(function() {

if (toggle)

$(".page-container").addClass("sidebar-collapsed").removeClass("sidebar-collapsed-back");

$("#menu span").css({"position":"absolute"});

else

$(".page-container").removeClass("sidebar-collapsed").addClass("sidebar-collapsed-back");

setTimeout(function() {

$("#menu span").css({"position":"relative"});

}, 400);

toggle = !toggle;

});

</script>

<!--js -->

<script src="js/jquery.nicescroll.js"></script>

<script src="js/scripts.js"></script>

<!-- Bootstrap Core JavaScript -->

<script src="js/bootstrap.min.js"></script>

<!-- /Bootstrap Core JavaScript -->

</body>

</html>

Page | 140
<?php } ?>

13. Update Issue.php

<?php

session_start();

error_reporting(0);

include('includes/config.php');

if(strlen($_SESSION['alogin'])==0)

header('location:index.php');

else{

$iid=intval($_GET['iid']);

if(isset($_POST['submit2']))

$remark=$_POST['remark'];

$sql = "UPDATE tblissues SET AdminRemark=:remark WHERE id=:iid";

$query = $dbh->prepare($sql);

$query -> bindParam(':remark',$remark, PDO::PARAM_STR);

$query-> bindParam(':iid',$iid, PDO::PARAM_STR);

$query -> execute();

$msg="Remark successfully Updated";

}?>

<script language="javascript" type="text/javascript">

Page | 141
function f2()

window.close();

}ser

function f3()

window.print();

</script>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Update Compliant</title>

<link href="style.css" rel="stylesheet" type="text/css" />

<link href="anuj.css" rel="stylesheet" type="text/css">

</head>

<body>

<div style="margin-left:50px;">

<form name="updateticket" id="updateticket" method="post">

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr height="50">

<td colspan="2" class="fontkink2" style="padding-left:0px;"><div class="fontpink2">


<b>Update Remark !</b></div></td>

</tr><tr>

Page | 142
<td colspan="2" "> <?php if($error){?><div
class="errorWrap"><strong>ERROR</strong>:<?php echo htmlentities($error); ?> </div><?php
}

else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?php echo


htmlentities($msg); ?> </div><?php }?></td>

</tr>

<tbody>

<?php

$sql = "SELECT * from tblissues where id=:iid";

$query = $dbh -> prepare($sql);

$query-> bindParam(':iid',$iid, PDO::PARAM_STR);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

if($query->rowCount() > 0)

foreach($results as $result)

if($result->AdminRemark=="")

?>

<tr style=''>

<td class="fontkink1" >Remark:</td>

<td class="fontkink" align="justify" ><span class="fontkink">

<textarea cols="50" rows="7" name="remark" required="required" ></textarea>

</span></td>

</tr>

Page | 143
<tr>

<td class="fontkink1">&nbsp;</td>

<td >&nbsp;</td>

</tr>

<tr>

<td class="fontkink"> </td>

<td class="fontkink"> <input type="submit" name="submit2" value="update" size="40"


style="cursor: pointer;" /></td>

</tr>

<?php } else { ?>

<tr>

<td class="fontkink1" ><b>Remark:</b></td>

<td class="fontkink" align="justify" ><?php echo htmlentities($result->AdminRemark);?></td>

</tr>

<tr>

<td class="fontkink1" ><b>Remark Date:</b></td>

<td class="fontkink" align="justify" ><?php echo htmlentities($result-


>AdminremarkDate);?></td>

</tr>

<?php }}}?>

</table>

</form>

</div>

</body></html><?php } ?>

4.2 CODING
Page | 144
USER SIDE
1 Index.php

<?php

session_start();

error_reporting(0);

include('includes/config.php');

?>

<!DOCTYPE HTML>

<html>

<head>

<title>TMS | Road Less Travelled</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="applijewelleryion/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600' rel='stylesheet'


type='text/css'>

<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet'


type='text/css'>

<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

<!-- Custom Theme files -->

Page | 145
<script src="js/jquery-1.12.0.min.js"></script>

<script src="js/bootstrap.min.js"></script>

<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<script>

new WOW().init();

</script>

<!--//end-animate-->

</head>

<body>

<?php include('includes/header.php');?>

<div class="banner">

<div class="container">

<h1 class="wow zoomIn animated animated" data-wow-delay=".5s" style="visibility: visible;


animation-delay: 0.5s; animation-name: zoomIn;"> Road Less Travelled</h1>

</div>

</div>

<!--- rupes ---->

<div class="container">

<div class="rupes">

<div class="col-md-4 rupes-left wow fadeInDown animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name: fadeInDown;">

<div class="rup-left">

<a href="offers.html"><i class="fa fa-usd"></i></a>

</div>

Page | 146
<div class="rup-rgt">

<h3>UP TO INR. 50 OFF</h3>

<h4><a href="offers.html">TRAVEL SMART</a></h4></div>

<div class="clearfix"></div>

</div>

<div class="col-md-4 rupes-left wow fadeInDown animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name: fadeInDown;">

<div class="rup-left">

<a href="offers.html"><i class="fa fa-h-square"></i></a>

</div>

<div class="rup-rgt">

<h3>UP TO 70% OFF</h3>

<h4><a href="offers.html">ON HOTELS ACROSS WORLD</a></h4>

</div>

<div class="clearfix"></div>

</div>

<div class="col-md-4 rupes-left wow fadeInDown animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name: fadeInDown;">

<div class="rup-left">

<a href="offers.html"><i class="fa fa-mobile"></i></a>

</div>

<div class="rup-rgt">

<h3>FLAT INR. 50 OFF</h3>

<h4><a href="offers.html">USE APP OFFER</a></h4>

</div>

<div class="clearfix"></div>

Page | 147
</div>

</div>

</div>

<!--- /rupes ---->

<!---holiday---->

<div class="container">

<div class="holiday">

<h3>Package List</h3>

<?php $sql = "SELECT * from tbltourpackages order by rand() limit 4";

$query = $dbh->prepare($sql);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query->rowCount() > 0)

foreach($results as $result)

{ ?>

<div class="rom-btm">

<div class="col-md-3 room-left wow fadeInLeft animated" data-wow-delay=".5s">

<img src="admin/pacakgeimages/<?php echo htmlentities($result->PackageImage);?>"


class="img-responsive" alt="">

</div>

<div class="col-md-6 room-midle wow fadeInUp animated" data-wow-delay=".5s">

<h4>Package Name: <?php echo htmlentities($result->PackageName);?></h4>

<h6>Package Type : <?php echo htmlentities($result->PackageType);?></h6>

Page | 148
<p><b>Package Location :</b> <?php echo htmlentities($result->PackageLocation);?></p>

<p><b>Features</b> <?php echo htmlentities($result->PackageFetures);?></p>

</div>

<div class="col-md-3 room-right wow fadeInRight animated" data-wow-delay=".5s">

<h5>inr <?php echo htmlentities($result->PackagePrice);?></h5>

<a href="package-details.php?pkgid=<?php echo htmlentities($result->PackageId);?>"


class="view">Details</a>

</div>

<div class="clearfix"></div>

</div>

<?php }} ?>

<div><a href="package-list.php" class="view">View More Packages</a></div>

</div>

<div class="clearfix"></div>

</div>

<!--- routes ---->

<div class="routes">

<div class="container">

<div class="col-md-4 routes-left wow fadeInRight animated" data-wow-delay=".5s">

<div class="rou-left">

<a href="#"><i class="glyphicon glyphicon-list-alt"></i></a>

</div>

<div class="rou-rgt wow fadeInDown animated" data-wow-delay=".5s">

<h3>80000</h3>

<p>Enquiries</p>

Page | 149
</div>

<div class="clearfix"></div>

</div>

<div class="col-md-4 routes-left">

<div class="rou-left">

<a href="#"><i class="fa fa-user"></i></a>

</div>

<div class="rou-rgt">

<h3>1900</h3>

<p>Regestered users</p>

</div>

<div class="clearfix"></div>

</div>

<div class="col-md-4 routes-left wow fadeInRight animated" data-wow-delay=".5s">

<div class="rou-left">

<a href="#"><i class="fa fa-ticket"></i></a>

</div>

<div class="rou-rgt">

<h3>7,00,00,000+</h3>

<p>Booking</p>

</div>

<div class="clearfix"></div>

</div>

<div class="clearfix"></div>

</div>

Page | 150
</div>

<?php include('includes/footer.php');?>

<!-- signup -->

<?php include('includes/signup.php');?>

<!-- //signu -->

<!-- signin -->

<?php include('includes/signin.php');?>

<!-- //signin -->

<!-- write us -->

<?php include('includes/write-us.php');?>

<!-- //write us -->

</body>

</html>

1. Change password.php

<?php

session_start();

error_reporting(0);

include('includes/config.php');

if(strlen($_SESSION['login'])==0)

header('location:index.php');

Page | 151
else{

if(isset($_POST['submit5']))

$password=md5($_POST['password']);

$newpassword=md5($_POST['newpassword']);

$email=$_SESSION['login'];

$sql ="SELECT Password FROM tblusers WHERE EmailId=:email and Password=:password";

$query= $dbh -> prepare($sql);

$query-> bindParam(':email', $email, PDO::PARAM_STR);

$query-> bindParam(':password', $password, PDO::PARAM_STR);

$query-> execute();

$results = $query -> fetchAll(PDO::FETCH_OBJ);

if($query -> rowCount() > 0)

$con="update tblusers set Password=:newpassword where EmailId=:email";

$chngpwd1 = $dbh->prepare($con);

$chngpwd1-> bindParam(':email', $email, PDO::PARAM_STR);

$chngpwd1-> bindParam(':newpassword', $newpassword, PDO::PARAM_STR);

$chngpwd1->execute();

$msg="Your Password succesfully changed";

else {

$error="Your current password is wrong";

Page | 152
?>

<!DOCTYPE HTML>

<html>

<head>

<title>TMS | Tourism Management System</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="keywords" content="Tourism Management System In PHP" />

<script type="applijewelleryion/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600' rel='stylesheet'


type='text/css'>

<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet'


type='text/css'>

<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

<!-- Custom Theme files -->

<script src="js/jquery-1.12.0.min.js"></script>

<script src="js/bootstrap.min.js"></script>

<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<script>

new WOW().init();

Page | 153
</script>

<script type="text/javascript">

function valid()

if(document.chngpwd.newpassword.value!= document.chngpwd.confirmpassword.value)

alert("New Password and Confirm Password Field do not match !!");

document.chngpwd.confirmpassword.focus();

return false;

return true;

</script>

<style>

.errorWrap {

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #dd3d36;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

.succWrap{

padding: 10px;

margin: 0 0 20px 0;

Page | 154
background: #fff;

border-left: 4px solid #5cb85c;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

</style>

</head>

<body>

<!-- top-header -->

<div class="top-header">

<?php include('includes/header.php');?>

<div class="banner-1 ">

<div class="container">

<h1 class="wow zoomIn animated animated" data-wow-delay=".5s" style="visibility: visible;


animation-delay: 0.5s; animation-name: zoomIn;">TMS-Tourism Management System</h1>

</div>

</div>

<!--- /banner-1 ---->

<!--- privacy ---->

<div class="privacy">

<div class="container">

<h3 class="wow fadeInDown animated animated" data-wow-delay=".5s" style="visibility:


visible; animation-delay: 0.5s; animation-name: fadeInDown;">Change Password</h3>

<form name="chngpwd" method="post" onSubmit="return valid();">

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo


htmlentities($error); ?> </div><?php }

Page | 155
else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?php echo
htmlentities($msg); ?> </div><?php }?>

<p style="width: 350px;">

<b>Current Password</b> <input type="password" name="password" class="form-control"


id="exampleInputPassword1" placeholder="Current Password" required="">

</p>

<p style="width: 350px;">

<b>New Password</b>

<input type="password" class="form-control" name="newpassword" id="newpassword"


placeholder="New Password" required="">

</p>

<p style="width: 350px;">

<b>Confirm Password</b>

<input type="password" class="form-control" name="confirmpassword" id="confirmpassword"


placeholder="Confrim Password" required="">

</p>

<p style="width: 350px;">

<button type="submit" name="submit5" class="btn-primary btn">Change</button>

</p>

</form>

</div>

</div>

<!--- /privacy ---->

<!--- footer-top ---->

<!--- /footer-top ---->

<?php include('includes/footer.php');?>

<!-- signup -->

Page | 156
<?php include('includes/signup.php');?>

<!-- //signu -->

<!-- signin -->

<?php include('includes/signin.php');?>

<!-- //signin -->

<!-- write us -->

<?php include('includes/write-us.php');?>

</body>

</html>

<?php } ?>

2. Check avability.php

<?php

require_once("includes/config.php");

// code admin email availablity

if(!empty($_POST["emailid"])) {

$email= $_POST["emailid"];

if (filter_var($email, FILTER_VALIDATE_EMAIL)===false) {

echo "error : You did not enter a valid email.";

else {

$sql ="SELECT EmailId FROM tblusers WHERE EmailId=:email";

$query= $dbh -> prepare($sql);

$query-> bindParam(':email', $email, PDO::PARAM_STR);


Page | 157
$query-> execute();

$results = $query -> fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query -> rowCount() > 0)

echo "<span style='color:red'> Email already exists .</span>";

echo "<script>$('#submit').prop('disabled',true);</script>";

} else{

echo "<span style='color:green'> Email available for Registration .</span>";

echo "<script>$('#submit').prop('disabled',false);</script>";

?>

3. Enquiry.php

<?php

session_start();

error_reporting(0);

include('includes/config.php');

if(isset($_POST['submit1']))

$fname=$_POST['fname'];

$email=$_POST['email'];

Page | 158
$mobile=$_POST['mobileno'];

$subject=$_POST['subject'];

$description=$_POST['description'];

$sql="INSERT INTO tblenquiry(FullName,EmailId,MobileNumber,Subject,Description)


VALUES(:fname,:email,:mobile,:subject,:description)";

$query = $dbh->prepare($sql);

$query->bindParam(':fname',$fname,PDO::PARAM_STR);

$query->bindParam(':email',$email,PDO::PARAM_STR);

$query->bindParam(':mobile',$mobile,PDO::PARAM_STR);

$query->bindParam(':subject',$subject,PDO::PARAM_STR);

$query->bindParam(':description',$description,PDO::PARAM_STR);

$query->execute();

$lastInsertId = $dbh->lastInsertId();

if($lastInsertId)

$msg="Enquiry Successfully submited";

else

$error="Something went wrong. Please try again";

}}

?>

<!DOCTYPE HTML>

<html>

<head>

Page | 159
<title>TMS | Road Less Travelled</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="keywords" content="Tourism Management System In PHP" />

<script type="applijewelleryion/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600' rel='stylesheet'


type='text/css'>

<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet'


type='text/css'>

<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

<!-- Custom Theme files -->

<script src="js/jquery-1.12.0.min.js"></script>

<script src="js/bootstrap.min.js"></script>

<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<script>

new WOW().init();

</script>

<style>

.errorWrap {

padding: 10px;

Page | 160
margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #dd3d36;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

.succWrap{

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #5cb85c;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

</style>

</head>

<body>

<!-- top-header -->

<div class="top-header">

<?php include('includes/header.php');?>

<div class="banner-1 ">

<div class="container">

<h1 class="wow zoomIn animated animated" data-wow-delay=".5s" style="visibility: visible;


animation-delay: 0.5s; animation-name: zoomIn;">Road Less Travelled</h1>

</div>

Page | 161
</div>

<!--- /banner-1 ---->

<!--- privacy ---->

<div class="privacy">

<div class="container">

<h3 class="wow fadeInDown animated animated" data-wow-delay=".5s" style="visibility:


visible; animation-delay: 0.5s; animation-name: fadeInDown;">Enquiry Form Password</h3>

<form name="enquiry" method="post">

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo


htmlentities($error); ?> </div><?php }

else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?php echo


htmlentities($msg); ?> </div><?php }?>

<p style="width: 350px;">

<b>Full name</b> <input type="text" name="fname" class="form-control" id="fname"


placeholder="Full Name" required="">

</p>

<p style="width: 350px;">

<b>Email</b> <input type="email" name="email" class="form-control" id="email"


placeholder="Valid Email id" required="">

</p>

<p style="width: 350px;">

<b>Mobile No</b> <input type="text" name="mobileno" class="form-control" id="mobileno"


maxlength="10" placeholder="10 Digit mobile No" required="">

</p>

<p style="width: 350px;">

<b>Subject</b> <input type="text" name="subject" class="form-control" id="subject"


placeholder="Subject" required="">

</p>

Page | 162
<p style="width: 350px;">

<b>Description</b> <textarea name="description" class="form-control" rows="6" cols="50"


id="description" placeholder="Description" required=""></textarea>

</p>

<p style="width: 350px;">

<button type="submit" name="submit1" class="btn-primary btn">Submit</button>

</p>

</form>

</div>

</div>

<!--- /privacy ---->

<!--- footer-top ---->

<!--- /footer-top ---->

<?php include('includes/footer.php');?>

<!-- signup -->

<?php include('includes/signup.php');?>

<!-- //signu -->

<!-- signin -->

<?php include('includes/signin.php');?>

<!-- //signin -->

<!-- write us -->

<?php include('includes/write-us.php');?>

</body>

</html>

Page | 163
4. Forgot password.php

<?php

session_start();

error_reporting(0);

include('includes/config.php');

if(isset($_POST['submit50']))

$email=$_POST['email'];

$mobile=$_POST['mobile'];

$newpassword=md5($_POST['newpassword']);

$sql ="SELECT EmailId FROM tblusers WHERE EmailId=:email and


MobileNumber=:mobile";

$query= $dbh -> prepare($sql);

$query-> bindParam(':email', $email, PDO::PARAM_STR);

$query-> bindParam(':mobile', $mobile, PDO::PARAM_STR);

$query-> execute();

$results = $query -> fetchAll(PDO::FETCH_OBJ);

if($query -> rowCount() > 0)

$con="update tblusers set Password=:newpassword where EmailId=:email and


MobileNumber=:mobile";

$chngpwd1 = $dbh->prepare($con);

$chngpwd1-> bindParam(':email', $email, PDO::PARAM_STR);

$chngpwd1-> bindParam(':mobile', $mobile, PDO::PARAM_STR);

$chngpwd1-> bindParam(':newpassword', $newpassword, PDO::PARAM_STR);

Page | 164
$chngpwd1->execute();

$msg="Your Password succesfully changed";

else {

$error="Email id or Mobile no is invalid";

}?>

<!DOCTYPE HTML>

<html>

<head>

<title>TMS | Tourism Management System</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="keywords" content="Tourism Management System In PHP" />

<script type="applijewelleryion/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600' rel='stylesheet'


type='text/css'>

<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet'


type='text/css'>

<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

<!-- Custom Theme files -->

<script src="js/jquery-1.12.0.min.js"></script>

Page | 165
<script src="js/bootstrap.min.js"></script>

<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<script>

new WOW().init();

</script>

<script type="text/javascript">

function valid()

if(document.chngpwd.newpassword.value!= document.chngpwd.confirmpassword.value)

alert("New Password and Confirm Password Field do not match !!");

document.chngpwd.confirmpassword.focus();

return false;

return true;

</script>

<style>

.errorWrap {

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #dd3d36;

Page | 166
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

.succWrap{

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #5cb85c;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

</style>

</head>

<body>

<!-- top-header -->

<div class="top-header">

<?php include('includes/header.php');?>

<div class="banner-1 ">

<div class="container">

<h1 class="wow zoomIn animated animated" data-wow-delay=".5s" style="visibility: visible;


animation-delay: 0.5s; animation-name: zoomIn;">Road Less Travelled</h1>

</div>

</div>

<!--- /banner-1 ---->

<!--- privacy ---->

Page | 167
<div class="privacy">

<div class="container">

<h3 class="wow fadeInDown animated animated" data-wow-delay=".5s" style="visibility:


visible; animation-delay: 0.5s; animation-name: fadeInDown;">Recover Password</h3>

<form name="chngpwd" method="post" onSubmit="return valid();">

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo


htmlentities($error); ?> </div><?php }

else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?php echo


htmlentities($msg); ?> </div><?php }?>

<p style="width: 350px;">

<b>Email id</b> <input type="email" name="email" class="form-control" id="email"


placeholder="Reg Email id" required="">

</p>

<p style="width: 350px;">

<b>Mobile No</b> <input type="text" name="mobile" class="form-control" id="mobile"


placeholder="Reg Mobile no" required="">

</p>

<p style="width: 350px;">

<b>New Password</b>

<input type="password" class="form-control" name="newpassword" id="newpassword"


placeholder="New Password" required="">

</p>

<p style="width: 350px;">

<b>Confirm Password</b>

<input type="password" class="form-control" name="confirmpassword" id="confirmpassword"


placeholder="Confrim Password" required="">

</p>

<p style="width: 350px;">

Page | 168
<button type="submit" name="submit50" class="btn-primary btn">Change</button>

</p>

</form>

</div>

</div>

<!--- /privacy ---->

<!--- footer-top ---->

<!--- /footer-top ---->

<?php include('includes/footer.php');?>

<!-- signup -->

<?php include('includes/signup.php');?>

<!-- //signu -->

<!-- signin -->

<?php include('includes/signin.php');?>

<!-- //signin -->

<!-- write us -->

<?php include('includes/write-us.php');?>

</body>

</html>

Page | 169
5. Tickets.php

<?php

session_start();

error_reporting(0);

include('includes/config.php');

if(strlen($_SESSION['login'])==0)

header('location:index.php');

else{

?>

<!DOCTYPE HTML>

<html>

<head>

<title>TMS | Tourism Management System</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="keywords" content="Tourism Management System In PHP" />

<script type="applijewelleryion/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600' rel='stylesheet'


type='text/css'>

Page | 170
<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet'
type='text/css'>

<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

<!-- Custom Theme files -->

<script src="js/jquery-1.12.0.min.js"></script>

<script src="js/bootstrap.min.js"></script>

<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<script>

new WOW().init();

</script>

<style>

.errorWrap {

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #dd3d36;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

.succWrap{

padding: 10px;

margin: 0 0 20px 0;

Page | 171
background: #fff;

border-left: 4px solid #5cb85c;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

</style>

</head>

<body>

<!-- top-header -->

<div class="top-header">

<?php include('includes/header.php');?>

<div class="banner-1 ">

<div class="container">

<h1 class="wow zoomIn animated animated" data-wow-delay=".5s" style="visibility: visible;


animation-delay: 0.5s; animation-name: zoomIn;">TMS-Tourism Management System</h1>

</div>

</div>

<!--- /banner-1 ---->

<!--- privacy ---->

<div class="privacy">

<div class="container">

<h3 class="wow fadeInDown animated animated" data-wow-delay=".5s" style="visibility:


visible; animation-delay: 0.5s; animation-name: fadeInDown;">Issue Tickets</h3>

<form name="chngpwd" method="post" onSubmit="return valid();">

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo


htmlentities($error); ?> </div><?php }

Page | 172
else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?php echo
htmlentities($msg); ?> </div><?php }?>

<p>

<table border="1" width="100%">

<tr align="center">

<th>#</th>

<th>Ticket Id</th>

<th>Issue</th>

<th>Description</th>

<th>Admin Remark</th>

<th>Reg Date</th>

<th>Remark date</th>

</tr>

<?php

$uemail=$_SESSION['login'];;

$sql = "SELECT * from tblissues where UserEmail=:uemail";

$query = $dbh->prepare($sql);

$query -> bindParam(':uemail', $uemail, PDO::PARAM_STR);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query->rowCount() > 0)

foreach($results as $result)

Page | 173
{ ?>

<tr align="center">

<td ><?php echo htmlentities($cnt);?></td>

<td width="100">#TKT-<?php echo htmlentities($result->id);?></td>

<td><?php echo htmlentities($result->Issue);?></td>

<td width="300"><?php echo htmlentities($result->Description);?></td>

<td><?php echo htmlentities($result->AdminRemark);?></td>

<td width="100"><?php echo htmlentities($result->PostingDate);?></td>

<td width="100"><?php echo htmlentities($result->AdminremarkDate);?></td>

</tr>

<?php $cnt=$cnt+1; }} ?>

</table>

</p>

</form>

</div>

</div>

<!--- /privacy ---->

<!--- footer-top ---->

<!--- /footer-top ---->

<?php include('includes/footer.php');?>

<!-- signup -->

<?php include('includes/signup.php');?>

<!-- //signu -->

<!-- signin -->

<?php include('includes/signin.php');?>

Page | 174
<!-- //signin -->

<!-- write us -->

<?php include('includes/write-us.php');?>

</body>

</html>

<?php } ?>

6. Logout.php

<?php

session_start();

$_SESSION = array();

if (ini_get("session.use_cookies")) {

$params = session_get_cookie_params();

setcookie(session_name(), '', time() - 60*60,

$params["path"], $params["domain"],

$params["secure"], $params["httponly"]

);

unset($_SESSION['login']);

session_destroy(); // destroy session

header("location:index.php");

?>

Page | 175
7. Package Details.php

<?php

session_start();

error_reporting(0);

include('includes/config.php');

if(isset($_POST['submit2']))

$pid=intval($_GET['pkgid']);

$useremail=$_SESSION['login'];

$fromdate=$_POST['fromdate'];

$todate=$_POST['todate'];

$comment=$_POST['comment'];

$status=0;

$sql="INSERT INTO tblbooking(PackageId,UserEmail,FromDate,ToDate,Comment,status)


VALUES(:pid,:useremail,:fromdate,:todate,:comment,:status)";

$query = $dbh->prepare($sql);

$query->bindParam(':pid',$pid,PDO::PARAM_STR);

$query->bindParam(':useremail',$useremail,PDO::PARAM_STR);

$query->bindParam(':fromdate',$fromdate,PDO::PARAM_STR);

$query->bindParam(':todate',$todate,PDO::PARAM_STR);

$query->bindParam(':comment',$comment,PDO::PARAM_STR);

$query->bindParam(':status',$status,PDO::PARAM_STR);

$query->execute();

$lastInsertId = $dbh->lastInsertId();

Page | 176
if($lastInsertId)

$msg="Booked Successfully";

else

$error="Something went wrong. Please try again";

?>

<!DOCTYPE HTML>

<html>

<head>

<title>TMS | Package Details</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="applijewelleryion/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600' rel='stylesheet'


type='text/css'>

<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet'


type='text/css'>

<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

Page | 177
<!-- Custom Theme files -->

<script src="js/jquery-1.12.0.min.js"></script>

<script src="js/bootstrap.min.js"></script>

<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<link rel="stylesheet" href="css/jquery-ui.css" />

<script>

new WOW().init();

</script>

<script src="js/jquery-ui.js"></script>

<script>

$(function() {

$( "#datepicker,#datepicker1" ).datepicker();

});

</script>

<style>

.errorWrap {

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #dd3d36;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

Page | 178
.succWrap{

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #5cb85c;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

</style>

</head>

<body>

<!-- top-header -->

<?php include('includes/header.php');?>

<div class="banner-3">

<div class="container">

<h1 class="wow zoomIn animated animated" data-wow-delay=".5s" style="visibility: visible;


animation-delay: 0.5s; animation-name: zoomIn;"> TMS -Package Details</h1>

</div>

</div>

<!--- /banner ---->

<!--- selectroom ---->

<div class="selectroom">

<div class="container">

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo


htmlentities($error); ?> </div><?php }

Page | 179
else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?php echo
htmlentities($msg); ?> </div><?php }?>

<?php

$pid=intval($_GET['pkgid']);

$sql = "SELECT * from tbltourpackages where PackageId=:pid";

$query = $dbh->prepare($sql);

$query -> bindParam(':pid', $pid, PDO::PARAM_STR);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query->rowCount() > 0)

foreach($results as $result)

{ ?>

<form name="book" method="post">

<div class="selectroom_top">

<div class="col-md-4 selectroom_left wow fadeInLeft animated" data-wow-delay=".5s">

<img src="admin/pacakgeimages/<?php echo htmlentities($result->PackageImage);?>"


class="img-responsive" alt="">

</div>

<div class="col-md-8 selectroom_right wow fadeInRight animated" data-wow-delay=".5s">

<h2><?php echo htmlentities($result->PackageName);?></h2>

<p class="dow">#PKG-<?php echo htmlentities($result->PackageId);?></p>

<p><b>Package Type :</b> <?php echo htmlentities($result->PackageType);?></p>

<p><b>Package Location :</b> <?php echo htmlentities($result->PackageLocation);?></p>

Page | 180
<p><b>Features</b> <?php echo htmlentities($result->PackageFetures);?></p>

<div class="ban-bottom">

<div class="bnr-right">

<label class="inputLabel">From</label>

<input class="date" id="datepicker" type="text" placeholder="dd-mm-yyyy" name="fromdate"


required="">

</div>

<div class="bnr-right">

<label class="inputLabel">To</label>

<input class="date" id="datepicker1" type="text" placeholder="dd-mm-yyyy" name="todate"


required="">

</div>

</div>

<div class="clearfix"></div>

<div class="grand">

<p>Grand Total</p>

<h3>INR.800</h3>

</div>

</div>

<h3>Package Details</h3>

<p style="padding-top: 1%"><?php echo htmlentities($result->PackageDetails);?> </p>

<div class="clearfix"></div>

</div>

<div class="selectroom_top">

<h2>Travels</h2>

Page | 181
<div class="selectroom-info animated wow fadeInUp animated" data-wow-duration="1200ms"
data-wow-delay="500ms" style="visibility: visible; animation-duration: 1200ms; animation-
delay: 500ms; animation-name: fadeInUp; margin-top: -70px">

<ul>

<li class="spe">

<label class="inputLabel">Comment</label>

<input class="special" type="text" name="comment" required="">

</li>

<?php if($_SESSION['login'])

{?>

<li class="spe" align="center">

<button type="submit" name="submit2" class="btn-primary btn">Book</button>

</li>

<?php } else {?>

<li class="sigi" align="center" style="margin-top: 1%">

<a href="#" data-toggle="modal" data-target="#myModal4" class="btn-primary btn" >


Book</a></li>

<?php } ?>

<div class="clearfix"></div>

</ul>

</div>

</div>

</form>

<?php }} ?>

Page | 182
</div>

</div>

<!--- /selectroom ---->

<<!--- /footer-top ---->

<?php include('includes/footer.php');?>

<!-- signup -->

<?php include('includes/signup.php');?>

<!-- //signu -->

<!-- signin -->

<?php include('includes/signin.php');?>

<!-- //signin -->

<!-- write us -->

<?php include('includes/write-us.php');?>

</body>

</html>

8. Package List.php

<?php

session_start();

error_reporting(0);

include('includes/config.php');

?>

Page | 183
<!DOCTYPE HTML>

<html>

<head>

<title>TMS | Package List</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="applijewelleryion/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600' rel='stylesheet'


type='text/css'>

<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet'


type='text/css'>

<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

<!-- Custom Theme files -->

<script src="js/jquery-1.12.0.min.js"></script>

<script src="js/bootstrap.min.js"></script>

<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<script>

new WOW().init();

</script>

<!--//end-animate-->

Page | 184
</head>

<body>

<?php include('includes/header.php');?>

<!--- banner ---->

<div class="banner-3">

<div class="container">

<h1 class="wow zoomIn animated animated" data-wow-delay=".5s" style="visibility: visible;


animation-delay: 0.5s; animation-name: zoomIn;"> Package List</h1>

</div>

</div>

<!--- /banner ---->

<!--- rooms ---->

<div class="rooms">

<div class="container">

<div class="room-bottom">

<h3>Package List</h3>

<?php $sql = "SELECT * from tbltourpackages";

$query = $dbh->prepare($sql);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query->rowCount() > 0)

foreach($results as $result)

{ ?>

Page | 185
<div class="rom-btm">

<div class="col-md-3 room-left wow fadeInLeft animated" data-wow-delay=".5s">

<img src="admin/pacakgeimages/<?php echo htmlentities($result->PackageImage);?>"


class="img-responsive" alt="">

</div>

<div class="col-md-6 room-midle wow fadeInUp animated" data-wow-delay=".5s">

<h4>Package Name: <?php echo htmlentities($result->PackageName);?></h4>

<h6>Package Type : <?php echo htmlentities($result->PackageType);?></h6>

<p><b>Package Location :</b> <?php echo htmlentities($result->PackageLocation);?></p>

<p><b>Features</b> <?php echo htmlentities($result->PackageFetures);?></p>

</div>

<div class="col-md-3 room-right wow fadeInRight animated" data-wow-delay=".5s">

<h5>INR<?php echo htmlentities($result->PackagePrice);?></h5>

<a href="package-details.php?pkgid=<?php echo htmlentities($result->PackageId);?>"


class="view">Details</a>

</div>

<div class="clearfix"></div>

</div>

<?php }} ?>

</div>

</div>

</div>

<!--- /rooms ---->

<!--- /footer-top ---->

<?php include('includes/footer.php');?>

<!-- signup -->

Page | 186
<?php include('includes/signup.php');?>

<!-- //signu -->

<!-- signin -->

<?php include('includes/signin.php');?>

<!-- //signin -->

<!-- write us -->

<?php include('includes/write-us.php');?>

<!-- //write us -->

</body>

</html>

10. Profile.php

<?php

session_start();

error_reporting(0);

include('includes/config.php');

if(strlen($_SESSION['login'])==0)

header('location:index.php');

else{

if(isset($_POST['submit6']))

$name=$_POST['name'];

Page | 187
$mobileno=$_POST['mobileno'];

$email=$_SESSION['login'];

$sql="update tblusers set FullName=:name,MobileNumber=:mobileno where EmailId=:email";

$query = $dbh->prepare($sql);

$query->bindParam(':name',$name,PDO::PARAM_STR);

$query->bindParam(':mobileno',$mobileno,PDO::PARAM_STR);

$query->bindParam(':email',$email,PDO::PARAM_STR);

$query->execute();

$msg="Profile Updated Successfully";

?>

<!DOCTYPE HTML>

<html>

<head>

<title>TMS | Tourism Management System</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="keywords" content="Tourism Management System In PHP" />

<script type="applijewelleryion/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600' rel='stylesheet'


type='text/css'>

<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet'


type='text/css'>

Page | 188
<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

<!-- Custom Theme files -->

<script src="js/jquery-1.12.0.min.js"></script>

<script src="js/bootstrap.min.js"></script>

<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<script>

new WOW().init();

</script>

<style>

.errorWrap {

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #dd3d36;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

.succWrap{

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #5cb85c;

Page | 189
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

</style>

</head>

<body>

<!-- top-header -->

<div class="top-header">

<?php include('includes/header.php');?>

<div class="banner-1 ">

<div class="container">

<h1 class="wow zoomIn animated animated" data-wow-delay=".5s" style="visibility: visible;


animation-delay: 0.5s; animation-name: zoomIn;">Road Less Travelled</h1>

</div>

</div>

<!--- /banner-1 ---->

<!--- privacy ---->

<div class="privacy">

<div class="container">

<h3 class="wow fadeInDown animated animated" data-wow-delay=".5s" style="visibility:


visible; animation-delay: 0.5s; animation-name: fadeInDown;">My Profile!!</h3>

<form name="chngpwd" method="post">

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo


htmlentities($error); ?> </div><?php }

else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?php echo


htmlentities($msg); ?> </div><?php }?>

<?php

Page | 190
$useremail=$_SESSION['login'];

$sql = "SELECT * from tblusers where EmailId=:useremail";

$query = $dbh -> prepare($sql);

$query -> bindParam(':useremail',$useremail, PDO::PARAM_STR);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query->rowCount() > 0)

foreach($results as $result)

{ ?>

<p style="width: 350px;">

<b>Name</b> <input type="text" name="name" value="<?php echo htmlentities($result-


>FullName);?>" class="form-control" id="name" required="">

</p>

<p style="width: 350px;">

<b>Mobile Number</b>

<input type="text" class="form-control" name="mobileno" maxlength="10" value="<?php echo


htmlentities($result->MobileNumber);?>" id="mobileno" required="">

</p>

<p style="width: 350px;">

<b>Email Id</b>

<input type="email" class="form-control" name="email" value="<?php echo


htmlentities($result->EmailId);?>" id="email" readonly>

</p>

<p style="width: 350px;">

Page | 191
<b>Last Updation Date : </b>

<?php echo htmlentities($result->UpdationDate);?>

</p>

<p style="width: 350px;">

<b>Reg Date :</b>

<?php echo htmlentities($result->RegDate);?>

</p>

<?php }} ?>

<p style="width: 350px;">

<button type="submit" name="submit6" class="btn-primary btn">Updtae</button>

</p>

</form>

</div>

</div>

<!--- /privacy ---->

<!--- footer-top ---->

<!--- /footer-top ---->

<?php include('includes/footer.php');?>

<!-- signup -->

<?php include('includes/signup.php');?>

<!-- //signu -->

<!-- signin -->

<?php include('includes/signin.php');?>

<!-- //signin -->

<!-- write us -->

Page | 192
<?php include('includes/write-us.php');?>

</body>

</html>

<?php } ?>

10. Tour History.php

<?php

session_start();

error_reporting(0);

include('includes/config.php');

if(strlen($_SESSION['login'])==0)

header('location:index.php');

else{

if(isset($_REQUEST['bkid']))

$bid=intval($_GET['bkid']);

$email=$_SESSION['login'];

$sql ="SELECT FromDate FROM tblbooking WHERE UserEmail=:email and BookingId=:bid";

$query= $dbh -> prepare($sql);

$query-> bindParam(':email', $email, PDO::PARAM_STR);

$query-> bindParam(':bid', $bid, PDO::PARAM_STR);

$query-> execute();

Page | 193
$results = $query -> fetchAll(PDO::FETCH_OBJ);

if($query->rowCount() > 0)

foreach($results as $result)

$fdate=$result->FromDate;

$a=explode("/",$fdate);

$val=array_reverse($a);

$mydate =implode("/",$val);

$cdate=date('Y/m/d');

$date1=date_create("$cdate");

$date2=date_create("$fdate");

$diff=date_diff($date1,$date2);

echo $df=$diff->format("%a");

if($df>1)

$status=2;

$cancelby='u';

$sql = "UPDATE tblbooking SET status=:status,CancelledBy=:cancelby WHERE


UserEmail=:email and BookingId=:bid";

$query = $dbh->prepare($sql);

$query -> bindParam(':status',$status, PDO::PARAM_STR);

$query -> bindParam(':cancelby',$cancelby , PDO::PARAM_STR);

$query-> bindParam(':email',$email, PDO::PARAM_STR);

$query-> bindParam(':bid',$bid, PDO::PARAM_STR);

Page | 194
$query -> execute();

$msg="Booking Cancelled successfully";

else

$error="You can't cancel booking before 24 hours";

}}}

?>

<!DOCTYPE HTML>

<html>

<head>

<title>TMS | Tourism Management System</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="keywords" content="Tourism Management System In PHP" />

<script type="applijewelleryion/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600' rel='stylesheet'


type='text/css'>

<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet'


type='text/css'>

<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

Page | 195
<!-- Custom Theme files -->

<script src="js/jquery-1.12.0.min.js"></script>

<script src="js/bootstrap.min.js"></script>

<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<script>

new WOW().init();

</script><style>

.errorWrap {

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #dd3d36;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

.succWrap{

padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid #5cb85c;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

Page | 196
</style>

</head>

<body>

<!-- top-header -->

<div class="top-header">

<?php include('includes/header.php');?>

<div class="banner-1 ">

<div class="container">

<h1 class="wow zoomIn animated animated" data-wow-delay=".5s" style="visibility: visible;


animation-delay: 0.5s; animation-name: zoomIn;">TMS-Tourism Management System</h1>

</div>

</div>

<!--- /banner-1 ---->

<!--- privacy ---->

<div class="privacy">

<div class="container">

<h3 class="wow fadeInDown animated animated" data-wow-delay=".5s" style="visibility:


visible; animation-delay: 0.5s; animation-name: fadeInDown;">My Tour History</h3>

<form name="chngpwd" method="post" onSubmit="return valid();">

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo


htmlentities($error); ?> </div><?php }

else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?php echo


htmlentities($msg); ?> </div><?php }?>

<p>

<table border="1" width="100%">

<tr align="center">

<th>#</th>

Page | 197
<th>Booking Id</th>

<th>Package Name</th>

<th>From</th>

<th>To</th>

<th>Comment</th>

<th>Status</th>

<th>Booking Date</th>

<th>Action</th>

</tr>

<?php

$uemail=$_SESSION['login'];;

$sql = "SELECT tblbooking.BookingId as bookid,tblbooking.PackageId as


pkgid,tbltourpackages.PackageName as packagename,tblbooking.FromDate as
fromdate,tblbooking.ToDate as todate,tblbooking.Comment as comment,tblbooking.status as
status,tblbooking.RegDate as regdate,tblbooking.CancelledBy as
cancelby,tblbooking.UpdationDate as upddate from tblbooking join tbltourpackages on
tbltourpackages.PackageId=tblbooking.PackageId where UserEmail=:uemail";

$query = $dbh->prepare($sql);

$query -> bindParam(':uemail', $uemail, PDO::PARAM_STR);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query->rowCount() > 0)

foreach($results as $result)

{ ?>

Page | 198
<tr align="center">

<td><?php echo htmlentities($cnt);?></td>

<td>#BK<?php echo htmlentities($result->bookid);?></td>

<td><a href="package-details.php?pkgid=<?php echo htmlentities($result->pkgid);?>"><?php


echo htmlentities($result->packagename);?></a></td>

<td><?php echo htmlentities($result->fromdate);?></td>

<td><?php echo htmlentities($result->todate);?></td>

<td><?php echo htmlentities($result->comment);?></td>

<td><?php if($result->status==0)

echo "Pending";

if($result->status==1)

echo "Confirmed";

if($result->status==2 and $result->cancelby=='u')

echo "Canceled by you at " .$result->upddate;

if($result->status==2 and $result->cancelby=='a')

echo "Canceled by admin at " .$result->upddate;

?></td>

Page | 199
<td><?php echo htmlentities($result->regdate);?></td>

<?php if($result->status==2)

?><td>Cancelled</td>

<?php } else {?>

<td><a href="tour-history.php?bkid=<?php echo htmlentities($result->bookid);?>"


onclick="return confirm('Do you really want to cancel booking')" >Cancel</a></td>

<?php }?>

</tr>

<?php $cnt=$cnt+1; }} ?>

</table>

</p>

</form>

</div>

</div>

<!--- /privacy ---->

<!--- footer-top ---->

<!--- /footer-top ---->

<?php include('includes/footer.php');?>

<!-- signup -->

<?php include('includes/signup.php');?>

<!-- //signu -->

<!-- signin -->

<?php include('includes/signin.php');?>

<!-- //signin -->

Page | 200
<!-- write us -->

<?php include('includes/write-us.php');?>

</body>

</html>

<?php } ?>

11.Payment process .php

<?php

session_start();

include('db.php');

if(isset($_POST['amt']) && isset($_POST['name'])){

$amt=$_POST['amt'];

$name=$_POST['name'];

$phone=$_POST['phone'];

$email=$_POST['email'];

$pkg=$_POST['pkg'];

$payment_status="pending";

$added_on=date('Y-m-d h:i:s');

mysqli_query($con,"insert
intopayment(name,amount,payment_status,added_on,phone,email,pkg)
values('$name','$amt','$payment_status','$added_on','$phone','$email','$pkg')");

$_SESSION['OID']=mysqli_insert_id($con);

if(isset($_POST['payment_id']) && isset($_SESSION['OID'])){

Page | 201
$payment_id=$_POST['payment_id'];

mysqli_query($con,"update payment set payment_status='complete',payment_id='$payment_id'


where id='".$_SESSION['OID']."'");

?>

12. Genrate Invoice.php

<?php

session_start();

include('includes/config.php');

$useremail=$_SESSION['login'];

$sql = "SELECT * from tblusers where EmailId=:useremail";

$query = $dbh -> prepare($sql);

$query -> bindParam(':useremail',$useremail, PDO::PARAM_STR);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query->rowCount() > 0)

{}

foreach($results as $result)

{}

<?php

$bookid=intval($_GET['bookid']);

Page | 202
$sql1 = "SELECT * from tblbooking where Bookingid='$bookid'";

$query1 = $dbh -> prepare($sql1);

$query1->execute();

$results1=$query1->fetchAll(PDO::FETCH_OBJ);

$cnt1=1;

if($query1->rowCount() > 0)

{}

foreach($results1 as $result1)

{}

$mode = htmlentities($result1->Mode);

$sta = htmlentities($result1->status);

$onl = "Online";

$of = "Offline";

$one = 1;

$zero = 0;

$two = 2;

if($sta == $one && $mode == $onl){

$text = "Paid";

}else{

$text = "Unpaid";

?>

<?php

$sta = htmlentities($result1->status);

$one = 1;

Page | 203
$zero = 0;

$two = 2;

if($sta == $one){

$texts = "Confirmed";

}if($sta == $zero){

$texts = "Pending";

}if($sta == $two){

$texts = "Cancelled";

?>

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>TMS - Invoice</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>

<link href="https://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/css/bootstrap.min.css"
rel="stylesheet">

<script
src="https://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/js/bootstrap.bundle.min.js"></script>

</head>

<body onload="window.print()">

Page | 204
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"
rel="stylesheet" />

<div class="page-content container">

<div class="page-header text-blue-d2">

<h1 class="page-title text-secondary-d1">

Invoice

<small class="page-info">

<i class="fa fa-angle-double-right text-80"></i>

ID: #<?php echo htmlentities($result1->BookingId);?>

</small>

</h1>

</div>

<div class="container px-0">

<div class="row mt-4">

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

<div class="row">

<div class="col-12">

<div class="text-center text-150">

<img
src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxASEhUT
EhMWFRUXFRYXFxcYGRYdGBgXFRUWFxUXGRgYHSggGBslHRUVITEhJTUrLi4uFx8z
ODMsNygtLisBCgoKDg0OGxAQGy4mICYtLTAyLjctLS8vNy8tLS0vLS8wLy8tLS8vLy8tLy0
tLS0tLS0tLS0tLS0tLS8tLS0tLf/AABEIAMUA/wMBIgACEQEDEQH/xAAcAAEAAgMBAQ
EAAAAAAAAAAAAABQYDBAcCAQj/xABJEAABAwIDBAUIBgcHAwUAAAABAAIDB
BEFEiEGMUFRYXGBkaEHEyIyUrHB0TNCYnKSohQVI0OC0uEWRFOywvDxJDSTF2Ojs8
P/xAAbAQACAwEBAQAAAAAAAAAAAAAABAIDBQEGB//EAEMRAAEDAgIHBQQGC
AUFAAAAAAEAAgMEERIhBTFBUWFxkRMigaGxMpLB8AYUQkOi0TNSU3KC0tPxJGK
TwuEjRKOys//aAAwDAQACEQMRAD8A7UiIhCIiIQiIiEIiLHUTsjaXvc1jRqXOIAHWToEI

Page | 205
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

Page | 206
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

Page | 207
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

Page | 208
+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

Page | 209
wGgA3ADgvq5dT+VuT95h0v8D3HwMYUzQeU+lebPpqyLpMJc3/AOMk+CzzBI3YrRI07Ve
EWphuJRTtzROJHS17SOtrwCFtqsi2tTRERcQiIiEIozE8cig0LZZHezFFI89paMo7SFJoui21cN
9iptTtXXn/ALfDJuuS7fy2+Kjp63aSX1YGRDo8z/8Ao5y6GtetqHMbdsb5T7LMl+97mjxV7Zg
NTG+Nz6lVOiJ1vPhYeguuZ1ezmNSAvnlAAFzd/AdEbTdRlPsjJM8NfUMBOgJzu6hctC6FUY
lizvoqFkfIyTMd3tjPxVcn2YxiV2Yvp4r8GXHd6Drd6k+aqDgYnRtG3L0w4vTxXGw0xaRK2R
27P+a3qtabyZTNYXCdriNcrYzcjjY5t6ihs5GPWkP5R7yrFJsRiUv02IE9GaVw7iQF4h8lY+vVu
PVH8S8qUzpXnKpwjcGA+drhVRMiZ/22LiXkeVyFAOwqhHrSfnb7gFgfHhg+u4/j+AV0j8mN
KPWmmPVkHwK2Y/JtQDf513W8f6WhVBrR7VRKeRaPh8Vc4k+xTxDmCfy9Fz4y4YPqvd2
n4uC8/pWHjdA89Zd/Mukt8nuGj9y89cknwcso2Dwwf3e/XJKf9aneHbJN/qOHo4KFpf2cPuD4g
rmH6zo+FN3uK8nG6cbqRvaR/KusN2Mw0f3ZvaXn3uWVuyeHj+6Q9rQfeoYaXaJDzlk/nU8V
TsLByjZ/IuRf2hiG6kZ4fyrGdpWjdTxDsXZ2bO0I3UsP/iZ8lmZg1KN1PCOqNnyUcFH+zJ5uef
UlT7Ws/a/hb8AuInat43RRDsPzXn+2Eo3MZ3O/mXdW0EI3RRjqY35LIIGDcxvcFExUX7AdV
Pt6wffHoFwT+2cvsx/m/mXwbay/4bPzfNd/823kO4L4GDkO5QMFCfuG9f8AhTFTWj749AuBt
22k/wAIHqcfkV6/tqeMB/H82rvdl9UDSUB+4HvFTFbWj74+638lxfBduqeN4fLT1Di3UBuQi/
A6kXsrlR+VKgf6zamP70RP/wBRcrsvVyrI46eIWjjt439QT5quWaaV2KR9/D8loYZjEFQLwyZ
uizgR1tcAQt+5Xm6LhtsUUuiIhCIiIQiIiEIiIhCIiIQiIiEIiIhCIiIQiIiEIiIhCIiIQiIiEIiIhCIiIQiIiEIi
IhCIiIQiIiEIiIhCIiIQiIiEIiIhCIiIQiIiEIiIhCIiIQiIiEIiIhCIiIQiIiEIiIhCIiIQiIiEL//Z"
style="width:100px">

<span class="text-default-d3">Tourist Management System</span>

</div>

</div>

</div>

<!-- .row -->

<hr class="row brc-default-l1 mx-n1 mb-4" />

<div class="row">

<div class="col-sm-6">

<div>

<span class="text-sm text-grey-m2 align-middle">To:</span>

<span class="text-600 text-110 text-blue align-middle"><?php echo htmlentities($result-


>FullName);?></span>

</div>

<div class="text-grey-m2">

Page | 210
<div class="my-1">

<?php echo htmlentities($result->Address);?>

</div>

<div class="my-1">

India

</div>

<div class="my-1"><i class="fa fa-phone fa-flip-horizontal text-secondary"></i> <b


class="text600"><?php echo htmlentities($result->MobileNumber);?></b></div>

</div>

</div>

<!-- /.col -->

<div class="text-95 col-sm-6 align-self-start d-sm-flex justify-content-end">

<hr class="d-sm-none" />

<div class="text-grey-m2">

<div class="mt-1 mb-2 text-secondary-m1 text-600 text-125">

Invoice

</div>

<div class="my-2"><i class="fa fa-circle text-blue-m2 text-xs mr-1"></i> <span class="text-600


text-90">ID:</span> #<?php echo htmlentities($result1->BookingId);?></div>

<div class="my-2"><i class="fa fa-circle text-blue-m2 text-xs mr-1"></i> <span class="text-600


text-90">Issue Date:</span> <?php echo htmlentities($result1->RegDate);?></div>

<div class="my-2"><i class="fa fa-circle text-blue-m2 text-xs mr-1"></i> <span class="text-600


text-90">Status:</span> <span class="badge badge-warning badge-pill px-25"><?php echo
$text;?></span></div>

</div>

Page | 211
</div>

<!-- /.col -->

</div>

<div class="mt-4">

<div class="row text-600 text-white bgc-default-tp1 py-25">

<div class="d-none d-sm-block col-1">Booking-ID</div>

<div class="col-2">From - To</div>

<div class="d-none d-sm-block col-sm-2">Amount</div>

<div class="col-2">Payment Mode</div>

<div class="col-2">Booking Status</div>

<div class="col-2">Booking Date</div>

</div>

<div class="text-95 text-secondary-d3">

<div class="row mb-2 mb-sm-0 py-25">

<div class="d-none d-sm-block col-1">#BKID-<?php echo


htmlentities($result1>BookingId);?></div>

<div class="-none d-sm-block col-2"><?php echo htmlentities($result1->FromDate);?> - <?php


echo htmlentities($result1->ToDate);?></div>

<div class="d-none d-sm-block col-2 text-95">₹ <?php echo


htmlentities($result1>amts);?></div>

<div class="col-2 text-secondary-d2"><?php echo htmlentities($result1->Mode);?></div>

<div class="col-2 text-secondary-d2"><?php echo $texts;?></div>

<div class="col-2 text-secondary-d2"><?php echo htmlentities($result1->RegDate);?></div>

Page | 212
</div>

</div>

<div class="row border-b-2 brc-default-l2"></div>

<!-- or use a table instead -->

<!--

<div class="table-responsive">

<table class="table table-striped table-borderless border-0 border-b-2 brc-default-l1">

<thead class="bg-none bgc-default-tp1">

<tr class="text-white">

<th class="opacity-2">#</th>

<th>Description</th>

<th>Qty</th>

<th>Unit Price</th>

<th width="140">Amount</th>

</tr>

</thead>

<tbody class="text-95 text-secondary-d3">

<tr></tr>

<tr>

<td>1</td>

Page | 213
<td>Domain registration</td>

<td>2</td>

<td class="text-95">$10</td>

<td class="text-secondary-d2">$20</td>

</tr>

</tbody>

</table>

</div>

-->

<div class="row mt-3">

<div class="col-12 col-sm-7 text-grey-d2 text-95 mt-2 mt-lg-0">

This is computer generated invoice so the signature is not required

</div>

<div class="col-12 col-sm-5 text-grey text-90 order-first order-sm-last">

<div class="row my-2">

<div class="col-7 text-right">

SubTotal

</div>

<div class="col-5">

<span class="text-120 text-secondary-d1">₹ <?php echo htmlentities($result1->amts);?></span>

</div>

<div class="row my-2 align-items-center bgc-primary-l3 p-2">

Page | 214
<div class="col-7 text-right">

Total Am</div>

</div>

<div class="row my-2">

<div class="col-7 text-right">

Tax (10%)

</div>

<div class="col-5">

<span class="text-110 text-secondary-d1">

<?php

$amt = htmlentities($result1->amts);

if($amt != 0 ){

$final = 10/100*$amt;

echo $final;

}else{

echo 0;

?></span>

</div>

ount

</div>

<div class="col-5">

<span class="text-150 text-success-d3 opacity-2">

Page | 215
<?php

if($amt != 0 ){

$final = 10/100*$amt;

$add = $amt+$final;

echo $add;

}else

echo 0;

?>

</span>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

</div></div>

<style type="text/css">

Page | 216
padding-top: .5rem;

border-bottom: 1px dotted #e2e2e2;

display: -ms-flexbox; body{

margin-top:20px;

color: #484b51;

.text-secondary-d1 {

color: #728299!important;

.page-header {

margin: 0 0 1rem;

padding-bottom: 1rem

display: flex;

-ms-flex-pack: justify;justify-content: space-between;

-ms-flex-align: center;

align-items: center;

.page-title {

padding: 0;

margin: 0;

font-size: 1.75rem;

font-weight: 300;

.brc-default-l1 {

border-color: #dce9f0!important;

Page | 217
}

.ml-n1, .mx-n1 {

margin-left: -.25rem!important;

.mr-n1, .mx-n1 {

margin-right: -.25rem!important;

.mb-4, .my-4 {

margin-bottom: 1.5rem!important;

}hr {

margin-top: 1rem;

margin-bottom: 1rem;

border: 0;

border-top: 1px solid rgba(0,0,0,.1);

.text-grey-m2 {

color: #888a8d!important;

.text-success-m2 {

color: #86bd68!important;

.font-bolder, .text-600 {

font-weight: 600!important;

Page | 218
.text-110 {

font-size: 110%!important;

.text-blue {

color: #478fcc!important;

.pb-25, .py-25 {

padding-bottom: .75rem!important;

.pt-25, .py-25 {

padding-top: .75rem!important;

.bgc-default-tp1 {

background-color: rgba(121,169,197,.92)!important;

.bgc-default-l4, .bgc-h-default-l4:hover {

background-color: #f3f8fa!important;

.page-header .page-tools {

-ms-flex-item-align: end;

align-self: flex-end;

.btn-light {

color: #757984;

background-color: #f5f6f9;

Page | 219
border-color: #dddfe4;

.w-2 {

width: 1rem;

.text-120 {

font-size: 120%!important;

.text-primary-m1 {

color: #4087d4!important;

.text-danger-m1 {

color: #dd4949!important;

.text-blue-m2 {

color: #68a3d5!important;

.text-150 {

font-size: 150%!important;

.text-60 {

font-size: 60%!important;

.text-grey-m1 {

color: #7b7d81!important;

Page | 220
}

.align-bottom {

vertical-align: bottom!important;

</style>

<script type="text/javascript">

</script>

</body>

</html>

13. Thank you.php

<?php

session_start();

error_reporting(0);

include('includes/config.php');

?>

<!DOCTYPE HTML>

<html>

<head>

<title>TMS | Confirmation </title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Page | 221
<script type="applijewelleryion/x-javascript"> addEventListener("load", function()
{ setTimeout(hideURLbar, 0); }, false); function hideURLbar(){
window.scrollTo(0,1); } </script>
<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600' rel='stylesheet'


type='text/css'>

<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet'


type='text/css'>

<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

<!-- Custom Theme files -->

<script src="js/jquery-1.12.0.min.js"></script>

<script src="js/bootstrap.min.js"></script>

<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<script>

new WOW().init();

</script>

<!--//end-animate-->

</head>

<body>

<?php include('includes/header.php');?>

<div class="banner-1 ">

<div class="container">

Page | 222
<h1 class="wow zoomIn animated animated" data-wow-delay=".5s" style="visibility: visible;
animation-delay: 0.5s; animation-name: zoomIn;"> TMS- Tourism Management System</h1>

</div>

</div>

<!--- /banner-1 ---->

<!--- contact ---->

<div class="contact">

<div class="container">

<h3> Confirmation</h3>

<div class="col-md-10 contact-left">

<div class="con-top animated wow fadeInUp animated" data-wow-duration="1200ms" data-


wow-delay="500ms" style="visibility: visible; animation-duration: 1200ms; animation-delay:
500ms; animation-name: fadeInUp;">

<h4> <?php echo htmlentities($_SESSION['msg']);?></h4>

</div>

<div class="clearfix"></div>

</div>

</div>

<!--- /contact ---->

<?php include('includes/footer.php');?>

<!-- sign -->

<?php include('includes/signup.php');?>

<!-- signin -->

<?php include('includes/signin.php');?>

<!-- //signin -->

<!-- write us -->

Page | 223
4.2Testing Approach

To build up our project we use software testing process for executing a program with the
intent of findingerrors that is uncovering errors in a program makes it a feasible task and also
trying to find the error in a program as it is destructive process.

Type of Testing

Type of testing we Use in Our Project Here we just mentioned that how the testing is related to
this software and in which way we have test the software? In our project we have used 4 types of
testingthese are listed below –
 Unit testing: Unit testing where individual program unit or object classes are tested
here byusing this testing we have focused on testing the functionality of methods.

 Module Testing : Where this is the combination of unit is called module. Here we
tested theunit program is where the module program have dependency

 Sub- system Testing : The we combined some module for the preliminary system
testing inour project

 System Testing : where it is the combination of two or more sub – system and then it is
tested.Here we tested and entire system as per the requirements.

4.3Use Case

A use case is a methodology used in system analysis to identify, clarify and organize system
requirements. The use case is made up of a set of possible sequences of interactions between
systemsand users in a particular environment and related to a particular goal.

Page | 224
Every use case contains three essential elements:

 The actor. The system user -- this can be a single person or a group of people interacting
withthe process.
 The goal. The final successful outcome that completes the process.
 The system. The process and steps taken to reach the end goal, including the
necessaryfunctional requirements and their anticipated behaviours.

The writing process includes:

 Identifying all system users and creating a profile for each one. This includes
every roleplayed by a user who interacts with the system.
 Selecting one user and defining their goal -- or what the user hopes to accomplish
byinteracting with the system. Each of these goals becomes a use case.
 Describing the course taken for each use case through the system to reach that goal.
 Considering every alternate course of events and extending use cases -- or the
different courses that can be taken to reach the goal.
 Identifying commonalities in journeys to create common course use cases and write
descriptions of each.
 Repeating steps two through five for all other system users.

Benefits of use case :

A single use case can benefit developers by revealing how a system should behave while
also helping identify any errors that could arise in the process.

Other benefits of use case development include:

Page | 225
 The list of goals created in the use case writing process can be used to establish the
complexity and cost of the system.
 By focusing both on the user and the system, real system needs can be identified earlier
in thedesign process.
 Since use cases are written primarily in a narrative language they are easily
understood bystakeholders, including customers, users and executives -- not just by
developers and testers.
 The creation of extending use cases and the identification of exceptions to successful
use casescenarios saves developers time by making it easier to define subtle system
requirements.
 By identifying system boundaries in the design scope of the use case, developers can
avoidscope creep.
 Premature design can be avoided by focusing on what the system should do rather
than howit should do it.

Test Case

A Test Case is a set of conditions or variables under which a tester will determine whether a
systemunder test satisfies requirements or works correctly.
The process of developing test cases can also help find problems in the requirements or design
of anapplication.

Test Case Template

A test case can have the following elements. Note, however, that a test management tool is
normallyused by companies and the format is determined by the tool used.

Page | 226
Test Suite ID The ID of the test suite to which this test case belongs.

Test Case ID The ID of the test case.

Test Case The summary / objective of the test case.


Summary

Related The ID of the requirement this test case relates/traces to.


Requirement

Any prerequisites or preconditions that must be fulfilled


Prerequisites
prior to executing the test.

Test Procedure Step-by-step procedure to execute the test.

The test data, or links to the test data, that are to be used
Test Data
while conducting the test.

Expected Result The expected result of the test.

The actual result of the test; to be filled after executing


Actual Result
the test.

Page | 227
CHAPTER 5 Results and
SCREENSHOTS

Home page

Page | 228
Sign In/UP

Package details

Page | 229
About us

My profile

Page | 230
Change password

Tour history

Page | 231
Screenshots Admin side
Admin login

Dashboard

Page | 232
Create packages

Manage packages

Page | 233
Manage Users

Manage Bookings

Page | 234
Manage Issue

Payment Gateway

Page | 235
Payment Gateway

Invoice

Page | 236
Chapter 6

6.1 Future Scope and Improvements


Online travel booking systems has truly transformed the way people plan their tours along with
how travel agencies all over the world offer their services to the individual. In earlier times, local
tour operators and travel agencies were totally dependent on the travel needs and requirements of
the people who are present nearby. Their services were limited to a particular geographical area,
which also restricts their profits and revenue. Furthermore, offering the customers with full fledged
travel services during the tour were quite difficult as well.

However, with the emergence of online travel booking systems, travel agencies throughout the
world have been able to improve and enhance their travel services extensively and provide the
potential customers with far superior tour experience, even in this stiff competition. The
augmentation in travel technology solutions in recent years have made it possible for tour operators
to reach and target a wider audience while appealing them through highly innovative and striking
travel packages. Some of the ways by which travel agency systems has transformed the global
travel agencies are as follows:

1. Communicate with potential customers 24/7:- Bringing your travel business online would
allow you to impart your unique travel offers and dynamic packages to the travelers at any time of
the day. It increases engagement level with the customer and develop more sales opportunties
without giving much effort. At the same time, you can easily appeal to new & existing customers
by your exciting offers through online travel booking system.

2. Tracking of real time sales: One of the best way to determine if your business is moving in a
positive manner, is by tracking the sales of business products and services. The travel agent system
also helps the travel agency to real time sales, allowing the company to predict revenue and
compare earnings. This helps the management to make any necessary modifications in the system
to enhance the productivity and sales.

Page | 237
3. Online performance management: Performance management is a very critical process in
business management, which must be done accurately. Online travel booking systems showcase
the performance of the company and act as a critic for every activity performed. Whether it is hotel
or flight reservations, travel package booking, or any query related to the customer, it helps the
travel agencies to properly analyse and manage the performance of the busniess in a positive
direction.

4. Easy payment and customer support: The success of any business depends highly on its
customer service. In travel business, resolving the queries of the travelers rapidly is of utmost
importance and online travel booking systems help the company achieve just that. The potential
travelers can easily navigate through the system, find a suitable holiday product to book, make
payment easily using different UPIs and get speedy reply on any queries during the travel.

Page | 238
CONCLUSION

This project is built keeping in mind that it is to be used by only one user that is the admin. It is
built for use in small scale organization where the number of employees is limited. According to
the requested requirement the admin can add, manipulate, update and delete all employee data in
his organization. The admin can add new departments and delete them. The Admin can also add
predefined pay grades for the employees. The required records can be easily viewed by the admin
anytime time he wants in an instant. The payment of the employee is based on monthly basis.
Numerous validations implemented would enable the admin to enter accurate data. The main
objective of this framework is to save time, make the system cost effective and management
records efficiently.

Page | 239
Chapter 7
REFERENCES:

Websites:

 www.w3schools.com
 www.tutorialspoint.com
 www.youtube.com
 www.javatpoint.com

Page | 240

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy