Skip to content

Latest commit

 

History

71 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✈️ FlightBooking System

🛠️ Tech Stack

  • Framework: .NET Core (.NET 8 / ML.NET)

  • Database: MongoDB

  • User Interface (UI): Modern, responsive HTML/CSS/JS UI designed with Claude AI support

  • Artificial Intelligence (AI) & ML:

  • ML.NET (No-Show & Overbooking forecasting engine)

  • Llama-3.1-8b (Smart Travel Assistant / Chatbot)

  • Session Management: Session state implementation for tracking user search, filtering, and multi-step check-in processes


📐 Design Patterns Used

🗂️ Repository Pattern

Database operations for each entity (Flight, Passenger, Reservation, etc.) are encapsulated using dedicated Repository classes. This decouples the data access layer from the business logic, enhancing testability and maintainability.

🔄 Unit of Work

During reservation creation and check-in workflows, multiple database transactions are managed atomically:

  • Creating reservation records
  • Locking and updating selected seats
  • Calculating extra service costs (baggage, meals) and updating payment statuses Coordinated through the Unit of Work pattern, these operations maintain full data consistency.

🏭 Factory + Strategy Pattern (AI Forecasting & Payment Engine)

The payment system and AI forecasting models utilize a combination of Factory and Strategy design patterns:

  • Factory: Instantiates the appropriate payment provider or AI analytical strategy.
  • Strategy: Encapsulates dynamic overbooking and risk prediction algorithms for various flight routes and slots without modifying client code.

🔗 Chain of Responsibility (Reservation & Check-In Validation)

Prior to committing a reservation or check-in, validation handlers execute sequentially:

  1. Flight Status Check: Is the flight active and scheduled?
  2. Capacity & Overbooking Check: Is seat availability within the allowed overbooking threshold?
  3. Passenger & PNR Verification: Does the provided PNR match valid passenger details? Each handler performs its specific validation and passes the request to the next handler if successful.

👁️ Observer Pattern (Flight Events & Notifications)

Triggers upon critical system events such as successful reservation completion, flight status updates, or high-risk overbooking detections:

  • 📋 Generates audit and operational logs
  • 📧 Dispatches Email and SMS notifications
  • 🤖 Sends live alert metrics to the AI Risk Intelligence Dashboard

🗄️ Database Model (Entities)

Entity Description
Flight Flight metadata, routes, departure/arrival times, capacity, and base pricing
Passenger Passenger personal details, gender, type (Adult/Child), and contact information
Reservation Flight booking records and generated PNR codes
CheckIn Check-in statuses, selected seats, baggage, and meal preferences
SeatMap / Slot Aircraft seating layouts and slot-based occupancy rates
OverbookingForecast Predictive No-Show and Overbooking metrics generated by ML.NET
AIChatHistory User interaction logs and recommendation history from the AI Travel Assistant

DTOs (Data Transfer Objects): Implemented across layers to prevent over-exposing domain entities and ensure secure data transmission.


⚙️ System Features

👤 Customer / Passenger Portal

  • AI Travel Assistant (Llama 3.1): Natural language interaction for personalized city guides, restaurants, tourist attractions, hotels, and transit recommendations.
  • Real-Time Weather & Local Time Integration: Live weather conditions, humidity, wind speeds, and local time displays based on the destination city.
  • Interactive 5-Step Check-In: Intuitive visual seat selection wizard covering Baggage, Seat Selection, Meals, Additional Services, and Final Confirmation.
  • Dynamic Price Calculation: Real-time summary updates based on selected baggage allowances and optional add-ons.

🔑 Admin Dashboard & AI Analytics

  • Flight Management (CRUD): Comprehensive list management with filtering options by flight status (Scheduled, Completed, Delayed, Cancelled) and airline, plus flight creation and editing capabilities.
  • Passenger Roster & PNR Management: View passenger manifestations per flight, monitor check-in/payment states, edit passenger info, and export data directly to Excel.
  • Manual Booking Creation: Administrative override capability to draft new flight reservations manually.
  • AI Overbooking & Risk Intelligence Center (ML.NET):
  • Predictive forecasting for flight demand and passenger density based on historical flight logs and No-Show patterns.
  • Slot-level (Morning / Evening) risk classification and No-Show rate evaluations.
  • Automated dynamic overbooking percentage recommendations.
  • Interactive Risk Heatmap broken down by Slot x Week matrix.

Screenshots

Page For Users Continuation Of Page
User 1 User 2
Continuation Of Page
User 3
Admin - Flight List Admin - Flight Detail
Admin 1 Admin 2
Admin - Create Flight Admin - Booking List
Admin 3 Admin 4
Admin - Create Booking Admin - Create CheckIn (1)
Admin 5 Admin 6
Admin - Create CheckIn (2) Admin - Create CheckIn (3)
Admin 7 Admin 8
Admin - Create CheckIn (4) Admin - Create CheckIn (5)
Admin 9 Admin 10
Admin - Over Booking Forecast (1) Admin - Over Booking Forecast (2)
Admin 11 Admin 12
Admin - Over Booking (1) Admin - Over Booking (2)
Admin 13 Admin 14
Admin - Over Booking (3) Admin - Predict
Admin 15 Admin 16
Admin - No Show Analysis Admin - January 2027 Forecast
Admin 17 Admin 18
Admin - Agent (1) Admin - Agent (2)
Admin 19 Admin 20
Admin - Agent (3)
Admin 21

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages