0% found this document useful (0 votes)
14 views96 pages

Deepak Content Word

Uploaded by

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

Deepak Content Word

Uploaded by

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

Page 1

ABSTRACT
Page 2

ABSTRACT
The Waterway project is a comprehensive online seat reservation system
designed to facilitate the efficient management of seat bookings on boats,
ensuring a streamlined experience for both users and administrators. The
platform enables passengers to browse available routes, select boats,
view schedules, and reserve seats with real-time availability updates.
Equipped with a secure payment gateway, Waterway processes
payments seamlessly while managing bookings, cancellations, and
refunds.

The project database is structured to ensure data integrity and efficiency,


encompassing interrelated tables for users, boats, routes, schedules,
seats, bookings, payments, cancellations, and more. To enhance user
satisfaction, an enquiries module allows passengers to submit feedback
or complaints, with responses tracked in the system. Administrators can
manage bookings, schedules, and boat assignments while monitoring
actions through an audit log for transparency.

Waterway’s primary objective is to automate seat reservations, reducing


manual errors and enhancing the operational efficiency of boat
reservation services. This system is designed to be scalable and
adaptable, meeting the evolving needs of waterway transportation
providers and offering a robust foundation for future expansion.
Page 3

TABLE OF CONTENTS

● Acknowledgment 00
● Abstract 02

1 . Introduction……..........................................................................05
1.1 Background and Motivation……….....................................05
1.2 The Proposed System ………..............................................05
1.3 Project Scope .......................................................................06

2 . System Analysis ………...............................................................09


2.1 Introduction ……................................................................09
2.2 Stakeholders of this Project …......................................09
2.2.1 Admin…..…..................................................................09
2.2.3 User………..............................................................…..10
2.3 Software Requirement Specifications ..…….……..............11
2.3.1 System Features …….................................................11
2.3.1.1 User ...……........................................................11
2.3.1.2 Admin ..……......................................................11
2.3.2 Non-functional Requirements …….............................11
2.4 Feasibility Study ……..........................................................12
2.5 Software Development Lifecycle Model ....................15
2.6 Hardware and Software Requirements ......................15
2.6.1.Software Specifications…….....................................15
2.6.1.1 HTML ………........................................................16
2.6.1.2 CSS ………...........................................................16
2.6.1.3 Javascript……….................................................16
2.6.1.4 jQuery ………......................................................16
2.6.1.5 Ajax ………..........................................................16
2.6.1.5 Bootstrap………..................................................17
2.6.1.6 PHP………............................................................17
2.6.1.7 MySQL……….......................................................17
2.6.1.8 XAMPP.................................................................17

2.6.1.9 Composer............................................................17
Page 4

2.6.1.10 PhpMailer ……….................................................17


2.6.1.11 mPDF ……..........................................................17
2.6.2 Hardware Requirements ..................................................18

3. System Design ………....................................................................19


3.1 System Architecture ……….....................................................19
3.2 Module Design ………..............................................................19
3.3 Database Design ………...........................................................21
3.3.1 Normalization ………........................................................21
3.3.2 Table Structure ………..............................................……22
3.3.3 Data Flow Diagram ……...............................................28
3.3.3.1 Introduction to Data Flow Diagrams ………....…28
3.3.3.2 Data Flow Diagram ………...................................31
3.4 Interface Design ………...............................................................39
3.4.1 User Interface Screen Design ………...............................39
3.4.2 Output Design ....................................................................42

4. Implementation ………......................................................................44
4.1 Coding Standards ………..........................................................44
4.2 Sample Code ..............................................................................45

5. Testing ………...................................................................................57
5.1 Test Cases ……….......................................................................57
5.1.1 Unit Testing ………........................................................... 58
5.1.2 Integration Testing ………...............................................59
5.1.3 Black Box Testing …….................................................61
5.1.4 White Box Testing …….................................................62
5.1.5 Validation Testing …….................................................63
5.1.6 User Acceptance Testing ……......................................65
5.2 Test Case Documents ...............................................................65

6. Conclusion …….............................................................................68
6.1 Future Enhancements ................................................................68

7. References ........................................................................................70

8. Appendix ………...............................................................................71
8.1 Screenshots ...............................................................................71
Page 5

1 .INTRODUCTION
1.1. BACKGROUND AND MOTIVATION

In the transportation sector, modern booking systems for buses, trains,


and even flights have become the standard, offering users the ability to
reserve seats conveniently and in real time. However, the boat
transportation sector has not kept pace with these advancements. The
lack of an efficient and reliable seat reservation system for boats has led
to numerous challenges, including double bookings, lack of clarity on seat
availability, and operational inefficiencies. This gap inspired the
development of the Waterway project, a comprehensive seat booking
system specifically designed to address the unique needs of boat
transportation.

Waterway seeks to solve common issues like outdated booking methods,


which have left users frustrated due to poor accessibility, and operators
facing potential revenue losses. This motivation, rooted in the need for an
improved booking experience and streamlined management, has driven
the creation of a platform that benefits both users and boat operators,
modernizing the reservation process for waterway travel.

1.2 .PROPOSED SYSTEM

The Waterway project envisions a versatile, user-centric platform that


enhances the booking experience while optimizing boat operations. Key
features and functionalities of the proposed system include:
1. Real-Time Seat Reservation and Availability:
○ Users can seamlessly view available seats, select their desired routes, and
complete their bookings instantly. This feature eliminates issues associated
with double bookings and minimizes the chance of unavailable seat selections.
○ Real-time updates ensure that users always have access to accurate
information, facilitating a smooth reservation process.
2. Comprehensive Route and Schedule Management:
○ The system enables operators to manage routes and schedules efficiently,
using structured tables for Routes, Route_Stops, and Schedules.
Administrators can adjust departure and arrival times, modify route stops, and
manage boat allocations for each schedule.
○ This comprehensive management structure ensures the entire booking system
aligns with actual boat timings and stops, improving the consistency and
reliability of schedule data.
Page 6

3. User-Friendly Interface:
○ Waterway’s interface is designed for intuitive navigation, allowing users to
complete bookings with ease. The platform provides clear, step-by-step
guidance on selecting routes, choosing seats, and making payments.
○ Even those unfamiliar with digital systems can adapt quickly to this user-friendly
platform, enhancing accessibility for all.
4. Secure Payment Processing and Management:
○ The integrated payment system offers secure and diverse payment options,
including card payments and other methods, facilitating easy transactions for
users.
○ Payment statuses are recorded and tracked for each booking, ensuring that the
system reflects the current financial state of each reservation. This also allows
for transparent cancellation policies and easy refunds when applicable.
5. Cancellation and Feedback System:
○ Waterway includes cancellation management to handle booking cancellations
promptly, with refund handling where appropriate.
○ The Enquiries module enables users to provide feedback or ask questions, and
administrators can respond, creating a responsive feedback loop to enhance
service quality.

Waterway is designed to address the inefficiencies of traditional boat booking methods by


delivering a reliable, user-centric solution that serves as a bridge between operators and
passengers, bringing the convenience of modern booking systems to boat transportation.

1.3 PROJECT SCOPE

The Waterway project is a comprehensive solution aimed at transforming


seat booking for boat transportation. Its scope covers essential
functionalities designed to streamline the reservation process, enhance
operational efficiency, and improve user experience. Key components
include:
1. Real-Time Seat Availability and Booking:
○ The system allows users to view and book available seats instantly, reducing
overbooking risks and ensuring efficient seat utilization. This feature not only
enhances user convenience but also optimizes capacity usage, minimizing
revenue losses for operators.
2. Route and Schedule Management:
○ Administrators have access to a powerful scheduling system that enables them
to manage routes, set stop times, and assign boats to schedules effectively.
This ensures that each route has accurate and up-to-date information, which is
crucial for operational reliability.
○ Using the tables for Routes, Route_Stops, and Route_Stop_Times,
administrators can define start and end locations, intermediate stops, and
timing to improve the synchronization of boat schedules with user bookings.
Page 7

3. Dynamic Pricing Based on Route Stops:


○ Pricing is calculated based on the distance between start and end stops,
making it fair and transparent for users. This is managed through the
Stop_Pricing table, which maintains fare information based on various start-
stop combinations along each route.
4. Secure Payment Processing:
○ Waterway includes integrated payment options, ensuring secure, efficient
transaction handling. Payment statuses, transaction IDs, and other details are
recorded in the Payments table, reducing the risk of payment disputes and
providing clarity on financial transactions.
5. Cancellation and Refund Management:
○ With the Cancellations module, users can cancel bookings as needed, with
administrators able to process refunds promptly. This feature enhances user
trust and flexibility, enabling users to adjust their travel plans without difficulty.
6. Responsive User Feedback System:
○ Through the Enquiries module, users can submit complaints or feedback, and
receive responses from administrators. This promotes a continuous feedback
loop to improve service quality, addressing any user concerns quickly and
effectively.
7. Detailed Logging and Admin Oversight:
○ An Admin_Logs table records all administrative actions, providing
accountability and transparency. This feature is essential for maintaining
system integrity and ensuring that all changes and transactions are traceable.
8. User and Role Management:
○ The system includes role-based access, where administrators can manage
both regular users and operators. This ensures a structured environment where
each user interacts with the system according to their role, maintaining data
security and accessibility.

By encompassing these features, the Waterway project addresses inefficiencies in boat seat
reservations, setting a new standard for the waterway transportation industry. The system’s
structured approach to managing bookings, payments, schedules, and user feedback ensures
it is both scalable and adaptable to various operational needs, providing an effective solution
for boat reservation services.

Advantages
1. Optimized Seat Utilization: The Waterway system maximizes seat usage by allowing
users to view real-time availability and book seats instantly. The dynamic
Seat_Bookings and Seats tables ensure that seats are efficiently allocated, minimizing
wastage and increasing operational revenue for boat operators.
2. Synchronized Schedules and Routes: By leveraging the Routes, Route_Stops, and
Route_Stop_Times tables, the system aligns boat schedules with designated routes
and stops. This integration enables precise timing calculations for boat arrivals and
departures, ensuring that bookings are in sync with actual boat timings for a smooth
travel experience.
Page 8

3. Dynamic Price Calculation: Through the Stop_Pricing table, ticket prices are
calculated based on route distance and selected stops, providing a fair and accurate
pricing model. This feature allows the system to adapt prices based on the start and
end stops, giving users clear and customized pricing for each journey.
4. User-Friendly Admin Dashboard: The project’s admin dashboard simplifies the
management of boats, routes, schedules, and bookings. The Admin_Logs table
records every action, providing traceability and ensuring accountability. Administrators
have full control over boat statuses, route details, and schedule adjustments,
enhancing operational flexibility.
5. Comprehensive Booking Management: Waterway allows users to manage their
bookings and cancellations easily. The Cancellations and Payments tables record
canceled bookings and associated refunds, creating a transparent and user-centric
experience. This also helps prevent overbooking and ensures seat availability is
accurately represented to all users.
6. Feedback and Complaint Resolution: The Enquiries table facilitates user feedback
and complaints, enabling administrators to respond to inquiries promptly. This module
supports ongoing service improvements by directly addressing user concerns.

Limitations
1. Dependency on Stable Internet: A reliable internet connection is required for users
to access real-time booking features and information. In areas with limited connectivity,
users may find it challenging to use the platform effectively.
2. Learning Curve for New Users: Users who are less familiar with digital platforms may
need time to adapt to the online booking system. While the interface aims to be user-
friendly, some may still experience a learning curve, especially when navigating more
advanced options in the system.
3. Enhanced User Interface and Flexibility: The current UI could benefit from additional
enhancements to cater to different user needs. For instance, showing seat layouts
directly on the booking page or providing visual indicators for seat types and availability
could further improve usability.
4. System Dependence on Interrelated Tables: The system relies on a highly
structured set of interconnected tables (Users, Boats, Routes, Seats, Route_Stops,
etc.), which may limit scalability without additional optimization. Changes or
expansions, such as adding new route options or adjusting schedules, require careful
coordination to maintain data integrity across tables.
5. Limited Offline Access: Currently, the system cannot be used offline, which limits
access for users in areas without constant internet. An offline feature could enhance
flexibility, especially for operators who may need access to booking details in remote
areas.
Page 9

2. SYSTEM ANALYSIS
2.1. INTRODUCTION

In the context of the Waterway project, system analysis serves as the


foundation for developing a comprehensive online seat booking
reservation system for boat transportation. This phase is crucial as it
involves a thorough investigation of existing processes and the
identification of requirements necessary for a new, efficient system. The
aim is to design an intuitive, user-friendly platform that addresses the
shortcomings of traditional booking methods.

System analysis encompasses several key activities:


● Feasibility Study: Assessing the economic, technological, and operational viability of
the proposed system.
● Fact-Finding Measures: Gathering data from stakeholders through interviews,
questionnaires, and observations to understand user needs and current system
limitations.
● Detailed Study of Existing Systems: Analyzing the current system's functionality and
identifying areas for improvement.
● Stakeholder Engagement: Continuous communication with users to ensure the new
system meets their needs and expectations.

This structured approach enables the identification of inputs, outputs, and processing phases,
ultimately leading to a clear understanding of how the new system can operate effectively.

2.2. Stakeholders in the Waterway Project

2.2.1. ADMIN
● Role and Responsibilities: Admins oversee the entire Waterway platform, managing
user registrations, boat and route data, and transaction security. They handle user
feedback to continuously improve the system.
● Benefits: Admins enjoy streamlined operations, enhanced control over bookings, and
access to analytical tools for monitoring patterns and inventory management. This
data-driven approach enables informed decision-making, leading to improved
customer satisfaction.
● Challenges: Admins may struggle with adapting to new technologies and ensuring
effective user training. They must also prioritize data security to protect sensitive user
information
Page 10

2.2.2. USER
● Role and Responsibilities: Users are passengers seeking to book boat seats through
the Waterway platform. Their interaction includes searching routes, reserving seats,
and processing payments. Users can also provide feedback or inquiries regarding their
bookings.
● Benefits: The Waterway system offers users a time-saving and efficient online booking
experience, reducing frustrations associated with traditional methods. Features such
as real-time availability, secure payments, and personal account management
enhance user convenience.
● Challenges: Users may face connectivity issues or have difficulty navigating the
platform if they are not familiar with online systems. Ensuring adequate support and
resources is essential for overcoming these challenges.
Page 11

2.3. SOFTWARE REQUIREMENTS SPECIFICATIONS

2.3.1. SYSTEM FEATURES


2.3.1.1. USER

● User Registration and Login: Users can securely create an account and log in to
access the system, ensuring personalized interactions.
● Search for Routes: Users can search for available boat routes based on their desired
start and end locations, facilitating easy navigation through options.
● View Schedules: Users can view the schedules for different boats along the selected
routes, including crucial departure and arrival times, enhancing planning.
● Seat Selection: Users can select their preferred seats from the available options,
giving them control over their booking experience.
● Booking Confirmation: Upon successful payment, users receive a confirmation of
their booking via email, ensuring they have a record of their transaction.
● Booking Management: Users can view their booking history, modify, or cancel
existing bookings, providing flexibility and convenience.
● Profile Management: Users can update their personal information and change
passwords, ensuring that their account information is always up to date.

2.3.1.2. ADMIN

● Admin Login: Admins can securely log in to access the administrative interface,
ensuring that sensitive management functions are protected.
● User Management: Admins can view, edit, or delete user accounts and manage user
roles, maintaining control over the user base.
● Boat Management: Admins can add new boats, edit existing boat details, or remove
boats from the system, keeping the information current and relevant.
● Route Management: Admins can create, update, or delete routes and associated
stops, ensuring that the available options reflect current operations.
● Schedule Management: Admins can add, modify, or cancel boat schedules,
maintaining accurate and updated schedules for users.
● Booking Oversight: Admins can view all bookings and manage any issues related to
bookings or cancellations, ensuring effective resolution of user concerns.
● Reporting Tools: Admins can generate various reports, such as booking statistics and
user activity logs, facilitating data-driven decision-making.

2.3.2. NON-FUNCTIONAL REQUIREMENTS


Performance Requirements

● The system should support at least 1000 concurrent users without performance
degradation, ensuring a smooth experience during peak times.
● The average response time for user actions should be under 2 seconds, providing a
responsive interface that enhances usability.
Page 12

Security Requirements

● All sensitive user data must be encrypted during transmission and storage to protect
against data breaches.
● Passwords should be hashed using secure algorithms, ensuring that user credentials
are safeguarded.
● The application must implement role-based access control to ensure proper user
privileges, preventing unauthorized access to sensitive features.

Usability Requirements

● The user interface should be intuitive, allowing users to complete their tasks with
minimal effort and confusion.
● The application should be accessible on various devices (desktop, tablet, smartphone)
with a responsive design, ensuring usability across platforms.

Reliability Requirements

● The system should have an uptime of at least 99.9%, guaranteeing availability for
users at all times.
● Regular backups must be performed to prevent data loss, ensuring system integrity
and reliability.

Here's a detailed feasibility study note tailored for the Waterway boat seat booking project
website:

2.4. FEASIBILITY STUDY

Overview: The Waterway boat seat booking system is designed to streamline the booking
process for passengers and boat operators. This feasibility study evaluates the technical,
operational, and economic aspects of the system to ensure a sustainable and user-friendly
solution.

Technical Feasibility

The technical feasibility analysis confirms that the Waterway project can be developed with
reliable, available technology that ensures both performance and security.

● Technology Stack
The Waterway system will use PHP for backend development and MySQL as the
database. These technologies are popular and have extensive support, making it easy
to find development resources and troubleshoot any issues. The frontend will use
HTML, CSS, and JavaScript, which will ensure compatibility with various devices and
browsers. Using well-known technologies also enhances scalability and future-
proofing.
Page 13

● Integration:
The system requires integration with third-party payment gateways to facilitate secure
and convenient online transactions. Since many payment providers offer detailed
documentation and established SDKs, integration is feasible with minimal risk. This
setup will ensure smooth, secure payments while enhancing user confidence in the
platform’s reliability.
● Scalability:
The architecture of the Waterway system is designed to be scalable, allowing it to
accommodate a growing number of users as the platform gains popularity. By
implementing load balancing and database optimization, the system can maintain
performance even as user traffic increases, thus ensuring long-term viability and
adaptability.

Operational Feasibility

Operational feasibility assesses whether the system can meet the needs of both users and
administrators efficiently.

● User Adoption:
With a rising demand for online booking systems in various transportation sectors, the
Waterway project taps into an underserved market in the boating industry. An online
seat reservation platform for boats not only simplifies the booking experience but also
enhances convenience, allowing users to book seats from anywhere at any time. This
convenience is expected to boost user adoption significantly, particularly as users shift
away from traditional, manual booking processes.
● Training and Support:
To maximize operational efficiency, administrators and users will receive
comprehensive training on the system. Administrators will be trained to manage
bookings, monitor schedules, and address customer inquiries, while end-users will
benefit from an intuitive user interface designed for ease of use. Detailed
documentation and user guides will be provided to assist users in learning the platform,
which will encourage seamless adoption.

Economic Feasibility

Economic feasibility considers the financial costs of the project versus the anticipated benefits,
providing a clear picture of the system’s ROI.

● Cost Analysis:
The initial investment for the Waterway project includes development costs, server
hosting, and security measures to protect user data. Ongoing expenses such as
system maintenance, support, and updates will be necessary to keep the platform
operational and up-to-date. However, as the system becomes an essential tool for
booking, the initial costs are expected to be offset by the increased convenience and
efficiency it brings to both users and boat operators.
Page 14

● Return on Investment (ROI):


The Waterway system has a high ROI potential due to its impact on user engagement
and satisfaction. As users prefer the ease of online bookings, the platform will likely
see a steady increase in seat reservations. This could translate into increased revenue
for boat operators who can reach a wider audience, improve seat occupancy rates,
and offer a premium service through the convenience of online booking. The system
will ultimately contribute to better customer loyalty and more repeat business.
Page 15

2.5. SOFTWARE DEVELOPMENT LIFE CYCLE MODEL

SDLC Model: Agile Methodology

● The Agile SDLC model is characterized by its iterative nature, promoting flexibility and
ongoing collaboration among stakeholders.
● This approach enables continuous reassessment of project requirements, ensuring
that the development process is aligned with user needs and market changes.

Advantages

● Flexibility: Agile allows for changes in project requirements at any stage, facilitating
quick adaptations to user feedback and new insights.
● Customer Collaboration: Regular engagement with stakeholders fosters better
alignment with user expectations, resulting in a product that meets their needs.
● Faster Delivery: Agile supports incremental releases, allowing users to access
functional features earlier and provide immediate feedback for further iterations.
● Improved Quality: Continuous testing and integration help identify and rectify defects
early, enhancing overall software quality.

Disadvantages

● Scope Creep: The inherent flexibility of Agile can lead to uncontrolled changes,
potentially expanding the project beyond its original scope.
● Less Predictability: The iterative nature makes it difficult to accurately estimate
timeframes and costs, complicating the forecasting of final delivery dates.
● Requires Experienced Team: Agile success relies on effective collaboration and
communication skills among team members, which may not be uniformly available.

These notes summarize the key points regarding the Agile methodology, its benefits, and
challenges, providing a clear understanding of its role in the Waterway project

2.6. HARDWARE AND SOFTWARE REQUIREMENTS

2.6.1. SOFTWARE SPECIFICATIONS

● Operating System: Windows 11


○ The latest version of Windows provides robust support for development tools
and a stable environment for running the web server and database.
● Web Server: XAMPP (Apache, MySQL, PHP)
○ XAMPP is an easy-to-install Apache distribution containing MySQL, PHP, and
Perl, essential for hosting the Waterway application locally during development.
● Programming Languages:
○ PHP: Used for server-side scripting and handling business logic.
Page 16

○ HTML: Provides the structure of web pages.


○ CSS: Manages the presentation and layout of the application.
○ JavaScript: Enables interactive web functionality.
○ jQuery: Simplifies JavaScript programming, especially for DOM manipulation.
○ AJAX: Facilitates asynchronous data retrieval, enhancing user experience by
updating parts of the web page without a full refresh.
● Database Management System: MySQL
○ A powerful relational database system for storing and retrieving application
data.
● Development Environment:
○ Any text editor or IDE (e.g., Visual Studio Code, PhpStorm)
○ These tools provide features like syntax highlighting, code completion, and
debugging, which streamline the development process.

2.6.1.1. HTML

● Description: HTML (Hypertext Markup Language) is the standard markup language


used for creating the structure of web pages.
● Features: It provides semantically meaningful elements, enables the creation of
hyperlinks, and supports multimedia integration.

2.6.1.2. CSS

● Description: CSS (Cascading Style Sheets) is a stylesheet language used for


describing the presentation of HTML elements.
● Features: CSS allows for layout design, defines color schemes, implements
responsive design, and facilitates animations.

2.6.1.3. JavaScript

● Description: JavaScript is a programming language that enables the creation of


interactive web pages.
● Features: It supports client-side scripting, DOM manipulation, and event handling,
enhancing the user experience.

2.6.1.4. jQuery

● Description: jQuery is a fast, small JavaScript library that simplifies HTML document
traversing, event handling, and animation.
● Features: It ensures cross-browser compatibility and simplifies DOM manipulation,
making it easier to work with JavaScript.

2.6.1.4. AJAX

● Description: AJAX (Asynchronous JavaScript and XML) is a technique that allows for
asynchronous data retrieval from the server without refreshing the page.
● Features: It enables dynamic updates and improves user experience by loading
content in the background.
Page 17

2.6.1.5. Bootstrap

● Description: Bootstrap is a front-end framework for developing responsive and


mobile-first websites.
● Features: It includes predefined CSS classes, a responsive grid system, and
components such as modals and carousels, facilitating rapid development.

2.6.1.6. PHP

● Description: PHP (Hypertext Preprocessor) is a server-side scripting language


designed for web development.
● Features: PHP allows for dynamic content generation, facilitates database interaction,
and manages user sessions.

2.6.1.7. MySQL

● Description: MySQL is an open-source relational database management system.


● Features: It provides data storage and retrieval capabilities, supports multi-user
access, and complies with ACID (Atomicity, Consistency, Isolation, Durability)
principles.

2.6.1.8. XAMPP

● Description: XAMPP is a free and open-source cross-platform web server solution


stack package.
● Features: It includes an Apache server, MySQL database, and support for PHP and
Perl, with an easy installation process.

2.6.1.9. Composer

● Description: Composer is a dependency manager for PHP that simplifies the


management of libraries and packages.
● Features: It allows for the easy installation and updating of PHP libraries, ensuring
that all dependencies are managed effectively.

2.6.1.10. PHPMailer

● Description: PHPMailer is a popular library for sending emails from PHP applications.
● Features: It simplifies email sending, supports SMTP, and allows for attachments,
making it a robust solution for email notifications in the Waterway project.

2.6.1.11. mPDF

● Description: mPDF is a PHP library that generates PDF files from HTML content.
● Features: It enables the creation of PDF documents dynamically, allowing for the
generation of tickets and reports in the Waterway project.
Page 18

2.6.2. HARDWARE REQUIRMENTS

● Processor: Intel i5 or equivalent


○ A capable processor ensures smooth performance during development and
testing of the application.
● RAM:
○ Minimum: 8 GB
○ Recommended: 16 GB for better performance
○ Sufficient RAM is crucial for running development tools and the server
concurrently without performance degradation.
● Storage:
○ At least 256 GB SSD or HDD
○ Adequate storage is required for the operating system, development tools,
application files, and databases.
● Network:
○ Reliable internet connection for online features and testing
○ An internet connection is essential for accessing resources, libraries, and for
testing online functionalities of the application.
● Display:
○ Minimum resolution of 1366 x 768
○ A higher resolution is recommended for better visibility of code and design
elements during development.

These requirements outline the necessary software and hardware specifications to effectively
develop, test, and deploy the Waterway project, ensuring a smooth development experience.
Page 19

3. SYSTEM DESIGN
3.1 SYSTEM ARCHITECTURE
The Waterway project is built on a multi-tier architecture that facilitates separation of concerns,
enhancing maintainability and scalability. The architecture consists of three primary layers:

● Presentation Layer: This layer provides the user interface, developed using HTML,
CSS, and JavaScript. It ensures a responsive and user-friendly experience for end-
users.
● Application Layer: Implemented in PHP, this layer contains the server-side logic
responsible for processing user requests, managing business rules, and interacting
with the data layer. It acts as a bridge between the user interface and the database.
● Data Layer: The MySQL database serves as the data layer, storing essential
information such as user accounts, bookings, routes, and other relevant data
necessary for the application's functionality.

3.2 MODULE DESIGN


The system is organized into several distinct modules, each responsible for specific
functionalities:

● User Authentication: This module handles user login, registration, and session
management. It ensures secure access to the system, maintaining user data
confidentiality.
● Booking System: This module manages all aspects of the booking process, including
route selection, schedule management, seat selection, and payment processing. It
provides users with an efficient way to reserve seats for their desired trips.
● Admin Panel: The admin panel is designed for administrators to manage users, boats,
and routes. It also allows the generation of reports for monitoring system activity and
user engagement.

User Authentication

The user authentication module includes the following functionalities:

● Registration: Users can create accounts by providing personal details, which are
validated and securely stored in the database, ensuring data integrity and security.
● Login: Users can log in using their credentials. Secure session management is
implemented to maintain user sessions and enhance security.
● Password Management: The system allows users to reset their passwords through a
secure email verification process, promoting user convenience and security.
Page 20

Reports Generated

The Waterway system generates various reports that are crucial for both users and
administrators, including:

● Booking History: Detailed reports on user bookings, including past trips and seat
selections, providing users with a comprehensive view of their activities.
● User Activity: Reports tracking user engagement and interactions with the system,
enabling better understanding of user behavior and preferences.
● Financial Transactions: Reports detailing financial transactions related to bookings
and payments, assisting in financial monitoring and management.
Page 21

3.3. DATABASE DESIGN

Objectives of Database Design

● Data Integrity: Ensure accuracy and consistency of data over its lifecycle.
● Data Accessibility: Allow users to retrieve and manipulate data efficiently.
● Data Security: Protect sensitive user information and control access.

3.3.1. NORMALIZATION

Normalization is a critical process in database design aimed at reducing data redundancy and
improving data integrity. It involves organizing data within the database to ensure that
relationships between data elements are logically sound and that data can be efficiently
retrieved and updated. The Waterway project applies the following normal forms to its
database tables:

First Normal Form (1NF)

To achieve First Normal Form, the database tables are structured such that:

● Primary Key: Each table has a designated primary key, which uniquely identifies each
record in that table. This ensures that there are no duplicate entries and allows for
efficient retrieval of data.
● Atomicity: All entries in a column must be of the same data type, and each column
must hold atomic (indivisible) values. For example, in a Users table, each field (e.g.,
username, email, phone) should contain a single value rather than a list or set of
values.
● Elimination of Repeating Groups: There should be no repeating groups or arrays
within a table. If there are multiple values for a single attribute, they should be moved
to a separate table.

Example: A Bookings table might include columns like booking_id, user_id, boat_id,
and date. Each of these columns would contain single values that define each booking.

Second Normal Form (2NF)

To reach Second Normal Form, the database must meet all the requirements of 1NF, plus:

● Full Functional Dependency: All non-key attributes in a table must be fully dependent
on the primary key. This means that if a non-key attribute depends on only part of a
composite primary key, the table must be decomposed into separate tables to
eliminate partial dependencies.

Example: In a Bookings table with a composite primary key consisting of booking_id and
boat_id, if boat_name is dependent only on boat_id, it should be moved to a separate
Boats table to prevent partial dependency.

Third Normal Form (3NF)


Page 22

To achieve Third Normal Form, the database must satisfy the requirements of 2NF, along with:

● No Transitive Dependency: Non-key attributes should not depend on other non-key


attributes. This means that if a non-key attribute is dependent on another non-key
attribute, the table must be restructured to eliminate that dependency.

Example: If the Users table contains a city field and a country field, and country can
be derived from city, it indicates a transitive dependency. To eliminate this, country should
be stored in a separate Countries table, linked to the Users table.

Importance of Normalization

● Data Integrity: By structuring the database correctly, normalization ensures data


accuracy and consistency, which is crucial for the reliability of the Waterway project.
● Reduced Redundancy: Normalization minimizes data duplication, which saves
storage space and reduces the risk of discrepancies.
● Efficient Data Access: Well-structured tables allow for faster and more efficient
queries, making the system responsive and user-friendly.
● Easier Maintenance: Normalized databases are generally easier to maintain and
update, as changes are localized to specific tables without affecting related data.

3.3.2.TABLE STRUCTURE
A table is a collection of complete details about a particular subject. Data is organized in rows
and columns, where each row is called a record and each column is called a field. The data
for each record is stored in tables in the backend, which directly link to input forms. Multiple
tables can be linked to input forms, allowing details from different tables to be collected and
displayed in the output. The Waterway project comprises 14 main tables, detailed as follows

1. Users
2. Boats
3. Routes
4. Route_Stops
5. Schedules
6. Seats
7. Seat_Bookings
8. Route_Stop_Times
9. Payments
10. Cancellation
11. Admin_logs
12. Stop_Pricing
13. Tickets
14. Enquiries
Page 23

1. Users Table

description:Stores user information, including login credentials and roles


within the system.

2. Boats Table

description:Contains information about each boat, such as name,


capacity, and operational status.
Page 24

3. Routes Table

description:Defines the various routes available for travel, with start and
end locations.

4. Route_Stops Table

description:Lists stops along each route and the distance from the start.

5. Seats Table

description:Defines each seat on a boat, including the seat type.


Page 25

6. Schedules Table

description:Details the schedule for each boat on a given route, including


departure and arrival times.

7. Seat_Bookings Table

description:Records each seat booking, linking the booking to specific


schedules, seats, and users.
Page 26

8. Route_Stops_Times Table

description:Records time Difference of each stop from starting

9. Payments Table

description:Manages payment records associated with bookings.

10. Cancellations Table

description:Logs cancellation details, including the date and reason.


Page 27

11. Admin_Logs Table

description:Stores logs of administrative actions taken on the platform.

12. Stop_Pricing Table

description:Defines pricing between different route stops.

13. Tickets Table

description:Holds information about issued tickets and their


corresponding bookings.
Page 28

14. Enquiries Table

description:Stores user enquiries and any admin responses, enabling


complaint management.

3.3.3. DATA FLOW DIAGRAMS (DFD)

3.3.3.1. INTRODUCTION TO DATA FLOW DIAGRAMS

A Data Flow Diagram (DFD) is a graphical tool used to depict the flow of information within a
system, illustrating how data enters, moves through, and exits various processes. DFDs are
an essential part of system design, allowing stakeholders to visualize the functional aspects
of a system without focusing on technical implementation details. By highlighting data sources,
data processes, and storage points, DFDs offer a structured way to analyze the interactions
between different components of a system, making them invaluable in the planning and design
stages.

Importance of Data Flow Diagrams

1. Understanding System Functionality: DFDs provide a simplified and high-level


overview of a system’s processes and data flow, making it easier for developers,
project managers, and clients to understand the system's core functionality.
2. Identifying Data Requirements: DFDs help map out the data flow, identifying
essential inputs, outputs, and data processing requirements. This helps with effective
database design and software development by outlining what data the system needs
to function.
Page 29

3. Facilitating Communication: DFDs act as a universal language between technical


and non-technical stakeholders. This shared understanding helps teams align on
system requirements and design goals.
4. Spotting Inefficiencies: By visually representing data flows, DFDs can reveal
inefficiencies or redundancies, enabling the team to optimize workflows and improve
system performance.
5. Documenting System Processes: DFDs serve as documentation that is valuable for
future reference, providing insight into the system's processes and supporting easier
maintenance and updates.

Overall, DFDs play a critical role in system analysis and design by clarifying data flow, refining
requirements, and enhancing the communication and efficiency of system development.
Page 30

Rules for Constructing Data Flow Diagrams

To create and interpret DFDs effectively, adhere to the following


guidelines:
● Processes:
○ Represented by circles or rounded rectangles.
○ Must have at least one input and one output.
○ Should be numbered for easy reference (e.g., 1, 2, 3).
● Data Flows:
○ Indicated by arrows showing the direction of data movement.
○ Each arrow should be labeled to clarify the type of data being transferred (e.g.,
“User Details,” “Payment Info”).
Page 31

● Data Stores:
○ Represented by open-ended rectangles or parallel lines.
○ Indicate where data is stored within the system.
○ Must connect to processes that read from or write to them.
● External Entities:
○ Depicted as rectangles or ovals.
○ Represent sources or destinations of data outside the system (e.g., users,
external systems).
○ Should be labeled clearly to indicate their role.
● Leveling:
○ DFDs can be decomposed into multiple levels (Level 0, Level 1, etc.) to show
more detail.
○ Level 0 DFD shows the entire system as a single process.
○ Level 1 DFD breaks down Level 0 processes into sub-processes, further
detailing data flows.
● No Loops or Cycles:
○ DFDs should not contain loops; data should flow in one direction without
returning to a previous step.
● Clarity and Simplicity:
○ DFDs should be simple and easy to understand, avoiding unnecessary
complexity.
○ Each diagram should focus on a specific part of the system to maintain clarity.

3.3.3.2. DATA FLOW DIAGRAM

In the context of the Waterway project, DFDs will be essential for:

● Mapping User Interactions: Illustrating how users interact with the system when
making bookings, managing profiles, and processing payments.
● Defining System Processes: Clearly outlining the processes involved in seat
booking, payment processing, and user management.
● Supporting System Design: Providing a foundation for designing database
structures and software architecture by identifying data inputs and outputs.
● Enhancing Collaboration: Facilitating discussions among team members and
stakeholders, ensuring a shared understanding of the system's functionality.

Each component in a DFD is labelled with a descriptive name. Process name are further
identified with number. Context level DFD is draw first. Then the process is decomposed into
several elementary levels and is represented in the order of importance. A DFD describes
what data flow (logical) rather than how they are processed, so it does not depend on
hardware, software, and data structure or file organization. A DFD methodology is quite
effective; especially when the required design.
Page 32

Zeroth level DFD for Waterway


Page 33

First Level DFD for Waterway


Page 34

Seat Management Module DFD

Booking Management Module DFD


Page 35

Ticket Management Module DFD


Page 36

Schedule Management Module DFD


Page 37

Payment Management Module DFD


Page 38

Second Level DFD for Waterway


Page 39

3.4 INTERFACE DESIGN

These modules can apply to hardware, software or the interface between a user and
a machine. An example of a user interface could include a GUI, a control panel for a
nuclear power plant, or even the cockpit of an aircraft. In systems engineering, all the
inputs and outputs of a system, subsystem, and its components are listed in an
interface control document often as part of the requirements of the engineering project.
The development of a user interface is a unique field.

3.4.1. USER INTERFACE SCREEN DESIGN

The user interface design is very important for any application. The interface design
describes how the software communicates within itself, to system that interpreted with
it and with humans who use it. The input design is the process of converting the user-
oriented inputs into the computer-based format. The data is fed into the system using
simple inactive forms. The forms have been supplied with messages so that the user
can enter data without facing any difficulty. They data is validated wherever it requires
in the project. This ensures that only the correct data have been incorporated into
system. The goal of designing input data is to make the automation as easy and free
from errors as possible. For providing a good input design for the application easy data
input and selection features are adopted. The input design requirements such as user
friendliness, consistent format and interactive dialogue for giving the right messages
and help for the user at right are also considered for development for this project.

Input Design is a part of the overall design. The input methods can be broadly
classified into batch and online. Internal controls must be established for monitoring
the number of inputs and for ensuring that the data are valid. The basic steps involved
in input design are:

• Review input requirements.

• Decide how the input data flow will be implemented.

• Decide the source document.

• Prototype on line input screens.

• Design the input screens.

The quality of the system input determines the quality of the system output. Input
specifications describe the manner in which data enter the system for processing.
Input design features can ensure the reliability of the system and produce results from
accurate data. The input design also determines whether the user can interact
efficiently with the system. These are the two sample input forms
Page 40

Login input form

The login input form is a crucial component of the Waterway application, facilitating
user authentication and access to the platform's features. It consists of two primary
input fields: Email and Password, each associated with a label for enhanced
accessibility. The form employs the POST method to securely transmit user
credentials to the loginuser.php script for authentication. It incorporates HTML5
validation attributes to ensure that both fields are filled out before submission, with
error messages displayed for failed login attempts, providing immediate feedback to
the user. Below the form, links are available for users without accounts and those who
have forgotten their passwords, promoting engagement. The form is centered using
CSS Flexbox and features a dynamic gradient background, creating an engaging
visual experience. Styled with a white background, rounded corners, and subtle
shadows, it has a modern appearance that enhances usability. It is responsive,
adapting to various screen sizes, and includes explicit label associations to improve
accessibility. Overall, the login input form serves as a secure gateway for users to
access their accounts, encourages interaction with the platform, and enhances the
user experience through immediate feedback and visual appeal. By focusing on
usability, accessibility, and aesthetics, the form aligns with best practices in user
interface design, making it an essential component of the application.
Page 41

Admin add boats input Form

The provided PHP code is a comprehensive management interface for the boats in
the Waterway application, designed specifically for administrators to efficiently handle
boat data. It begins by checking if an admin is logged in, redirecting to the dashboard
if not, ensuring secure access to management features. The code establishes a
database connection for data retrieval and manipulation while incorporating a logging
function to track administrative actions, such as adding, editing, and deleting boats.
Each action is processed via POST requests, utilizing prepared statements to prevent
SQL injection, which enhances security.

The script fetches all boat records and allows for filtering based on boat name,
capacity, and status, improving the user experience by enabling quick searches. The
HTML structure creates a user-friendly interface, featuring forms for adding new boats
and a table displaying existing boats with inline editing capabilities. This layout
facilitates straightforward management tasks, as administrators can easily edit or
delete records.

Additionally, the use of Bootstrap for styling ensures that the interface is visually
appealing and responsive, adjusting seamlessly across devices. Error reporting is
enabled to aid debugging during development but should be disabled in a production
environment for security reasons. Input sanitization is also implemented, and only
logged-in administrators can access the page, further enhancing security. Overall, this
management code for the Waterway application is a well-structured solution that
empowers administrators to maintain accurate and organized boat records efficiently.
Page 42

3.4.2. OUTPUT DESIGN

A quality output is one, which meets the requirements of end user and presents the
information clearly. In any system result of processing are communicated to the user
and to the other system through outputs. In the output design it is determined how the
information is to be displayed for immediate need. It is the most important and direct
source information is to the user. Efficient and intelligent output design improves the
system’s relationships with the user and helps in decision -making. The objective of
the output design is to convey the information of all the past activities, current status
and to emphasis important events. The output generally refers to the results and
information that is generated from the system. Outputs from computers are required
primarily to communicate the results of processing to the users. Output also provides
a means of storage by copying the results for later reference in consultation. There is
a chance that some of the end users will not actually operate the input data or
information through workstations, but will see the output from the system.

Two phases of the output design are:


1. Output Definition
2. Output Specification

Output Definition takes into account the type of output contents, its frequency and its
volume, the appropriate output media is determined for output. Once the media is
chosen, the detail specification of output documents are carried out. The nature of
output required from the proposed system is determined during logical design stage.
It takes the outline of the output from the logical design and produces output as
specified during the logical design phase.

In a project, when designing the output, the system analyst must accomplish the
following:

• Determine the information to present.

• Decide whether to display, print, speak the information and select the output
medium.

• Arrange the information in acceptable format.

• Decide how to distribute the output to the intended receipt.

Thus by following the above specifications, a high quality output can be generated
Example for outputs generated in this project:
Page 43

This line chart is generated for admin .This line chart gives which stops are mostly
Booked by users .Here Lake A is mostly booked between 01-01-2024 and 31-12-2024
That gives assumption most people are from that stop and need more boats in
that route
Page 44

4. IMPLEMENTATION

Implementation is the stage of the project when the theoretical design is


turned into a working system. The implementation stage is a systems
project in its own right. It includes careful planning, investigation of current
system and its constraints on implementation, design of methods to
achieve the changeover, training of the staff in the changeover procedure
and evaluation of changeover method

4.1 CODING STANDARDS

Writing an efficient software code requires a thorough knowledge of


programming. This knowledge can be implemented by following a coding
style which comprises several guidelines that help in writing the software
code efficiently and with minimum errors. These guidelines, known as
coding guidelines, are used to implement individual programming
language constructs, comments, formatting, and so on. These guidelines,
if followed, help in preventing errors, controlling the complexity of the
program, and increasing the readability and understandability of the
program. A set of comprehensive coding guidelines encompasses all
aspects of code development. To ensure that all developers work in a
harmonized manner (the source code should reflect a harmonized style
as a single developer had written the entire code in one session), the
developers should be aware of the coding guidelines before starting a
software project. Moreover, coding guidelines should state how to deal
with the existing code when the software incorporates it or when
maintenance is performed. Since there are numerous programming
languages for writing software codes, each having different features and
capabilities, coding style guidelines differ from one language to another.
However, there are some basic guidelines which are followed in all
programming languages. These include naming conventions,
commenting conventions, and formatting conventions.
1. File header comments are useful in providing information related to a
file as a whole and comprise identification information such as date of
creation, Dame of the creator, and a brief description of the software code.
2. Trailing comments are used to provide explanation of a single line of
code. These comments are used to clarify the complex code. These also
Page 45

specify the function of the abbreviated variable names that are not clear.
In some languages, trailing comments are used with the help of a double
slash (//)

3. Indentation: This refers to one or more spaces left at the beginning of


statements in the program. Indentation is useful in making the code easily
readable. However, the spaces used for indentation should be followed in
the entire program.

4. Implementing coding guidelines: If coding guidelines are used in a


proper manner, errors can be detected at the time of writing the software
code. Such detection in early stages helps in increasing the performance
of the software as well as reducing the additional and unplanned costs of
correcting and removing errors. Moreover, if a well-defined coding
guideline is applied, the program yields a software system that is easy to
comprehend and maintain.

4.2. SAMPLE CODE

Profile.php

<?php
session_start();
// Enable error reporting for debugging (remove in production)
//error_reporting(E_ALL);
//ini_set('display_errors', 1);

// Include your database connection file


include 'db_connection.php'; // Ensure this file is present and contains a valid
connection

// Check for the cancellation message


if (isset($_SESSION['cancel_message'])) {
echo '<div class="alert alert-success" role="alert">' .
htmlspecialchars($_SESSION['cancel_message']) . '</div>';
unset($_SESSION['cancel_message']); // Clear the message after displaying it
Page 46

}
$user_id = $_SESSION['user_id']; // Assuming you set this during login

// Initialize $user_data
$user_data = [];

// Fetch user data


$sql_user = "SELECT name, email, phone_number, address FROM Users WHERE
user_id = ?";
$stmt_user = $conn->prepare($sql_user);

if ($stmt_user === false) {


die("Error preparing statement: " . $conn->error);
}

$stmt_user->bind_param("i", $user_id);

if (!$stmt_user->execute()) {
die("Error executing query: " . $stmt_user->error);
}

$result_user = $stmt_user->get_result();

if ($result_user->num_rows > 0) {
$user_data = $result_user->fetch_assoc();
}

$stmt_user->close();

// Initialize variables for form handling


$update_success = "";
$update_error = "";

// Handle form submission for updating user details


if ($_SERVER['REQUEST_METHOD'] === 'POST' &&
isset($_POST['update_profile'])) {
// Retrieve and sanitize user inputs
$name = trim($_POST['name']);
$email = trim($_POST['email']);
$phone_number = trim($_POST['phone_number']);
$address = trim($_POST['address']);
$password = trim($_POST['password']);
$confirm_password = trim($_POST['confirm_password']);
Page 47

// Basic validation
if (empty($name) || empty($email)) {
$update_error = "Name and Email are required.";
} elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$update_error = "Invalid email format.";
} elseif (!empty($password) && $password !== $confirm_password) {
$update_error = "Passwords do not match.";
} else {
// Prepare the SQL statement
if (!empty($password)) {
// If password is being updated
$sql_update = "UPDATE Users SET name = ?, email = ?, phone_number = ?,
address = ?, password = ? WHERE user_id = ?";
$stmt = $conn->prepare($sql_update);
// Hash the password before storing
$hashed_password = password_hash($password, PASSWORD_BCRYPT);
$stmt->bind_param("sssssi", $name, $email, $phone_number, $address,
$hashed_password, $user_id);
} else {
// If password is not being updated
$sql_update = "UPDATE Users SET name = ?, email = ?, phone_number = ?,
address = ? WHERE user_id = ?";
$stmt = $conn->prepare($sql_update);
$stmt->bind_param("ssssi", $name, $email, $phone_number, $address,
$user_id);
}

if ($stmt->execute()) {
$update_success = "Profile updated successfully.";
// Refresh user data
$user_data['name'] = htmlspecialchars($name);
$user_data['email'] = htmlspecialchars($email);
$user_data['phone_number'] = htmlspecialchars($phone_number);
$user_data['address'] = htmlspecialchars($address);
// Update session variables if necessary
$_SESSION['user_name'] = $name;
} else {
// Handle errors (e.g., duplicate email)
if ($conn->errno === 1062) { // Duplicate entry
$update_error = "Email already exists.";
} else {
// Log the actual error and show a generic message
error_log("Profile Update Error: " . $conn->error);
Page 48

$update_error = "An error occurred while updating your profile. Please try
again later.";
}
}

$stmt->close();
}
}

// Fetch user's tickets


$sql_tickets = "
SELECT
t.ticket_id,
t.booking_id,
t.amount,
sb.seat_id,
sb.booking_date,
b.boat_id,
sc.schedule_id,
rs_start.location AS start_stop,
rs_end.location AS end_stop
FROM
Tickets t
JOIN
Seat_Bookings sb ON t.booking_id = sb.booking_id
JOIN
Boats b ON sb.boat_id = b.boat_id
JOIN
Schedules sc ON sb.schedule_id = sc.schedule_id
JOIN
Route_Stops rs_start ON sb.start_stop_id = rs_start.stop_id
JOIN
Route_Stops rs_end ON sb.end_stop_id = rs_end.stop_id
WHERE
sb.user_id = ?
ORDER BY
sb.booking_date DESC
";

$stmt_tickets = $conn->prepare($sql_tickets);

if ($stmt_tickets === false) {


error_log("SQL Prepare Error (Tickets): " . $conn->error);
die("An error occurred while fetching your tickets. Please try again later.");
Page 49

$stmt_tickets->bind_param("i", $user_id);

if (!$stmt_tickets->execute()) {
error_log("SQL Execute Error (Tickets): " . $stmt_tickets->error);
die("An error occurred while fetching your tickets. Please try again later.");
}

$result_tickets = $stmt_tickets->get_result();
// Fetch user's enquiries
$sql_enquiries = "SELECT enquiry_id, name, message, created_at, response,
response_created_at FROM Enquiries WHERE user_id = ?";
$stmt_enquiries = $conn->prepare($sql_enquiries);

if ($stmt_enquiries === false) {


error_log("SQL Prepare Error (Enquiries): " . $conn->error);
die("An error occurred while fetching your enquiries. Please try again later.");
}

$stmt_enquiries->bind_param("i", $user_id);

if (!$stmt_enquiries->execute()) {
error_log("SQL Execute Error (Enquiries): " . $stmt_enquiries->error);
die("An error occurred while fetching your enquiries. Please try again later.");
}

$result_enquiries = $stmt_enquiries->get_result();
?>

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>User Profile</title>
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/custom.css">
<style>
.container {
margin-top: 0px; /* Reduced margin for a tighter layout */
margin-bottom: 0px;
Page 50

.nav-tabs .nav-link.active {
background-color: #f8f9fa;
border-color: #dee2e6 #dee2e6 #fff;
}

.form-section,
.bookings-section {
margin-top: 20px;
padding: 20px;
border-radius: 8px; /* Added rounded corners */
background-color: #f8f9fa; /* Light background for sections */
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* Subtle shadow */
}

.table-responsive {
margin-top: 20px;
}

@media (max-width: 576px) {


.nav-tabs .nav-link {
text-align: center; /* Center-align for mobile */
}

.form-group {
margin-bottom: 15px; /* Increase margin for mobile spacing */
}
}
/*enquiry style*/
.direct-chat-msg {
display: flex;
align-items: flex-start; /* Aligns the user icon and message vertically */
margin-bottom: 15px; /* Spacing between messages */
}

.direct-chat-infos {
flex: 1; /* Takes up available space */
}

.direct-chat-name {
font-weight: bold; /* Makes the username bold */
}
Page 51

.direct-chat-text {
background-color: #f8f9fa; /* Light background for the message */
border-radius: 5px; /* Rounded corners */
padding: 10px; /* Padding for the message text */
margin-top: 5px; /* Space between name/timestamp and message */
}

.direct-chat-timestamp {
font-size: 0.9em; /* Slightly smaller font for the timestamp */
color: #6c757d; /* Muted color for the timestamp */
}

.direct-chat-msg i {
margin-right: 10px; /* Space between icon and name */
color: #007bff; /* Color for the user icon */
}

.response-text {
background-color: #d1ecf1; /* Light background for the response */
border-radius: 5px; /* Rounded corners */
padding: 10px; /* Padding for the response text */
margin-top: 5px; /* Space above the response */
}

.response-timestamp {
font-size: 0.9em; /* Smaller font for the response timestamp */
color: #6c757d; /* Muted color for the response timestamp */
}

.user-group {
margin-top: 20px;
border: 1px solid #007bff;
padding: 10px;
border-radius: 5px;
cursor: pointer; /* Cursor changes to pointer on hover */
}

.chat-details {
display: none; /* Hide chat details by default */
margin-top: 10px;
}

.notification {
font-weight: bold;
Page 52

color: red; /* Highlight the notification count */


}
</style>
</head>

<body>
<?php include 'includes/header.php'; ?>
<br><br><br><br>
<div class="container">
<h3 class="mb-4 text-center">User Profile</h3>

<!-- Display Success or Error Messages -->


<?php if ($update_success): ?>
<div class="alert alert-success alert-dismissible fade show" role="alert">
<?= htmlspecialchars($update_success) ?>
<button type="button" class="close" data-dismiss="alert" aria-
label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<?php endif; ?>
<?php if ($update_error): ?>
<div class="alert alert-danger alert-dismissible fade show" role="alert">
<?= htmlspecialchars($update_error) ?>
<button type="button" class="close" data-dismiss="alert" aria-
label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<?php endif; ?>

<!-- Tabs Navigation -->


<ul class="nav nav-tabs" id="profileTab" role="tablist">
<li class="nav-item">
<a class="nav-link active" id="profile-info-tab" data-toggle="tab"
href="#profile-info" role="tab" aria-controls="profile-info" aria-selected="true">
<i class="fas fa-user"></i> Profile Information
</a>
</li>
<li class="nav-item">
<a class="nav-link" id="bookings-tab" data-toggle="tab" href="#bookings"
role="tab" aria-controls="bookings" aria-selected="false">
<i class="fas fa-ticket-alt"></i> My Bookings
</a>
Page 53

</li>
<li class="nav-item">
<a class="nav-link" id="enquiries-tab" data-toggle="tab" href="#enquiries"
role="tab" aria-controls="enquiries" aria-selected="false">
<i class="fas fa-comments"></i> My Enquiries
</a>
</li>
</ul>

<div class="tab-content" id="profileTabContent">


<!-- Profile Information Tab -->
<div class="tab-pane fade show active" id="profile-info" role="tabpanel" aria-
labelledby="profile-info-tab">
<div class="form-section">
<h4>Edit Profile</h4>
<form method="POST" action="profile.php">
<div class="form-row">
<div class="form-group col-md-6">
<label for="name"><i class="fas fa-user"></i> Name</label>
<input type="text" class="form-control" id="name" name="name"
required value="<?= htmlspecialchars($user_data['name'] ?? '') ?>">
</div>
<div class="form-group col-md-6">
<label for="email"><i class="fas fa-envelope"></i> Email</label>
<input type="email" class="form-control" id="email" name="email"
required value="<?= htmlspecialchars($user_data['email'] ?? '') ?>">
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="phone_number"><i class="fas fa-phone"></i> Phone
Number</label>
<input type="text" class="form-control" id="phone_number"
name="phone_number" value="<?= htmlspecialchars($user_data['phone_number']
?? '') ?>">
</div>
<div class="form-group col-md-6">
<label for="address"><i class="fas fa-home"></i>
Address</label>
<input type="text" class="form-control" id="address"
name="address" value="<?= htmlspecialchars($user_data['address'] ?? '') ?>">
</div>
</div>
Page 54

<div class="form-row">
<div class="form-group col-md-6">
<label for="password"><i class="fas fa-lock"></i> New
Password</label>
<input type="password" class="form-control" id="password"
name="password">
</div>
<div class="form-group col-md-6">
<label for="confirm_password"><i class="fas fa-lock"></i>
Confirm Password</label>
<input type="password" class="form-control"
id="confirm_password" name="confirm_password">
</div>
</div>
<button type="submit" name="update_profile" class="btn btn-
primary">Update Profile</button>
</form>
</div>
</div>

<!-- View Tickets Tab -->


<!-- View Tickets Tab -->
<div class="tab-pane fade" id="bookings" role="tabpanel" aria-labelledby="tickets-
tab">
<div class="bookings-section">
<h4>Your Tickets</h4>
<?php if ($result_tickets->num_rows > 0): ?>
<ul class="list-group">
<?php while ($ticket = $result_tickets->fetch_assoc()): ?>
<li class="list-group-item">
<strong>Booking Date:</strong> <?=
htmlspecialchars($ticket['booking_date']) ?><br>
<strong>Ticket ID:</strong> <?= htmlspecialchars($ticket['ticket_id'])
?><br>
<strong>Amount:</strong> ₹<?= htmlspecialchars($ticket['amount'])
?><br>
<a href="view_ticket.php?ticket_id=<?=
htmlspecialchars($ticket['ticket_id']) ?>&user_id=<?= htmlspecialchars($user_id) ?>"
class="btn btn-info btn-sm mt-2">
View Ticket
</a>
</li>
<?php endwhile; ?>
</ul>
Page 55

<?php else: ?>


<div class="alert alert-warning" role="alert">
You have no tickets booked.
</div>
<?php endif; ?>
</div>
</div>
<div class="tab-pane fade" id="enquiries" role="tabpanel" aria-
labelledby="enquiries-tab">
<div class="enquiries-section">
<?php if ($result_enquiries->num_rows > 0): ?>
<h4 class="section-title">Your Enquiries</h4>
<div class="table-responsive">
<?php while ($enquiry = $result_enquiries->fetch_assoc()): ?>
<div class="direct-chat-msg">
<i class="fas fa-user"></i> <!-- Replace with the actual user icon if
necessary -->
<div class="direct-chat-infos">
<span class="direct-chat-name"><?=
htmlspecialchars($enquiry['name']) ?></span>
<span class="direct-chat-timestamp"><?=
htmlspecialchars($enquiry['created_at']) ?></span>
<div class="direct-chat-text">
<?= htmlspecialchars($enquiry['message']) ?>
</div>
</div>
</div>
<?php if (!empty($enquiry['response'])): ?>
<div class="direct-chat-msg">
<i class="fas fa-user-shield"></i> <!-- Replace with the response
icon if necessary -->
<div class="direct-chat-infos">
<span class="direct-chat-name">Admin</span>
<span class="response-timestamp"><?=
htmlspecialchars($enquiry['response_created_at']) ?></span>
<div class="response-text">
<?= htmlspecialchars($enquiry['response']) ?>
</div>
</div>
</div>
<?php endif; ?>
<?php endwhile; ?>
</div>
<?php else: ?>
Page 56

<p class="alert alert-warning">No enquiries found.</p>


<?php endif; ?>
</div>
</div>

<br><br>

<!-- Include footer -->


<?php include 'includes/footer1.php'; ?>

</body>
</html>
Page 57

5.TESTING

Coding conventions are a set of guidelines for a specific programming


language that recommend programming style, practices and methods for
each aspect of a piece program written in this language. These
conventions usually cover file organization, indentation, comments,
declarations, statements, white space, naming conventions, programming
practices, programming principles, programming rules of thumb,
architectural best practices, etc. These are guidelines for software
structural quality. Software programmers are highly recommended to
follow these guidelines to help improve the readability of their source code
and make software maintenance easier.

5.1. TEST CASES

The objective of system testing is to ensure that all individual programs are working
as expected, that the programs link together to meet the requirements specified and
to ensure that the computer system and the associated clerical and other procedures
work together. The initial phase of system testing is the responsibility of the analyst
who determines what conditions are to be tested, generates test data, produced a
schedule of expected results, runs the tests and compares the computer produced
results with the expected results with the expected results. The analyst may also be
involved in procedures testing. When the analyst is satisfied that the system is working
properly, he hands it over to the users for testing. The importance of system testing by
the user must be stressed. Ultimately it is the user must verify the system and give the
go-ahead.

During testing, the system is used experimentally to ensure that the software does
not fail, i.e., that it will run according to its specifications and in the way users expect
it to. Special test data is input for processing (test plan) and the results are examined
to locate unexpected results. A limited number of users may also be allowed to use
the system so analysts can see whether they try to use it in unexpected ways. It is
preferably to find these surprises before the organization implements the system and
depends on it. In many organizations, testing is performed by person other than those
who write the original programs. Using persons who do not know how certain parts
were designed or programmed ensures more complete and unbiased testing and more
reliable software.

Parallel running is often regarded as the final phase of system testing. Since he
parallel operation of two systems is very demanding in terms of user resources it
Page 58

should be embarked on only if the user is satisfied with the results of testing -- it should
not be started if problems are known to exist. Testing is the major quality control
measure during software development. Its basic function is to detect errors in the
software. Thus the goal of testing is to uncover requirement design and coding errors
in the program. Testing is the process of correcting a program with intends of finding
an error. Different types of testing are

5.1.1. UNIT TESTING

In computer programming, unit testing is a method by which individual


units of source code, sets of one or more computer program modules
together with associated control data, usage procedures, and operating
procedures are tested to determine if they are fit for use In this testing we
test each module individual and integrated the overall system. Unit testing
focuses verification efforts on the smaller unit of software design in the
module. This is also known as module testing. The modules of the system
are tested separately. The testing is carried out during programming stage
itself. In this testing step each module is found to working satisfactory as
regard to the expected output from the module. There are some validation
checks for verifying the data input given by the user which both the formal
and validity of the entered. It is very easy to find error debug the system.

Unit Testing
Page 59

Record added

We have continued Unit Testing from the starting of the coding phase
itself. Whenever we completed one small sub module, some amount of
testing was done based on the requirements to see if the functionality is
aligned to the gathered requirements.

5.1.2. INTEGRATION TESTING

Integration testing (sometimes called integration and testing, abbreviated


I&T) is the phase in software testing in which individual software modules
are combined and tested as a group. Software components may be
integrated in an iterative way or all together ("big bang"). Normally the
former is considered a better practice since it allows interface issues to be
located more quickly and fixed. Data can be lost across an interface; one
module can have an adverse effort on the other sub functions when
combined by, may not produce the desired major functions. Integrated
testing is the systematic testing for constructing the uncover errors within
the interface. This testing was done with sample data. The developed
system has run success full for this sample data. The need for integrated
test is to find the overall system performance.
Integration testing is a logical extension of unit testing. In its simplest form,
two units that have already been tested are combined into a component
Page 60

and the interface between them is tested. A component, in this sense,


refers to an integrated aggregate of more than one unit. Integration testing
identifies problems that occur when units are combined. By using a test
plan that requires you to test each unit and ensure the viability of each
before combining units, you know that any errors discovered when
combining units are likely related to the interface between units. This
method reduces the number of possibilities to a far simpler level of
analysis. Progressively larger groups of tested software components
corresponding to elements of the architectural design are integrated and
tested until the software works as a system.

other hand, black-box testing has been said to be "like a walk in a dark
labyrinth without a flashlight." Because they do not examine the source
code, there are situations when a tester writes many test cases to check
something that could have been tested by only one test case, or leaves
some parts of the program untested.

Integration testing
Page 61

Integration testing Result When Stops Update Prize Also Updated

We have performed integration testing whenever we have combined two


modules together. When two modules are combined we have checked
whether the functionality works correctly or not through integration testing.

5.1.3. BLACK BOX TESTING

Black-box testing is a method of software testing that examines the


functionality of an application (e.g. what the software does) without
peering into its internal structures or workings. This method of test can be
applied to virtually every level of software testing: unit, integration, system
and acceptance. It typically comprises most if not all higher level testing,
but can also dominate unit testing as well. In black box testing the
structure of the program is not considered. Test cases are decided solely
on the basis of the requirements or the specification of the program or
module, and the internals of the module or program are not considered for
selection of the test cases
Page 62

In the Black Box testing tester only knows the input that can be given to
the system and what output the system should give. In other words, the
basis of deciding test cases in functional testing is requirements or
specifications of the system or module. This form of testing is also called
functional or behavioural testing. One advantage of the black box
technique is that no programming knowledge is required. Whatever biases
the programmers may have had, the tester likely has a different set and
may emphasize different areas of functionality. On the

5.1.4. WHITE BOX TESTING

White-box testing (also known as clear box testing, glass box testing, and
transparent box testing and structural testing) is a method of testing
software that tests internal structures or workings of an application, as
opposed to its functionality. In white-box testing an internal perspective of
the system, as well as programming skills, are used to design test cases.
The tester chooses inputs to exercise paths through the code and
determine the appropriate outputs. This is analogous to testing nodes in
a circuit, e.g. in-circuit testing (ICT).

While white-box testing can be applied at the unit, integration and system
levels of the software testing process, it is usually done at the unit level. It
can test paths within a unit, paths between units during integration, and
between subsystems during a system–level test. Though this method of
test design can uncover many errors or problems, it might not detect
unimplemented parts of the specification or missing requirements. White
Box testing is concerned with testing the implementation of the program.
The intent of this testing is not to exercise all the different input or output
conditions but to exercise the different programming structures and data
structures used in the program.
Page 63

5.1.5. VALIDATION TESTING

At the culmination of Black Box testing, software is completely assembled


as a package, interface errors have been uncovered and corrected and
final series of software tests, Validation tests begins. Validation testing
can be defined many was but a simple definition is that validation
succeeds when the software functions in a manner that can be reasonably
accepted by the customer. After validation test has been conducted one
of the two possible conditions exists.

1. The function or performance characteristics confirm to specification and


are accepted.

2. A derivation from specification uncovered and a deficiency list is


created.

Email Validation
Page 64

Password Validation

Cant Add Schedule Conflict with existing Schedule

We have given various validations in our forms so that there will be a neat
format for the data’s that are entered on to the website. We have also
given an already existing validation so that the data redundancy is
reduced; same data is not entered twice.
Page 65

5.1.6. USER ACCEPTANCE TESTING

Acceptance Testing is a level of the software testing process where a


system is tested for acceptability. User Acceptance testing is the software
testing process where system tested for acceptability & validates the end
to end business flow. Such type of testing executed by client in separate
environment & confirms whether system meets the requirements as per
requirement specification or not.

UAT is performed after System Testing is done and all or most of the major
defects have been fixed. This testing is to be conducted in the final stage
of Software Development Life Cycle (SDLC) prior to system being
delivered to a live environment. UAT users or end users are concentrating
on end to end scenarios & typically involves running a suite of tests on the
completed system.

User Acceptance testing also known as Customer Acceptance testing


(CAT), if the system is being built or developed by an external supplier.
The CAT or UAT are the final confirmation from the client before the
system is ready for production. The business customers are the primary
owners of these UAT tests. These tests are created by business
customers and articulated in business domain languages. So ideally it is
collaboration between business customers, business analysts, testers
and developers. It consists of test suites which involve multiple test cases
& each test case contains input data (if required) as well as the expected
output. The result of test case is either a pass or fail.

5.2. TEST CASE DOCUMENTS

A test case is a set of conditions or variables under which a tester will


determine whether a system under test satisfies requirements or works
correctly. The process of developing test cases can also help find
Page 66

problems in the requirements or design o an application. A sample of test


case document format is given below.

TC Test Steps Expected Result Actual Result Status Comment


No.

1 Run application Login screen is displayed. A Login screen has been Pass
and navigate to field for entering email, a displayed, fields for entering
login screen field for entering password, email and password
and a button to submit together with a log in button
should be present is available.

2 Enter an invalid A message should be A message has been Pass


email and invalid displayed stating that email displayed stating that email
password and and password are invalid and password are invalid
press the button

3 Enter a valid email User must successfully User successfully log in and Pass
and password and login to the WebPages. navigate into home page
press the button

4 Enter a valid email A message should be A message has been Pass


and leave displayed stating that displayed stating that
password and ‘Password Required’ beside ‘Password Required’ beside
press the button the Password textbox the Password textbox

5 Enter a valid email A message should be A message has been Pass


and invalid displayed stating that email displayed stating that email
password and and password are invalid and password are invalid
press the button

6 Leave email and A message should be A message has been Pass


password and displayed stating ‘email displayed stating ‘email
press the button required’ beside the email required’ beside the email
textbox and ‘Password textbox and ‘Password
Required’ beside the Required’ beside the
Password textbox Password textbox
Page 67

7 Leave email and A message should be A message should be Pass


enter a valid displayed stating ‘email displayed stating ‘email
password and required’ beside the required’ beside the
press the button Username textbox Username textbox

8 Enter invalid email A message should be A message has been Pass


and enter a valid displayed stating that email displayed stating that email
password and and password are invalid and password are invalid
press the button
Page 68

6.CONCLUSION

The Waterway project successfully addresses the challenges faced in the


boat reservation industry by providing an efficient and user-friendly online
seat booking system. Through careful planning, design, and
implementation, the system streamlines the ticket purchasing process,
enhances user experience, and ensures reliable management of boat
schedules and seat availability.

The project not only facilitates the easy booking of tickets but also
integrates essential features such as payment processing, schedule
management, and user administration, making it a comprehensive
solution for both customers and operators. The incorporation of robust
database management allows for real-time updates and accurate record-
keeping, which is crucial for maintaining trust and satisfaction among
users.

Moreover, the Agile methodology employed during development ensured


flexibility and adaptability, allowing for iterative improvements based on
user feedback and testing results. As a result, the Waterway system is
poised to meet the growing demands of boat travelers, offering
convenience and reliability that is currently lacking in the industry.

In summary, the Waterway project not only meets its initial objectives but
also sets the foundation for future enhancements and scalability, ensuring
that it can evolve with changing user needs and technological
advancements. The project represents a significant step forward in
modernizing boat transportation and making it more accessible to a
broader audience.

6.1 FUTURE ENHANCEMENTS


Looking ahead, the Waterway project envisions several enhancements aimed at further
improving its functionality and user experience. These enhancements will not only address
current limitations but also anticipate user needs and technological advancements.
Page 69

Mobile Ticket Verification

The implementation of a mobile application will allow users to access their tickets digitally.
This feature would enable passengers to scan QR codes or barcodes on their mobile devices
for quick and efficient ticket verification at boarding points. By reducing the reliance on physical
tickets, this enhancement promotes a more convenient and environmentally friendly approach
to ticketing.

Real-time Notifications

Enhancing the system with real-time notifications will keep users informed about critical
updates, including booking confirmations, cancellations, and changes in schedules. This
feature will improve user engagement by ensuring that passengers are always updated,
reducing uncertainty, and enhancing their overall experience with the platform.

User-Friendly Mobile Interface

Developing a responsive mobile interface will facilitate seamless access to all features of the
platform on smartphones and tablets. By optimizing the user experience for mobile devices,
Waterway aims to cater to the increasing number of users who prefer accessing services on
the go. This enhancement will ensure that functionalities such as booking, payment, and
customer support are easily navigable on smaller screens.

Payment Integration

Incorporating multiple payment gateways will provide users with more options for secure
transactions. This enhancement aims to accommodate various payment preferences,
ensuring a smoother and more flexible payment process for users. By supporting multiple
payment methods, Waterway can enhance user confidence in the system and potentially
increase conversion rates.

Advanced Analytics

Utilizing data analytics will allow the Waterway project to gain insights into user behavior and
booking patterns. This information can be invaluable in optimizing routes, pricing strategies,
and marketing efforts. By understanding user preferences and trends, the project can make
data-driven decisions to enhance operational efficiency and user satisfaction.

Enhanced Security Features

Strengthening security protocols is essential to protect user data and ensure safe transactions.
Future enhancements will focus on implementing advanced security measures, including
encryption, secure authentication processes, and regular security audits. By prioritizing user
security, the Waterway project can build trust and credibility among its users.
Page 70

7.REFERENCES

1. Elias M Award. (1999). System Analysis and Design (2nd ed.).


Galgotica Publications, Delhi.
2. Silberschatz, A., Korth, H. F., & Sudarshan, S. Database System
Concepts (4th ed.).
3. Dr. Jeeva Jose. Web Programming Using PHP
4. Wikipedia. (n.d.). Operating System.
5. eComputer Notes. (n.d.). Feasibility Study.
6. Wikipedia. (n.d.). Third Normal Form.
7. Guru99. (n.d.). User Acceptance Testing.
8. TutorialsPoint. (n.d.). System Analysis and Design.
9. Software Testing Fundamentals. (n.d.). Test Case.
10.Software Testing Fundamentals. (n.d.). Black Box Testing.
11.GeeksforGeeks. (n.d.). ASP.NET Coding Standards.
Page 71

8.APPENDIX

8.1 SCREENSHOTS

User login page

Login check database users table


Page 72

Home page

view schedules
Page 73

About waterway

Testimonials
Page 74

Image Gallery

Enquiries
Page 75

Signup For User and Admin


Page 76

Signup Validation

Forgot Password and OTP


Page 77

Reset password

Admin Dashboard
Page 78

Admin Activites Logs

Adding a Boat
Page 79

Boat Added

Adding Route
Page 80

Route Added

Adding Stops For Routes


Page 81

Adding/Updating Prices Between Stops in A Route

Exisiting Prices Updated After Adding of New Stops


Page 82

Adding Schedules for a day or 365 days

Searching And Edit or Delete Schedules


Page 83

Editing Scheudle so that another Boat,Route,Time can be Updated

Managing Bookings Cancelling By Admin


Page 84

Admin Boat Seat Management

Seat Delete Change Numbering,Type


Page 85

Admin Enquiries Complaints Managament

Admin Responding to User Enquiries


Page 86

Admin Reports Generation

Admin Report Generation (Bar Graph)


Page 87

Line, Bar, Pie chart reports for all Entities in Booking(Line Graph)

Reports For Stops,Boats,Seats,Routes,Schedules (Pie chart)


Page 88

Users Submitting Complaints to Admin

Selecting User Profile


Page 89

User Profile tab Profile Editing

Tickets tab To Display All Tickets


Page 90

User Selecting A ticket to View

User Ticket View with Qr code

Note: User can Cancel Ticket,Download,Mail as Pdf from Here Amount will be Refunded
Facility to cancel unwanted Seats only and keep others
Page 91

Download ticket to users device

Ticket.pdf From device


Page 92

Seat cancellation from Ticket

Seats Would be cancelled And Would be available for Others


Page 93

Enquiries Section To see Admin Replies To complaints

Schedule Date, Location Setting for users to Book Seats


Page 94

Boat Selection For users

Seat View And Selection of Seats


Page 95

Payment For Seats Selected(Dummy payment)

Dummy Processing of Payment


Page 96

Ticket View After Payment Done

Seats view Updated After Booking

Note:Site is Worked mostly On Seat View so That No Seat wastage occurs Even if it is
Reserved for a Short period it is made available and unavailable depending on actual Booking

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy