Skip to content

Air Ticket Management System (ATMS) is my school project which I created when I was in Class 12th. In this project I have integrated MySQL with Python.

Notifications You must be signed in to change notification settings

AryanV-Coder/ATMS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

โœˆ๏ธ Air Ticket Management System (ATMS)

A comprehensive flight booking and management system built with Python and MySQL. This console-based application provides a complete solution for managing airline tickets, destinations, and customer bookings with separate user and admin interfaces.


๐Ÿ“‹ Table of Contents


โœจ Features

๐Ÿ” Dual Role System

  • User Portal: Customer registration, login, flight booking, and ticket management
  • Admin Portal: Flight management, pricing control, and customer data oversight

๐ŸŽซ Comprehensive Booking System

  • Multi-passenger booking support
  • Three travel classes: Economy, Business, First Class
  • Age-based pricing (Adult, Child, Infant)
  • Domestic and International flight options
  • Real-time availability checking

๐Ÿ“Š Data Management

  • Secure user authentication
  • Profile management and updates
  • Complete booking history
  • Flight cancellation capabilities

๐Ÿ›  Tech Stack

  • Language: Python 3.x
  • Database: MySQL
  • Libraries:
    • mysql-connector-python - Database connectivity
    • random - User ID generation

๐Ÿ—„ Database Schema

The system uses 4 main tables:

1. Users Table

User_Id (INT, PRIMARY KEY)
User_Name (VARCHAR)
User_Age (INT)
User_Email (VARCHAR, UNIQUE)
User_Pwd (VARCHAR, UNIQUE)
User_Phone (VARCHAR, UNIQUE)

2. Admins Table

Admin_Id (INT, PRIMARY KEY)
Admin_Name (VARCHAR)
Admin_Age (INT)
Admin_Email (VARCHAR, UNIQUE)
Admin_Pwd (VARCHAR, UNIQUE)

3. Destinations Table

Flight_Code (INT, PRIMARY KEY)
Airline (VARCHAR)
FROM_ (VARCHAR)
TO_ (VARCHAR)
Type_Of_Flight (VARCHAR) -- Domestic/International
Airport (VARCHAR)

4. Ticket_Price Table

Flight_Code (INT, PRIMARY KEY)
Adult (INT)
Child (INT)
Infant (VARCHAR) -- "ON LAP"

5. Customers Table

Customer_Id (INT)
Customer_Name (VARCHAR)
Customer_Age (INT)
Customer_Phone (VARCHAR)
Airline (VARCHAR)
FROM_ (VARCHAR)
TO_ (VARCHAR)
Travel_Class (VARCHAR)
Type_Of_Flight (VARCHAR)
Airport (VARCHAR)
Date (VARCHAR)
Time (VARCHAR)
Ticket_Price (INT)

๐Ÿš€ Installation

Prerequisites

  • Python 3.6 or higher
  • MySQL Server 5.7 or higher
  • pip (Python package installer)

Step-by-Step Setup

  1. Clone or Download the Repository

    cd "ATMS (AIR TICKET MANAGEMENT SYSTEM)"
  2. Install Required Python Packages

    pip install mysql-connector-python
  3. Configure MySQL Database

    Update the database credentials in Main Program.py:

    mycon = mysql.connector.connect(
        host = 'localhost',
        user = 'root',
        password = 'YOUR_PASSWORD',  # Change this
        database = 'ATMS'
    )
  4. Create Database and Tables

    Run the SQL script to set up the database:

    mysql -u root -p < "SQL CODE FOR CREATING SAMPLE DATABASE & TABLES.txt"

    Or manually execute the SQL commands in MySQL Workbench/Command Line.

  5. Verify Database Setup

    mysql -u root -p
    USE ATMS;
    SHOW TABLES;

    You should see: Admins, Customers, Destinations, Ticket_Price, Users


๐Ÿ’ป Usage

Running the Application

python "Main Program.py"

Login Options

As a User:

Option 1: Press 1 at the main menu

Sample User Credentials (from database):

Email: guruji@gmail.com
Password: #7777

Option 2: Create a new account by selecting option 1 when prompted

As an Admin:

Option 1: Press 2 at the main menu

Sample Admin Credentials (from database):

Email: gaurav23@gmail.com
Password: #2323

๐Ÿ“ Project Structure

ATMS (AIR TICKET MANAGEMENT SYSTEM)/
โ”‚
โ”œโ”€โ”€ Main Program.py                              # Main application file
โ”œโ”€โ”€ SQL CODE FOR CREATING SAMPLE DATABASE & TABLES.txt  # Database setup script
โ”‚
โ”œโ”€โ”€ Admin Table.py                               # Admin table creation utility
โ”œโ”€โ”€ Destinations.py                              # Destinations table creation utility
โ”œโ”€โ”€ Ticket_Price.py                              # Ticket price table creation utility
โ”œโ”€โ”€ User & Customer Table.py                     # User/Customer table creation utility
โ”‚
โ”œโ”€โ”€ ADMINS TABLE.png                             # Database schema screenshot
โ”œโ”€โ”€ DESTINATIONS TABLE.png                        # Database schema screenshot
โ”œโ”€โ”€ TICKET PRICE TABLE.png                       # Database schema screenshot
โ”‚
โ”œโ”€โ”€ ATMS PROJECT.docx                            # Project documentation (Word)
โ”œโ”€โ”€ ATMS PROJECT.pdf                             # Project documentation (PDF)
โ”œโ”€โ”€ FINAL PROJECT along with SYNOPSIS.pdf        # Complete project with synopsis
โ”œโ”€โ”€ Synopsis.pdf                                 # Project synopsis
โ”‚
โ””โ”€โ”€ README.md                                    # This file

๐Ÿ‘ค User Features

1. Account Management

  • โœ… Create Account: Register with unique email, phone, and password
  • โœ… Login: Secure authentication system
  • โœ… View Profile: Check account details
  • โœ… Update Profile: Modify name, age, email, phone, and password

2. Flight Operations

  • ๐Ÿ” Browse Flights: View all available flights
    • All flights
    • Domestic flights only
    • International flights only
  • ๐ŸŽซ Book Tickets:
    • Select origin and destination
    • Choose travel class (Economy/Business/First)
    • Select date and time
    • Multi-passenger booking
    • Automatic age-based pricing
  • ๐Ÿ“„ View Bookings: Check all tickets booked using your phone number
  • โŒ Cancel Flights:
    • Cancel all bookings
    • Cancel specific passenger tickets

3. Pricing Structure

Category Age Range Base Price
Adult 12+ years Full price
Child 3-11 years Reduced price
Infant 0-2 years Free (On Lap)

Class Multipliers:

  • Economy: 1x base price
  • Business: 5x base price
  • First Class: 10x base price

๐Ÿ‘จโ€๐Ÿ’ผ Admin Features

1. Flight Management

  • ๐Ÿ“‹ View Flights: Browse all/domestic/international flights
  • โœ๏ธ Update Flights: Modify airline, route, type, and airport details
  • โž• Add Destinations: Add new flight routes
  • ๐Ÿ—‘๏ธ Delete Destinations: Remove flight routes

2. Pricing Management

  • ๐Ÿ’ฐ View Ticket Prices: Check pricing for all flights
  • ๐Ÿ”„ Update Prices: Modify adult and child ticket prices
  • โž• Add Price Entries: Add pricing for new flights
  • ๐Ÿ—‘๏ธ Delete Price Entries: Remove pricing records

3. Monitoring

  • ๐Ÿ“Š Customer Details: View all booking records
  • ๐Ÿ‘ฅ User Details: Access registered user information

๐Ÿ“ธ Screenshots

The project includes visual documentation of database tables:


๐ŸŽฏ Sample Flights

Domestic Flights

Code Airline From To Airport
1 SpiceJet Delhi Mumbai Safdarjung Airport
3 IndiGo Delhi Chennai Delhi Airport
6 GoAir Bengaluru Delhi Kempegowda International Airport

International Flights

Code Airline From To Airport
2 Air India Delhi New York Indira Gandhi International Airport
4 Emirates Mumbai Dubai Mumbai International Airport
5 Thai Airways Mumbai Bangkok Chhatrapati Shivaji Maharaj International Airport

๐Ÿ”’ Security Features

  • โœ… Unique email validation (prevents duplicate accounts)
  • โœ… Unique password enforcement
  • โœ… Unique phone number verification
  • โœ… Secure login authentication
  • โœ… Role-based access control (User vs Admin)

๐Ÿ“ Database Setup Utilities

The project includes helper scripts for database initialization:

  1. Admin Table.py: Creates and populates the Admins table
  2. Destinations.py: Creates and populates flight destinations
  3. Ticket_Price.py: Creates and populates ticket pricing
  4. User & Customer Table.py: Creates user and customer tables

๐Ÿ› Known Limitations

  • Console-based interface (no GUI)
  • Passwords stored in plain text (not recommended for production)
  • No email verification system
  • No payment gateway integration
  • Limited search and filter options
  • No seat selection feature

๐Ÿ”ฎ Future Enhancements

  • GUI implementation (Tkinter/PyQt)
  • Password hashing and encryption
  • Email notification system
  • Payment gateway integration
  • Advanced search filters
  • Seat selection and management
  • Booking confirmation via email/SMS
  • Multi-language support
  • Report generation (PDF invoices)
  • Data analytics dashboard

๐Ÿค Contributing

This is an academic project. If you'd like to use or extend it:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

๐Ÿ“„ License

This project is created for educational purposes as a 12th grade Computer Science project.


๐Ÿ“ง Support

For issues or questions related to this project, please refer to the documentation files:

  • ATMS PROJECT.pdf - Complete project documentation
  • Synopsis.pdf - Project overview and synopsis
  • FINAL PROJECT along with SYNOPSIS.pdf - Comprehensive project report

Made with โค๏ธ using Python & MySQL

Air Ticket Management System - Making Flight Booking Simple

About

Air Ticket Management System (ATMS) is my school project which I created when I was in Class 12th. In this project I have integrated MySQL with Python.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages