Skip to content

Repository files navigation

Simple Flight Reservation Desktop App

A modern, multi-page flight reservation system built with Python, customtkinter, and SQLite. Book, view, edit, and delete flight reservations with a beautiful, user-friendly interface.


Features

  • Book Flights: Add new reservations with passenger details, flight info, and seat selection.
  • View Reservations: See all bookings in a stylish, interactive table with selection checkboxes.
  • Edit Reservations: Update any reservation’s details with instant validation.
  • Delete Reservations: Remove bookings with confirmation dialogs.
  • Input Validation: Prevent duplicate bookings, seat conflicts, and invalid data.
  • Unique Seat Assignment: No two users can book the same seat on the same flight and date.
  • Custom Icon & Modern UI: Professional look using customtkinter and your own app icon.
  • Single Executable: Easily package as a Windows .exe for distribution.

Screenshots

Hom screen

Booking page

Viewing and editing reservations


File Structure

Sprints-x-Microsoft-Programing-Using-Python-main/
├── screenshots/
├── main.py                # Main application entry point
├── database.py            # SQLite database logic
├── home.py                # Home page UI
├── booking.py             # Flight booking UI
├── reservations.py        # Reservation list UI
├── edit_reservation.py    # Edit reservation UI
├── flights.db             # SQLite database file (auto-created)
├── flight.ico             # App icon (add your own)
├── README.md              # Project documentation
└── requirements.txt       # Python dependencies

Getting Started

Prerequisites

Installation

  1. Clone the repository:
    git clone https://github.com/Abdelwakil-Mansour/Sprints-x-Microsoft-Programing-Using-Python.git
    cd Sprints-x-Microsoft-Programing-Using-Python-main
  2. Install dependencies:
    pip install customtkinter
  3. (Optional) Add your icon: Place a .ico file named flight.ico in the project directory for a custom app icon.

Running the App

python main.py
  • The app window will launch. The database file (flights.db) is created automatically.

Packaging as an Executable (.exe)

  1. Install PyInstaller:
    pip install pyinstaller
  2. Build the executable:
    pyinstaller --onefile --windowed --icon=flight.ico main.py
  3. Find your .exe:
    • The executable will be in the dist folder.

Usage Guide

Home Page

  • Book a New Flight: Go to the booking form.
  • View All Reservations: See all bookings in a table.

Booking Page

  • Fill in all fields (Passenger Name, Flight Number, Departure, Destination, Date, Seat Number).
  • Click Submit Reservation to save.
  • Input validation prevents duplicate bookings and seat conflicts.

Reservations List

  • View all reservations in a table with selection checkboxes.
  • Select a reservation to Edit or Delete.
  • Click Refresh List to reload data.

Edit Reservation

  • Update any field and save changes.
  • Validation ensures no seat conflicts or duplicate data.

Contributing

Pull requests are welcome! For major changes, please open an issue first to discuss what you’d like to change.


License

This project is open source and available under the MIT License.


Author

Created by Abdelwakil Mansour


Acknowledgements

About

basic flight reservation system as a desktop application using Tkinter for the GUI and SQLite for database management.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages