[go: up one dir, main page]

0% found this document useful (0 votes)
47 views21 pages

Airline Ticket Reservation System

Uploaded by

tube33261
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)
47 views21 pages

Airline Ticket Reservation System

Uploaded by

tube33261
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/ 21

AD23303

DATABASE MANAGEMENT SYSTEM LABORATORY

Project Report

Submitted by

Jaiprakash S (2023510027)
Dhayanidhi D (2023510022)
Mohamed Imran I (2023510301)

B.tech(3/8)

DEPARTMENT OF INFORMATION TECHNOLOGY


MADRAS INSTITUTE OF TECHNOLOGY
ANNA UNIVERSITY
CHENNAI-600044

NOVEMBER/DECEMBER 2024
Abstract: Airline Ticket Reservation System

The Airline Ticket Reservation System is a comprehensive application designed to


simplify and streamline the process of booking airline tickets. This system integrates
an intuitive front-end interface built using Python's Tkinter library with a robust
back-end Oracle SQL database to ensure seamless data management and user
interaction.

The application offers core functionalities such as ticket booking, flight search,
passenger registration, and cancellation, enabling efficient management of
travel-related information. It is designed with features like dynamic flight schedules,
real-time seat availability, and secure payment gateways to provide an optimal user
experience.

The database ensures the integrity and accuracy of the stored data, supporting
operations such as retrieving flight details, storing passenger information, and
generating booking reports. The interface is user-friendly and provides easy
navigation, catering to both administrators and end-users.

This project aims to reduce manual errors, enhance data security, and improve
customer satisfaction by automating and optimizing the airline ticket reservation
process. The system serves as a scalable solution adaptable to diverse airline
requirements.

Keywords: Airline Ticket Reservation, Python Tkinter, Oracle SQL, Automation,


Flight Management.
PROJECT REPORT

HOME PAGE:

Introduction

The home page of the Airline Ticket Reservation System serves as the central interface
for users to interact with the system. Designed with Python's Tkinter library, it provides a
visually appealing, intuitive, and functional layout to guide users through the system's core
features. The home page is the gateway to functionalities like flight search, booking,
registration, and user account management.

Features of the Home Page

1. Navigation Bar
○ The navigation bar provides quick access to key features such as:
■ Flight Search: Redirects to a form to search available flights based
on departure, destination, and date.
■ Book a Ticket: Leads to the ticket booking section.
■ Cancel Ticket: Enables ticket cancellations.
■ My Bookings: Displays a user's booking history.
2. Welcome Message and System Overview
○ A welcome section greets users and provides a brief description of the
system's purpose and functionalities.
3. Login and Registration Options
○ The home page includes a login section for registered users and a "Register
Now" button for new users to create an account.
4. Dynamic Flight Updates
○ Displays real-time updates of flights, such as recently added routes, current
offers, and seat availability (if applicable).
5. Footer Information
○ The footer contains additional details such as support contact, terms and
conditions, and links to FAQs.

Design and Layout

● Header Section: Features the system's logo and title.


● Central Menu: Includes buttons for key functionalities like flight search, booking, and
cancellations.
● Color Scheme: The interface uses a professional and calming color palette (e.g.,
blue and white) to represent the airline industry.
● Responsiveness: Designed to adapt to different screen sizes, ensuring usability on
various devices.
Implementation

The home page is implemented using Python's Tkinter library. Key widgets include:

● Labels for headings and messages.


● Buttons for navigation and user interaction.
● Frames for organizing sections.
● Entry Boxes for login credentials.

The design ensures that every widget is connected to the underlying Oracle SQL database,
enabling seamless user interactions, such as fetching flight details and authenticating users.

BOOKING PAGE

Introduction

The Book Ticket page of the Airline Ticket Reservation System is a crucial component
that allows users to search for and book tickets for flights based on their travel preferences.
It provides a seamless and efficient way to reserve airline seats while integrating user inputs
with real-time data from the Oracle SQL database. The page is designed to be user-friendly
and ensures error-free data entry to enhance the booking process.

Features of the Book Ticket Page

1. Flight Search Section


○ Input Fields:
■ Departure city.
■ Destination city.
■ Travel date.
○ Search Button: Initiates the search for available flights based on the entered
details.
○ Search Results: Displays a list of matching flights, including details like flight
number, departure time, arrival time, price, and seat availability.
2. Passenger Information Section
○ Input Fields:
■ Passenger name.
■ Age and gender.
■ Contact information (email and phone number).
■ Passport or ID details (if required).
3. Seat Selection
○ Displays seat availability in a grid format, allowing users to choose their
preferred seat.
○ Differentiates between available, booked, and premium seats using distinct
color coding.
4. Payment Section
○ Users can review ticket details, including total cost and selected seats.
○ Provides payment options (e.g., card payment, net banking).
○ Confirms payment and generates a receipt.
5. Confirmation and Ticket Generation
○ After payment, the system generates a ticket with a unique booking ID.
○ Displays ticket details such as passenger name, flight details, seat number,
and fare.
○ Offers an option to download or email the ticket.

Design and Layout

1. Header
○ Displays the title "Book a Ticket" along with the system's logo and a
navigation menu for easy access to other sections.
2. Central Form
○ A multi-section form guides users through the booking process.
○ Clear labels and placeholders ensure smooth data entry.
3. Flight Results Table
○ Uses a grid or table format for listing flight options, making it easy to compare
flights.
4. Color Scheme
○ A professional and calming palette (e.g., blue and white) ensures a visually
appealing interface.
5. Buttons and Interactions
○ Buttons for "Search Flights," "Book Ticket," "Proceed to Payment," and
"Confirm Booking" are strategically placed to guide the user step-by-step.
Implementation Details

● Front-End:
○ Developed using Python's Tkinter library, featuring widgets like labels, entry
boxes, combo boxes, and buttons.
● Back-End:
○ Integrated with an Oracle SQL database to fetch flight details, validate
passenger information, check seat availability, and store booking records.
○ SQL queries ensure secure and efficient data transactions.
● Error Handling:
○ Implements validation for mandatory fields, data types, and payment details
to minimize user errors.

Workflow

1. User enters flight search criteria and clicks Search Flights.


2. System queries the database and displays matching flights.
3. User selects a flight, fills out passenger information, chooses seats, and proceeds to
payment.
4. After successful payment, the booking is confirmed, and the ticket is generated.
BOOK A FLIGHT PAGE:

Features of the Book a Flight Page

1. Flight Search Form


○ Search Criteria:
■ Departure City: Users select the city from which they will depart.
■ Destination City: Users choose their destination city.
■ Departure Date: Users specify the date of travel.
■ Return Date (Optional): For round-trip bookings, users can select a
return date.
■ Passenger Count: Users input the number of passengers for the
flight.
○ Search Button: When clicked, it triggers the search for available flights that
match the specified criteria.
2. Flight Results Display
○ After submitting the search, the system displays a list of flights that match the
user’s input.
○ Flight Information:
■ Flight number, departure time, arrival time, and duration.
■ Price per seat.
■ Seat availability (e.g., available, limited, or fully booked).
■ Optional filters for users to sort or refine the results based on price,
duration, or flight times.
3. Flight Selection
○ Users can select their desired flight from the list of available options.
○ Once a flight is selected, detailed flight information is displayed for
confirmation before proceeding.
4. Passenger Details
○ Passenger Information:
■ Name, gender, date of birth, nationality, and contact information
(phone number, email address).
○ Special Requests: Users can input any special requests or preferences,
such as seat preferences or meal requirements.
5. Seat Selection
○ A visual seating chart or list of available seats is presented, allowing users to
select their preferred seats.
○ Seats are color-coded to indicate availability (e.g., green for available, red for
booked).
6. Payment Section
○ Once flight and seat selection is complete, the user is presented with a
summary of the booking, including the total cost.
○ Payment Options: The system integrates various payment methods (credit
card, debit card, net banking).
○ Users are asked to enter their payment details, and the system securely
processes the payment.
7. Booking Confirmation
○ After payment is successfully processed, the system displays a confirmation
page with the booking details:
■ Flight number, seat number, and passenger information.
■ Booking reference number.
■ Ticket issuance (PDF download or email option).

Design and Layout

1. Header Section
○ The page header displays the airline’s logo and the "Book a Flight" title. It also
includes a navigation menu for easy access to other sections like "Home,"
"Manage Booking," and "Flight Search."
2. Central Form Layout
○ The flight search form and passenger details form are organized in a
multi-step process to keep the interface clean and easy to navigate.
○ Progress Indicator: A progress bar or numbered steps helps users track
where they are in the booking process.
3. Flight Results and Selection Table
○ A well-organized table or list format displays flight options with sortable
columns for flight times, prices, and seat availability.
○ Clear call-to-action buttons like "Select Flight" guide users to the next step.
4. Payment and Confirmation
○ The payment section has input fields for credit card information and a
confirmation button.
○ Upon successful payment, a confirmation message appears with a button to
download or email the ticket.

Implementation Details

1. Front-End
○ Developed using Python Tkinter for the graphical user interface.
○ Utilizes various Tkinter widgets such as Entry fields, Buttons, and
Comboboxes to capture user input and display flight options.
2. Back-End
○ The system interfaces with an Oracle SQL database to retrieve flight data,
seat availability, and process booking information.
○ SQL Queries:
■ Queries for flight availability based on the user's search criteria.
■ Queries for booking seat reservations, passenger details, and
payment processing.
3. Error Handling and Validation
○ The system ensures that all mandatory fields are filled in and that data
entered is valid (e.g., valid email, phone number, and payment details).
○ Error messages guide users in correcting issues before proceeding.
4. Security Features
○ Payment data is securely transmitted and processed using encryption to
ensure user data safety.

Workflow

1. User enters the search criteria (departure city, destination, travel date, etc.) and clicks
the Search Flights button.
2. The system queries the database and displays available flights that match the user’s
input.
3. The user selects a flight and enters passenger details, such as name and contact
information.
4. The user selects available seats and proceeds to the payment page.
5. After completing the payment, the user receives a booking confirmation and the ticket
is generated.

SELECT A CLASS PAGE:


Features of the Select Class Page

1. Class Selection Options


○ Class Types: The page presents various service classes, such as:
■ Economy Class: The most affordable option, offering standard
seating and services.
■ Business Class: A more premium option with additional comfort,
priority services, and extra amenities.
■ First Class: The highest level of service, offering maximum comfort,
luxury, and exclusive services.
○ Price Display: Each class is accompanied by its respective price, allowing
users to make an informed choice based on their budget.
2. Flight Details
○ The flight details section shows the chosen flight number, departure time, and
arrival time, ensuring users know which flight they are selecting the class for.
○ Available seats for each class are displayed so users can choose based on
availability.
3. Class Features Comparison
○ A brief comparison of the benefits of each class (e.g., seat size, meal options,
baggage allowance, priority check-in) helps users understand the differences.
○ Some systems may display visual representations (such as seat layouts or
images) to showcase the comfort level and features for each class.
4. Continue to Next Step
○ Once a class is selected, the user can proceed to the next step in the booking
process (e.g., passenger details, seat selection, payment).
○ A Next button ensures the user can quickly move on after class selection.
Design and Layout

1. Header Section
○ The page includes a header with the system’s logo, the title “Select Class,”
and links to other pages (e.g., Home, Book a Ticket, Manage Booking).
2. Class Options Display
○ The class selection is presented as a set of radio buttons or buttons for each
available class. Each button or radio button displays the class name (e.g.,
Economy, Business, First Class), the price, and an icon or image that
represents the class.
○ A clean, organized layout ensures easy comparison and prevents confusion.
3. Flight and Seat Information
○ Below the class options, a summary of the flight and seat availability for each
class is displayed in a concise format.
○ Available seats in each class are highlighted, and if a class is fully booked, it
is marked as unavailable.
4. Action Buttons
○ Select Class: Users click on the class they prefer, which is then highlighted,
and the class is selected.
○ Next Step: After selecting the class, users proceed to the next page for
entering passenger details or other required information.
○ Back Button: Users can also go back to the previous page if they need to
make changes to their flight search or selection.

Implementation Details

1. Front-End Implementation
○ Developed using Python’s Tkinter library, which provides a graphical user
interface with widgets such as buttons, radio buttons, labels, and entry boxes.
○ The class selection buttons are created using Radiobuttons or Buttons to
ensure a smooth user experience. Each class option is linked to a specific
price and seat availability status.
○ Labels are used to display the flight details and price comparison.
2. Back-End Integration
○ The system queries the Oracle SQL database to fetch available flights and
class options based on the user’s search criteria.
○ When a class is selected, the system retrieves seat availability and updates
the displayed flight options accordingly.
○ The class selection is stored temporarily in the session or database for use in
subsequent steps (e.g., ticket booking and payment).
3. Error Handling
○ The page ensures that users cannot proceed without selecting a class. An
error message prompts users to choose a valid class if they attempt to move
forward without making a selection.
○ If no seats are available in the selected class, users are informed and offered
the option to select a different class or flight.
4. Security Features
○ All data entered during the booking process, including class and flight details,
is securely stored and transmitted to protect user privacy.

Workflow

1. The user arrives on the Select Class page after choosing a flight.
2. They are presented with the available class options (e.g., Economy, Business, First
Class), along with prices and seat availability.
3. The user selects the desired class and clicks the Next button to proceed with
booking.
4. If the selected class is unavailable or if there are errors, the system prompts the user
to select another option.

PASSENGER DETAILS PAGE:

Features of the Passenger Details Page

1. Personal Information Form


○ Required Fields:
■ Full Name: Captures the first, middle, and last names of the
passenger.
■ Gender: A dropdown or radio button for selecting gender.
■ Date of Birth: A date picker or text box to input the birth date.
■ Nationality: A dropdown to select the passenger’s nationality or
country.
■ Contact Information:
■ Email Address: For booking confirmations and notifications.
■ Phone Number: For contact in case of emergencies or
changes to the flight schedule.
○ Optional Fields:
■ Special Requests: A text box for entering special requests such as
meal preferences, seating preferences, etc.
■ Frequent Flyer Number (if applicable): For passengers who wish to
apply loyalty points or benefits.
2. Identification Information
○ Passport/ID Details: Depending on the flight's destination and the user’s
nationality, passengers may need to provide identification details such as
passport number, expiration date, and country of issuance.
○ Visa Information (if applicable): For international flights, users may be asked
to provide visa details for verification.
3. Validation and Error Handling
○ Mandatory Fields: Fields such as name, gender, and contact details are
required and must be filled in before proceeding.
○ Format Checks: The system checks that the email address is valid, phone
numbers follow the correct format, and passport or ID numbers are entered
correctly.
○ Error Messages: If the required fields are not filled or contain errors, the
system displays error messages and prevents the user from proceeding until
all data is validated.
4. Navigation and Proceeding
○ Once the passenger details are entered, the system allows users to proceed
to the next page (e.g., seat selection or payment) by clicking a Next button.
○ A Back button allows users to return to the previous page (e.g., flight
selection or class selection) if they need to make any changes to their
information.
5. Data Security
○ The page ensures that all user data entered is stored securely, following best
practices for data protection. Sensitive information, such as passport details,
is encrypted and securely transmitted to the database.

Design and Layout

1. Header Section
○ The header includes the system’s logo and the page title “Passenger Details.”
It also provides links to other parts of the application, such as the home page
and flight search.
2. Form Layout
○ The passenger details form is divided into clear sections, such as personal
information, contact details, and identification information. This ensures that
the page is well-organized and easy to navigate.
○ Each section contains relevant input fields with labels for clarity.
3. Input Fields
○ The form uses Entry widgets for text input (name, email, phone number),
Radio buttons for gender selection, and Combo boxes for nationality
selection.
○ Date pickers are used for the date of birth, ensuring users select a valid date.
○ Text boxes are provided for special requests or additional comments.
4. Error Handling and Instructions
○ Clear error messages are displayed next to the relevant field if there are
issues with the entered data (e.g., invalid email format or incomplete fields).
○ An instruction or tooltip may be displayed near certain fields to guide users,
such as formatting guidelines for phone numbers or ID/passport numbers.

Implementation Details

1. Front-End Implementation
○ Built using Tkinter for creating the graphical user interface, utilizing widgets
like Entry, Radiobutton, Combobox, Text, and Button.
○ The form design ensures that each input field is aligned and easy for the user
to fill out. It also offers a seamless experience when moving between
sections.
2. Back-End Integration
○ The system integrates with an Oracle SQL database to store the passenger
details entered on the page. SQL queries are used to ensure that the entered
data is validated and securely stored in the database.
○ For example, once the user submits the form, the system performs SQL
inserts to add the passenger’s details to the database, ensuring a link is
created between the passenger and their booking.
3. Error Handling
○ The system checks for missing or invalid input and prompts users to correct
errors before submitting the form. For example, it ensures the email follows a
valid format, phone numbers are correctly formatted, and mandatory fields
are not left blank.
4. Security Features
○ To ensure data privacy, personal information entered by the user is stored
securely, encrypted, and handled according to the system’s security policies.
All data is transmitted over secure channels (e.g., SSL/TLS) to prevent
unauthorized access.

Workflow

1. The user arrives at the Passenger Details page after selecting a flight and class.
2. The user enters personal details, including name, contact information, and
identification (e.g., passport details).
3. After filling in the necessary fields, the user can click the Next button to proceed with
the booking process (e.g., seat selection or payment).
4. If any field contains an error, an error message appears, and the user is prompted to
correct the information.
5. Once all the data is validated, the user moves on to the next step in the booking
process.

PAYMENT DETAILS PAGE:

Report: Airline Ticket Reservation System - Payment Details Page

Introduction

The Payment Details page of the Airline Ticket Reservation System plays a crucial role in
completing the flight booking process. It allows users to securely enter their payment
information to purchase flight tickets. This page is designed to provide a smooth, intuitive,
and secure method for users to finalize their booking. The system supports various payment
methods, ensuring flexibility for users while safeguarding sensitive financial data.

Features of the Payment Details Page

1. Payment Information Form


○ Payment Methods: The page supports multiple payment options for user
convenience:
■ Credit Card: Users can enter their credit card number, expiry date,
and CVV.
■ Debit Card: Similar to credit card payments, users can enter debit
card details.
■ Net Banking: For users who prefer to pay via online bank transfers, a
net banking option is provided.
■ Wallets: Integration with digital wallets (e.g., PayPal, Google Pay,
etc.) may also be available, depending on the system.
○ Billing Information:
■ Billing Address: Users may be asked to provide their billing address
associated with the payment method.
■ Name on Card: The name on the credit or debit card is required for
verification.
2. Price Summary
○ Total Amount: The total price for the flight, including taxes, fees, and any
additional charges, is clearly displayed.
○ Breakdown of Charges: The page may also show a detailed breakdown of
the flight fare, taxes, and other fees to ensure transparency.
○ Currency Selection: If the system supports international users, the currency
can be selected based on the user’s location.
3. Security Features
○ SSL Encryption: Payment information is transmitted securely using SSL
(Secure Socket Layer) encryption to protect sensitive data.
○ PCI DSS Compliance: The system follows the Payment Card Industry Data
Security Standard (PCI DSS) to ensure that credit card details are handled
securely.
○ Two-Factor Authentication (Optional): For additional security, the system
may integrate two-factor authentication (2FA) to verify user identity during
payment.
○ Fraud Prevention: Real-time checks for fraudulent transactions help prevent
unauthorized payment attempts.
4. Payment Confirmation
○ Payment Status: Once payment is processed, users are shown a
confirmation message with the payment status (e.g., payment successful or
payment failed).
○ Booking Reference: A unique booking reference number is generated and
displayed, allowing the user to track their booking or make changes if needed.
○ Receipt Generation: After a successful transaction, users can download or
receive an email receipt with booking details, including the amount paid, flight
details, and payment method used.
5. Error Handling and Troubleshooting
○ Validation of Payment Information: The system ensures that all required
payment fields are filled correctly (e.g., valid credit card number, expiration
date, CVV).
○ Error Messages: If the payment fails, an error message is displayed, guiding
the user to correct the issue (e.g., insufficient funds, incorrect card details).
○ Retry Option: If the payment fails, the system allows users to try again with a
different payment method.

Design and Layout

1. Header Section
○ The header contains the system’s logo and a link to other parts of the site
(e.g., Home, Manage Booking). The page title, “Payment Details,” is clearly
visible at the top to ensure users know they are in the final step of the booking
process.
2. Payment Information Form Layout
○ The payment form is designed to be simple and intuitive, with input fields
clearly labeled for each type of payment method.
○ Radio buttons or a dropdown menu are used for selecting the payment
method.
○ Text fields for card number, expiry date, CVV, and billing address are neatly
aligned to avoid clutter and enhance user experience.
3. Price Summary Section
○ The price summary is presented in a clear, well-organized box, making it easy
for users to review the total cost before proceeding with the payment.
○ If taxes or additional fees are applicable, they are clearly broken down for
transparency.
4. Action Buttons
○ Submit Payment: A prominent Pay Now button initiates the payment
process.
○ Cancel: A button that allows users to cancel the payment and return to
previous steps (such as reviewing flight details or passenger information).
○ Back: Users can go back to the previous page (e.g., passenger details or
flight selection) if they wish to make changes before proceeding with
payment.

Implementation Details

1. Front-End Implementation
○ The payment page is developed using Python Tkinter for the GUI, providing
a set of text fields, buttons, and dropdowns for the payment process.
○ The payment form is simple yet secure, with validation checks in place to
ensure the correct format for credit card numbers, expiration dates, and other
relevant information.
2. Back-End Integration
○ The system integrates with payment gateways (e.g., Stripe, PayPal, or bank
APIs) to securely process payments. These third-party services handle the
transaction securely, ensuring that sensitive data is never stored in the
airline's system.
○The payment gateway returns a success or failure response, which is
displayed to the user. If the payment is successful, the system updates the
booking status in the database.
3. Payment Gateway API
○ The system communicates with the selected payment gateway’s API,
transmitting the necessary details (e.g., credit card number, amount,
currency) and receiving the payment confirmation or failure status.
○ The transaction is logged, and a receipt is generated that includes the
payment details, booking reference, and flight details.
4. Security and Compliance
○ All payment data is encrypted and processed according to PCI DSS
standards to protect user data.
○ Tokenization may be used for storing payment method information, ensuring
that sensitive data is never stored in an unprotected form.

Workflow

1. The user reaches the Payment Details page after entering passenger details and
confirming their flight selection.
2. The user selects a payment method and fills in the required details, such as credit
card number, expiration date, and billing information.
3. After reviewing the price summary, the user clicks the Pay Now button to proceed
with the payment.
4. The system sends the payment details to the payment gateway for processing. If
successful, the system generates a confirmation message with the booking reference
and a receipt.
5. If payment fails, the user is informed with an error message and given the option to
retry or choose a different payment method

VIEW OR CANCEL TICKET:


Features of the View or Cancel Ticket Page

1. Ticket Overview
○ Booking Information: The page provides an overview of the booking,
including:
■ Booking Reference Number: A unique reference ID assigned to the
booking.
■ Flight Details: Flight number, departure and arrival locations, dates,
and times.
■ Passenger Details: A summary of the passenger's name, contact
information, and any additional requested services (e.g., special
meals, seat preferences).
■ Payment Status: Indicates whether the payment for the ticket has
been successfully processed.
2. View Ticket Details
○ Ticket Information: Users can view detailed information about their ticket,
including flight class, baggage allowance, and any other specific services or
discounts applied.
○ Booking History: A history of the flight booking and any changes made to
the original reservation (e.g., seat upgrades, class changes).
○ Download Ticket: Users can download a PDF version of their ticket for their
records.
3. Cancel Ticket Option
○ Cancellation Button: A prominent Cancel Ticket button is provided, which
users can click to initiate the cancellation process.
○ Cancellation Policy: Before confirming cancellation, users are shown the
cancellation policy, including any cancellation fees, deadlines, and eligibility
for refunds.
○ Refund Eligibility: If the ticket is eligible for a refund, users are informed of
the refund amount they will receive. If not, they are informed that no refund is
available.
4. Confirmation of Cancellation
○ Confirmation Dialog: If the user clicks the cancel button, a confirmation
dialog appears, asking whether they are sure about the cancellation. This is
to prevent accidental cancellations.
○ Refund Processing: Once the cancellation is confirmed, the system
processes the cancellation, updates the ticket status, and initiates a refund if
applicable.
○ Cancellation Success Message: After successful cancellation, users receive
a confirmation message along with updated booking information, and they are
informed about the next steps for the refund (if applicable).
5. Error Handling
○ Booking Not Found: If the user enters an incorrect booking reference or
their booking cannot be found, an error message is displayed.
○ Ticket Cannot Be Canceled: If the ticket cannot be canceled due to airline
policies (e.g., no refund, past the cancellation window), the system informs
the user with an appropriate message.
○ Payment Issues: If there are any issues with the payment status (e.g.,
payment was not processed successfully), users are alerted and prompted to
resolve the issue before cancellation.

Design and Layout

1. Header Section
○ The header includes the system’s logo, page title “View or Cancel Ticket,” and
a link to return to the home page or manage other bookings.
2. Ticket Details Section
○ The page is divided into clearly labeled sections:
■ Booking Details: Displays flight information, booking reference, and
passenger details in a well-organized layout.
■ Payment and Ticket Status: A summary of the payment status
(successful/failed) and whether the ticket is confirmed or canceled.
○ A Cancel Ticket button is prominently displayed, typically below the ticket
information, making it easy for users to find and click.
3. Cancellation Confirmation
○ A pop-up or confirmation message ensures that users understand the
consequences of canceling a ticket. It provides details such as the
cancellation fee and refund eligibility.
4. Action Buttons
○ Cancel Ticket: Initiates the cancellation process.
○ Download Ticket: Allows users to download a PDF version of their ticket.
○ Back to Homepage: Takes users back to the home page or main booking
page.

Implementation Details

1. Front-End Implementation
○ The page is built using Tkinter for the graphical user interface, using widgets
like Label, Button, Text, and Messagebox to display ticket details, the
cancellation confirmation dialog, and other user interactions.
○ The Cancel Ticket button is prominently displayed and triggers a
confirmation pop-up before proceeding with the cancellation.
2. Back-End Integration
○ The system retrieves ticket information and booking details from the Oracle
SQL database based on the user’s booking reference number.
○ If the user requests to cancel their ticket, the system checks the cancellation
policy in the database (e.g., refundable/non-refundable, cancellation window,
fees) before processing the request.
○ The system then updates the booking status in the database to "canceled"
and processes the refund (if applicable) through integration with payment
gateways or the airline's internal refund system.
3. Cancellation Process
○ Once the cancellation is confirmed, the database records the status change,
and a refund transaction (if applicable) is initiated.
○ The system may send an email or SMS to the user, confirming the
cancellation and detailing the refund process and timeline.
4. Error Handling
○ The system handles errors by displaying relevant error messages if the
booking reference is incorrect, the ticket cannot be canceled, or payment
issues occur.
○ Exception Handling is used to ensure that any unexpected issues (e.g.,
system errors, database failures) are caught and resolved without crashing
the application.

Workflow

1. The user navigates to the View or Cancel Ticket page after logging into their
account or entering their booking reference.
2. The system retrieves and displays the ticket details, including flight information,
passenger details, and payment status.
3. The user clicks the Cancel Ticket button to initiate the cancellation process.
4. A confirmation dialog appears, asking the user to confirm the cancellation.
5. Once confirmed, the system processes the cancellation, updates the booking status,
and issues a refund if applicable.
6. A confirmation message is displayed, and the user can choose to download the
ticket, go back to the homepage, or check the status of the refund.

CONCLUSION:

The Airline Ticket Reservation System is an efficient and comprehensive solution


designed to streamline the flight booking process for users. By integrating user-friendly
features such as flight search, seat selection, passenger details, payment processing, and
ticket cancellation, the system provides a seamless experience from booking to final ticket
management. The project successfully meets its objectives by leveraging Python Tkinter for
the graphical user interface and Oracle SQL for managing data storage and retrieval.

You might also like