Sie sind auf Seite 1von 84

PROJECT REPORT

ON
ONLINE TICKET RESERVATION SYSTEM
USING PHP

Submitted to PANJAB UNIVERSITY, CHANDIGARH


In fulfillment of the requirements for the degree of

MASTER OF SCIENCE IN INFORMATION TECHNOLOGY


(M.Sc., (IT) 4th Semester)
Of
6 month industrial training
By
Bhavneet Kaur
Uni. Roll No:

Department of Computer Science and Application


GHG KHALSA COLLEGE,
GURUSAR SADHAR.
SESSION: 2019-2020
PROJECT REPORT
ON
ONLINE TICKET RESERVATION SYSTEM
USING PHP

Submitted to PANJAB UNIVERSITY, CHANDIGARH


In fulfillment of the requirements for the degree of

MASTER OF SCIENCE IN INFORMATION TECHNOLOGY


(M.Sc. (IT) 4th Semester)

Project Guides: Submitted by:

Mr. Gurbinder Singh Bhavneet Kaur


(External Guide) Roll No: 3902
Uni. Roll No:
Mr. Umrinderpal Singh
(Internal Guide)

Department of Computer Science and Application


GHG KHALSA COLLEGE,
GURUSAR SADHAR.
ACKNOWLEDGMENT
The success and final outcome of this project required a lot of guidance and assistance from
many people and I am extremely fortunate to have got this all along the completion of my
project work. I would like to extend our sincere thanks to all of them.

First and foremost I would like to thank Almighty for giving us courage to bring up this project
successfully. At the outset, I would like to propose a word of thanks to our worthy Principal Mr.
Jaswant Singh Goraya for providing us best facilities and giving us unending support,
motivation, encouragement at every step of life.

I would like to express a deep sense of gratitude to our training guide Mr. Gurbinder Singh Web
Developer of the company for having complete faith and confidence in our abilities to carry out
this project and for providing me their time, help and valuable guidance. Without their wise
counseling and guidance I would have been impossible to complete project in this manner.

I would like to express a word of thanks to our Internal Project Guide Mr. Umrinderpal Singh
for his exemplary guidance, monitoring and contrast encouragement throughout the course of
this project.

At the end I would like to thank our family and friends for their support and motivation.

Bhavneet Kaur

M.Sc(IT) 4th Sem.


CERTIFICATE

This is to certify that Miss Bhavneet Kaur Roll No. 3902 a student of Computer Science and
Applications 4th Semester of this college, has completed the industrial project titled “ONLINE
TICKET RESERVATION SYSTEM” in “BRILLIKO INSTITUTE OF MULTIMEDIA,
LUDHIANA” of six months duration in partial fulfillment of M.Sc. (IT) degree. To the best of
my knowledge and belief, the above said report has been prepared by the above said student.

Mr. Tarsem Singh Mr. Umrinderpal Singh


(H.O.D) (Project Guide)

Mr. Jaswant Singh Goraya


(Principal)
ABSTRACT OF THE PROJECT

Online Ticket Reservation System is a computerized system used to store and retrieve information
and conduct transactions related to travel. The project is aimed at exposing the relevance and
importance of Online Reservation Systems. It is projected towards enhancing the relationship
between customers and travel agencies and thereby making it convenient for the customers to book
the tickets as when they require such that they can utilize this software to make reservations. This
software has two parts. First are user part and the administrator part. User part is used as a front
end and administrator is the back end. Admin part will allow the customers to access database and
allow new customers to sign up for online access.

This “Online Ticket Reservation System” project will provide an online ticket booking platform
and thereby leverage the tedious manual ticket booking activity for a customer. We can provide a
feature that will allow the customer to get a ticket booked without much hassle.
Online Bus Ticket Reservation System is a Web based application that works within a
centralized network. This project presents a review on the software program “Online Ticket
Reservation System” as should be used in a transportation system, a facility which is used to
reserve seats, cancellation of reservation and different types of route enquiries used on securing
quick reservations. It maintains all customer details, ticket details, reservation details. Structured
Systems Analysis and Design Methodology was adopted. In addition, PHP Hypertext
Preprocessor (PHP) language was used for the front- end of the software while the back end was
designed using MySQL. It is recommended that despite the present functionality of the designed
software, an additional functionality such as the use of E-mail to send tickets and notifications to
the customer and an online payment using credit cards/debit cards should be implemented into
the system.
Now days, it becomes more and more popular to buy tickets through online systems. People
enjoy buying tickets online because of the convenience brought by the Internet. Many travel sites
provide services which help travelers find tickets for their travel plans. In addition to providing
the same services that a traditional ticket booking system would provide, these websites provide
enhanced services. Generally Online Booking consists of procedures like Reservation,
Cancellation, Availability of Seats, Timetable, etc.
INDEX

Sr. No. Contents Page no.

1. Overview of the organization 1

2. Introduction to project 2-3

3. Problem Definition 4-5

4. Objectives 6

5. Feasibility Study 7-8

6. Hardware and Software Requirements 9

7. Tools and Techniques 10-17

8. System Analysis 18-19

9. System Design 20-35

10. Source Code 36-64

11. System Testing 65-67

12. Project Snapshots 68-73

13. Conclusion 74-75

14. Future Scope and Further enhancement of the project 76-77

15. References 78
OVERVIEW OF THE ORGANIZATION

Brilliko Institute of Multimedia is Providing Animation, Web designing, VFX & Multimedia
education, Started in 2011 by a team of management and technical evangelists with over ten
years of experience in the Animation & Visual effects production & training domain, Brilliko
offers a wide array of training programs aimed at producing high quality trained manpower to
fuel India‟s Media & Entertainment industry.

Brilliko is a division of Apprise Consultant Pvt. Ltd. a multi-faceted organization with a focus on
empowering high quality multimedia education brands in the country.

Today, TV channels bring awesome animation into our homes & the film industry is bringing out
fantastic films every week. The Indian animation industry is expected to be worth 2370 crores by
2021. At the same time, the market outside India is much bigger & Indian companies work on
outsourced international animation projects as well.

The multimedia courses at BRILLIKO, train students to live up to the industry standards by
providing them wide range of courses.

Courses provided by Institute:

1. Animation
2. Visual Effects
3. Graphic Designing
4. Website Designing
5. PHP Training
6. Film Making

1
INTRODUCTION TO PROJECT

Project Preview
Online Ticket Reservation System is the ticket booking system which has all types of ticket
booking in one website. This software project is aimed at automation of Online Ticket booking.
The objective of the project is to develop customize software package for Ticket booking. In our
daily life we have to book ticket for Bus, movies, Flight and cricket match or football match.
Unless like in the previous stage people as to walk in the travel agency company to buy the
tickets and also check the timings. This problem is overcome introducing Online Ticket
Booking System. This project will provide an option to customers to book the tickets online
and to check the confirmation online.
Project Description

Online Ticket Reservation System will hold travel schedules and its fare tariffs, passenger
reservations and ticket records. It saves time as it allows online procedure as users no longer to
wait in a queue to book the flights. It is automatically generated by the server. Admin is the main
authority who can do addition, deletion, and modification of flights if required.

The project has been planned to be having the view of distributed architecture, with
centralized storage of the database. The application for the storage of the data has been planned.
Using the constructs of database MYSQL and all the user interfaces have been designed using
the Adobe Dreamweaver technologies. The database connectivity is planned using the “SQL
Connection” methodology.

The standards of security and data protective mechanism have been given a big choice for
proper usage. The application takes care of different modules and their associated reports, which
are produced as per the applicable strategies and standards that are put forwarded by the
administrative staff.

The entire project has been developed keeping in view of the distributed client server
computing technology, in mind. The specification has been normalized up to 2NF to eliminate all
the anomalies that may arise due to the database transaction that are executed by the general
users and the organizational administration. The user interfaces are browser specific to give

2
distributed accessibility for the overall system. The internal database has been selected as
Database MYSQL.

Online Ticket Reservation System project is an implementation of a website, which helps


the customers to search the availability and prices of various airline tickets, along with the
different packages available with the reservations.

This project also covers various features like online registration of the users, modifying
the details of the website by the management staff or administrator of the website, by adding,
deleting or modifying the customer details, flights or packages information. In general, this
website would be designed to perform like any other airline ticketing website available online.

3
PROBLEM DEFINITION

Existing System

In few countries if a person wants to book a ticket, he use to follow one of these things:

Disadvantages:

1. Manually goes to the Airport/Station and book his ticket.


2. Downloading the ticket form as paper document then filling it manually and submitting it
at Airport.
3. Fill the Ticket form on system and get the print out as paper documents to submit it at
Airport.
4. Booking the Ticket at some particular registered ticket counters in online.
5. Even above approaches make a ticket booking online, it was not completely done on
online. Passenger may not have much freedom over this approach.
6. Hence the Passenger may or may not be satisfied with this approach as it includes manual
intervention like travelling to Airport for booking his ticket.
7. Cannot Upload and Download the latest updates.
8. No use of Web Services and Remoting.
9. Risk of mismanagement and data when the project is under development.
10. Less Security.
11. No proper coordination between different Applications and Users.
12. Fewer Users – Friendly.

Proposed System

The Proposed system ensures the complete freedom for users, where user at his own system can
logon to this website and can book his ticket. Our proposed system allows only registered users
to book the tickets, view timings and cancel their tickets.

In this Proposal the entire work is done on online and ticket with id is also provided for
passengers as a print document. Here passengers can send their queries and suggestions through
a feedback form. To debug the existing system, remove procedures those cause data redundancy,
make navigational sequence proper to build strong password mechanism.

4
Advantages:

1. User friendliness provided in the application with various controls.


2. The system makes the overall project management much easier and flexible.
3. It provides high level of security with different level of authentication.

5
OBJECTIVES OF THE PROJECT

The main purpose of our online ticket booking system is to provide another way for the
customer to buy ticket. It is an automatic system. After inserting the data to database, staff
need not too due with the order receive through the system. In fact, there is similar system on
the internet, but there is no refund method found in the existing system. T h i s
s ystem is basically aimed to provide customer the complete
i n f o r m a t i o n o f t h e j o u r n e y , a c c o r d i n g t o w h i c h t h e customer can book the
tickets and the refund facility provides more flexibility to the system.
The goals of our system are:

1. To provide anytime, anyplace service for the customer.


2. To minimize the number of staff at the ticket box.
3. To increase the profit.
4. To obtain statistic information from the booking record.

6
FEASIBILITY STUDY
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
system is feasible if they are unlimited resources and infinite time. There are aspects in the
feasibility study portion of the preliminary investigation:

1. Technical Feasibility
2. Operation Feasibility
3. Economic Feasibility

Technical Feasibility

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

1. Does the necessary technology exist to do what is suggested?


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

Earlier no system existed to cater to the needs of „Secure Infrastructure Implementation System‟.
The current system developed is technically feasible. It is a web based user interface for audit
workflow at NIC-CSD. Thus, it provides an easy access to the users.

The database‟s purpose is to create, establish and maintain a workflow among various entities to
facilitate all concerned users in their various capacities or roles. Permission to the users would be
granted based on the roles specified. Therefore, it provides the technical guarantee of accuracy,
reliability and security.

7
The software and hardware requirements for the development of this project are not many and are
already available in-house at NIC or are available as free as open source. The work for the project
is done with the current equipment and existing software technology. Necessary bandwidth exists
for providing a fast feedback to the users irrespective of the number of users.

Operational Feasibility

Proposed projects are beneficial only if they can be turned out into information system. That will
meet the organization‟s operating requirements. Operational feasibility aspects of the 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:

1. Is there sufficient support for the management from the users?


2. Will the system be used and work properly if it is being developed and implemented?
3. 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.

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.

8
HARDWARE AND SOFTWARE REQUIREMENTS

This “Online Ticket Reservation System” project can be used in Windows 7, Windows 8, and
Windows 10 and later on.

Hardware Requirements

 1 Gigahertz (GHz) or faster 32-bit (x86) or 64-bit (x64) processor*


 RAM 1 GB and Above
 16 GB available hard space (32-bit) or 20 GB (64-bit)

Software Requirements
 Operating System: Windows 10 Pro
 PHP XAMPP Server For Windows (Apache)
 Database: MYSQL for Backend.
 Web browser: Mozilla Firefox, Google, Chrome etc.

Server side: An Apache Web Server will accept all requests from the client. A development
Database will be hosted locally (using MySQL), the production database is hosted centrally.

9
TOOLS AND TECHNIQUES
There are various tools and techniques used in this project. The list explanation of these tools and
techniques are follows:

Designing

1. HTML: HTML stands for Hyper Text Markup Language. It is used to design web pages
using markup language. HTML is the combination of Hypertext and Markup language.
Hypertext defines the link between the web pages. Markup language is used to define the
text document within tag which defines the structure of web pages. This language is used
to annotate (make notes for the computer) text so that a machine can understand it and
manipulate text accordingly. Most of markup (e.g. HTML) languages are human
readable. Language uses tags to define what manipulation has to be done on the
text.HTML is a markup language which is used by the browser to manipulate text,
images and other content to display it in required format. HTML was created by Tim
Berners-Lee in 1991. The first ever version of HTML was HTML 1.0 but the first
standard version was HTML 2.0 which was published in 1999.

Features of HTML:

 It is easy to learn and easy to use.


 It is platform independent.
 Images, video and audio can be added to a web page.
 Hypertext can be added to text.
 It is a markup language.
2. CSS: Cascading Style Sheets, fondly referred to as CSS, is a simply designed language
intended to simplify the process of making web pages presentable. CSS allows you to
apply styles to web pages. More importantly, CSS enables you to do this independent of
the HTML that makes up each web page.CSS is easy to learn and understood but it
provides powerful control over the presentation of an HTML document.
 CSS saves time: You can write CSS once and reuse same sheet in multiple HTML pages.
 Easy Maintenance: To make a global change simply change the style, and all elements
in all the webpages will be updated automatically.

10
 Search Engines: CSS is considered as clean coding technique, which means search
Engines won‟t have to struggle to “read” its content.
 Superior styles to HTML: CSS has a much wider array of attributes than HTML, so you
can give a far better look to your HTML page in comparison to HTML attributes.
 Offline Browsing: CSS can store web applications locally with the help of offline cache.
Using of this we can view offline websites.

3. Bootstrap: Bootstrap is a free and open-source tool collection for creating responsive
websites and web applications. It is the most popular HTML, CSS, and JavaScript
framework for developing responsive, mobile-first web sites. It solves many problems
which we had once, one of which is the cross-browser compatibility issue. Nowadays, the
websites are perfect for all the browsers (IE, Firefox and Chrome) and for all sizes of
screens (Desktop, Tablets, Pallets, and Phones). All thanks to Bootstrap developers -
Mark Otto and Jacob Thornton of Twitter, though it was later declared to be an open-
source project.

Why Bootstrap?

 Faster and Easier Web-Development.


 It creates Platform-independent web-pages.
 It creates Responsive Web-pages.
 It designed to be responsive to mobile devices too.
 It is Free! Available on www.getbootstrap.com

Programming

1. JavaScript
JavaScript is a lightweight, interpreted programming language. It is designed for creating
network-centric applications. It is complimentary to and integrated with Java. JavaScript
is very easy to implement because it is integrated with HTML. It is open and cross-
platform.

11
Why to Learn JavaScript?

JavaScript is a MUST for students and working professionals to become a great Software
Engineer especially when they are working in Web Development Domain. I will list down some
of the key advantages of learning JavaScript.

 JavaScript is the most popular programming language in the world and that makes it a
programmer‟s great choice. Once you learnt JavaScript, it helps you developing great
front-end as well as back-end software‟s using different JavaScript based frameworks
like JQuery, Node.JS etc.
 JavaScript is everywhere, it comes installed on every modern web browser and so to
learn JavaScript you really do not need any special environment setup. For example
Chrome, Mozilla Firefox, Safari and every browser you know as of today, supports
JavaScript.
 JavaScript helps you create really beautiful and crazy fast websites. You can develop
your website with a console like look and feel and give your users the best Graphical
User Experience.
 JavaScript usage has now extended to mobile app development, desktop app
development, and game development. This opens many opportunities for you as
JavaScript Programmer.
 Due to high demand, there is tons of job growth and high pay for those who know
JavaScript. You can navigate over to different job sites to see what having JavaScript
skills look like in the job market.
 Great thing about JavaScript is that you will find tons of frameworks and Libraries
already developed which can be used directly in your software development to reduce
your time to market.
 There could be 1000s of good reasons to learn JavaScript Programming. But one thing
for sure, to learn any programming language, not only JavaScript, you just need to code,
and code and finally code until you become expert.

12
2. JQuery
JQuery is an open source JavaScript library that simplifies the interactions between an
HTML/CSS document, or more precisely the Document Object Model (DOM), and JavaScript.
Elaborating the terms, JQuery simplifies HTML document traversing and manipulation, browser
event handling, DOM animations, Ajax interactions, and cross-browser JavaScript development.

Why JQuery?

Some of the key points which support the answer for why to use JQuery
 It is incredibly popular, which is to say it has a large community of users and a healthy
amount of contributors who participate as developers and evangelists.
 It normalizes the differences between web browsers so that you don‟t have to.
 It is intentionally a lightweight footprint with simple yet clever plugin architecture.
 Its repository of plugins is vast and has seen steady growth since JQuery‟s release.
 Its API is fully documented, including inline code examples, which in the world of
JavaScript libraries is a luxury. Heck, any documentation at all was a luxury for years.
 It is friendly, which is to say it provides helpful ways to avoid conflicts with other
JavaScript libraries. JQuery is widely famous with its philosophy of “Write less, do
more.”
This philosophy can be further elaborated as three concepts:
1. Finding some elements (via CSS selectors) and doing something with them (via JQuery
methods) i.e. locate a set of elements in the DOM, and then do something with that set of
elements.
2. Chaining multiple JQuery methods on a set of elements.
3. Using the JQuery wrapper and implicit iteration.

Using JQuery (JS) library on HTML page


There are several ways to start using JQuery on your web site:
1. Use the Google-hosted/ Microsoft-hosted content delivery network (CDN) to include
version of JQuery.
2. Download own version of JQuery from jQuery.com and host it on own server or local file
system.

13
3. PHP
The PHP Hypertext Preprocessor (PHP) is a programming language that allows web developers
to create dynamic content that interacts with databases. PHP is basically used for developing web
based software applications. PHP started out as a small open source project that evolved as more
and more people found out how useful it was. Rasmus Lerdorf unleashed the first version of PHP
way back in 1994. PHP is a MUST for students and working professionals to become a great
Software Engineer especially when they are working in Web Development Domain. I will list
down some of the key advantages of learning PHP:

 PHP is a recursive acronym for "PHP: Hypertext Preprocessor".

 PHP is a server side scripting language that is embedded in HTML. It is used to manage
dynamic content, databases, session tracking, even build entire e-commerce sites.

 It is integrated with a number of popular databases, including MySQL, Posture SQL,


Oracle, Sybase, Informix, and Microsoft SQL Server.

 PHP is pleasingly zippy in its execution, especially when compiled as an Apache module
on the UNIX side. The MySQL server, once started, executes even very complex queries
with huge result sets in record-setting time.

 PHP supports a large number of major protocols such as POP3, IMAP, and LDAP. PHP4
added support for Java and distributed object architectures (COM and CORBA), making
n-tier development a possibility for the first time.

 PHP is forgiving: PHP language tries to be as forgiving as possible.

 PHP Syntax is C-Like.

Characteristics of PHP

Five important characteristics make PHP's practical nature possible −


 Simplicity
 Efficiency
 Security
 Flexibility
 Familiarity

14
Database:

My SQL (Backend)

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

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

Server:

Apache Server

The Apache HTTP Server is web server software notable for playing a key role in the initial
growth of the World Wide Web. In 2009 it became the first web server software to surpass the
100 million web site milestone. Apache is developed and maintained by an open community of
developers under the auspices of the Apache Software Foundation. Since April 1996 Apache has
been the most popular HTTP server software in use.

15
TOOLS USED

XAMPP

Most useful tool for developing website is XAMPP. XAMPP is a free and open source cross
platform web server solution stack package developed by Apache Friends, consisting mainly of
the Apache HTTP Server, Maria DB database, and interpreters for scripts written in the PHP and
Perl programming languages. XAMPP stands for Cross-Platform (X), Apache (A), Maria DB
(M), PHP (P) and Perl (P). It is a simple, lightweight Apache distribution that makes it extremely
easy for developers to create a local web server for testing and deployment purposes. Everything
needed to set up a web server – server application (Apache), database (Maria DB), and scripting
language (PHP) – is included in an extractable file. XAMPP is also cross-platform, which means
it works equally well on Linux, Mac and Windows. Since most actual web server deployments
use the same components as XAMPP, it makes transitioning from a local test server to a live
server extremely easy as well.

The term XAMPP is an apparent acronym. However, there is no official acronym expansion
specified on the Apache Friends website. Their homepage header reads “XAMPP Apache +
Maria DB + PHP + Perl”, indicating that this abbreviation is a recursive acronym. i.e.-

• „X‟ refers to Cross (Cross-platform)

• „A‟ refers to Apache (HTTP Server)

• „M‟ refers to MySQL (Database)

• „P‟ refers to PHP (Server-side scripting language)

• „P‟ refers to Perl (Also scripting programming language)

The explanation of XAMPP components are given below-

• APACHE- Apache is the purely web server application which process and deliver the web
contents from website to computer or server. Now-a-days, Apache is very popular web server
and more than 54% of all websites use Apache web server.

• MYSQL DATABASE- Any website is simple or complicated, it requires a database to store


and manipulate data. XAMPP use MySQL database which is the most popular open source
database management system.

16
• PHP- As we know that PHP stands for Hypertext Preprocessor. It is totally server-side and
scripting high level language. It is mostly used server language and many popular websites are in
PHP such as Word Press and Facebook. It is also open source, easy for learning and
understanding and more compatible with MySQL. These features make a lot of role in its
popularity.

• Perl- Perl is also high level programming language. It is mostly used in System Admin,
dynamic and networking programming. It is not popular like PHP but has many applications.

17
SYSTEM ANALYSIS
System Analysis is a detailed study of the various operations performed by a system and their
relationships within and outside of the system. Here the key question is- what all problems exist
in the present system? What must be done to solve the problem? Analysis begins when a user or
manager begins a study of the program using existing system.

Software Requirement Specification (SRS)

The software, Site Explorer is designed for management of web sites from a remote location.
This section provides software requirements to a level of detail sufficient to enable designers to
design the system and testers to test the system.

This section contains all of the functional and quality requirements of the system. It gives a
detailed description of the system and all its features.

Introduction

Purpose: The main purpose for preparing this document is to give a general insight into the
analysis and requirements of the existing system or situation and for determining the operating
characteristics of the system.

Scope: This document plays a vital role in the software development life cycle (SDLC) and it
describes the complete requirement of the system. It is meant for use by the 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.

Developer’s responsibilities overview:

The developer is responsible for:

1. Developing the system, which meets the SRS and solving all the requirements of the
system?
2. Demonstrating the system and installing the system at client's location after the
acceptance testing is successful.
3. Submitting the required user manual describing the system interfaces to work on it and
also the documents of the system.
4. Conducting any user training that might be needed for using the system.

18
5. Maintaining the system for a period of one year after installation.

Communication Interfaces

The HTTP protocol will be used to facilitate communications between the client and server. The
system supports Google Chrome and Mozilla Firefox web browsers.

Memory Constraints

Minimum memory of 512MB is required to run the exe file without any lags. This constraint
does not possess an issue now a days as the minimum present RAM in a common system is 1GB.
At least 512 MB RAM and 5 MB space on hard disk will be required for running the program.

Operations

The normal and special operations required by the user such as:

1. The various modes of operations in the user organization.


2. Periods of interactive operations and periods of unattended operations.
3. Data processing support functions.
4. Backup and recovery operations.

Site Adaptation Requirements

There should no site adaptation requirement since the Web Application Server was setup.

Functional Requirements

1. It deals with the functionalities required from the system.


2. The website will help the colleges/organizations/companies to conduct their student
registration.
3. Only authorized person can access related details.
4. Organizations can change their information regarding themselves. The students can login
through TEST-ID and PASSWORD.
5. Administrator will be responsible for updating the site.

19
SYSTEM DESIGN

A good system design is to organize the program modules in such a way that are easy to develop
and change. Structured design techniques help developers to deal with the size and complexity of
programs. Analysts create instructions for the developers about how code should be written and
how pieces of code should fit together to form a program.

Importance:

1. If any pre-existing code needs to be understood, organized and pieced together.

2. It is common for the project team to have to write some code and produce original
programs that support the application logic of the system.

3. There are many strategies or techniques for performing system design.

Bottom-up approach: The design starts with the lowest level components and subsystems. By
using these components, the next immediate higher level components and subsystems are created
or composed. The process is continued till all the components and subsystems are composed into
a single component, which is considered as the complete system. The amount of abstraction
grows high as the design moves to more high levels. By using the basic information existing
system, when a new system needs to be created, the bottom up strategy suits the purpose.

Advantages:

1. The economics can result when general solutions can be reused.


2. It can be used to hide the low-level details of implementation and be merged with top-
down technique.
Disadvantages:

1 It is not so closely related to the structure of the problem.


2 High quality bottom-up solutions are very hard to construct.
3 It leads to proliferation of „potentially useful‟ functions rather than most appropriate ones.

Top-down approach: Each system is divided into several subsystems and components. Each of
the subsystem is further divided into set of subsystems and components. This process of division
facilitates in forming a system hierarchy structure. The complete software system is considered
as a single entity and in relation to the characteristics system is split into sub-system and

20
component. The same is done with each of the sub-system. This process is continued until the
lowest level of the system is reached. The design is started initially by defining the system as a
whole and then keeps on adding definitions of the subsystems and components. When all the
definitions are combined together, it turns out to be a complete system. For the solutions of the
software need to be developed from the ground level, top-down design best suits the purpose.

Advantages: The main advantage of top down approach is that its strong focus on requirements
helps to make a design responsive according to its requirements.
Disadvantages:
1. Project and system boundaries tend to be application specification oriented.
2. Thus it is more likely that advantages of component reuse will be missed.
3. The system is likely to miss, the benefits of a well-structured, simple architecture.

Hybrid Design: It is a combination of both the top – down and bottom – up design strategies. In
this we can reuse the modules.

Now we began with the design phase of the system. System Design is a solution, “HOW TO”
approach to the creation of the new system. It translates system requirements into ways by which
they can be made operational. It is translational from a user oriented document to a document
oriented programmers. For that it provides the understanding and procedural details necessary
for the implementation.

Here we use flowchart to supplement the working of the new system. The system thus made
should be reliable, durable and above all should have least possible maintenance costs. It should
overcome all the drawbacks of the old existing system and most important of all meet the user
requirements.

21
DATA FLOW DIAGRAM
Four simple notations are used to complete a DFD. These notations are given below:-

Data flow: - The data flow is used to describe the movement of information from one part of the
system to another part. Data flow is represented by an arrow.

Process: - A circle or bubble represents a process that transforms incoming data to outgoing
data. Process shows a part of the system that transforms inputs to outputs.

External entity: - External entities represent any entity that supplies or receive information from
the system but is not a part of the system.

Data store: - The data store represents a logical file. A logical file can represent either a data
store symbol which can represent either a data structure or a physical file on disk. The data store
is used to collect data at rest or a temporary repository of data. It is represented by open
rectangle.

Output:-The output symbol is used when a hard copy is produced and the user of the copies
cannot be clearly specified or there are several users of the output.

Symbols:

Symbols which are available in data flow diagram are:

1. Function

2. File/Database

3. Input/output

4. Flow

22
Context Diagram

LEVEL-0/Context Diagram:-

Online ticket
View Customer Details Reservation Form
Admin reservation Customer
Fill Details system Book Ticket

23
LEVEL-1 DFD

Reservation Storage Files

Reservation
Passenger Process Ticket
Booking
Process

Report to
admin

Admin

24
LEVEL-2 DFD

Admin

Fill Seat Status Flight Detail Filling

Seat Status Flight Details

Flight Time
Schedule

Reservation

25
Use Case Diagram

Login

Admin

Detail filling Customer


about travel

Register

Booking

Payment

Seat Status

Detail about
Customer

26
FLOWCHART
A flowchart is a pictorial representation of any data flow. It is a graphical representation of
steps. It was originated from computer science as a tool for representing algorithms and
programming logic but had extended to use in all other kinds of processes.

Nowadays, flowcharts play an extremely important role in displaying information and


assisting reasoning. They help us visualize complex processes, or make explicit the structure of
problems and tasks. A flowchart can also be used to define a process or project to be
implemented. It uses different types of symbols which are given below:

Basic Symbols of Flowchart

 Terminal

 Input/output

 Processing

 Flow Lines

 Decision

 Connectors

27
Using a flowchart has a variety of benefits:

 It helps to clarify complex processes.

 It identifies steps that do not add value to the internal or external customer, including
delays; needless storage and transportation; unnecessary work, duplication, and added
expense; breakdowns in communication.

 It helps team members gain a shared understanding of the process and use this
knowledge to collect data, identify problems, focus discussions, and identify resources.

 It serves as a basis for designing new processes.

28
SYSTEM FLOWCHART

Start

Is
Register No Registration

Yes
Enter
Username and
Password

Yes
No
Is Login
Yes

Admin Yes No Member


Is Admin

Manage Ticket Info View Ticket Info

Manage Schedule Check Availability

Manage Ticket Booking Ticket

Manage User Cancel Ticket

Manage Payment Payment

Logout

Stop

29
ER-DIAGRAM
An Entity–relationship model (ER model) describes the structure of a database with the help of a
diagram, which is known as Entity Relationship Diagram (ER Diagram). An ER model is a
design or blueprint of a database that can later be implemented as a database. The main
components of E-R model are: entity set and relationship set.
An ER diagram shows the relationship among entity sets. An entity set is a group of similar
entities and these entities can have attributes. In terms of DBMS, an entity is a table or attribute
of a table in database, so by showing relationship among tables and their attributes, ER diagram
shows the complete logical structure of a database.

Components of ER Diagram:

ER diagram has three components.

1. Entity
2. Attributes
3. Relationship

Entity

An entity is an object or component of data. An entity is represented as rectangle in an ER


diagram.

Attribute

An attribute describes the property of an entity. An attribute is represented as Oval in an ER


diagram.

Relationship

A relationship is represented by diamond shape in ER diagram. It shows the relationship among


entities. There are four types of relationships:
1. One to One
2. One to Many
3. Many to One
4. Many to Many

30
ER DIAGRAM

Arrival Departure
Contact Time
Name No. of Date
Address passengers

Age
Passenger Books
Ticket
Ticket ID
Gender
Source
Destination
Total
Amount

Done Payment

Belongs
to

Username Password
Destination
Source

Administrator Modified Schedule

Departure Departure
Date Time

31
Modules description:

The list of modules incorporated with “ONLINE TICKET RESERVATION SYSTEM “is as
follows:

Registration module

After registering with us the passenger can logon to his/her own account and can view all the
details such as Timings, Prices, Availability of seats and can book the ticket with unique ticket id
and gives its personal details. Once Passenger registered with us can book any number of tickets.

Administrative module

Administrative module is provided for the sake of administrators to manage the site and update
the content at regular intervals, the major operations included in this module are:

1. Create and maintain airline schedule, fare and timings of the Flight.
2. View the passenger list.
3. View the available seats in the flights.
4. Updating the flight schedule and timings and fare.

Passenger module

This module is meant for passengers, where a user logging into his/her owns account will view
this panel. The major operations included in this module were

1. View all airline schedules, timings, fare details and seats availability.
2. Book for the tickets.
3. View the ticket.

Software System Attributes:


There are a number of attributes of software that can serve as requirements. It is important that
required attributes by specified so that their achievement can be objectively verified. The
following items provide a partial list of examples. These are also known as non-functional
requirements or quality attributes. These are characteristics the system must possess, but that
pervade (or cross-cut) the design. These requirements have to be testable just like the functional
requirements. It‟s easy to start philosophizing here, but keep it specific.

32
Reliability

It means the extent to which program performs with required precision. The website developed
should be extremely reliable and secure so that information about any questions etc. is not
leaked. The system shall not be down more than 2 times in a year.

Availability

Checking that the system always has something to function and always pop up error messages in
case of component failure. In that case the error messages appear when something goes wrong so
to prevailed availability problems.

Security

The security requirements deal with the primarily security. The software should be handled only
by the administrator and authorized users. Only the administrator has right to assign permissions
like creating new accounts and generating password.

Specific requirements in this area could include the need to:

 Utilize certain cryptographic techniques


 Keep specific log or history data sets
 Assign certain functions to different modules
 Restrict communications between some areas of the program
 Check data integrity for critical variable.

Maintainability

The application is to be designed so that it is easily maintained. Also it should allow


incorporating new requirements in any module of system. Backups for database are available.

Portability

The software is a web based application and is built in PHP and My SQL. So it is platform
independent and is independent of OS. The application will be easily portable on any window
based system.

33
Organizing the Specific Requirements:

For anything but trivial systems the detailed requirements tend to be extensive. For this reason, it
is recommended that careful consideration be given to organizing these in a manner optimal for
understanding. There is no one optimal organization for all systems. Different classes of systems
lend themselves to different organizations of requirements. Some of these organizations are
described in the following subclasses.

System Mode

Some systems behave quite differently depending on the mode of operation. When organizing by
mode there are two possible outlines. The choice depends on whether interfaces and performance
are dependent on mode.

User Class

Some systems provide different sets of functions to different classes of user.

Objects

Objects are real-world entities that have a counterpart within the system. Associated with each
object is a set of attributes and functions. These functions are also called services, methods, or
processes. Note that sets of objects may share attributes and services. These are grouped
together as class.

Feature

A feature is an externally desired service by the system that may require a sequence of inputs to
affect the desired result. Each feature is generally described in as sequence of stimulus-response
pairs.

Stimulus

Some systems can be best organized by describing their functions in terms of stimuli.

Response

Some systems can be best organized by describing their functions in support of the generation of
a response.

34
Functional Hierarchy

When none of the above organizational schemes prove helpful, the overall functionality can be
organized into a hierarchy of functions organized by common inputs, common outputs or
common internal data access. Data flow diagrams and data dictionaries can be use dot show the
relationships between and among the functions and data.

35
SOURCE CODE
ACCOMODATION.PHP

<?php
if(session_status() == PHP_SESSION_NONE)
{
session_start();//start session if session not start
}
if(isset($_SESSION['departure_date'])){
?>
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Medallion</title>
<!-- Bootstrap CSS -->
<link rel="stylesheet" type="text/css" href="assets/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="assets/css/bootstrap-theme.min.css">
</head>
<body style="background-color: lightblue;">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">Medallion Online Ticketing</a>
</div>
<ul class="nav navbar-nav">
<li class="active">
<a href="#">Reservation
<span class="glyphicon glyphicon-share-alt" aria-hidden="true"></span>

36
</a>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="index.php"><span class="glyphicon glyphicon-backward"></span> Back To
Home</a></li>
</ul>
</div>
</nav>
<div class="container-fluid">
<div class="col-md-1"></div>
<div class="col-md-10">
<div class="panel panel-danger">
<div class="panel-heading">
<h3 class="panel-title">STEPS FOR BOOKING</h3>
</div>
<div class="panel-body">
<div class="row">
<div class="col-md-3">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">1.ITINERARY
</h3>
</div>
<div class="panel-body">
SCHEDULE OF TRAVEL
</div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-info">

37
<div class="panel-heading">
<h3 class="panel-title">2.ACCOMODATION
<span class="glyph icon glyph icon-saved" aria-hidden="true"></span>
</h3>
</div>
<div class="panel-body">
ACCOMODATION TYPE
</div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-success">
<div class="panel-heading">
<h3class="panel-title">3. PASSENGER INFO</h3>
</div>
<div class="panel-body">
PASSENGER DETAILS
</div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-warning">
<div class="panel-heading">
<h3 class="panel-title">4. PAYMENT INFO</h3>
</div>
<div class="panel-body">
TOTAL PAYMENT
</div>
</div>
</div>
</div>

38
</div>
</div>
</div>
<div class="col-md-1"></div>
</div>
<div class="container-fluid">
<div class="col-md-3"></div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-body">
<h2>
<center>ACCOMODATION</center>
</h2
<div class="container-fluid">
<form class="form-horizontal" role="form" id="form-acc">
<table id="myTable-party" class="table table-bordered table-hover" cellspacing="0"
width="100%">
<thead>
<tr>
<th> <span class="glyphicon glyphicon-record" aria-hidden="true"></span>
Accomodation
</th>
<th>
<center>
Slots
</center>
</th>
<th>
<center>
Fare
</center>

39
</th>
</tr>
</thead>
<tbody>
<?php require_once('data/get_all_accomodations.php'); ?>
<tr>
<td>
<input value="<?= $getSit['acc_id']; ?>" type="radio" name="acc">
<?= $getSit['acc_type']; ?>
</td>
<td align="center">
<?= $getSit['acc_slot'] - $totalSit['sit']; ?>
</td>
<td align="center"><?= $getSit['acc_price']; ?></td>
</tr>
<tr>
<td>
<input value="<?= $getEcoA['acc_id']; ?>" type="radio" name="acc">
<?= $getEcoA['acc_type']; ?>
</td>
<td align="center">
<?= $getEcoA['acc_slot'] - $totalEcoA['ecoA']; ?>
</td>
<td align="center"><?= $getEcoA['acc_price']; ?></td>
</tr>
<tr>
<td>
<input value="<?= $getEcoB['acc_id']; ?>" type="radio" name="acc">
<?= $getEcoB['acc_type']; ?>
</td>
<td align="center">

40
<?= $getEcoB['acc_slot'] - $totalEcoB['ecoB']; ?>
</td>
<td align="center"><?= $getEcoB['acc_price']; ?></td>
</tr>
<tr>
<td>
<input value="<?= $getTour['acc_id']; ?>" type="radio" name="acc">
<?= $getTour['acc_type']; ?>
</td>
<td align="center">
<?= $getTour['acc_slot'] - $totalTour['ecoT']; ?>
</td>
<td align="center"><?= $getTour['acc_price']; ?></td>
</tr>
<tr>
<td>
<input value="<?= $getCab['acc_id']; ?>" type="radio" name="acc">
<?= $getCab['acc_type']; ?>
</td>
<td align="center">
<?= $getCab['acc_slot'] - $totalCab['ecoC']; ?>
</td>
<td align="center"><?= $getCab['acc_price']; ?></td>
</tr>
<tr>
<td>
<input value="<?= $getDel['acc_id']; ?>" type="radio" name="acc">
<?= $getDel['acc_type']; ?>
</td>
<td align="center">
<?= $getDel['acc_slot'] - $totalDel['ecoD']; ?>

41
</td>
<td align="center"><?= $getDel['acc_price']; ?></td>
</tr>
</tbody>
</table>
<div class="form-group">
<label for="">Total # of Passenger:</label>
<input type="number" min="1" max="100" class="form-control" name="totalPass"
placeholder="Total # of Passenger" autocomplete="off">
</div>
<button type="submit" class="btn btn-success">NEXT
<span class="glyphicon glyphicon-arrow-right" aria-hidden="true"></span>
</button>
</form>
</div>
</div>
</div>
</div>
<div class="col-md-3"></div>
</div>
<script type="text/javascript" src="assets/js/jquery-3.1.1.min.js"></script>
<script type="text/javascript" src="assets/js/bootstrap.min.js"></script>
<script type="text/javascript">
$(document).on('submit', '#form-acc', function(event) {
event.preventDefault();
/* Act on the event */
var acc = $('input[name="acc"]:checked').val();
var totalPass = $('input[name="totalPass"]').val();
if(acc == null){
alert('Please Select Accomodation!');
}else{

42
// console.log(acc);
if(totalPass.length == 0){
alert('Please Enter Number of Passenger!');
}else{
$.ajax({
url: 'data/session_accomodation.php',
type: 'post',
dataType: 'json',
data: {
acc : acc,
tp : totalPass
},
success: function (data) {
console.log(data.slot);
// window.location = "passenger.php";
if(data.slot >= 0){
window.location = "passenger.php";
}else{
alert('Not Enough Slot!');
}
},
error: function(){
alert('Error: L175+');
}
});
}//end totalPass
}//end acc == null
});
</script>
</body>
</html>

43
<?php
}else{
echo '<strong>';
echo 'Page Not Exist';
echo '</strong>';
}//end if else isset
?>

RESERVED.PHP
<?php
require_once('data/get_origin.php');
require_once('data/get_destination.php');
// echo '<pre>';
// print_r($origins);
// echo '</pre>';
?>
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Online Ticket Reservation</title>
<!-- Bootstrap CSS -->
<link rel="stylesheet" type="text/css" href="assets/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="assets/css/bootstrap-theme.min.css">
</head>
<body style="background-color: lightblue;">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">

44
<a class="navbar-brand" href="#">Online Ticketing</a>
</div>
<ul class="nav navbar-nav">
<li class="active">
<a href="#">Reservation
<span class="glyphicon glyphicon-share-alt" aria-hidden="true"></span>
</a>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="index.php"><span class="glyphicon glyphicon-backward"></span> Back To
Home</a></li>
</ul>
</div>
</nav>
<div class="container-fluid">
<div class="col-md-1"></div>
<div class="col-md-10">
<div class="panel panel-danger">
<div class="panel-heading">
<h3 class="panel-title">STEPS FOR BOOKING</h3>
</div>
<div class="panel-body">
<div class="row">
<div class="col-md-3">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">1. ITINERARY
<span class="glyphicon glyphicon-saved" aria-hidden="true"></span>
</h3>
</div>

45
<div class="panel-body">
SCHEDULE OF TRAVEL
</div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-info">
<div class="panel-heading">
<h3 class="panel-title">2. ACCOMODATION</h3>
</div>
<div class="panel-body">
ACCOMODATION TYPE
</div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">3. PASSENGER INFO</h3>
</div>
<div class="panel-body">
PASSENGER DETAILS
</div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-warning">
<div class="panel-heading">
<h3 class="panel-title">4. PAYMENT INFO</h3>
</div>
<div class="panel-body">

46
TOTAL PAYMENT
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-1"></div>
</div>
<div class="container-fluid">
<div class="col-md-4"></div>
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-body">
<h2>
<center>ITINERARY</center>
</h2>
<div class="container-fluid">
<form class="form-horizontal" role="form" id="form-itinerary">
<div class="form-group">
<label for="">Origin:</label>
<?php foreach($origins as $o): ?>
<select class="btn btn-default" id="orig-id">
<option value="<?= $o['origin_id']; ?>"><?= $o['origin_desc']; ?></option>
<?php endforeach; ?>
</select>
</div>
<div class="form-group">
<label for="">Destination:</label>
<?php foreach($destinations as $d): ?>

47
<select class="btn btn-default" id="dest-id">
<option value="<?= $d['dest_id']; ?>"><?= $d['dest_destination']; ?></option>
<option value="India">India</option>
<?php endforeach; ?>
</select>
</div>
<div class="form-group">
<label for="">Departure Date:</label>
<input type="date" class="btn btn-default" id="dept-date">
</div>
<button type="submit" class="btn btn-success">NEXT
<span class="glyphicon glyphicon-arrow-right" aria-hidden="true"></span>
</button>
</form>
</div>
</div>
</div>
</div>
<div class="col-md-4"></div>
</div>
<script type="text/javascript" src="assets/js/jquery-3.1.1.min.js"></script>
<script type="text/javascript" src="assets/js/bootstrap.min.js"></script>
<script type="text/javascript">
$(document).on('submit', '#form-itinerary', function(event) {
event.preventDefault();
/* Act on the event */
var validate = "";
var origin = $('select[id=orig-id]').val();
var dest = $('select[id=dest-id]').val();
var dept = $('input[id=dept-date]').val();
if(dept.length == 0){

48
alert('Please Select Departure Date!');
}else{
$.ajax({
url: 'data/session_itinerary.php',
type: 'post',
dataType: 'json',
data: {
oid : origin,
did : dest,
dd : dept
},
success: function (data) {
console.log(data);
if(data.valid == true){
window.location = data.url;
console.log('sss');
}
},
error: function(){
alert('Error: L161+');
}
});
}//end dept kung == 0
});
</script>
</body></html>

PAYMENT.PHP
<?php
if(session_status() == PHP_SESSION_NONE)
{

49
session_start();//start session if session not start
}
if(isset($_SESSION['tracker'])){
?>
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Medallion</title>
<!-- Bootstrap CSS -->
<link rel="stylesheet" type="text/css" href="assets/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="assets/css/bootstrap-theme.min.css">
</head>
<body style="background-color: lightblue;">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">Medallion Online Ticketing</a>
</div>
<ul class="nav navbar-nav">
<li class="active">
<a href="#">Reservation
<span class="glyphicon glyphicon-share-alt" aria-hidden="true"></span>
</a>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="index.php"><span class="glyphicon glyphicon-backward"></span> Back To
Home</a></li>

50
</ul>
</div>
</nav>
<div class="container-fluid">
<div class="col-md-1"></div>
<div class="col-md-10">
<div class="panel panel-danger">
<div class="panel-heading">
<h3 class="panel-title">STEPS FOR BOOKING</h3>
</div>
<div class="panel-body">
<div class="row">
<div class="col-md-3">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">1. ITINERARY
</h3>
</div>
<div class="panel-body">
SCHEDULE OF TRAVEL
</div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-info">
<div class="panel-heading">
<h3 class="panel-title">2. ACCOMODATION
</h3>
</div>
<div class="panel-body">
ACCOMODATION TYPE

51
</div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">3. PASSENGER INFO
</h3>
</div>
<div class="panel-body">
PASSENGER DETAILS
</div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-warning">
<div class="panel-heading">
<h3 class="panel-title">4. PAYMENT INFO
<span class="glyphicon glyphicon-saved" aria-hidden="true"></span>
</h3>
</div>
<div class="panel-body">
TOTAL PAYMENT
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-1"></div>

52
</div>
<div class="container-fluid">
<div class="col-md-3"></div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-body">
<h2>
<center>PAYMENT INFO</center>
</h2>
<br />
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title"><center>DEPARTURE</center></h3>
</div>
<div class="panel-body">
<strong>
<i>Medallion Transport, M/V Lady of All Nations</i>
<h3>
<?php require_once('data/depart_from_to.php');
echo $origin['origin_desc'];
?>
-
<?= $dest['dest_destination']; ?>
</h3>
<p>Departure Date: <?= $_SESSION['departure_date']; ?> @9:00AM</p>
</strong>
<i>Estimated Arrival Time: The Next Day @3:00PM</i><br />
<strong>
<?php require_once('data/get_accomodation.php');
echo $accomodation['acc_type'];
?>

53
</strong>
</div>
</div>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">CONTACT INFO</h3>
</div>
<div class="panel-body">
<?php require_once('data/getBooked.php'); ?>
<strong>Book By:</strong> <?= ucwords($bookByInfo['book_by']); ?><br />
<strong>Contact #:</strong> <?= $bookByInfo['book_contact']; ?><br />
<strong>Address:</strong> <?= $bookByInfo['book_address']; ?><br />
</div>
</div>
<div class="container-fluid">
<strong>
<span class="glyphicon glyphicon-user" aria-hidden="true"></span>
PASSENGERS</strong>
<table id="myTable-party" class="table table-bordered table-hover" cellspacing="0"
width="100%">
<thead>
<tr>
<th>
<center>
Name
</center>
</th>
<th>
<center>
Age
</center>

54
</th>
<th>
<center>
Gender
</center>
</th>
<th>
<center>
Departure Price
</center>
</th>
</tr>
</thead>
<tbody>
<?php
require_once('data/getBooked.php');
$totalPayment = 0;
$tracker = '';
foreach($bookPass as $bp):
$name = $bp['book_name'];
$name = ucwords($name);
$price = $bp['acc_price'];
$totalPayment += $price;
$tracker = $bp['book_tracker'];
?>
<tr align="center">
<td><?= $name; ?></td>
<td><?= $bp['book_age']; ?></td>
<td><?= $bp['book_gender']; ?></td>
<td><?= $price; ?></td>
</tr>

55
<?php endforeach; ?>
<tr>
<td></td>
<td></td>
<td align="right"><strong>TOTAL:</strong></td>
<td align="center"><strong><?= $totalPayment; ?></strong></td>
</tr>
</tbody>
<strong>- Booked ID: <?= $tracker; ?></strong>
</table>
<center>
<a href="index.php" class="btn btn-success">Return Home
<span class="glyphicon glyphicon-backward" aria-hidden="true"></span>
</a>
</center>
</div>
</div>
</div>
</div>
<div class="col-md-3"></div>
</div>
<script type="text/javascript" src="assets/js/jquery-3.1.1.min.js"></script>
<script type="text/javascript" src="assets/js/bootstrap.min.js"></script>
</body>
</html>
<?php
}else{
echo '<strong>';
echo 'Page Not Exist';
echo '</strong>';
}//end if else isset

56
?>

PASSENGER.PHP
<?php
if(session_status() == PHP_SESSION_NONE)
{
session_start();//start session if session not start
}
if(isset($_SESSION['accomodation'])){
?>
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Medallion</title>
<!-- Bootstrap CSS -->
<link rel="stylesheet" type="text/css" href="assets/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="assets/css/bootstrap-theme.min.css">
</head>
<body style="background-color: lightblue;">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">Medallion Online Ticketing</a>
</div>
<ul class="nav navbar-nav">
<li class="active">
<a href="#">Reservation
<span class="glyphicon glyphicon-share-alt" aria-hidden="true"></span>

57
</a>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="index.php"><span class="glyphicon glyphicon-backward"></span> Back To
Home</a></li>
</ul>
</div>
</nav>
<div class="container-fluid">
<div class="col-md-1"></div>
<div class="col-md-10">
<div class="panel panel-danger">
<div class="panel-heading">
<h3 class="panel-title">STEPS FOR BOOKING</h3>
</div>
<div class="panel-body">
<div class="row">
<div class="col-md-3">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">1. ITINERARY
</h3>
</div>
<div class="panel-body">
SCHEDULE OF TRAVEL
</div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-info">

58
<div class="panel-heading">
<h3 class="panel-title">2. ACCOMODATION
</h3>
</div>
<div class="panel-body">
ACCOMODATION TYPE
</div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title">3. PASSENGER INFO
<span class="glyphicon glyphicon-saved" aria-hidden="true"></span>
</h3>
</div>
<div class="panel-body">
PASSENGER DETAILS
</div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-warning">
<div class="panel-heading">
<h3 class="panel-title">4. PAYMENT INFO</h3>
</div>
<div class="panel-body">
TOTAL PAYMENT
</div>
</div>
</div>

59
</div>
</div>
</div>
</div>
<div class="col-md-1"></div>
</div>
<div class="container-fluid">
<div class="col-md-4"></div>
<div class="col-md-4">
<div class="alert alert-danger">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
<strong>Message!</strong> Please review your passenger information.
You cannot change your reservation once you proceed.
</div>
<div class="panel panel-default">
<div class="panel-body">
<h2>
<center>PASSENGER INFO</center>
</h2>
<div class="container-fluid">
<form class="form-horizontal" role="form" id="form-pass">
<div class="form-group">
<label for="">Booked By:</label>
<input type="text" class="form-control" id="book-by" placeholder="Enter Name"
autofocus="" required="" autocomplete="off">
</div>
<div class="form-group">
<label for="">Contact:</label>
<input type="text" class="form-control" id="cont" placeholder="Enter Contact" required=""
autocomplete="off">
</div>

60
<div class="form-group">
<label for="">Address:</label>
<input type="text" class="form-control" id="address" placeholder="Enter Address" required=""
autocomplete="off">
</div>
<br />
<?php
$tb = $_SESSION['totalPass'];
$count = 1;
for($i = 0; $i < $tb; $i++){
?>
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">Booked(<?= $count; ?>)</h3>
</div>
<div class="panel-body">
<div class="container-fluid">
<div class="form-group">
<label for="">Full Name (<?= $count; ?>):</label>
<input type="text" class="form-control" id="fN<?php echo $i; ?>"
placeholder="Enter Fullname" required autocomplete="off">
</div>
<div class="form-group">
<label for="">Age: (<?= $count; ?>):</label>
<input type="number" class="form-control" id="age<?php echo $i; ?>"
placeholder="Enter Age" required autocomplete="off">
</div>
<div class="form-group">
<label for="">Gender: (<?= $count; ?>):</label>
<select class="btn btn-default" id="gender<?php echo $i; ?>">
<option value="Male">Male</option>

61
<option value="Female">Female</option>
</select>
</div>
</div>
</div>
</div>
<?php
$count++;
}//end for
?>
<button type="submit" class="btn btn-success">NEXT
<span class="glyphicon glyphicon-arrow-right" aria-hidden="true"></span>
</button>
</form>
</div>
</div>
</div>
</div>
<div class="col-md-4"></div>
</div>
<?php require_once('admin/modal/message.php'); ?>
<script type="text/javascript" src="assets/js/jquery-3.1.1.min.js"></script>
<script type="text/javascript" src="assets/js/bootstrap.min.js"></script>
<script type="text/javascript">
$(document).on('submit', '#form-pass', function(event) {
event.preventDefault();
/* Act on the event */
var bookBy = $('#book-by').val();
var cont = $('#cont').val();
var address = $('#address').val();
var counter = <?= $i; ?>;

62
for(var i = 0; i < counter; i++){
var fN = $('#fN'+i).val();
var age = $('#age'+i).val();
var gender = $('#gender'+i).val();
$.ajax({
url: 'data/save_booked.php',
type: 'post',
dataType: 'json',
data: {
bookBy : bookBy,
cont : cont,
address : address,
fN : fN,
age : age,
gender : gender
},
success: function (data) {
// console.log(data);
if(data.valid == true){
window.location = data.url;
}
},
error: function(){
// alert('Error: L192+');
}
});
}//end for
alert('Booked Successfully!');
});
</script>
</body>

63
</html>
<?php
}else{
echo '<strong>';
echo 'Page Not Exist';
echo '</strong>';
}//end if else isset
?>

64
SYSTEM TESTING
The testing process focuses on the logical intervals of the software ensuring that all statements
have been tested and on functional interval is conducting tests to uncover errors and ensure that
defined input will produce actual results that agree with the required results. Program level
testing, modules level testing integrated and carried out.

Testing Methods

There are two major type of testing they are:

1. White Box Testing.


2. Black Box Testing.

White Box Testing

White box sometimes called “Glass box testing” is a test case design uses the control structure of
the procedural design to drive test case.

Black box Testing

Black box testing focuses on the functional requirements of the software. This is black box
testing enables the software engineering to derive a set of input conditions that will fully exercise
all functional requirements for a program. Black box testing is not an alternative to white box
testing rather it is complementary approach that is likely to uncover a different class of errors
that white box methods like.

 Interface errors
 Performance in data structure
 Performance errors
 Initializing and termination errors

Unit testing

Unit testing is a software verification and validation method in which a programmer tests if
individual units of source code are fit for use. A unit is the smallest testable part of an
application. In procedural programming a unit may be an individual function or procedure.

65
Ideally, each test case is independent from the others: substitutes like method stubs, objects,
fakes and test harnesses can be used to assist testing a module in isolation.

Integration Testing:

This testing is sometimes called Integration and Testing. Integration testing is the phase in
software testing in which individual software modules are combined and tested as a group. It
occurs after unit testing and before system testing. Integration testing takes as its input modules
that have been unit tested, groups them in larger aggregates, applies tests defined in an
integration test plan to those aggregates and delivers as its output the integrated system ready for
system testing.

Validation Testing:

Validation Testing can be defined in many ways, but a simple definition is that validation
succeeds when the software functions in a manner that can reasonably expected by a customer.
After validation test has been conducted, one of the following two possible conditions exists. The
functions or performance characteristics confirm to specification and are accepted.

 In the administrator and login modules, all the fields must be filled.
 In the student registration, contact number should contain exactly 10 numbers.

User Acceptance Testing:

User acceptance of a system is a key factor of any system. The system under consideration is
tested for the acceptance by constantly keeping in touch with the prospective system users at the
same time of developing and marketing changes whenever required. This is done in regard to the
following points:

 Input Screen Design


 Output Screen Design

66
Test Cases:

SR. NO. INPUT EXPECTED ACTUAL TEST PASS ACTION


GIVEN OUTPUT OUTPUT TAKEN
OCCURRED

1. Admin, Admin Home Admin Home Yes -


Password page Page

2. Admin, Admin Home Invalid No The wrong


Page Password for password
Bhav
user Admin **** for user
Admin

3. Login, Booking Successfully Yes -

Admin Authenticated

67
PROJECT SNAPSHOTS

Fig. 1(Home Page)

68
Fig. 2 (Itinerary)

To click on the “Reserve Now” button, then we get this page.


We have some steps for ticket booking:

1. ITINERARY
2. ACCOMODATION
3. PASSENGER INFO
4. PAYMENT INFO
ITINERARY consists of:
 Origin
 Destination
 Departure Date

After filling up, click on “NEXT” button.

69
Fig. 3 (Accommodation)

Now, we have to set accommodation among these.

Accommodation consists of:

1. Sitting
2. Economy A
3. Economy B
4. Tourist
5. Cabin
6. Deluxe

We have to select accommodation and number of passengers. Then click on the “NEXT” button.

70
Fig. 4 (Passenger Information)

Fig.5 (Details about Passengers)

After filling up the details about passengers, click on “NEXT” button.

71
Fig. 6 (Payment Information)

To Clicking on the “Return Home” button, we will go to Home Page.

Fig. 7(About us)

72
Fig. 8 (Services)

Fig. 9 (Admin Login)

73
CONCLUSION
It has been a great pleasure for me to work on this exciting and challenging project. This project
proved good for me as it provided practical knowledge of not only programming but also about
all handling procedure. It also proves knowledge about the latest technology used in developing
web enabled application and client server technology that will be great demand in future. This
will provide better opportunities and guidance in future in developing projects independently.
The purpose of object oriented programming is to have code that is structured and organized. For
the most part, you‟ll find yourself in situations where you‟ll be reusing code. Instead of having to
recreate that same logic for each project, you can have a class that does most of the work for you.

Another reason for having such strict concepts is because you may end up sharing your
class. For example, let‟s say you had a database class. A lot of people connect to databases.
Some people may be looking for code that can help them connect to a database easier and run
certain functions. By creating your database connector as a class, you help prevent collisions in
their own program because all code wrapped in a class is unique to the class only.

By defining your classes as public or private, you also prevent developers from ruining
the functionality of your class. Of course they can just go into the class itself and change things
around, but then they would be destroying the purpose of object oriented programming. What if
your class updates? They‟ll have to do it again and again. You‟ll find yourself using other
developer‟s classes and knowing OOP will make you a better programmer.

You don‟t have to use every single concept for your classes. It‟s really up to you, but
please utilizes what you can to help make your code perform better. You don‟t have to use
classes for all your projects. It really depends on you and how you wish to use it. The basic rule
is if you‟re doing the same thing over and over again, then you should probably create a class for
it.

Benefits:
The project is identified by the merits of the system offered to the user. The merits of this project
are as follows:

1. It‟s a web-enabled project.


2. This project offers user to enter the data through simple and interactive forms.

74
3. This is very helpful for the client to enter the desired information through so much
simplicity.
4. The user is mainly more concerned about the validity of the data, whatever he is entering.
There are checks on every stage of any new creation, data entry or updating so that the
user cannot enter the invalid data, which can create problems at later date.
5. Sometimes the user finds in the later stages of using project that he needs to update some
of the information that he entered earlier. There are options for him by which he can
update the records. Moreover, there is restriction for his that he cannot change the
primary data field. This keeps the validity of the data to longer extent.
6. User is provided the option of monitoring the records he entered earlier. He can see the
desired records with the variety of options provided by him.
7. From every part of the project the user is provided with the links through framing so that
he can go from one option of the project too other as per the requirement. This is bound
to be simple and very friendly as per the user is concerned. That is, we can say that the
project is user friendly which is one of the primary concerns of any good project.
8. Data storage and retrieval will become faster and easier to maintain because data is stored
in a systematic manner and in a single database.
9. Decision making process would be greatly enhanced because of faster processing of
information since data collection from information available on computer takes much less
time than manual system.
10. Allocating of sample results becomes much faster because at a time the user can see the
records of last years.
11. Easier and faster data transfer through latest technology associated with the computer and
communication.
12. Through these features, it will increase the efficiency, accuracy and transparency.

75
FUTURE SCOPE AND FURTHER ENHANCEMENT OF
THE PROJECT

Future Scope
The Online Ticket Reservation system is the next generation address book which will provide
these two basic services like portability, security.

The future scope includes expand the technologies like HTML and PHP we can also add
new technologies like HTML, PHP many more for improving the efficiency of the software. The
project will be useful for any schools and colleges with slightly modification.

The project Online Ticket Reservation System is flexible enough to meet the
requirements of the Customers. This project also has the scope of enhancements like:

1. Home delivery of tickets may be provided.


2. Online Booking of Purchases of eatables (cold drinks, popcorn etc.) can be provided.
3. Corporate booking: Multimedia support for corporate presentation can be provided.
Conference facility can be provided for corporate meetings in the hall. This will increase
the profit of cinema halls as well as the company organizing event.
4. Group booking: Any institute/company can book the tickets for students/clients and
special discount will be provided to them.

End User Support

 The proposed system is developed in PHP and using MySQL database.


 If organization increases users, it just has to add more machines and install the software
on it, which is in the form of exe.
Security
Security features are implemented. No unauthorized access the package, as the security is
implemented through login and password.
Flexibility
Project is flexible i.e. any change /modification in database may be performing easily. Also this
project could be made web enabled.

76
Assumptions, if any
None
Assumptions:
The user is familiar with basic computer components and operations.
Dependencies:
The system should work on all systems.

Further Enhancement of the Project

1. Everything that is made has some or the other things to be added to make it better than
revolutions.
2. The project “Online Ticket Reservation System”, it has been tried to develop a robust and
fault free system, still enough flexibility has been provided for further enhancements and
modifications. As I mentioned earlier then the designed forms are typically reflections of
the developer, so I strongly believe that the enhancement to be done with the project to be
done with the design changes, coding changes. But at the same time I would like to
mention that since one cannot claim himself as a master of the technology there is always
some scope of technical modifications in the project that may lead to find code
redundancy & storage space minimization.
3. Since the data is retrieved from the tables where everything is based on the coding system
if the coding system is changed then the system needs to be redesigned.

77
REFERENCES

1. Alan Forbes: The Joy of PHP Programming.


2. Robin Nixon: Learning PHP, MySQL, JavaScript.
3. Jon Duckett: HTML & CSS design and build websites.
4. Anshuman Khurana: Fundamentals of DBMS.
5. Michael Morrison: Head First PHP & MySQL.
6. David Sawyer McFarland: JavaScript & JQuery.
7. www.w3schools.com
8. www.tutorialspoint.com
9. www.geeksforgeeks.org
10. www.getbootstrap.com
11. https://www.thenewboston.com

78

Das könnte Ihnen auch gefallen