Airline Management System 1
Airline Management System 1
ON
“ AIRLINE MANAGEMENT SYSYTEM”
UTTARANCHAL UNIVERSITY
ACKNOWLEDGEMENT
The most awaited moment of any endeavor is successful completion, but nothing can be done
successfully if done alone. Success is the outcome of the contribution and consistent help of
various persons and we thank those who helped us in the successful completion of this project.
Primarily I would like to thank Prof. (Dr) Sonal Sharma, Director of USCS for providing a
healthy and encouraging cumetto study.
I profusely thankful to the department of computing Science, and Dr. Sameer Dev Sharma,
HOD, and my Project Mentor Mr.Dharmendar kumar.He has been generous enough to provide
me an opportunity and accepting my candidature for the most valuable guidance and affordable
treatment given to us at every stage to boost my morale
UU2209000282
DECLARATION
I hereby declare that the project report titled “AIRLINE MANAGEMENT SYSTEM” is
submitted by Ritika Rawat to “Uttaranchal School of computing sciences”. The project was
done under the guidance of Mr Dharmendra Kumar . I further declare that the work reported in
this project has not been submitted and will not be submitted, either in part or in full, for the
award of any other degree or diploma in this university or any other university or institute
This is to certify that the project entitled “AIRLINE MANAGEMENT SYSTEM” by Ritika
Rawat for the award of the degree of Bachelor of computer applications from Uttaranchal
University, Dehradun. The results embodied in this project have not been submitted to any
other University or Institution for the record of any degree
S.no TOPIC
1. ACKNOWLEDGMENT 2
2. DECLARATION 3
3. CERTIFICATE OF ORIGINALITY 4
4. INTRODUCTION 5
5. OBJECTIVE 6
6. SYSTEM ANALYSIS 7
• EXISTING SYSTEM
• PRPOSED SYSTEM 8
• HARDWARE REQUIREMENT 9
• SOFTWARE REQUIREMENT 10
7. SYSTEM DESIGN 11
12 screenshots 58-63
13 Future scope 64
14 conclusion 65
15 bibliography 66
INTRODUCTION
Airline Management System involves the administration of airports and airlines. Includes
strategic planning and management of operations related to:
● Airport functioning
● Airline services
● Commercial and operational priorities
Covers a broad overview of the airline industry and its key functions.
Improves the customer experience, becoming an added attraction for potential customers.
OBJECTIVE
● The main objective of the Airline Management System is to automate and
streamline the core operations of an airline, such as flight scheduling, ticket
booking, passenger check-in, and staff management, thereby reducing the reliance on
manual processes.
● It aims to minimize human errors and ensure accuracy in data processing by
providing a reliable and consistent system that handles complex operations through
automated workflows.
● The system is designed to act as a centralized platform that integrates all
departments, enabling efficient communication and real-time data sharing among
administrators, airline staff, and passengers.
● One of the key goals is to enhance the operational efficiency of the airline by
reducing response time, improving coordination, and optimizing resource usage such
as aircrafts, crew members, and gates.
● The project seeks to offer a user-friendly and intuitive interface to ensure that all
types of users—whether technical or non-technical—can easily navigate the system
and perform necessary tasks without confusion or delay.
● It also focuses on improving the customer experience by allowing passengers to
check flight availability, book tickets online, receive notifications, and perform
check-ins digitally, thereby increasing customer satisfaction.
● Another objective is to ensure data security and controlled access by implementing
secure login systems, role-based permissions, and encrypted transactions to protect
sensitive information related to passengers, flights, and operations.
● The system should also support report generation and analytics, providing airline
management with insights into operations, finances, and customer behavior, helping
them make informed and strategic business decisions.
● Finally, the system reflects the airline’s commitment to embracing new
technologies, showcasing a modern and progressive attitude that can serve as an
added advantage in attracting tech-savvy customers and staying competitive in the
aviation market.
● Flight scheduling
● Ticket booking and cancellation
● Passenger check-in
● Crew and aircraft management
● Report generation
● To enhance the efficiency of airline operations through faster processing and real-
time updates.
● To offer a user-friendly interface for different users including administrators, staff,
and customers.
● To improve customer experience by enabling online bookings, updates, and digital
check-in services.
SYSTEM ANALYSIS
EXISTING SYSTEM
● A fully automated Airline Management System built using Java for enhanced
performance and portability.
● Provides a centralized platform for managing flights, bookings, check-ins, staff, and
reports.
● Supports real-time updates for flight schedules, availability, and passenger information.
● Offers user-friendly interfaces for admins, staff, and customers.
● Enables online ticket booking, cancellation, and check-in, improving customer
convenience.
● Ensures data security and role-based access control for safe operations.
● Integrates flight scheduling, crew assignment, and aircraft management into a single
system.
● Generates detailed reports for management insights and decision-making.
● Designed with MVC architecture, making the system modular, scalable, and easy to
maintain.
● Reflects a modern and tech-savvy approach, adapting to digital transformation in the
aviation industry.
HARDWARE AND SOFTWARE
Hardware Requirements:
Processor: Intel i3 or equivalent (minimum)
Operating System: Windows, macOS, or Linux (any system capable of running Python)
Software Requirements:
Java JDK 8 or above – Core programming language
SYSTEM DESIGN
LOGICAL DESIGN
1. Actors
1. Login Screen
2. Home Screen
3. Details Module
4. Tickets Module
- Submit
Login - Reset Validate credentials, reset input fields, or exit program.
- Close
- Navigate to Details or
Home Page Main control hub after successful login.
Tickets
Module Processes / Actions Description
- Add Customer
- Flight Details
Manages core operations like booking, managing flights, and
Details - Book Flights
customers.
- Journey Details
- Cancel Ticket
Tickets - Generate Boarding Pass Displays ticket data retrieved by PNR number.
[Admin]
|
v
[Login Screen]
|
+--> Submit --> Validate Admin → Success → [Home Screen]
| |
| +--> Failure → Show Error
|
+--> Reset --> Clear username/password fields
+--> Close --> Exit system
|
v
[Home Screen]
|
+--> [Details Module]
| |
| +--> Add Customer
| +--> Flight Details
| +--> Book Flights
| +--> Journey Details
| +--> Cancel Ticket
|
+--> [Tickets Module]
|
+--> Boarding Pass (fetch by PNR)
DATABASE DESIGN
1. admin Table
2. customer Table
Column Name Data Type Constraints
nationality VARCHAR(50)
gender VARCHAR(10)
address VARCHAR(255)
phone VARCHAR(15)
🔹 3. flight Table
Column Name Data Type Constraints
🔹 4. reservation Table
Column Name Data Type Constraints
🔹 5. journey Table
Column Name Data Type Constraints
seat_no VARCHAR(10)
gate VARCHAR(10)
🔹 6. boarding_pass Table (optional, or could be generated from reservation +
flight + customer)
Column Name Data Type Constraints
🔹 Relationships Overview
🧩 Optional Enhancements
.
FLOWCHART
DATA FLOW DIAGRAM
DFD Level 0
Admin
| Home Page |
| Details | | Tickets |
MYSQL
Table cancellation:
Table flight:
create table flight(f_code varchar(10), f_name varchar(20), src varchar(30), dst varchar(30));
Table login:
Table passenger:
Table payment:
Table reservation:
create table reservation(pnr_no varchar(10), ticket_id varchar(10), f_code varchar(10), jny_date
DATE, jny_time varchar(10), src varchar(20), dst varchar(20));
Table sector:
Frontend Implementation
Java Core
Core Java is the part of Java programming language that is used for creating or developing a
general-purpose application. It uses only one tier architecture that is why it is called as ‘stand
alone’ application.Core java programming covers the swings, socket, awt, thread concept,
collection object and classess.
Swings
Swing is a GUI widget toolkit for Java. It is part of Oracle's Java Foundation Classes (JFC) – an
API for providing a graphical user interface (GUI) for Java programs.
Swing provides a look and feel that emulates the look and feel of several platforms, and also
supports a pluggable look and feel that allows applications to have a look and feel unrelated to the
underlying platform. It has more powerful and flexible components than AWT. In addition to
familiar components such as buttons, check boxes and labels, Swing provides several advanced
components such as tabbed panel, scroll panes, trees, tables, and lists.
1.Login Page
package airline;
/**
* @author ritik
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
JButton reset,submit,close;
JTextField tfusername;
JPasswordField tfpassword;
public login(){
getContentPane().setBackground(Color.WHITE);
setLayout(null);
lblusername.setBounds(20,20,100,20);
add(lblusername);
tfusername=new JTextField();
tfusername.setBounds(130,20,200,20);
add(tfusername);
lblpassword.setBounds(20,60,100,20);
add(lblpassword);
tfpassword=new JPasswordField();
tfpassword.setBounds(130,60,200,20);
add(tfpassword);
reset=new JButton("Reset");
reset.setBounds(40,120,120,20);
reset.addActionListener(this);
add(reset);
submit=new JButton("submit");
submit.setBounds(190,120,120,20);
submit.addActionListener(this);
add(submit);
close=new JButton("close");
close.setBounds(120,160,120,20);
close.addActionListener(this);
add(close);
setSize(400,250);
setLocation(500,250);
setVisible(true);
if(ae.getSource() == submit){
try{
ResultSet rs = c.s.executeQuery(query);
if(rs.next()){
new Home();
setVisible(false);
}else{
setVisible(false);
}
}catch(Exception e){
e.printStackTrace();
setVisible(false);
tfusername.setText("");
tfpassword.setText ("");
new login();
2.home page
package airline;
/**
*
* @author ritik
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public Home(){
setLayout(null);
setExtendedState(JFrame.MAXIMIZED_BOTH);
setVisible(true);
}
public void actionPerformed(ActionEvent ae){
String text =ae.getActionCommand();
new Boardingpass();
}
}
public static void main(String[]args){
new Home();
}
}
/**
*
* @author ritik
*
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
JTextField tfname,tfPhone,tfadhaar,tfnationality,tfaddress;
JRadioButton rbmale,rbfemale;
public addcustomer(){
getContentPane().setBackground(Color.WHITE);
setLayout(null);
JLabel heading= new JLabel("Add Customer Details");
heading.setBounds(300,20,500,35);
heading.setFont(new Font("Tahoma", Font.PLAIN,32));
heading.setForeground(Color.BLUE);
add(heading);
gendergroup.add(rbmale);
gendergroup.add(rbfemale);
setSize(900,600);
setLocation(300,150);
setVisible(true);
}
public void actionPerformed(ActionEvent ae){
String name=tfname.getText();
String address=tfaddress.getText();
String nationality=tfnationality.getText();
String phone=tfPhone.getText();
String adhaar=tfadhaar.getText();
String gender= null;
if(rbmale.isSelected()){
gender="male";
}
else{
gender="female";
}
try{
conn c=new conn();
String query="insert into passangers values('"+name+"'
,'"+nationality+"','"+phone+"','"+address+"','"+adhaar+"','"+gender+"')";
c.s.executeUpdate(query);
JOptionPane.showMessageDialog(null, "Customer Details added Successfully");
setVisible(false);
}
catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[]args){
new addcustomer();
}
}
4. flight info
package airline;
/**
*
* @author ritik
*/
import javax.swing.*;
import java.awt.*;
import java.sql.*;
import net.proteanit.sql.DbUtils;
try{
conn conn= new conn();
ResultSet rs= conn.s.executeQuery("select* from flight");
table.setModel(DbUtils.resultSetToTableModel(rs));
}catch(Exception e){
e.printStackTrace();
}
JScrollPane jsp =new JScrollPane(table);
jsp.setBounds(0,0,800,500);
add(jsp);
setSize(800,500);
setLocation(400,200);
setVisible(true);
}
new flightinfo();
}
}
public bookflight(){
getContentPane().setBackground(Color.WHITE);
setLayout(null);
try{
conn c= new conn();
String query="select *from flight";
ResultSet rs= c.s.executeQuery(query);
while(rs.next()){
source.add(rs.getString("source"));
destination.add(rs.getString("destination"));
}
}catch(Exception e){
e.printStackTrace();
}
flight =new JButton("Fetch Flights");
flight.setBackground(Color.BLACK);
flight.setForeground(Color.WHITE);
flight.setBounds(380,380,120,25);
flight.addActionListener(this);
add(flight);
JLabel lblfname= new JLabel("Flight Name");
lblfname.setBounds(60,430,150,25);
lblfname.setFont(new Font("Tahoma", Font.PLAIN,16));
add( lblfname);
setSize(1100,700);
setLocation(200,50);
setVisible(true);
}
public void actionPerformed(ActionEvent ae){
if(ae.getSource()==fetchButton){
String adhaar=tfadhaar.getText();
try{
conn conn=new conn();
String query="select * from passangers where adhaar = '"+adhaar+"'";
ResultSet rs = conn.s.executeQuery(query);
if(rs.next()){
tfname.setText(rs.getString("name"));
tfnationality.setText(rs.getString("nationality"));
tfaddress.setText(rs.getString("address"));
labelgender.setText(rs.getString("gender"));
}else{
}
catch(Exception e){
e.printStackTrace();
}
}else
{
if(ae.getSource()==flight){
String src=source.getSelectedItem();
String dest=destination.getSelectedItem();
try{
conn conn=new conn();
String query="select * from flight where source= '"+src+"' and destination
='"+dest+"'";
ResultSet rs = conn.s.executeQuery(query);
if(rs.next()){
labelfname.setText(rs.getString("f_name"));
labelfcode.setText(rs.getString("f_code"));
}else{
}
catch(Exception e){
e.printStackTrace();
}
}else{
Random random = new Random();
try{
conn conn=new conn();
String pnr = "PNR-" + random.nextInt(1000000);
String ticket = "TIC-" + random.nextInt(10000);
String query = "insert into reservation values('" + pnr + "', '" + ticket + "', '" +
adhaar + "', '" + name + "', '" + nationality + "', '" + flightname + "', '" + flightcode +
"', '" + src + "', '" + dest + "', '" + ddate + "')";
conn.s.executeUpdate(query);
setVisible(false);
}
catch(Exception e){
e.printStackTrace();
}
}
}
}
public static void main(String[]args){
new bookflight();
}
}
6.Journey detail page
package airline;
/**
*
* @author ritik
*/
import javax.swing.*;
import java.awt.*;
import java.sql.*;
import net.proteanit.sql.DbUtils;
import java.awt.event.*;
pnr=new JTextField();
pnr.setBounds(160,50,120,25);
add(pnr);
setSize(800,500);
setLocation(400,150);
setVisible(true);
}
public void actionPerformed(ActionEvent ae){
try{
conn conn=new conn();
ResultSet rs= conn.s.executeQuery("Select * from reservation where
PNR='"+pnr.getText()+"'");
if(!rs.isBeforeFirst()){
JOptionPane.showMessageDialog(null,"no information found");
return;
}
table .setModel (DbUtils.resultSetToTableModel(rs));
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[]args){
new journeydetails();
}
}
7.Cancel page
package airline;
/**
*
* @author ritik
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
public cancel(){
getContentPane().setBackground(Color.WHITE);
setLayout(null);
heading.setBounds(180,20,250,35);
heading.setFont(new Font("Tahoma", Font.PLAIN,32));
heading.setForeground(Color.BLUE);
add(heading);
ImageIcon i3=new
ImageIcon(ClassLoader.getSystemResource("airline/icons/cancel.jpg"));
Image i4=i3.getImage().getScaledInstance(450, 320, Image.SCALE_DEFAULT);
ImageIcon i5=new ImageIcon(i4);
JLabel image =new JLabel(i5);
image.setBounds(470, 120,250, 250);
add(image);
setSize(800,450);
setLocation(350,100);
setVisible(true);
}
public void actionPerformed(ActionEvent ae){
if(ae.getSource()==fetchButton){
String pnr=tfpnr.getText();
try{
conn conn=new conn();
String query="select * from reservation where PNR= '"+pnr+"'";
ResultSet rs = conn.s.executeQuery(query);
if(rs.next()){
tfname.setText(rs.getString("name"));
lblfcode.setText(rs.getString("nationality"));
lbldateoftravel.setText(rs.getString("ddate"));
}else{
}
catch(Exception e){
e.printStackTrace();
}
}else
{
if(ae.getSource()==flight){
String name=tfname.getText();
String pnr=tfpnr.getText();
String cancelno= Cancellationno.getText();
String fcode= lblfcode.getText();
String date= lbldateoftravel.getText();
try{
conn conn=new conn();
String query="insert into cancel values ( '"+pnr+"'
,'"+name+"','"+cancelno+"','"+fcode+"','"+date+"')";
conn.s.executeUpdate(query);
conn.s.executeUpdate("delete from reservation where PNR='"+pnr+"'");
}
catch(Exception e){
e.printStackTrace();
}
}
}
}
public static void main(String[]args){
new cancel();
}
}
/**
*
* @author ritik
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
public Boardingpass(){
getContentPane().setBackground(Color.WHITE);
setLayout(null);
setSize(1000,450);
setLocation(300,150);
setVisible(true);
}
public void actionPerformed(ActionEvent ae){
String pnr=tfpnr.getText();
try{
conn conn=new conn();
String query="select * from reservation where PNR = '"+pnr+"'";
ResultSet rs = conn.s.executeQuery(query);
if(rs.next()){
tfname.setText(rs.getString("name"));
tfnationality.setText(rs.getString("nationality"));
lblsrc.setText(rs.getString("src"));
lbldest.setText(rs.getString("des"));
labelfname.setText(rs.getString("flightname"));
labelfcode.setText(rs.getString("flightcode"));
labeldate.setText(rs.getString("ddate"));
}else{
}
catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[]args){
new Boardingpass();
}
}
9. Connection code
This code connects the database to the all java code
package airline;
/**
*
* @author ritik
*/
import java.sql.*;
Connection c;
Statement s;
public conn(){
try{
Class.forName("com.mysql.cj.jdbc.Driver");
c =DriverManager.getConnection("jdbc:mysql:///airlinemanagment",
"root","1234");
s= c.createStatement();
}catch(Exception e){
e.printStackTrace();
}
}
}
Output screenshots
Login page
Home page
Journey details
Ticket cancellation
Boarding pass
FUTURE SCOPE
1. Integration with Payment Gateway
o Add secure online payment features for booking flights via credit/debit cards,
UPI, or net banking.
2. Real-time Flight Tracking
o Integrate APIs to show real-time flight status, delays, gate changes, or
cancellations.
3. Multi-role Access
o Implement different user roles (Admin, Customer Support, User) with role-
specific dashboards and access rights.
4. Mobile App Development
o Develop Android/iOS apps to allow customers to book and manage tickets on the
go.
5. Email & SMS Notifications
o Send booking confirmations, cancellation notices, and journey reminders via
email/SMS.
6. Customer Feedback System
o Allow users to rate flights and provide feedback for service improvement.
7. Loyalty Program
o Introduce a frequent flyer program with reward points, discounts, and offers.
8. Multi-language Support
o Make the application usable in multiple languages to support international users.
9. Data Analytics & Reporting
o Use analytics to track bookings, customer behavior, and generate admin reports
for better decision-making.
10. AI Chatbot Integration
CONCLUSION
This project on Airline Management System is the automation of registration process of
airline system. The system is able to provide much information like passenger’s details, flight
details and the booking details. The system allows us to add records when a passenger reserves a
ticket. It also allows to delete and update the records based on passenger’s requirements. This
project has guided our path through various aspects of computer science where developing online
application plays a major role.
Bibliography
● Http://www.tutorial.com
● http://www.wikipedia.com
● https://developers.openshift.com/database/mysql.html