Skip to content

yug77-tech/FlightBookingSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flight Booking System ✈️

Java Development Internship 2026 - Project Task

A comprehensive Java-based Flight Booking System with flight information management, seat selection, and payment processing capabilities.


📋 Features

1. Flight Management

  • View all available flights
  • Search flights by origin and destination
  • Display detailed flight information (airline, route, timing, pricing)
  • Real-time seat availability tracking

2. Seat Selection

  • Visual seat map display (Business and Economy class)
  • Real-time seat availability status
  • Multiple seat classes with dynamic pricing:
    • Business Class: Rows 1-3 (Premium pricing)
    • Economy Class: Rows 4-10 (Standard pricing)

3. Passenger Management

  • Comprehensive passenger information collection
  • Personal details validation
  • Passport information storage

4. Booking System

  • Create new bookings
  • Unique booking ID generation
  • View all bookings
  • Search bookings by ID
  • Detailed booking confirmation

5. Payment Processing

Multiple payment methods supported:

  • Credit/Debit Card (with validation)
  • UPI Payment (user@bank format)
  • Net Banking (multiple bank options)
  • Secure transaction processing
  • Payment confirmation with transaction ID

🏗️ Project Structure

FlightBookingSystem/
│
├── src/
│   ├── Main.java                          # Main application entry point
│   │
│   ├── models/                            # Data models
│   │   ├── Flight.java                    # Flight entity
│   │   ├── Seat.java                      # Seat entity
│   │   ├── Passenger.java                 # Passenger entity
│   │   └── Booking.java                   # Booking entity
│   │
│   └── services/                          # Business logic layer
│       ├── FlightService.java             # Flight operations
│       ├── BookingService.java            # Booking operations
│       └── PaymentService.java            # Payment processing
│
├── README.md                              # Project documentation
├── FEATURES.md                            # Detailed features list
└── HOW_TO_RUN.md                          # Execution instructions

🎯 Core Components

Models Package

  • Flight: Manages flight details, seat allocation, and availability
  • Seat: Represents individual seats with class and booking status
  • Passenger: Stores passenger personal and travel information
  • Booking: Links passengers, flights, and seats with payment status

Services Package

  • FlightService: Handles flight search, retrieval, and display operations
  • BookingService: Manages booking creation, confirmation, and retrieval
  • PaymentService: Processes various payment methods securely

💻 Technologies Used

  • Language: Java (JDK 8 or higher)
  • Concepts:
    • Object-Oriented Programming (OOP)
    • Collections Framework
    • Date-Time API (Java 8+)
    • Stream API
    • Exception Handling
    • Input Validation

🚀 How to Run

Prerequisites

  • Java Development Kit (JDK) 8 or higher
  • Any Java IDE (Eclipse, IntelliJ IDEA, NetBeans) or Command Line

Compilation & Execution

Using Command Line:

# Navigate to the src directory
cd FlightBookingSystem/src

# Compile all Java files
javac Main.java models/*.java services/*.java

# Run the application
java Main

Using IDE:

  1. Open the project in your IDE
  2. Navigate to Main.java
  3. Right-click and select "Run"

📱 Usage Guide

Main Menu Options:

  1. View All Flights: Display complete flight schedule
  2. Search Flights: Find flights by route
  3. Book a Flight: Complete booking process
  4. View All Bookings: See all confirmed bookings
  5. View Booking Details: Get specific booking information
  6. Exit: Close the application

Booking Process:

  1. Select a flight from available options
  2. Choose your preferred seat (visual seat map)
  3. Enter passenger information
  4. Select payment method
  5. Complete payment
  6. Receive booking confirmation

🎨 Sample Data

The system comes pre-loaded with 6 sample flights:

  • AI101: Delhi → Mumbai
  • BA202: London → New York
  • EK303: Dubai → Singapore
  • SG404: Bangalore → Goa
  • QR505: Doha → Paris
  • LH606: Frankfurt → Tokyo

📊 Key Functionalities Demonstrated

  1. Object-Oriented Design: Clean separation of concerns with models and services
  2. Data Management: Efficient use of Java Collections (ArrayList, Stream API)
  3. User Interface: Console-based interactive menu system
  4. Input Validation: Robust validation for payment and booking details
  5. Business Logic: Real-world flight booking workflow implementation

🔒 Security Features

  • Card number validation (16 digits)
  • CVV validation (3 digits)
  • UPI ID format validation
  • Seat booking conflict prevention
  • Transaction ID generation for payment tracking

📈 Future Enhancements

  • Database integration (MySQL/PostgreSQL)
  • User authentication system
  • Email/SMS notifications
  • Multi-currency support
  • Flight cancellation and refund
  • Loyalty points system
  • Admin panel for flight management
  • Web interface (Spring Boot)

👨‍💻 Developer Information

Project: Flight Booking System
Purpose: Java Development Internship 2026 - Task Submission


📝 License

This project is created for educational purposes as part of the 2026 Internship Program.


🙏 Acknowledgments

Special thanks to the internship program coordinators for providing this learning opportunity.


Happy Coding! ✨

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages