Misr University for Science & Technology
College of Information Technology
Computer Science Department
CS341 (Sec: F)
Project Title: Airline Booking System
Team Members
Adam Ashraf Mahmoud 200019512
Laith Ali 200019469
Khaled Kamr Rashad 200013171
Ali Omar Elsayed 200013233
Supervised by:
Dr/ Alaa Eldein Yassin
A.L/ Ayman S. Abdelaziz
T.A/ Aya Taha
Fall/2023-2024
1.1 System Domain
The domain of an airline booking system encompasses various key components.
It involves the management of flights, including information about schedules,
routes, and aircraft details. The system must provide real-time data on seat
availability and allow users to make reservations and book seats for their chosen
flights. User authentication and profile management are integral,
accommodating passengers, travel agents, and airline staff with distinct levels of
access. The system also incorporates secure payment processing, generating
booking confirmations and electronic tickets upon successful transactions.
Handling cancellations, modifications, and refunds in accordance with airline
policies is crucial. Integration with external systems, such as global distribution
systems (GDS), enhances the system's capabilities. Notification features keep
users informed about flight status and changes through various channels.
Security measures and compliance with aviation regulations ensure data
protection. Additionally, the system may offer reporting and analytics
functionalities to analyze booking trends, performance, and customer behavior.
Addressing these aspects within the domain is essential for creating a
comprehensive and effective airline booking system.
1.2 Requirements Specifications
Glossary
Term Definition
A person who uses the system to book and check
User
information about flights
A travel agent is a professional or a business that assists
Travel agents individuals or groups in planning and booking travel
arrangements
A computerized network system that facilitates the
GDS transactions and information exchange within the travel
industry
Table 1.1: Glossary
1.3 Functional Requirements Specification
- Users must register for an account.
- Users must authenticate themselves through a secure login process.
- Users must be able to update their profiles.
- Users must be able to check seat availability for selected flights.
- Users must receive payment confirmation for successful transactions.
- Users must have the option to request cancellations or modifications to their
bookings.
- Users can opt-in to receive SMS alerts for critical updates.
- The system can provide different user roles for passengers, travel agents, and
airline staff.
- The system must display available flights based on user input.
- The system can offer advanced search options for users to filter flights based on
preferences.
- The system must update flight information in real-time.
- The system must allow users to select and book seats for their preferred flights.
- The system must generate electronic tickets for confirmed bookings.
- The system must integrate a secure payment gateway for processing
transactions.
- The system can provide a secure payment history for users.
- The system must follow airline policies for handling cancellations and
modifications.
- The system must integrate with Global Distribution Systems (GDS) to expand the
range of available flights.
- The system must send email notifications for booking confirmations, changes,
and flight updates.
- The system must encrypt sensitive user data to ensure security.
- The system must be designed to support users with disabilities.
1.4 Non-Functional Requirements
- The system should be easy to use without any previous prerequisites.
-Response times must be quick for user interactions.
-The system should handle a specified number of transactions per second.
-The system must be available 24/7.
-Fault tolerance should ensure critical functions during failures.
-The system must be scalable to accommodate an increasing number of users, flights, and
transactions.
1.5 Unified Modeling Language (UML)
1.5.1 Use case modeling
[Link] Use case description
1. Book ticket online
Function Book ticket online
This use case describes the process of a user booking an airline ticket
Description
online through a web-based booking system.
The online ticket booking process involves several key inputs. Firstly, the
passenger provides personal details such as their name and contact
information. Subsequently, they input their flight preferences, including
Input
the desired date, destination, class, and the number of passengers.
Finally, the passenger enters payment information, which typically
includes credit card details for transaction processing.
Upon successful completion of the online ticket booking process, several
outputs are generated. The primary output is a booking confirmation,
acknowledging the successful reservation. Additionally, the system
Output
generates an electronic ticket, serving as the official document for the
booked flight. These outputs are crucial for both the passenger and the
booking system to track and confirm the reservation.
The actions involved in the online ticket booking process encompass a
series of steps. Firstly, the passenger selects a preferred flight based on
specific criteria. Following this, they provide personal information and
choose seats for the journey. The passenger then confirms the booking
Action details, initiating the payment process. Subsequently, they enter their
credit card information, and the system securely processes the payment.
Upon successful payment, the booking system generates an electronic
ticket. Finally, the system sends a confirmation notification to the
passenger, completing the booking process.
-The passenger has access to the internet and a device capable of making
online transactions.
Pre-condition -The passenger has selected a flight based on preferences.
Post condition -The booking system records the reservation details.
-The passenger receives a booking confirmation along with the electronic
ticket.
-The system updates seat availability and flight records.
2. Cancel online booking:
Function Cancel online booking
Process by which a passenger cancels a previously made booking
Description through the airline's online booking system.
Canceling an online booking involves specific inputs from the passenger.
Initially, the passenger must provide identification details, such as their
name and booking reference number. Additionally, they input the reason
Input
for cancellation, which could include personal reasons, schedule changes,
or unforeseen circumstances. These inputs are crucial for the system to
identify and process the cancellation request accurately.
Upon successful cancellation of an online booking, the primary output is
a cancellation confirmation. This confirmation serves as proof that the
booking has been successfully canceled. Additionally, the system may
Output
issue a refund confirmation if applicable. These outputs are essential for
both the passenger and the booking system to confirm the cancellation
and manage associated changes.
The actions involved in canceling an online booking include the
passenger accessing the booking management section of the website or
application. Here, they enter their identification details and booking
reference number. Subsequently, the passenger selects the booking to be
Action
canceled and provides a reason for cancellation. After confirming the
cancellation, the system processes the request, updates relevant records,
and issues a cancellation confirmation. If applicable, the system calculates
and processes a refund.
-The passenger has a valid booking reference number for the reservation
Pre-condition to be canceled.
-The passenger has a clear reason for canceling the reservation
-The booking system updates its records, marking the canceled
reservation.
-The passenger receives a cancellation confirmation.
Post condition -If applicable, the system processes a refund.
-Financial transactions are updated to reflect the refund.
-Seat availability and flight records are adjusted to reflect the
cancellation, ensuring accurate data for future bookings.
3. Book via agent:
Function Book via Agent
The "Book via Agent" use case in the Airplane Booking System involves a
customer contacting an agent to book an airplane ticket. The agent assists the
Description
customer in the booking process, ensuring a seamless and efficient experience.
The agent has to enter the customer details
( full name and contact information), then enter the flight details ( departure
Input and arrival location, travel dates, passenger information and cabin class ) then
enter the preferred booking options like seat preferences or special requests
such as dietary restrictions or wheelchair assistance.
If the process is valid the system will show the payment confirmation including
details of the payment method, and the ticket confirmation with the booking
Output
reference number.
The customer contacts the agent, either by phone, email, or in-person visit, to
request the booking of an airplane ticket, then the agent collects necessary
information from the customer, including their full name, contact details,
desired departure and arrival airports, travel dates, passenger details, and
cabin class preferences, then the agent checks the availability of flights based
on the customer's preferences, considering factors such as airline, schedule,
Action and pricing. If suitable flights are available, the agent reserves the requested
flight and passenger seats in the airline's reservation system. Then the agent
collects the customer's payment details and processes the payment using the
chosen payment method. The agent provides the customer with a confirmation
of the booked ticket, including a unique booking reference number and the all
details, and share it with the customer via email or communication channels.
- The agent is available and accessible to handle the customer's booking
request.
- Flights matching the customer's preferences and travel details are available
Pre-condition for booking.
- The customer provides accurate and valid information required for the
booking process.
The customer's requested flight is successfully booked and reserved.
Post condition - The customer receives confirmation of the booked ticket, along with a unique
booking reference number.
- Payment for the ticket is successfully processed.
4. Cancel ticket via agent:
Function Cancel Ticket via Agent
The "Cancel Ticket via Agent" use case involves a customer contacting an agent
to cancel a previously booked airplane ticket. The agent assists the customer in
Description
the cancellation process, ensuring a smooth and hassle-free experience.
The agent has to enter the customer details ( full name and contact information
Input ), then enter the booking reference number and flight details
If the process is valid the system will show the cancellation confirmation and
Output refund details (if applicable)
The customer contacts the agent, either by phone, email, or in-person visit, to
request the cancellation of a previously booked airplane ticket, then the agent
collects necessary information from the customer, including their full name,
contact details, and the booking reference number of the ticket to be canceled.
Then the agent verifies the ticket details by cross-checking the provided
booking reference number and customer information. If the ticket is eligible for
cancellation, the agent proceeds with the cancellation process. The agent
Action initiates the cancellation request in the airline's reservation system, following
the necessary procedures and policies. If a refund is applicable based on the
ticket's fare rules and cancellation policy, the agent initiates the refund process.
The agent provides the customer with information regarding the refund
amount and the expected timeline for the refund to be processed. The agent
provides the customer with a confirmation of the ticket cancellation,
acknowledging the successful cancellation of the ticket.
- The agent is available and accessible to handle the customer's cancellation
request.
- The customer possesses a valid booking reference number for the ticket to be
Pre-condition canceled.
- The ticket is eligible for cancellation based on the airline's fare rules and
cancellation policy.
- The customer's ticket is successfully canceled, and the booking is updated
accordingly.
Post condition
- If applicable, the customer is informed about any refund or credit due to them
for the canceled ticket.
- The agent updates the airline's reservation system with the cancellation
details.
- The customer receives a confirmation of the ticket cancellation and any
related refund information.
- The customer's refund, if applicable, is processed according to the airline's
refund policy and timeline.
5. Cancel ticket at counter:
Cancel ticket at counter
Function
This use case involves the process of canceling a ticket at a physical
counter, where counter staff interact with the ticketing system to process
Description
the cancellation.
To cancel a ticket at the counter, the counter staff relies on a simple set
of inputs. The customer provides the Ticket ID associated with the ticket
they wish to cancel. Optionally, the counter staff may request additional
Input
customer information for identity verification. These inputs are essential
for the counter staff to initiate the cancellation process within the
ticketing system accurately.
After canceling a ticket at the counter, the system provides the customer
with a clear confirmation of the canceled ticket. If a refund is applicable,
the system also communicates the relevant refund details to the
Output customer. Concurrently, the counter staff ensures that details of the
canceled ticket are securely stored within the system for future reference.
These straightforward outputs serve to inform the customer about the
cancellation status and maintain organized records within the system.
To cancel a ticket at the counter, the staff, logged in, takes the customer's
request. They enter the Ticket ID, check its validity, and if valid, update it
to "canceled." The system might start a refund. The staff confirms the
Action cancellation to the customer, keeps a record, and that's it. If the ticket
can't be canceled, both know, and if there are tech issues, the staff
follows the right steps. It's a straightforward process for canceling a ticket
at the counter.
Pre-condition Counter staff is logged into the ticketing system.
Post condition Counter staff receives a customer’s request to cancel a ticket.
6. Book at counter:
Book at counter
Function
This use case involves the process of booking a ticket at a physical
counter, where counter staff interact with the ticketing system to facilitate
Description
the booking.
To book a ticket at the counter, the customer provides basic information
such as their name and details about their journey, including the destination,
date, and time. Additionally, the customer submits their payment information
Input
to complete the booking process. These inputs are essential for the counter
staff to enter into the ticketing system and facilitate the reservation.
Upon successful completion of the ticket booking at the counter, the
customer receives a confirmation of the booked ticket. Additionally, the
system generates a printed or electronic ticket, which is handed over to
Output
the customer by the counter staff. These outputs ensure that the
customer has tangible proof of their reservation for the upcoming
journey.
The counter staff, logged into the system, helps the customer with their
ticket booking. The customer shares journey details, and the staff enters
this into the system. After processing the payment, the system confirms
Action the booking and generates a ticket. The staff hands over this confirmed
ticket to the customer, completing the process. The system also updates
its records with the new booking information. This simple sequence
ensures a smooth ticket booking experience at the counter.
Pre-condition Counter staff is logged into the ticketing system
-System gets updated
Post condition -Customer gets a confirmed ticket
-Counter staff keeps a record
The student has to enter the username and password and his ID and the
Pre-condition
teacher has to set his grades.
Post condition The student will see his grades.
1.6 Use Case Diagram