Airline Reservation System using Java and SQL

Challenge:

Today airlines strive not only to sell as many tickets as possible, but also to increase their brand’s loyalty and to maximize the average value per transaction for new and returning customers. This airline booking software is a perfect fit for all of these goals.

Solution:

If you consider enabling direct flight booking at your corporate website to boost your online ticket sales, this can offer:

  • effective airline booking engine implementation and support
  • smart intuitive user interface
  • seamless and fast flight search and book process
  • integration with secure payment systems
  • social media applications as additional marketing channels for brand’s social exposure
  • mobile solutions with mobile-adapted ticket booking interface

Since flight reservation is considered the largest among all bookable sectors in travel industry, think about the profit that can be achieved by promoting auxiliary products and value-added services together with airline ticket sales!

This airline booking software provides seamless integration with travel product suppliers via unified connectivity.

Project Description :

  • Airline reservation systems incorporate airline schedules, fare tariffs, passenger reservations and ticket records. An airline’s direct distribution works within their own reservation system, as well as pushing out information to the GDS. The second type of direct distribution channel are consumers who use the internet or mobile applications to make their own reservations. Travel agencies and other indirect distribution channels access the same GDS as those accessed by the airline reservation systems, and all messaging is transmitted by a standardized messaging system that functions on two types of messaging that transmit on SITA’s high level network (HLN). These messaging types are called Type A [usually EDIFACT format] for real time interactive communication and Type B [TTY] for informational and booking type of messages. Message construction standards set by IATA and ICAO, are global, and apply to more than air transportation. Since airline reservation systems are business critical applications, and they are functionally quite complex, the operation of an in-house airline reservation system is relatively expensive.
  • In addition to these “standardized” GDS, some airlines have proprietary versions which they use to run their flight operations. A few examples are Delta’s OSS and Deltamatic systems and EDS SHARES. SITA Reservations remains the largest neutral multi-host airline reservations system, with over 100 airlines currently managing inventory.
  • In this demo project a simple airline reservation project is built for an airlines company called “Madison Airlines” .An intuitive user interface makes it easier to check in and provide real time access to reservations.
  • This project was built from the ground up to be a complete solution for travel agents so you can manage bookings and ticket reservations all in one place.

Tools Used:

  • Apache NetBeans IDE — NetBeans is an integrated development environment (IDE) for Java. NetBeans allows applications to be developed from a set of modular software components called modules. NetBeans runs on Windows, macOS, Linux and Solaris. In addition to Java development, it has extensions for other languages like PHP, C, C++, HTML5 etc.
  • MySQL- MySQL is an open-source relational database management system (RDBMS). A relational database organizes data into one or more data tables in which data types may be related to each other; these relations help structure the data. SQL is a language programmers use to create, modify and extract data from the relational database, as well as control user access to the database. In addition to relational databases and SQL, an RDBMS like MySQL works with an operating system to implement a relational database in a computer’s storage system, manages users, allows for network access and facilitates testing database integrity and creation of backups.

Programming Languages used :

Front-End : Java

Back-End : SQL

This project contains different screens for booking , managing the booking , login , registering / sign up , where we fly , about us , privacy policy and terms and conditions. We shall look at each page /screen individually to have better grasp on understanding.

Main Page :

Main Page is what opens up when you open the application , it is supposed to be the page containing the main contents required to get started with the application along with links to other parts of the application.

Here is the a screenshot of the main screen -

It contains labels to click on to make bookings , manage reservations and login with also links to about us , privacy policy , terms and conditions. It can be tailored that is the screen’s appearance and functionalities as per the requirements.

The UI design can be done using a combination of JPanels and JLabels from the palette and setting their properties such as background image , size etc.

LOGIN PAGE :

When LOGIN Label is clicked on the main page, the following layout opens up , it checks for within the MySQL database for existing combination of username and password , if the data entered by user matches with one in the database then welcomes the user or else it will ask the user to register first .The text colored in green on being clicked opens up Registration Form for User to sign up.

When the Username and Password doesn’t exist in Database.
When the Username and Password exists in Database.

BOOK Page :

After log in the user can now book flight ticket on this page by entering data in all the fields . Here data is checked for consistency and validity. The data entered for Username, Source, Destination, Departure Date and Arrival Date are stored in the database for future retrieval . The User has the option of resetting the form for another booking to be made after the first booking is confirmed.

MANAGE BOOKING PAGE:

After the booking is done , in case any user wants to retrieve their booking details, they can do so so by double clicking on MANAGE Label on the Main Page. In order to access their details they are required to enter their registered Username.

WHERE WE FLY PAGE :

This page gives an overview of destinations that the airline offers flights to and from.

ABOUT US PAGE:

Since this is a demo project it contains the the details regarding the non-existent imaginary airlines called Madison Airlines.

PRIVACY POLICY PAGE:

As all applications have a privacy policy page especially when it collects data from users. It details the company’s views and procedures on the information collected from visitors.

TERMS AND CONDITIONS PAGE:

A Terms and Conditions acts as a legally binding contract between the client and users. This is the agreement that sets the rules and guidelines that users must agree to and follow in order to use and access the application.

BACK-END OF THE PROJECT:

The Back-End of the project uses MySQL software to create and manage databases within the project. MySQL is an open source SQL database . MySQL is supporting many different platforms including Microsoft Windows, the major Linux distributions, UNIX, and Mac OS X.

MySQL has free and paid versions, depending on its usage (non-commercial/commercial) and features. MySQL comes with a very fast, multi-threaded, multi-user and robust SQL database server.

Some important terms that need to be reviewed-

  • A relational database refers to a database that stores data in a structured format, using rows and columns. This makes it easy to locate and access specific values within the database. It is “relational” because the values within each table are related to each other. Tables may also be related to other tables. The relational structure makes it possible to run queries across multiple tables at once.
  • PRIMARY KEY is a column or group of columns in a table that uniquely identify every row in that table. The Primary Key can’t be a duplicate meaning the same value can’t appear more than once in the table. A table cannot have more than one primary key.

Below are the statements that are executed in MySQL to develop the Back-End of the project -

CREATION OF DATABASE Air :

CREATION OF REGISTER TABLE :

CREATION OF Cust_Info TABLE :

As it can be observed from tables the UserName acts as the Primary Key.

After the successful creation of the Back-End it needs to be connected with the Front-End. The interface for accessing relational databases from Java is Java Database Connectivity (JDBC). Via JDBC you create a connection to the database, issue database queries and update as well as receive the results.

JDBC provides an interface which allows you to perform SQL operations independently of the instance of the used database. To use JDBC, you require the database specific implementation of the JDBC driver.

Hence, in this way the Airline Reservation System is developed and ready to use.

The GitHub repository link for this project is : https://github.com/AmimaShifa/Airline-Reservation-System-Project

Self - motivated Programmer | A.I. Enthusiast | Freelance Software Developer | Undergrad CSE Student