Design and Implementation of Bus Ticketing System Using PHP
Design and Implementation of Bus Ticketing System Using PHP
BY
SUBMITTED TO THE
SEPTEMBER, 2014.
I
CERTIFICATION
This is to certify that, this research project was conducted by IMRANA ABDULLAHI YARI with
admission number 0911310099. And has been approved as a meeting part of the requirement for
the award of the Bachelor of Degree in Computer Science of Usmanu Danfodio Uiniversity
Sokoto.
(Head of Department)
II
DEDICATION
III
ABSTRACT
Traditionally, bus ticket purchase has been over the counter in bus terminals, however,
today it has evolved with the rapid expansion of e-commerce. This project addresses the
study and development of an Online Bus Ticketing System web portal that enable
customers (passengers) and the staff to make an online bus ticket sale/purchase, ticket
cancel, ticket postponement, driver rating, generating of reports and etc. which also act as
an operation tool for bus ticketing companies to operate their organization effectively. This
research critically assess and study the reason behind the evolution and the current e-
ticketing systems. This research project also addresses the problems faced by customers
and bus drivers especially on illegal bus operations, long wait to purchase a bus ticket,
unsafe environment and many more. The project studies some issues on implementation
and also recommendations on how Online Bus Ticketing System web portal can take place
effectively. This project also recommends a Decision Support System to deal with the
decision. This project includes the development of a prototype Online Bus Ticketing
System web portal to support the research objective. This web portal will assist in future
development that would support a fully integrated system that links staff of the bus
company to customers, staff to staff, staff to other mode of transport providers, staff to
businesses and staff to government agencies. PHP, CSS, HTML, JavaScript, Ajax, jQuery,
MYSQL database and WampServer are the programming tools used in development of this
research project.
IV
ACKNOWLEDGEMENT
All praise be to almighty ALLAH (S.W.T) and May peace and blessing be upon his noble
prophet, his family, companions and those that follow his foot step till the Day of Judgment.
This dissertation had been successfully completed. A lot of time and effort was spent to
ensure that this project meets the objectives that were stated. I wish to express my sincere gratitude
to Mal. Hassan A. Gumi for his guidance and patience in supervising the writing of this
dissertation. His advice and valuable suggestions are the source of encouragement throughout the
completion of my project.
My sincere appreciation goes to Almighty God who has given me the strength, knowledge,
wisdom, and understanding that enabled me to see the end of the degree program and to
My profound gratitude also goes to all lecturers of the department of mathematics for the
Last, but not least, I wish to thank my beloved Mom, Dad, my Uncle and friends who had
been supportive during the writing of this dissertation. I am grateful for their encouragement and
Finally, I am highly indebted to my Muslim brothers and sisters for their ceaseless prayers
towards this program and May ALLAH (S.W.T) reward and have mercy on us and may he make
V
TABLE OF CONTENTS
CONTENTS
PAGE
Certification II
Dedication III
Abstract IV
Acknowledgement V
Table of Contents VI
List of Figures XI
1.1 Background………………………………………………………………………… 1
VI
CHAPTER TWO: LITRETURE REVIEW
2.1 Introduction………………………………………………………………………… 9
2.3 E-Commerce.............................................................................................................. 11
2.6 Security…………………………………………………………………………….. 13
2.7 Payment……………………………………………………………………………. 14
2.8 Portal………………………………………………………………………………...15
3.1 Introduction………………………………………………………………………... 28
3.3.1 Observation………………………………………………………………… 30
3.3.2 Interview…………………………………………………………………… 30
VII
3.3.3 Interview Questions and Results……………………………………………31
3.6.1 Staff………………………………………………………………………… 38
3.6.2 Customers………………………………………………………………….. 40
4.1 Introduction………………………………………………………………………… 51
VIII
4.4 Database Design…………………………………………………………………… 58
4.14 Testing………………………………………………………………………………77
IX
4.14.1 Unit Testing………………………………………………………………... 77
5.1 Introduction………………………………………………………………………… 82
5.5 Conclusion…………………………………………………………………………. 85
References…………………………………………………………………………………. 87
Appendix…………………………………………………………………………………... 89
X
LIST OF FIGURES
XI
LIST OF TABLES
Table 4.3 Integrated testing for the Customer Ticket Booking module……………….79
XII
LIST OF APPENDICES
XIII
CHAPTER ONE: INTRODUCTION
1.1 Background
A ticket is defined as “a piece of paper or card giving the holder the right to admission to
Generally, a bus ticketing system consists of all the activities involved in producing a
ticket, which includes, producing tickets, booking ticket, selling tickets, rejection of the tickets,
total tickets produced for a trip, total tickets sold and income gained through the ticket selling.
A bus ticketing system can let customer to know the information about the bus schedule
and ticket. Nowadays, online are very common issues to every one so that checking information
using online can save allot of time to the customer, so that customer no need to go to the counter
a result software system can be used instead of human, which will help to avoid a big percent of
mistakes.
Online Bus ticketing system make process of scheduling trips more easier and prevent
conflicting in time, also it help customers to book their tickets from their homes and checks the
pricing system of the routes, the price of ticket may increase or decrease depending on the season,
availability, time of booking, and also depending on the class that customer select and all these
Online ticketing system is a system that assist not only the passengers but also the bus staff
position as an efficient service provider, gaining competitive advantages and also lead to superior
control over the reservation process and operation, compared to conventional manual processing.
The main feature in this online e-ticketing system is to cater destinations between inter cities within
1
Nigeria. With this system, the passenger can perform an online bus booking at his or her own free
Besides the above given reason of curbing the traffic flow and reducing the human and
negative environment congestion in Sokoto State Transport Authority Bus Terminal, Therefore a
customer has a choice to rate/rank a driver base on his performance and behavior during the cost
of journey, the element of providing options to a customer to rate a driver is very important and
should be implemented in the Online Bus Ticketing System web portal. This element is relatively
important based on the number of unsatisfactory experiences by customers and accidents occurred
To achieve this element the usage of a Decision Support System (DSS) and Management
Information System (MIS) as a tool to develop a system that will finally benefits the user to
maximize their rights to make decision based on merit and also the bus company to meet their
Sokoto State Central Motor Park, Young Shall Grow motor Park and Sokoto State transport
Authority are the most significant public transport (bus) terminal in Sokoto state. SOKOTO
STATE TRANSPORT AUTHORITY (SSTA) was re- established by state government after the
received another set of buses (FUMTA) federal urban mass transit agencies enters into a contract
with Sokoto State Government for the maintenance of the supply of the spare parts and the state
government to the making of installment payment of the buses and spare parts. In 1994 the
transport authority move to its permanent headquarters, the organization like most other public
parastatals, has been experiencing problems of MIS-management and slow development, the
organization is headed by the general manager who is a chief executive and supported by members
2
of management staff. The Sokoto State Transport Authority is under the supervision of the state
The existing bus ticketing system for Sokoto state transport authority is manual and so much
during the weekend or any given public holidays, the number of commuters’ increases by doubles.
The main activity that is taking place in Sokoto State Bus Terminal is over the counter bus ticket
sales. With the increasing number of human traffic of 800+ passengers per day with 66+ buses to
different routes in the Nigeria. In Sokoto State Transport Authority, purchasing a bus ticket has
been an uphill task if a passenger has planned their detailed traveling itinerary. As the result of
the survey conducted, due to the intense number of human traffic increase in purchasing a bus
ticket is not merely a five or ten minute’s task, but in fact, it can take up to 20 minutes or half of
an hour especially during the peak season. Some factors that trigger the development of a new system
are:
1) Time consuming: The manual system is very time consuming, stressful and more prone
2) Insecurity of data: This means lack of security of data or information. In the manual
method, records are kept in the office and several people may have opportunity to check
all the files because all the files are kept in an appropriate way, this will lead to losses of
3) Data Inconsistency and Redundancy: In the manual method of keeping records for
processing and manipulation, man has in course of time, devised certain tools which
include paper, biro and pencil which he used in recording of data or information and using
these manual tools makes him to have duplicate copy of stored data, with this redundancy
3
of data and human errors may be encountered and also many papers are wasted and
4) Delay in Accessing Data: In the manual method of keeping records, accessing data or
information become very tedious, because all the files that contained information are not
well arranged the way that can be accessed in an appropriate and accurate manner, this will
retrieving on information become very tedious, all files that contained the records are kept
in sales office, therefore retrieving are done by checking the files one after the other, this
will consume time, misplacement of data or information and wasting of energy. With this
many errors will be encountered. And it took time for the staff in the company to know all
transactions.
6) Lack of data Integrity: Using manual method of keeping records, all information’s stored
are not prevented from people who do not have access to it, and making sure that those
who should have access to it can get in a way that are expected to be for feature use.
or information that are stored in a files is done by people who carry records from one office
to the other, using this manual method many records are lost and will consume time.
The aim of this project is to develop an online bus ticketing system for the Sokoto state
transport authority to satisfy a facility of all transaction online with effectiveness to achieve the
below objectives:
4
a) To investigate and analyze the problems on the existing e-ticketing systems provided by
b) To identify the relevant features of various components, methods needed for the Online
Bus Ticketing System web portal and to assist bus operators operations and marketing
decision through timely decision making via Management Information System through the
deployment of Online Bus Ticketing System web portal and the phasing out of manual
ticketing system.
c) To enable passenger to check the availability of the bus ticket, check the time of departure
and arrival for every Transnational’s bus online through the system.
d) To provide a passenger with a web-based bus ticket functions that enable passenger to
reserve/book bus ticket through the online system and no need to queue up in the counter.
e) To enable a customer to cancel/postpone a booked ticket and also rate a driver after
f) To ease the bus ticket payment online using Credit Card (e.g. Master Card, Visa Card,
Interswitch and Verve card) or bank payment by presenting a bank payment teller during
g) To minimize the number of staff at the ticket box and the counter.
This research work focuses on two parties, i.e. Staff and the customers. The system
administrator may be specialize member of the company staff who administer staff to this system,
the administrator is able to add, edit delete staff. The staff are management board members whose
are cashiers, managers and bus operators. The functions of staff is to retrieve information, verify
payments, travelling issues, view rates of driver, allocating driver to bus, suspending/releasing
5
drivers, manage route, manage bus seats, manage news, generate reports and etc. This back-end
activities will help the company to evaluate its current position and to plan its company’s
operations on how and what action to be taken in order to stay ahead in this competitive business
world.
The customer will be able to utilize this Online Bus Ticketing System web portal to perform
their transaction of purchasing bus tickets at their own hassle free time, postpone/cancel ticket
This research survey identifies the need of developing and promoting a comprehensive
Online Bus Ticketing System web portal of various bus operators in Nigeria. This study explores
views from the bus ticketing company’s as the service providers and the customers as the system
The bus ticketing company’s, the survey conducted identifies the responds received from
the passengers on the current available system in the market, the cost-effectiveness of developing
and maintaining this system and the usage of reports from the system.
on a platform by many organizations as their key indicator for success. Online data handling has
been a major tool to provide better customer service. By adapting ICT as a tool to provide the bus
operator’s management, it will not only improve operations efficiency, gaining competitive
advantages, delivering higher-quality services, but it will also lead an organization to superior
control over the booking process which will allow the customers to choose their services from
other competitors.
6
On the other hand, the survey conducted on the system users identifies the awareness of
the current system and the willingness to transform from practicing the conventional (manual)
method of over the counter for purchasing of bus tickets to the modern method of purchasing
The motivations for this research project came from needs to provide an efficient and fast
full way of how bus ticketing companies handle their ticket transactions. Even though the Sokoto
State Transport Authority uses manual process of ticketing system. There is always the need for
the Company to explore a means through which records can be manage which enable passenger to
check availability of bus ticket, book bus ticket, and pay bus ticket online.
With these in mind, there is need to design and implement an online Ticketing system, for
the Sokoto State Transport Authority in order to solve some of the problems concerning with
From experience, I as a customer that has been travelling through Sokoto State Transport
authority, an observation has been made on how the carry out their operation on esteem manual
ticketing system which need to upgrade. With my knowledge and experience that I had in
software programming, database design, system analysis and etc. are what willingly motivate
me to developed this system as my research work to overcome the problems of existing system.
Ticket: A piece paper or card holder that gives right to admission to a place or event or travel on
public transport.
7
Cancellation: The act of deciding that (a planned event) will not take place.
Postponement: An act of arranging for (something) to take place at a time later than that first
scheduled.
network.
Record: A piece of evidence about the past, especially a written or other permanent account.
Travel: To be on a journey, often for pleasure or business, and with luggage; to go from one place
to another.
The purpose of this research document is to give an overview of major phases involved
throughout the development of the dissertation. Basically, the research document is divided into 5
chapters.
Chapter 1 covers the Introduction of the research. This chapter covers the overview of the
research including problem statements, objectives, scope and significance of the research.
Chapter 2 covers literature review. This chapter concentrates on the overall aspect about
Online Bus Ticketing System. This chapter begins with the introduction of e-ticketing,
understanding the online ticketing applications, understanding the role of e-commerce, the security
and privacy issues, and the payment methods of online ticketing. The incorporation of Decision
Support System and Management Information System are also highlighted in this chapter for better
understanding in the development of the Online Bus Ticketing System web portal.
8
Chapter 3 covers on the research methodology that is used in completing the dissertation
and the analysis of an Online Bus Ticketing System web portal after obtaining information from
the interview and observation. This includes the analysis on the bus passengers awareness on the
current services provided to them by the current individual bus e-ticketing systems. The bus
operators ranking is explained further in this chapter. This includes the calculation derived for
each criterion that will determine the ranking. This chapter also includes a proposed framework
Chapter 4 covers the design and development of the Online Bus Ticketing System web
portal. The structure charts, context data flow diagram, entity relationship diagram and data
dictionary is also shown in this chapter. This chapter also includes the implementation of the
suggested features gathered from the survey and the technical aspects of the development.
Chapter 5 covers the conclusion, project outcomes, future work of the research and project
9
CHAPTER TWO: LITRETURE REVIEW
2.1 Introduction
This chapter discus the facts and finding on electronic ticketing or e-ticketing system and
integrated structure of databases and information flow (Long & Long, 2004). MIS combines the
theoretical work of computer science, management science, and operations research with a
practical orientation toward developing system solutions to real-world problems and managing
MIS is also seen as a system collecting and analyzing data and producing reports. It purpose is
to help managers to solve structured problems. But it should also fulfill a number of other purposes
(Adriana, 2003):
1. It should provide a basis to analyze warning signals that can originate both externally and
2. It should automate routine operations thus avoiding human work in the processing tasks;
There are numerous definitions of MIS, for the purpose of this research, MIS can be defined as a
system providing bus operator management with accurate and timely information necessary to
facilitate the decision-making process and enable the bus operator’s planning, control, and
10
operational functions to be carried out effectively. By doing so, MIS will increase competitiveness
2.3 E-Commerce
buying and selling using the internet. It involves more than mediated financial transactions
environment, where the operational boundaries between firms have become fluid, it is often both
business processes. Therefore, E-commerce includes the sell-buy relationships and transactions
between companies, as well as the corporate processes that support the commerce within
Rapid developments in information technology and telecommunications have set the pace
for an electronic revolution leading to the emergence of E-commerce. Although the use of Internet
as a channel for shopping has been around for quite some time now, it has not caught on with the
Nigerian masses just as yet. Teething problems with security and privacy is hindering the potential
11
2.4 Business to Consumer (B2c)
The term E-Commerce refers to all online transactions, while B2C stands for "business-to
customer" applies to any business or organization that sells its products or services to customers
over the Internet for their own use. When most people think of B2C e-commerce, they think of
Amazon.com, the online bookseller that launched its web site in 1995 and quickly took on
America's major retailers. However, in addition to online retailers, B2C has grown to include
services such as online banking, travel services, online auctions, health information and real estate
In Nigeria, the growth of Business-to-Customer (B2C) e-commerce is still at its early stage.
Computer ownership is 8 people per 200 populations in 2001 and is expected to increase to 15 by
the end of 2002 and hit 30 by 2005, whereas the worldwide standard of computer ownership is 40.
At the same time, the Internet user’s population in Nigeria is estimated at close to forty five million
which is 8 in the world ranking, representing 26.5% of the total population (Miniwatts, 2012).
Nigeria is still lacking behind in almost all aspects of the Internet. Like most African
countries, Nigeria is working hard to catch up with the developed world’s economies, and the
Internet presence become urgent issues. This country is still struggling to develop its Internet
infrastructure and building its knowledge economy, for example developing communications
networks, enabling Internet access to all, and setting up a legal framework for using the Internet.
Most significantly, the primary focus is to promote Internet usage among Nigeria to improve the
country’s competitiveness
12
2.4 Decision Support System
Decision Support System or DSS is an information system that can be used to help
relevant information from the environment, modeling the problem domain and generating
alternative solutions, employing a decision strategy to choose between alternatives, testing and
justifying the decision, and effecting the necessary changes in the environment to implement the
decision. DSS have been developed to support human users across all of these activities (Sproule,
2002).
DSS feature must be included in the development of an Online Bus Ticketing web portal
to provide customers with a service to allow them to insert their desired traveling location and
dates into the system which in turn displays the data based on the criteria chosen. This Online Bus
Ticketing web portal will then be a system that not only allows customers to book and purchase
bus tickets online, but also give a deciding power to customers for rating the drivers they travelled
with.
2.6 Security
has become one of the main reasons for not transacting online because as soon as a user accesses
the Internet, anyone from anywhere around the world has access to the information being sent.
The risk of data theft, theft of service, and corruption of data, and viruses becomes a reality. The
lack of security, reliability and accountability make the Internet online transaction too risky for
13
Devising the Internet security policy can be complex because a rational policy requires an
organization to access the value of information. The policy must apply to information stored in
computers as well as to information traveling through a network. The internet security policy is
complex as primary complexity arises because of the internet security cannot separate from the
security policy for the computer policy for computer systems attached to the internet. In particular,
defining a policy for data that travels through the internet does not guarantee that data will be
For this research, the Internet security that should be taken into consideration is the
unauthorized access. Unauthorized access can defined as the use and access of information
without getting the permission from the administrator. This problem is often viewed as the hacker
or the employee gaining access to the information and resources from the organization through the
internet. A hacker is a person who tries to enter into the computer system or network illegally and
then access the information or resources before logging out. Hackers have extensive knowledge
of the workings of the Internet and can exploit security vulnerabilities to gain access to systems.
The hacker can improvise and try different approaches to breach a system's security, but hacking
is inefficient because hackers typically focus on one system at a time. Instead, they often prefer
to focus on the attack vectors that can reach the masses more efficiently (Tubin, 2005).
2.7 Payment
The most important part of selling online is accepting payments from users for a single
transaction for a purchase of an item from a Web site or for a series of transaction for the payment
of membership fees or installment payments via your Web site. Online payment processing offers
users the convenience of submitting their credit card or other form of payment on your Web site
(Verisign, 2005).
14
The implementation of chip technology now, offers new forms of payment choices and
higher security to the public. In 2004, an important step has been taken by the Bankcard by
replacing the magnetic stripe Automated Teller Machine (ATM) cards towards migrating to
Europay MasterCard VISA (EMV) compliant credit cards. A further development has been also
introduced, in Nigeria which is the VoguePay. VoguePay International is owned and managed by
Afrisoft Interactive Ventures Limited, Lagos, Nigeria and Mayday & Couplotters Investment
Limited, United Kingdom. VoguePay is a unique online payment processor whose vision is to
offer buyers and sellers a secure and easy-to-use means of transacting business online, It allows
site owners to receive payment for their goods and services on their website without any setup fee,
It distinguishes itself from other online payment processors with its array of features that are
The ATM machines of the participating banks and terminals at retail outlets are being
upgraded to facilitate MEPS Cash transactions. There are various modes of payment through the
internet, namely: Cards, Online Banking Services, Electronic Money, E- Wallet, E- Billing, and
Mobile Payments.
Online system allows customers to plug into a host of banking services from a personal
computer by connecting with the bank’s computers over telephone lines. The convenience can be
compelling. Not only is travel time reduced, but ATM machines, telephone banking or banking
2.8 Portal
A portal is a Web site or other service that provides an initial point of entry to the Web or
to internal company data (Kenneth, 2004). Another description for a portal is a “gateway” to the
15
Internet, it is also known as Web site that provide some basic information and services (Lim, E.,
2004) and, more importantly, provide access to selected sites in the Internet through links and to
Portals are important because they are the prime real estate of the Internet. Portal varies in
scope and the services they offer, so there are many terms evolved to describe the different types
of portals (Whitten, 2002). For this research, the type of portal that will be best used for an Online
Bus Ticketing System web portal will be horizontal or functional portal where it has the
management.
Portals are special business models which are full with Web information resources that
help individual or organization to locate information more efficiently. Web services are best used
in portals because of the portal technology ability to combine different applications and services
A ticket is defined as “a piece of paper or card giving the holder the right to admission to
a place or event or to travel on public transport” (Oxford, 2005). Generally, a bus ticketing system
consists of all the activities involved in producing a ticket, which includes, producing tickets,
booking ticket, selling tickets, rejection of the tickets, total tickets produced for a trip and total
tickets sold and income gained through the ticket selling. There are two types of bus ticketing
Most of the ticketing systems in Nigeria are conducted manually. Before tickets are sold
to customers, trip to particular destination has to be scheduled which is fixed by the management
16
of each bus operators. The management will also assign a bus driver for each of these scheduled
trips. Once the schedule is finalized, the management issues standard tickets which has the ticket
serial number. The destination and price are printed on the ticket for particular trip.
There is several bus operators offers call and book system to its customers. Customer calls
up the bus company and gives their particulars like name, address and identification numbers and
stating their destination. The counter will manually reserve the ticket for the customers, which
means the ticket sales counter clerk will put the ticket aside. The customer has to come personally
to the ticket counter one day before the actual trip to collect the reserved ticket. Failing to do so,
The ticket sales counter clerk has to manually calculate the total amount of the ticket sold
and send the daily report to the management. Matters become complicated when several branches
conduct the ticketing-selling task for the same bus at the same time. The ambiguities let the
The management of each bus operators sets the bus trip schedule. Based on this schedule,
ticket will be generated for a particular trip according to the seat available in each bus. For
example, there may be a trip to Jos in the schedule list. The counter clerk from every station is
17
entitled to check the ticket availability from the database when customers come to the ticket sales
counter. Upon availability, the sales clerk will print out the ticket with details such as destination,
date and time of departure, date of purchase, ticket price, and bus registration number. The ticket
is considered sold once it is printed out. The booking facilities are also available to the public, not
At the end of the day, the ticket sales counter clerk will check out the summary reports,
which contains information like how many trips of the day, how many passengers abort the buses
and the sales amount collected for the day. This report will be handed to officers on duty for
verification and later it will be sent to the management for future analysis and updates.
The table below shows the comparison between manual and computerized ticketing system
ABC transport
ABC Transport (1993) developed a system for distinguished travelers who would
otherwise use air service. The operations within and outside Nigeria are carried out in ultra-modern
18
terminals, with comfortable lounges in various cities like Lagos (Jibowu & Amuwo-Odofin), Aba,
Owerri, Port-Harcourt, Abuja, Enugu, Onitsha, Umuahia, Jos, Mbaise, Bolade, and Accra (Ghana).
Figure 2.2 is the screen shots of website homepage. (ABC transport, 1993).
1. Online checking for bus fare and schedule for the specified route.
5. You can book your ABC Transport Tickets directly from your mobile phone.
19
6. E- Ticket is given with a printing option.
8. Every passenger who makes eleven trips with ABC Transport within a given year,
is entitled to a free ticket on his/her twelfth trip and issued with the company's Gold Card
1. Availability of seats can only be checked for the given particular day. Users are able to
only check the specific day for their trip when proceeding to the reservation and purchasing
process.
3. Too many steps to be followed for a bus ticket reservation and purchasing. Users may be
Oya.com.ng
Oya (2010) developed a system that aims at making travel by bus easier and fun across
Nigeria. This system help travellers pre-book and buy bus tickets before the day of travel.
Customer can also call an agent to reserve seat based on the choice of cutomer, and also this system
provide customer with several payment options based on the choice the one most comfortable for
a customer. Customer can also pre-book and pay on the travel day, so far as customer are there at
the park in time enough before the bus is filled up.friends about us. Figure 2.3 is the screen shoot
20
Figure 2.3: Oya homepage
1. User friendly because the steps to purchase a ticket are simple and direct.
2. Customer can call to reserve a choice seat and a bus to travel with.
3. The users can check the schedule for the specified route.
2. Inconvenient for first time users because their account needs to have available balance
21
4. Help and FAQ section is not available in this web site.
This section discuses on comparison between two online ticketing systems in Nigeria i.e.
Oya Transport and ABC Transport, the ticketing system of abc transport is the best one because it
includes most of the features as a user- friendly and informative ticketing system. Whereas the
As one of the research objectives is to have a ranking system for the bus drivers, there is
none was found on this element in any of the existing e-ticketing system. With this, an introduction
of a star ranking system for bus drivers in the development of the new system.
The summary of the general features of each of the compared online ticketing system has
22
Charact
reservation/purchasing
Company information
Online cancelation
User interactivity
of
Webpage design
Seat status
Fare rates
Seat map
ticketing
ranking
Online
time
system
ABC √ √ √ √ √ √ √ √
attractive
transpor × × × × × × ×
quick
high
Oya √ √ √ √ √ √
transpor
moderate
attractive
√ × × √ × × × × ×
quick
1. HTML: which is stand for Hypertext Markup Language is the main markup language for
creating web pages and other information that can be displayed in a web browser.
HTML elements form the building blocks of all websites. HTML allows images and
objects to be embedded and can be used to create interactive forms. It provides a means to create
structured documents by denoting structural semantics for text such as headings, paragraphs, lists,
links, quotes and other items. It can embed scripts written in languages such as JavaScript which
2. PHP: is a server-side scripting language designed for web development but also used as a
general-purpose programming language. While PHP originally stood for Personal Home Page, it
PHP code is interpreted by a web server with a PHP processor module, which generates
the resulting web page: PHP commands can be embedded directly into an HTML source document
23
rather than calling an external file to process data. It has also evolved to include a command-line
3. MySQL: "My S-Q-L", officially, but also called “My Sequel" is the world's second most widely
used open-source relational database management system (RDBMS). The SQL phrase stands for
MySQL is a popular choice of database for use in web applications, and is a central
component of the widely used LAMP open source web application software stack (and other 'AMP'
open source projects that require a full-featured database management system often use MySQL.
4. Wampserver: The acronym wamp refers to first letters of the four components of a solution
stack, composed entirely of free and open-source software, suitable for building high-availability
heavy-duty dynamic web sites, and capable of serving tens of thousands of requests
simultaneously. The meaning of the wamp acronym depends on which specific components are
8. PHP, Perl, or Python, the scripting languages (respectively programming languages) used
The exact combination of the software included in a WAMP stack is prone to variation, for
example Apache web server can be replaced by some other web server software. Though the
original authors of these programs did not design them to work as a component of the WAMP
24
stack, the development philosophy and tool sets are shared and were developed in close
part of web browsers, whose implementations allow client-side scripts to interact with the user,
control the browser, communicate asynchronously, and alter the document content that is
displayed. It is also being used in server-side programming, game development and the creation
6. Cascading Style Sheets (CSS): is a style sheet language used for describing the look and
formatting of a document written in a markup language. While most often used to style web pages
and interfaces written in HTML and XHTML, the language can be applied to any kind of XML
document, including plain XML, SVG and XUL. CSS is a cornerstone specification of the web
and almost all web pages use CSS style sheets to describe their presentation.
CSS is designed primarily to enable the separation of document content from document
presentation, including elements such as the layout, colors, and fonts. This separation can improve
content accessibility, provide more flexibility and control in the specification of presentation
characteristics, enable multiple pages to share formatting, and reduce complexity and repetition in
the structural content (such as by allowing for table less web design).
7. JQuery: is a free and open source that is used by web developers to navigate through HTML
documents, handle events, perform animations and add Ajax interactions to the web pages.
8. Ajax: is an acronym for Asynchronous JavaScript and XML) is a group of interrelated web
development techniques used on the client-side to create asynchronous web applications. With
Ajax, web applications can send data to, and retrieve data from, a server asynchronously (in the
background) without interfering with the display and behavior of the existing page.
25
9. Pacestar uml diagramer: is a software that helps you generate UML 2.0 diagrams quickly and
easily. Develop, document, and communicate your designs in a systematic yet flexible AND
commonly understood notation. Create activity diagrams, class and object diagrams,
communication diagrams, use case diagrams, sequence diagrams, state charts, package diagrams,
10. Edraw max: it is an all-in-one diagram software that makes it simple to create professional-
plans, mind maps, science illustration, fashion designs, UML diagrams, workflows, program
structures, web design diagrams, electrical engineering diagrams, directional maps, database
11. MySQL workbench: is a unified visual tool for database architects, developers, and DBAs
that enables a DBA, developer, or data architect to visually design, model, generate, and manage
databases. It includes everything a data modeler needs for creating complex ER models, forward
and reverse engineering, and also delivers key features for performing difficult change
management and documentation tasks that normally require much time and effort.
12. Snipping tool: Is a component of Microsoft windows system utility software tool used to
screen shots any content e.g. rectangular areas, a free-form area, or the entire screen in windows
operating system, snips can then be annotated using a mouse or a tablet, stored as image file(PNG,
GIF, or JPEG file). Snipping tool allows a basic image editing of the snapshot, with different
13. Active Query Builder: Is a full featured set of tools to manage metadata, it works with SQL
queries, and assist in retrieval of data from database. It is use in easy building of complex SQL
26
queries with unions and sub queries, it provides a highly customizable and convenient interface
for end-users to understand database schema and to work with queries in efficient ways.
14. Sublime text: Is a sophisticated text editor, for code, markup and prose. It has beautiful user
interface, extra ordinary features and amazing performance. It has the function of: go to anything,
multiple selections, command palette, distraction free mode, instant project switch, plugin API and
cross platform.
27
CHAPTER THREE: SYSTEM ANALYSIS
3.1 Introduction
System Analysis is a phase which is conducted before the development of the Online Bus
Ticketing System web portal. System Analysis shows the requirement or a description of the needs
and desires for an information system. A requirement may describe functions, features, and
constraints. Thus, system requirement defines the services provided by the system and prescribes
constraints for its operation (Whitten, 2002). There are two types of requirement, functional
requirement and non-functional requirement. Both these requirements will be discussed later in
the chapter, but before that It is important to fulfill the planning for the implementation phase. This
can only be done if proper methodology is selected. Methodology is important to make sure all
project life cycle activities are being carried out without any shortcuts. Methodology helps the
system developers to take one step at a time towards accomplishing the full system.
The methodology that might be useful is the project life cycle and prototype. The project
life cycle methodology and prototyping is a methodology that allows users to review all phases
until the users are satisfied with the Online Bus Ticketing System web portal. The figure 3.1 shows
28
Waterfall model with Prototyping is used as a model of Online Bus Ticketing System web
portal. Waterfall model consists of stages that are cascading from one to another. One
development stage should be completed before the next begins. The Waterfall model presents a
very high-level view of activities taken place during development, and it suggests to developers
The Selection phase is where an Online Bus Ticketing System application should be
selected based upon passengers and bus operator priorities. After conducting a complete research
Planning is an important phase where an Online Bus Ticketing System plan is drafted out
and changes are made so that a plan can be followed without any more changes during the final
phase. The plan is done so that there is progression or action taken on the applications selected.
The existing ticketing system within Nigeria and other countries also have been analyzed. The
plan is then followed strictly so that the system can be put into operation.
The next phase after the planning phase is on Analyzing the current and new procedures
of the system. Analysis is important to gather information from the existing e-ticketing system.
Feasibility study is conducted to find out whether it is beneficial to carry out the new system.
Studying the existing e-ticketing system and the procedures involved is what the feasibility study
is concerned with.
After the analysis phase, the next step is to Design the system based on the requirements
selected in the analysis phase. Design can be constructed easily by having a prototype system.
Prototype system is either a workable or non-workable system that has the screen design with the
important features included. So the customers and bus operators will test the prototype system to
29
Based on the feedback obtained from the user the necessary changes are made. The next
step is the Implementation phase where the process of changeover takes place where the existing
e-ticketing system is converted into an Online Bus Ticketing System web portal.
The last phase is the Maintenance phase for modification and enhancement purposes. It is
important that continuous assessment is carried out for better services in the future.
The fact-finding methods that have been selected for this research project consists of,
observation and interview. Once information is gathered a prototype is developed as to support the
findings. Development of the prototype web portal of Online Bus Ticketing System is developed
to support the objectives of the research. The following will be the research methodologies
discussed in detail.
3.3.1 Observation
Observation is the first method used to gather information regarding the development of
an Online Bus Ticketing System web portal. For this project, Sokoto State Transport Authority
(SSTA) was visited to observe the buying habits of passengers and also observe the selling of
tickets by the bus operators. From the observation, it is found that the human traffic is extremely
3.3.2 Interview
Interview is the second method used to gather some information regarding an Online Bus
Ticketing System web portal. Interviews were conducted with the bus operator’s personnel and
with the public to find facts, verify facts, clarify facts, generate enthusiasm, and identify ideas and
opinions. A set of interview questions was prepared to ask the interviewee to respond to a series
30
of questions. The interview is divided into open and closed-ended questions so that sufficient
An interview has been conducted on October 15, 2013, December 21, 2013 and February
6, 2014 for operational Manager at Sokoto State Transport Authority bus station, namely mal.
Ahmed Rufa,i. The main objective of this interview is to understand the bus operators operations
in the ticketing unit and to analyze the acceptance, potential and opportunities in implementing the
Online Bus Ticketing System web portal. The interview questions were prepared, is based on
The interviewee, Mal. Ahmad Rufa,i who is the Operational Manager of Sokoto Transport
Authority was interviewed at 11.30 am on October 15, 2013, and at 4.30 pm on December 21,
2013 and at last 10.00 am on February 6, 2014 for about one hour each. Below is the summary of
Question 1:
How does your company conduct the bus ticket selling, booking and purchasing process?
Top management will fix the trip schedule and issues standard tickets with ticket serial number.
Question 2:
31
The operational Manager Answers:
The counter clerk has to manually calculate the total amount of the ticket sold and send the daily report
to the management.
Question 3:
Extra trips will be provided to the customer on Friday, Saturday, Sunday and during the peak season.
Question 4:
Are your staff computer literate and are they using computers to do their daily duties?
Some Staff have some basic for computer like use the MS Office.
Staff especially the counter clerk does not conduct their daily duties using computer.
Question 5:
Does your company have an Online Bus Ticketing System? If yes, how is the respond? From the
32
Question 6:
If there is a single system combining all the bus operator’s activities, do you think it will benefit
the public?
Yes, it will benefit the public if there is a single system combining all the bus operator’s activities.
Question 7:
If your company does not have an existing Online Bus Ticketing System, what are the functions
Functions like seat availability, schedule and fare rates, reservation and purchasing of bus tickets and
company promotions.
Question 8:
Do you think Online Bus Ticketing System is reliable in handling the purchasing of bus ticket
online and thus reducing the human congestion in Sokoto State or Nigeria in General?
Question 9:
What type of payment methods will you prefer in an Online Bus Ticketing System?
E-payment which using the e-banking because this method is simple and direct.
33
Question 10:
Do you think by having a collaborated Online Bus Ticketing System web portal will ease the ticket
Yes, it will somehow ease the ticket reservation process in the operation unit.
It can be concluded that the public and bus operators are ready to move forward for the
utilization of an Online Bus Ticketing System web portal. It is just not merely enough to
implement efficient online sales and purchase of bus tickets, but, other important issues that are
related to Decision Support System and Management Information System that will benefit both
The justification of chosen method is that the data collected by interview is correct and
authentic compared with the result obtained from the observation with regard to the current method
use in ticket purchasing, ticket booking and information management. The formal interview made
with the Operational Manager were to determine the area of difficulties in the process of their
manual booking system, management information system in the company, to extracts their opinion
regarding the current system and what need to be improved and also to identify the requirement of
3. The counter clerk has to manually calculate the total amount of the ticket sold and send the
4. Staff especially the counter clerk does not conduct their daily duties using computer.
34
5. Functions like seat availability, schedule and fare rates, reservation and purchasing of bus
6. E-payment which using the e-banking because this method is simple and direct.
The data collected pointed out that the information required to reach
The manual mode of ticket booking, ticket purchasing, information dissemination and
dispersion of files in the company is through phone calls, direct contact or through traditional
messengers that are attached to offices of high rank staff. This mode of information transfer has
been in existence since the inception of creation of Sokoto State Transport Authority in Sokoto
1. Each bus driver and his conductor are attached to particular bus
3. The cashiers are attached to high rank financials officers. The financials officers are then
4. Each messenger is attached to the office of a high rank staff of the institution.
5. The messenger (who is also a staff) is called or summoned upon to deliver the file, load,
6. The messenger uses its digression to find ways to gets the files dispatched or information
to its destination.
7. Customers are gathered in queue for booking or purchasing ticket either through phone
8. Customers visited company notice board every day to see latest information.
35
Data flow diagram of the existing System
The data gathered deduced that, most of the interviewee results agree that many problems
are encountered with the current system these include insecurity, redundancy, inconsistency, delay
in data accessing, ineffective retrieval of data and its often inefficient in time and cost etc., and off
In efforts to improve the existing bus e-ticketing systems in Nigeria, observation on the
problems and opportunities from the existing e-ticketing sites both in Nigeria and overseas had
been conducted. With that, it is recommended an integrated system of solutions that attempts to
36
rectify many of the existing problems in the current bus e-ticketing and propose an innovative way
Therefore, the goal of the proposed Online Bus Ticketing System web portal is to provide
a revolutionary way to interact effectively in a one stop venue. Furthermore, with this system,
customers will be able to obtain a wider choice of bus tickets since they can reach a wider range
of bus operators and a decision system to rate a driver base on behavior during the journey.
In short, with the proposed system, bus operators can now involve in making bus ticketing
purchase transactions convenient, cost effective and finally can do away with the
manual/conventional methods of selling bus tickets. Therefore, the proposed system will be
superior and function as a catalyst in the competitive business environment regardless of the
The system has the public (as Customers), super system Administrator, Cashiers, Managers
bus operators are identified as the main users of the system. This is because this system can only
be successful when there are customer to purchase and bus operators to sell their services.
The system function can be divided into two sections, the Staff section and the Customer
section. In the staff section, there will be four actors which are: administrator, cashier, manager
and operator. The system allow Administrator to edit/register staff (cashier, operator, manager and
driver), a cashier manages all payment activities and operator handles bus, routes, driver allocation
to bus, and travelling activities, while manager control the decision support system from customers
of driver rating, manage customers, generate report, view user logs and activity logs.
37
In the Customer section, the customer will be able to view the home page to search on the
bus details for the desired destination based on the preferred search detail which are route, date to
travel and number of passengers. After booking ticket and it happens to be available, then the
system will allow the customer to continue with the booking processes, seat view, customer
registration details, payment activity and printing out of the booked ticket provided if the customer
is a registered. There will also be a booking cancellation feature for a customer to cancel a booked
ticket, postponed booked ticket, rate a driver or reset his password after login. In this module the
customer will also be provided information such as latest news, travelling tips about the Online
system to satisfy the business needs and user acceptance (Whitten, 2002). Staff and Customers
will use this proposed Online Bus Ticketing System web portal. A clear and detail functional
system requirements for this system are the Staff section and Customer section are described as
following.
3.7.1 Staff
The staff can access some of the functions in this system, which include company staff
and the reports module. Each Staff has to perform their activities. The functional requirements for
the staff’ section is divided in to three functions which are: (a) Administrator (b) Manager (c)
a) Administrator
Administrator is a super person that has the overall control of company staff which includes:
38
➢ Add, edit or delete staff(operator, manager, cashier and driver)
b) Manager
Manager is a company staff which manages company activities and has the ability to perform
1. Manage Customers: Manager can view, edit, delete and search all the customer that register
2. Activity Logs: Manager can view all the activities perform by in the system.
3. User’s logs: Manager can view all the activities perform by the staff and customers.
4. Manage News: Manager can post or delete news/events by topic name and date and publish
5. Generate report: Manager can generate report by using a particular date or range base on
paid, unpaid, travelled, not travelled, cancels or postpones for the company and also print
it.
6. Suspend/Release Driver: Bus driver ranking system are viewed and analyzed to take
decision of action on particular deriver using 5 stars: very-poor, poor, good, very-good and
excellent. For each of the ranking stars are calculated using the formula below:
c) Cashier.
7. Payment status: Cashier can assign a customer payment status paid or not payment whether
he/she pay using teller or using cash, so that a customer can travel after been verified.
39
d) Operator
Operator is an operational department person that manages, bus route and customer travelling
status.
8. Assign Customer travelling status: Those customers that have been verified by the Cashier
are ready for travelling, here the Operator assign those travelled if the travelled or not
9. Seat inventory: Here the Operator can delete and search the tickets been booked.
10. Route: Here The Operator can edit, delete or add route to each bus allocated to the
company.
11. Allocate drive to bus: Operator can allocate a particular driver to a bus when released by
manager.
12. Broadcast message: Here the company operator can send a broadcast message to customers
by using particular trip base on travel status on reported lost or found items.
3.7.3 Customers
The customers can access some of the functions in this system, which includes the main page
module, registration module, bus schedule and details module, booking module, payment module,
ticket module, postponement and cancellation module. The functional requirements for the
1. Ticket booking:
a. Check the ticket availability by selecting route, date and number of passengers to travel
which a system will use to validate to see if a driver is allocated to that bus of that route
selected and also the date is available. Seats available are to be incrementing from previous
40
booking with the same date and route. After checking availability, now a customer can
b. After successful registration with validations from the system, a customer proceed to
payment page and can pay online or skip this step if wish to pay manually.
c. Then lastly, a message will be sent via the mobile number a customer provided. Or a
Once a customers booked a ticket, then they can login to postpone the ticket booked, but only
Once a customers booked a ticket then they can to login to cancel the ticket booked, but only
4. Reset password:
Once a customers booked a ticket then they login to reset their password but only if the current
password is provided.
5. Rate/Rank a driver:
Once a customer booked a ticket then they login to rate their bus driver, but only if they
travelled and the choice are to be selected only once which are: very poor, poor, good, very good
or excellent.
A use case diagram at its simplest is a representation of a user’s interaction with a system
and depicting the specification of a use case (Gemino & Parker, 2009). Use case analysis is a major
technique used to find out the functional requirements of a software system. Use case, an important
41
concept in use case analysis, represents an objective user wants to achieve with a system. It can be
in text form, or be visualized in a use case diagram. A use case is an objective user(s) wants to
achieve with a system. Use cases are named with verb or verb + noun phrase. It is usually short
yet descriptive enough to describe a user objective. You are encouraged to use concrete and
specific verbs and nouns to avoid ambiguity. The diagram represent the usecase diagram for online
42
Figure 3.3: Use case diagram.
43
3.8.1 Use Case Description
The table 3.1 below shows the general form of use case description.
44
Customer change his password Change password The system change a password for a
customer if the current password is
provided.
Administrator login Login The system validate the login details of
admin and access level, if success, the
system proceed to admin panel else display
an error message.
Administrator Manage Operator Manage Operator The system allow system admin to add edit
and delete driver.
Administrator Manage Cashier Manage Cashier The system add edit and delete driver.
Administrator Manage Manager Manage Manager The system add, edit and delete manager.
Administrator Manage Driver Manage Driver The system add, edit and delete driver.
Manager login Login The system validate the login details of
manager and access level, if success, the
system proceed to manager panel else
display an error message.
Manager view users logs View user’s logs. The system displays a manager user’s logs.
Manager view activity logs. View activity logs. The system displays a manager activity logs
Manager view driver rates View driver rates The system displays a manager the rates of
selected driver.
Manager release a driver Release driver The system released a selected driver.
Manager suspend a driver Suspend driver The system suspend a selected driver.
Manager Generate report Generate report The system displays a manager a report
using paid, unpaid, travelled, not travelled,
cancel ticket, or postponed ticket by using
date range.
Manager manage news Manage news The system allows a manager to add, edit or
delete news.
Manager manage customer Manage customer The system allows a manager to edit or
delete a customer.
Cashier login Login The system validate the login details of
cashier and access level, if success, the
45
system proceed to cashier panel else display
an error message.
Cashier verify payment Verify payment The system assign a verified ticket booked
paid or unpaid.
Operator login Login The system validate the login details of
operator and access level, if success, the
system proceed to operator panel else
display an error message.
Operator cancel a ticket Cancel ticket The system cancels a ticket for a selected
ticked.
Operator manage route Manage route The system edit, add or delete a route.
Operator verify travelling Verify travel The system assign a particular ticket
travelled or not travelled.
Operator allocate driver to bus Allocate driver bus The system allocate driver to particular bus
of particular route.
Operator send a message Send message The system send a broadcast message to
selected route, date and travelled status.
Operator, customer, manager, Logout The system logout a user from the user’s
cashier, and administrator logout panel to homepage.
Table 3.1: use case description
actions with support of choice, iteration and concurrency (Rumbaugh & Jacobson, 1999). In
unified modelling language, activity diagrams are intended to model both computational and
organizational processes (i.e. workflows). Activity diagrams show the overall flow of control.
Activity diagrams are constructed from a limited number of shapes, connected with arrows.
The most important shapes type: rounded rectangles represent actions; diamonds represent
decisions; bars represent the start (split) or end (join) of concurrent activities; a black circle
46
represents the start (initial state) of the workflow; an encircled black circle represents the end (final
state). Arrows run from the start towards the end and represent the order in which activities happen.
47
Figure 3.5: Activity diagram for booked ticket
Class diagram in the unified modelling language (UML) is a type of static structure
diagram that describes the structure of a system by showing the systems classes, their attributes,
operations (or methods) and relationships among objects (Sparks & Geoffrey, 2011).
The class diagram is the main building block of object oriented modelling. It is used for
general conceptual modelling translating the models into programming code. Class diagram can
also be used for data modelling. The classes in a class diagram represent both the main objects,
interactions in the application and the classes to be programmed. Classes are represented with a
1. The top part contains the name of the classes. It is printed in bold, centered and the first
later capitalized.
48
2. The middle part contains the attributes of the class. They are left aligned and the first later
is lower case.
3. The bottom parts gives the methods or operations the class can take or undertake. They are
49
3.11 Non- Functional Requirement
of the system as well as any constraints that may limit the boundaries of the proposed solution
(Whitten, 2002). Such constraints usually narrow down the selection of programming language,
The Online Bus Ticketing System web portal must ensure certain web application qualities
such as ease of use, user-friendliness, correctness, functionality, reliability, response time, security,
robustness as well as maintainability. The following lists the non-functional requirement of the
system.
a) Ease of use
b) Maintainability
c) Reliability
d) Robustness
e) Response time/speed
f) Security
g) User friendly
h) Functionality
i) Correctness
50
CHAPTER FOUR: SYSTEM DESIGN, IMPLEMENTATION AND TESTING
4.1 Introduction
This chapter is on system design which is completed before the development of the Online
Bus Ticketing System web portal. System design is defined as those tasks that focus on the
specification of the detailed computer-based solution (Whitten, 2002). The purpose of the design
phase is to transform the system requirements statement from the requirements analysis phase into
The Structure Design of Online Bus Ticketing System web portal shows a bird’s eye view
of the entire system. Generally the Online Bus Ticketing System web portal allows easy
accessibility to obtain information. Customer can browse the web portal to obtain various types of
information such as bus schedule information, latest news, feedback and tips updates On the other
hand the Staff would be able to assess the system to update the portal on bus schedule information,
latest news, feedback and report generation and Administrator for managing staff. A structure
diagram has been created for the Online Bus Ticketing System web portal. The main system of
the Online Bus Ticketing System web portal is divided into 2 major sections, Customer section
51
Figure 4.1: structural chart for SSTA.
For the Staff section, there are modules which are further divided into sub-modules. The
modules are system administrator, company manager, company operator and a company cashier.
The structure chart for staff section is shown in Figure 4.2, 4.3, 4.4, and 4.5.
52
Figure 4.3: Operator section chart.
53
Figure 4.5: Cashier section chart.
For the Customer section, there are 10. The modules are. The structure chart for Customer
54
Figure 4.6: Customer chart section.
A data flow diagram (DFD) is a graphical representation of the “flow” of a data through
an information system, modelling its process aspects. A DFD is often used as a preliminary step
to create an overview of the system, which can later be elaborated (John, 2000).
technique benefit particularly before we go through business process re- engineering. A data flow
diagram looks at how data flows through the system, it concerns things like how data comes from
and go to as well as where it will be stored. But information like process timing (e.g. whether the
processes happen in sequence or in parallel), usually begin with drawing a context diagram, a
simple representation of the whole system. To elaborate further from that, we drill down to level
1 diagram with additional information about the major functions of the system. Progression to
level 3, 4 and so on is possible but anything beyond level 3 is not very common. Please bear in
55
mind that the level of detail asked for depends on your process change plan. Below is a context
56
Figure 4.7: Context data flow diagram.
57
4.4 Database Design
The process of database design is divided into different parts. It consists of a series of steps.
They are Conceptual Database Design(ER diagram), Logical Database Design (Tables,
The requirement analysis is modeled in this conceptual design. The ER Model is used at
the conceptual design stage of the database design. The ER diagram is used to represent this
conceptual design. ER diagram consists of Entities, Attributes and Relationships. The table below
58
Figure 4.8: ER diagram.
59
4.4.2 Logical Database Design
Once the relationships and dependencies are identified the data can be arranged into logical
structures and is mapped into database management system tables. Normalization is performed to
NORMALIZATION
CUSTOMER BIO (UID, FNAME, LNAME, ONAME, GENDER, COUNTRY, STATE, LG,
KINADDRESS)
VERY_GOOD,
EXCELLENT, RSTATUS)
*ROUTE_ID,
60
TICKET POSTPONE (ID, *TB_ID, POSTPONE_DATE)
system. It include the specification of data elements, data types, indexing etc. All these information
are stored in the data dictionary. The tables 4.1 below shows the data dictionary of online bus
ticketing system.
61
TABLE NAME: Customer Bio
62
kincontact Integer 11 no A field that indicates a
customer next of kin
contact number
63
route_id Integer 11 no Foreign key Route A field that indicates a
driver route id
astatus Integer 11 no A field that indicates a
driver allocation status
64
TABLE NAME: News
65
TABLE NAME: Staff Bio
key staff
first name
last name
contact number
contact address
email address
66
ticket_num Integer 5 no A field that indicates the
ticket number
route_id Integer 11 no Foreign Route A unique id to identify
key each route
seat_no Varchar 40 no A field that indicates the
ticket seat numbers
seat_reserve integer 11 no A field that indicates the
number of seat reserve
booking_date Date no A field that indicates the
ticket booking date
travel_date varchar 20 no A field that indicates the
ticket travel date
67
payment_date Date no A field that indicates
the ticket payment
date
cashier_id integer 11 no A field that indicates a
cashier identification
68
password Varchar 40 No A field that indicates a
password
role Integer 11 No A field that indicates a user
role
In this section the Tools and Methodology used in the development of the prototype system
is introduced.
To develop the prototype of the proposed system an appropriate software package needs to be
This aspect concerns the Administrator and the Customer. It is best to choose a software that
is familiar to the Administrator and Customer so that the both party is more comfortable to use the
(b) Flexibility: Can the system be changed or is it easy to modify the program?
69
The system needs to be changed or enhanced from time to time, as the Administrator may want
to alter or modify some functions. This can be achieved depending on the type of software package
The system should be able to be maintained easily by the Administrator. Maintainability will
also reduce time and cost if the software package allows maintainability and this would mean that
the software is more reliable and efficient to use. Thus, in choosing the tools to develop the
The tools used for the development of the prototype system are important, as it would affect
the effectiveness and efficiency of the system. Thus, careful consideration has been taken in
as general-purpose scripting language that is especially suited for Web Development and can be
embedded into hypertext markup language (HTML). PHP is used for this system to replace static
Java Script is a scripting language that allows the designing of the interactive web sites.
JavaScript is an open source language that anyone can use without purchasing a license.
MYSQL is a database that enables easy searching, storing, retrieving and sorting data.
MySQL server will monitor the access to the database in a multi user environment and ensure only
70
authorized users can access. It uses SQL (Structured Query Language) which is the standard
database query language around the world. MySQL can be found in commercial and open source
For this project Windows 8.1 Professional Edition is used as the development platform
since it has user friendly interface and more improved user management compared to other
Windows platforms.
The choosing of Hardware and Software is very important for developing a system as it
The basic software and hardware used to develop the system are as follows:
2. 6GIG of RAM
4. Window 8.1
6. PHP 5.3.1.3
71
4.7 Human Computer Interaction (HCI) Factors
The design is created based on Human Computer Interaction factors such as user, productivity
In designing the site, the experience and educational background of the users have been taken
into consideration.
The design must have good quality and at the same time have increased output and minimal
error.
There is no need to provide training for the system, as the design is easy to use.
The use of colors, icons and command buttons, graphic and output display is important when
designing the interface. All these have been included when designing the web portal.
When considering Human Computer Interaction factor in designing the framework for Online
Bus Ticketing System web portal, there are several goals of user interface needs to be achieved as
listed below:
(a) Learnability
The interface is easy to learn by the users so that even a first time users can learn it with
72
(b) Flexibility
The design of the Online Bus Ticketing system supports the flexibility to add any new features
in future.
(c) Visibility
Visibility is the goal of user interface. The framework is designed in such a way it would be
Forcing function is essential for certain functions in order to avoid incorrect input from the
(e) Affordance
When designing the system, the practice of affordance user interface goal is also taken into
consideration. For example, a normal user will be directed to the member registration form when
wanting to purchase an online bus ticket. This is important to let the users know what actions they
The principles of Web Page Design focuses mainly on the interface design of the web page.
This is where all requirements of the users are translated into a detailed design. Here are the major
principles (Shneiderman, 1998) that has adopted in designing the user interface of Online Bus
By integrating the requirement statements and user preference, an Online Bus Ticketing
73
(b) Maintain competitiveness
Online Bus Ticketing System web portal will cause minimal time cost to the user. Cost means
time taken to download a material such as going to the other modules applications and time taken
to retrieve information. This is important, as it will indirectly affect the user’s impression on the
(c) Standardization
The interface of Online Bus Ticketing System web portal has common user- interface features
across other pages. This is to reduce the need for users to relearn the new design of the system.
Good graphical design means to create a consistent, pleasing and efficient look and feel for the
system. With a consistent layout, users will feel eased and pleased to use the system.
After the system design phase that discusses on how the system should be functioning, the
next process will be System Implementation. System Implementation is a process that converts
the system requirements and design into program codes. This phase at time involves some
modification to the previous design and describes how the initial and revised process design is put
into a real working system. Therefore, huge effort will be spent in this phase to determine the
success of the system and ease the process of modification, debugging, testing, verification, system
4.10.1 Guidelines on How Online Bus Ticketing System web portal can be implemented
Following are the guidelines on how Online Bus Ticketing System web portal can be
implemented.
74
(a) Plan to include all company staff and to maintain a uniform standard operation for all bus
operators.
(b) Make online ticketing available or accessible via Online Bus Ticketing System portals for the
public.
(d) Evaluate existing information flow and transactions between bus operators and the public.
This suggestion could then help in implementing Online Bus Ticketing System web portal
After developing an application into several logic parts, it is necessary to find an approach
to organize these parts together to create a software system. N-tier applications have become the
functions are physically separated (Fowler, 2002). The most widespread use of multi-tier
architecture is the three-tier architecture. The figure below represent the architectural diagram for
The top-most level of application is the user interface. The user interacts with the server
using a web browser such as Internet Explorer, Firefox or Opera. The client requests the web server
75
Tier II: Bus Ticketing System Logic Tier
The Bus ticketing System logic layer works as a mediator to transfer the data from the
presentation layer. This layer coordinates the application, process commands, makes logical
decisions and evaluations, and performs calculations. It also moves and processes data between
Here information is stored and retrieved from a database or file system. The information is
then passed to the logic tier for processing, and they eventually back to the user. The data layer
includes the data persistence and mechanisms (databases servers, file servers, etc.) and the data
access layer that encapsulates the persistence mechanisms and exposes the data. The data access
layer should provide an application programming interface (API) to the application tier that
exposes methods of managing the stored data without exposing or exposing dependencies on the
76
4.12 Interface Design
The further explanation of the interface design for the Online Bus Ticketing System web
(Customer section).
The source codes for the Online Bus Ticketing System web portal is attached Appendix D,
4.14 Testing
Testing is the process that is carried out to ensure that the system conforms to the
specification and meets the requirements of the users, namely staff, administrator and customers.
Testing had been conducted not only in the end but also during the development of the prototype
system. Functional and interface testing were carried out for the module or for the whole system.
Each and every link had been checked to make sure all the links are working correctly. Interface
testing is carried out to identify that the interface works correctly and faults are not created because
of interface errors.
Unit Testing is to test software in terms of a unit, a module, a function, a specific section
of code. This testing occurs while the software is being developed and before completion (David
Fletcher, 2000).
For Unit Testing, test cases are designed to verify that an individual unit implements all
design decisions made in the unit's design specification. A thorough unit test specification should
include positive testing where the unit does what it is supposed to do, and also negative testing
77
where the unit does not do anything that it is not supposed to do. Table 4.2 shows the Unit Testing
Table 4.2
Invalid login ID, password or Error message is displayed Login is denied and an error
username. message of wrong login ID,
password or username.
Upon completion of Unit Testing, Integration Testing will begin. The purpose is to ensure
the distinct components of the application still work in accordance to customer requirements. Test
sets will be developed with the purpose of exercising the interfaces between the components. This
78
activity is to be carried out by the bus operators and customers. Integration test will be complete
when actual results and expected results are either in line or differences are explainable or
Upon completion of Integration Testing, System Testing will begin. During system testing,
the complete system is configured in a controlled environment to validate its accuracy and
completeness in performing the functions as designed. The system test will simulate production
as it will occur in the “production-like” test environment and test every functions of the system
that will be required in production. It is also important that validation of the system meets the
functional and non-functional requirements. Table 4.3 shows the Integrated Testing for the
Table 4.3
Makes a payment either by choosing The registered customer is Successfully redirected the
offline on skipping the page or by Directed to the Online vougePay customer to the Online
clicking make payment button to pay payment page on click Make pay. VougePay payment page, Or
online using Credit Card. The price will be deducted successfully moves to the
From the Customer’s account. print ticket
79
System shows a The customer is shown a Successfully a confirmation
confirmation message after confirmation message and message appears and
a successful payment and is given a option to print the Customer can print his ticket.
allows users to print the Ticket.
Ticket.
80
4.14.4 Acceptance Testing
Acceptance testing will give both Customers, staff, and Administrator the opportunity to
verify the system functionality and usability prior to the system deployment. The users will test
the system interaction with the database, using network communications, or interacting with other
hardware or other applications. The system is tested with data supplied by the end users rather
than simulated test data. Acceptance testing reveals errors and omissions in the system requirement
definition because real data exercises the system in different ways from the test data. It also reveals
requirements problem where the system’s facilities do not really meet the user’s need or the system
performance is unacceptable. The testing process continues until the system developer and client
agrees that the Online Bus Ticketing web portal is an acceptable implementation of the system
requirement.
81
CHAPTER FIVE: CONCLUSION
5.1 Introduction
This chapter discusses on the outcome of this entire project, limitations of the project and
Finally, this chapter concludes WITH various issues that had been highlighted in the earlier
chapters. Knowledge in terms of concept, theory, technical and practical aspects on Online Bus
There were few constraints that had been encountered during completing the research
document. The first constrain was the inability to find any research document obtaining
information on star ranking for bus operators. It was difficult to acquire any information on this
area because there are no any governing bodies that award ratings to bus drivers as how hotels and
airliners are rated. It is discovered there are none of the bus e-ticketing sites offers star ranking
The second constraint was on the information gathered from the public on e-ticketing in
Nigeria. It is difficult to have a perfect percentage of statistics constructed. The opinion responded
by public during data gathering process is too subjective and how genuine the opinion is
questionable. The existence of e-ticketing in Nigeria is still new for many and those who have the
Based on the research objective that has been stated in the earlier chapter the following are
the achievements:
82
The first objective has been successfully completed, which is to investigate and analyze
the problems on the existing e-ticketing systems provided by individual bus operators. The
problems of existing e-ticketing are clearly stated in Chapter 2 where a thorough study had been
Further improvement had been identified that need to be done on the existing bus e-
ticketing systems.
The next objective is to identify the relevant features of various components and methods
needed for an Online Bus Ticketing web portal. This objective has been highlighted clearly in
Chapter 3 that includes the improvements needed on the existing e-ticketing systems through
interviews and surveys. Based on the suggested information gathered, the relevant features of
various components and methods needed for an Online Bus Ticketing System web portal is
designed. This objective is also to assist bus operators operations and marketing decision through
timely decision making via Management Information System. The system allows the system staff
to generate up to date reports, user logs, driver rates, activity logs from the system for future
decision making.
The next objective identifies the improvements needed on the existing e-ticketing systems
through interviews and surveys. With the suggested information gathered, the relevant
Features of various components and methods needed for an Online Bus Ticketing System web
portal is designed. This objective explains on the development of an Online Bus Ticketing System
web portal. The tools and methodology used, user requirements and other issues on designing the
The remaining objectives identifiers the futures such as ticket cancel, online payment,
ticket postponement etc. for customers base on the propose system to ease ticketing activities. The
83
suggested feature was gathered from chapter 2 Reviews on the existing online ticketing system,
5.4 Conclusion
Online Bus Ticketing System web portal is a system with its own strengths and limitations.
A through study and implementation of an Online Bus Ticketing System web portal had been
conducted. An investigation on some bus e-ticketing sites in Nigeria and overseas had also been
conducted, and the discovery that there are not many of these sites offers a collaborated bus
operators services and none has an awarding star ranking to their bus drivers, which will be
considered a niche and vital information to the customers and the company in general. Thus, an
introduction of the Online Bus Ticketing web portal that collaborates all staff and star ranking
feature for bus drivers in Nigeria as well as creating convenience to bus users, conducting virtual
business transaction more efficiently, and over the Internet, which has already become a crucial
Overall, Online Bus Ticketing System web portal has been successfully built and has
achieved and fulfilled the objectives and requirements that are stated in the project proposal. The
use of web-based approach bring along many benefits include the ability to access information
There is room for improvement on the suggested guidelines, study and implementation of
Online Bus Ticketing System web portal. An important challenge is by providing awareness about
a collaborated web portal of Online Bus Ticketing System in Nigeria and the introduction of star
ranking for all bus drivers in Nigeria. This will help to improve the country’s bus transport service
industry by offering the best service in terms of performance, security and safety.
84
Finally, the useful information provided by the respondents towards the completion of this
Some of the future work of the research for this Online Bus Ticketing web portal that can
The user interface of the system can be enhanced to be more attractive, impressive and
Administrator’s task can be further enhanced to include more features to ease maintenance
process. For example, analytical tools, data mining, other relevant reports and database backup
are recommended to be included in this Online Bus Ticketing web portal to provide more analytical
The system can also be a “newsletter” to all employers and employees who are related to
bus transportation in Nigeria. Various information or news can be displayed to the targeted
The staff management can also be included to generate staff attendance, promotions, and
The customer can also have opportunity to select a desired seat of particular bus of route
to travel.
85
(f) Bus Renting
The system should allow a customer that travelled 20 times or some extinct with SSTA to
86
REFERENCES
ABC transport (1993). ABC Transport Ticket book system. Retrieved From
Adriana, H., (2003). “Management Information System in tailoring industry” in Academic Open
Audrey, E., (2006). the Star ranking, Retrieve From http://www.aldergrovestar.com/obituaries/ 19th
Chaffey, D., (2004). E- Business and E- Commerce Management, 2nd Ed, Pearson, 2004, Pp. 7 -44
David, F., (2000). Software Testing and Quality Assurance, 31/7/2000, Pp. 2-4.
Dougles E. C., (2001). Computer networks and internets with internet application, Prentice Hall, 2001.
Gemino, A. & Parker, D., (2009). "Use case diagrams in support of use case modeling: Deriving
Kenneth, C. Laudon, et al., (2004), “Management Information Systems – Managing the Digital Firm”,
Long, A. & Long, C., (2004). Computers - Information Technology in Perspective. 11th Edition.
Miniwatts, M.G., (2012). Internet world stats usage and population statistics, Retrieve From,
Oxford, E. D., (2005). Oxford Advanced Learner's Dictionary, 6th Edition: Oxford University Press
Oya transport (2010). Oya Transport Ticket book system. Retrieved From http://www.oya.com.ng on
Patton, S., (2005), The E-Business Research Center, The ABC’s of B2C,
87
Pfleeger. S.L., (2001), Software Engineering Theory and Practice, (2nd Ed.). Upper Saddle River, New
Jersey: Prentice-Hall.
Ramayah, T. et al., (2003), “Perceived Web Security and Online Transaction Intent”, Multimedia
Rumbaugh, J. Jacobson, T., and Booch, G., (1999). The unified Modelling Reference Manual :
Shneiderman, B., (1998). Designing the user interface. Strategies for effective human-computer
Susan, S. et al., (2002), Knowledgeable Agents for Search and Choice Support in Ecommerce: A
Tubin, G., (2005), “The Sky IS Falling: The Need for Stronger Consumer Online Banking
Udo,G. J., (2001). “Privacy and security concerns as major barriers for e-commerce: a survey study”,
Information Management & Computer Security, Vol. 9, no. 4, pp. 165 –174.
Verisign, G., (2005). Online Payment Processing What you Need to Know, Retrieve From
Whitten, J.L et al., (2002). Systems Analysis and Design Methods, 5th Edition, 2002.
Yulihasri, E., et al., (2005). “Comparing Beliefs of Online shoppers and Online non shoppers”, in 2nd
Zahir, S., et al., (2001). “Cross-cultural dimensions of Internet portals”, Internet Research: Electronic
Zwass, V., (1996). in International Journal of Electronic Commerce, Volume 1, Number 1, fall, 1996,
pp. 3 - 23
88
Appendix A
Figure A1 shows the Main Page of all users where there is a login feature for security purpose. A
user can login by inserting his/her name and also inserting the password. In case of a wrong
89
Figure A3: Route map
Appendix B
Figure B1 shows the Main Page of admin where there feature for admin to add, edit or delete staff
(manager, cashier and operator). The figures below shows the feature of admin to add, delete and
edit staff.
90
Figure B2: Adding and editing staff
91
Appendix C
Figure C1 shows the Main Page of manager where there is a feature for manager to view logs,
view activity logs, generate report, edit customer, manage news and suspend or release driver. The
92
Figure C3: Generate Reports
93
Figure C6: Suspend/release driver
94
APPENDIX D
Figure D1 shows the Main Page of Operator where there is a feature for operator to assign travel
status, manage routes, manage ticket and allocate driver to bus. The figures below shows those
features.
95
Figure D3: Edit Routes
96
Figure D5: Send Broadcast and message
APPENDIX E
97
Appendix F
Figure F1 shows the Main Page of Customer after successful login, where there is a feature for
customer to re- book a ticket, cancel ticket, postpone ticket, reset password or rate a driver. The
98
Figure F2: Customer registering ticket
99
Figure F4: vogue pay payment
100
Figure F6: OPT code verification
101
Figure F8: Customer password reset
102
Figure F11: driver rate
Appendix G
Source Codes(login.php)
103
elseif($member['role'] == 5) { $_SESSION['SESS_ADMIN_ID'] = $member['uid'];
$_SESSION['SESS_ADMIN'] = $login; header("Location: admin/dashboard_manager.php");
$update=mysql_query("insert into user_log
(username,login_date,uid)values('$login',NOW(),".$member['uid'].")")or die(mysql_error()); }
}else { ?><script type="text/javascript">alert("Invalid Username Or Password");
window.location = "index.php";</script> <?php exit(); }else {
die("Query failed");} ?>
Appendix G
Source Codes (addcustomer1.php)
<?php
include('include/db.php'); date_default_timezone_set('Africa/Lagos');
if(isset($_POST['comfirm'])) { function createRandomPassword() { $chars =
"ABCDEFJ12345609"; $pass = '' ; for($i=0; $i<8; $i++) { $pass .= $chars[mt_rand(0,strlen($chars)-1)]; }
return $pass; } mysql_select_db($mysql_database,$bd); $busnum=$_POST['busnum'];
$setnum=$_POST['setnum']; $date=$_POST['date']; $username = $_POST['username']; $seat_reserve =
$_POST['qty']; $transaction_no = createRandomPassword(); $status = 1; $password =
md5($_POST['password']);
if(empty($username)) { $status = 0; $message = "Username required"; }
if(empty($_POST['fname'])) { $status = 0; $message = "First name required"; }
if(empty($_POST['lname'])) }{$status = 0; $message = "Last name required"; }
if(empty($_POST['kinname'])) {$status = 0; $message = "kinname required"; }
if(empty($_POST['address'])) {$status = 0;$message = "address required"; }
if(empty($_POST['kinaddress'])) { $status = 0; $message = "kinaddress required";}
if(empty($_POST['password']) || empty($_POST['password2'])) { $status = 0; $message =
"Password, confirm required";}
if($_POST['password'] !== $_POST['password2']) {$status = 0; $message = "Password
mismatch";}
if(!preg_match("/^0[7-9]0[0-9]{8}/", $_POST['contact'])) { $status = 0; $message = "Wrong
mobile number for contact";}
if(!preg_match("/^0[7-9]0[0-9]{8}/", $_POST['kincontact'])) {$status = 0; $message = "Wrong
mobile number for kincontact";}
if(empty($_POST['State'])) { $status = 0; $message = "State required";} $chk =
mysql_query("SELECT uid FROM user WHERE uname='$username'") or die(mysql_error());
$ticket_query = mysql_query("SELECT MAX(ticket_num) AS ticket FROM ticket_booking ");
$ticket_row = mysql_fetch_array($ticket_query); $ticket = $ticket_row['ticket'] + 1;
if($status == 1) { if(mysql_num_rows($chk) == 0) { mysql_query("INSERT INTO
user(uname,password,role) VALUES('$username','$password',2)"); $uid_query = mysql_query("SELECT
uid FROM user WHERE uname='$username'"); $uid_row = mysql_fetch_array($uid_query); { $uid =
$uid_row['uid']; } mysql_query("INSERT INTO customer_bio SET
uid=$uid,fname=\"$_POST[fname]\",lname=\"$_POST[lname]\",oname=\"$_POST[oname]\",gender='$_
POST[gender]',country='$_POST[country]',state='$_POST[State]';ga='$_POST[lga]',town=\"$_POST[to
wn]\",contact=\"$_POST[contact]\",email=\"$_POST[email]\",address=\"$_POST[address]\",kinname=\"
$_POST[kinname]\",kincontact=\"$_POST[kincontact]\",kinaddress=\"$_POST[kinaddress]\""); $bd =
date('Y-m-d'); mysql_query ("INSERT INTO
ticket_booking(uid,route_id,bus,seat_no,seat_reserve,booking_date,travel_date,transaction_no,ticket_nu
m) VALUES($uid,\"$_POST[route]\",\"$busnum\",\"$setnum\",\"$seat_reserve\",\"$bd\",'$date',
'$transaction_no','$ticket )or die(mysql_error());
104
$update2=mysql_query("INSERT INTO activity_log(date,uid, username,action)
values(NOW(),'$_SESSION[SESS_CUSTOMER_ID]','$username','booked a ticket')")or
die(mysql_error()); $query4 = mysql_query("SELECT bus FROM
ticket_booking ORDER BY tb_id DESC");
$row4 = mysql_fetch_array($query4); $buses = $row4['bus']; $buses = explode(",", $buses);
$query3 = mysql_query("SELECT * FROM ticket_booking INNER JOIN driver_bus USING(route_id)
INNER JOIN driver_bio USING(did) WHERE uid = (SELECT MAX(uid) FROM ticket_booking ) AND
(route='$buses[0]' OR route='$buses[1]')") or die(mysql_error());
105
foreach($a as $l) {
if($l > $hi) $hi = $l; } if($up > $hi) { ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css"> a:link {color: #00C;}</style> </head>
<script type="text/javascript">
function DrawCaptcha() { var a = Math.ceil(Math.random() * 10)+ '';var b = Math.ceil(Math.random() *
10)+ ''; var c = Math.ceil(Math.random() * 10)+ ''; var d = Math.ceil(Math.random() * 10)+ ''; var e
= Math.ceil(Math.random() * 10)+ ''; var f = Math.ceil(Math.random() * 10)+ ''; var g =
Math.ceil(Math.random() * 10)+ ''; var code = a + b + c + d + e + f + g;
document.getElementById("txtCaptcha").value = code} </script>
<body onload="DrawCaptcha();"><?php if(empty($_POST['date'])) { header("Location:../index.php");} ?
<script> $(function() { $('input[name=codetype]').focusout(function(e) { val = $(this).val();
pass = $('input[name=codetypecopy]').val(); if(val != pass) { alert("captcha code mismatch"); return false;
} });
$('#comfirm').click(function(e) { var terms = $('#condition').attr('checked');
if(terms == undefined) { alert("Confrim terms and conditions");e.preventDefault(); return false; }
});}); </script>
<style type="text/css"> .style6 { font-size: 13px; color:#666; text-align: justify; font-
family:"Trebuchet MS", Arial, Helvetica, sans-serif;} </style> </script>
<script> jQuery(document).ready(function(){ $('a[rel*=facebox]').facebox({ loadingImage :
'src/loading.gif', closeImage : 'src/closelabel.png' }) })</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type"
content="text/html; charset=utf-8" /> <title>Welcome to sokoto state transport authourity</title> <div
id="account"></div> <div id="header1"></div> <div id="wrapper"> <div id="header">
<img src="xres/images/namelogo.png" alt="banner" width="962" height="140" usemap="#Map"
align="center" /> <map name="Map" id="Map"> <area shape="poly" coords="56,21" href="#" alt="" />
</map> <table width="900px" border="1" align="" cellpadding="0" cellspacing="0"> <tr>
<td width="66%" valign="top"><form name="drop_list" method="post" action="" id="formID"
enctype="multipart/form-data"><div class="addform"></div ><div class="addform"></div><div
class="body1">
<input name='route' value='<?php echo $_POST['route'] ?>' type='hidden' /> <style type="text/css"> .a{
width:400px; margin-left:22px;
input[class=id_empno], input.id_empno{ background:#CCC;} } </style>
<table border="0" width="auto" cellspacing="0" bordercolorlight="#00FF66" class="addrec"
align="center"> <input type="hidden" value="<?php echo preg_replace("/^-{0,20}/","",$thedate) ?>"
name="date" /> <input type="hidden" value="<?php echo $qty ?>" name="qty" />
<fieldset class="a" > <legend>Register</legend>
<span class="small">Auto Generated <a rel="facebox" href="view_seat_location.php?id=<?php echo
$busnum; ?>"><span style="color: #00C;">view seat </span></a></span> <p>
<span style=”color:#ff0;” <?php echo @$message ?> </span> <td width="174">Seat Number:</td><td
width="238" align="center"><input type="text" name="setnum" value=" <?php echo implode($m, ',');?>"
id="name" readonly/> </p> </td></tr> <tr>
<td width="174">Bus Number:</td> <td width="238" align="center"> <input type="text" value="<?php
echo implode(',',$a); ?>" name="busnum" readonly="readonly" /></td></td></tr><tr>
106
<td width="174">First Name: *</td><p><td width="238" align="center"> <input type="text"
class="validate[required] text-input" id="fname" name="fname" tabindex="1" onFocus="if (this.value ==
'0') {this.value = '';}" onBlur="if (this.value == '0')" {this.value = '0';/> </p></td></tr> <tr>
<td width="174">Last Name: *</td><p><td width="238" align="center"><input type="text"
class="validate[required] text-input" name="lname" id="lname" onFocus="if (this.value == '0')
{this.value = '';}" onBlur="if (this.value == '0')" {this.value = '0';/></p></td></tr>
<tr><td width="174">Other Name: </td><p> <td width="238" align="center"><input name="oname"
type="text" class="content" id="oname" /> </p></td></tr><tr> <td style="width: 95px;">Gender: *</td>
<p>
<td><select style="width: 148px;"
name="gender"><option>F</option><option>M</option></select></p></td> </tr><tr><td
width="174">Country: *</td><p>
<td><select name="country" class="content" id="country" ><option
value=”coutries”</select></p></td></tr> <td width="174">State: *</td> <p><td>
<select name="State" class="validate [required] text-input" id="State" onChange="SelectSubCat3()"
><option value="">- Select State -</option><option value="” </option></select></p></td></tr><td
width="174">LG: *</td><p><td><select name="lga" class="content" id="lga()" /></select> </p>
</td></tr>
<tr><td width="174">Home Town: *</td><p><td width="238" align="center"><input name="town"
type="text" id="town" class="validate[required] text-input"value="" onFocus="if (this.value == '0')
{this.value = '';}" onBlur="if (this.value == '0')" {this.value = '0';}></p></td></tr>
<tr><td>Address:*</td><td align="center"><p><input name="address" type="text" id="address"
value="" class="validate[required] text-input" onFocus="if (this.value == '0') {this.value = '';}" onBlur="if
(this.value == '0')" {this.value = '0';}/></p></td></tr>
<tr><td width="174">Mobile No: *</td><td width="238" align="center"> <input type="text"
name="contact" id="contact" class="validate[required,custom[integer],maxSize[12],minSize[11]] text-
input" /></p> </td></tr>
<tr><td>Email: </td><p> <td align="center"> <input name="email" type="text"id="email"
/></p></td></tr>
<tr><td width="174">Next of Kin Name: *</td><td width="238" align="center"><input type="text"
name="kinname" id="kinname" value="" class="validate[required] text-input" onFocus="if (this.value
== '0') {this.value = '';}" onBlur="if (this.value == '0')" {this.value = '0';}/></p></td></tr>
107
<tr><td></td><td><div id="Layer1"> <input type="text" name="codetypecopy" id="txtCaptcha" /><img
src="images/captcha.png" width="238" height="50" style="margin-top:-150px;" /></div></td><td><a
href="#" onclick="DrawCaptcha();"><img src="images/refresh.png" alt="refresh" border="0"
style="margin-top:5px; margin-left:5px;" /></a></td> </tr>
<tr><td><div align="right" class="style1">Enter the Code here: *</div></td><td><input
name="codetype" type="text" class="ed" id="code" size="35" /></td><td> </td></tr>
<tr><td colspan="2" align="center"><input name="reset" type="reset" id="reset" tabindex="5"
value="clear" /><input type="submit" name="comfirm" id="comfirm" value="submit"
tabindex="19"></td></tr>
</table></form> </td> <td width="34%" align="center" valign="top"><div class="side-bar"><div
class="heading"><img src="images/info.png" width="15" height="15" />Help!</div>
<?php } else { echo "<script>alert('Bus occupied change the travel
date');window.location='index.php'</script>"; } } else { echo "<script>alert('driver not
allocated');window.location='index.php'</script>";}}
else { echo '<script>'; echo 'window.alert("Time slot not available");'; echo
'window.location="../index.php"'; echo '</script>';}?> </div>
<div id="footerIT"> <div style="width: 1000px; margin-left: auto; margin-right: auto; font-weight: bold;
color: #FFF;">
<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr> <td width="14%"><span
style="font-size:9px;"><script type="text/javascript"> document.write(''+Date()+'')
</script></span></td><td width="74%" align="center"><span style="color: #093">Project Designed
By</span> IMRANA ABDULLAHI YARI (0911310099)</td><td width="12%"><img
src="images/soc.fw.png" width="120" height="56" alt="Social" /></td></tr></table></div> </div>
</body></html>
108