All problems
Intermediate·✈️ Travel·Amadeus · Sabre · MakeMyTrip +2

Design
Airline Management System

Design an airline management system that handles aircraft fleet management, flight scheduling, passenger seat reservation with conflict-free booking, crew assignment, check-in, and boarding pass generation.

This is a Low-Level Design (LLD) problem. New to LLD vs HLD? Start here.

#OOP#Booking System#State Machine#Concurrency
8F + 3NF requirements inside

01 -  Why interviewers ask this

Airline Management combines several challenging patterns in one problem: concurrent booking with race-condition prevention, multi-step state machines, complex entity relationships (flight → aircraft → seat map → booking → passenger), and constraint-based crew scheduling — making it a reliable signal of mid-to-senior OOP design skills.

02 -  Where this system exists in the real world

You interact with this design every day.

Powers global distribution systems (GDS) like Amadeus and Sabre used by all major airlines

Foundation for airline CRS (Computer Reservation Systems) handling millions of bookings daily

Seat map and booking logic is reused in train and bus reservation platforms

Crew scheduling algorithms are used in transport, hospitality, and healthcare workforce management

03 -  What you'll master

Solve this once. Know it forever.

01

Model a multi-entity booking domain with relationship constraints

02

Implement optimistic locking for concurrent seat reservation

03

Design a State Machine with real-world business rules guarding transitions

04

Handle crew assignment with constraint validation (duty hours, certifications)

04 -  What you'll design

8 functional · 3 non-functional requirements.

Manage a fleet of aircraft with different seat configurations (Economy, Business, First Class)

7 more requirements inside

Sign in to unlock the full brief and start designing

05 -  Companies that ask this

You may face this exact question in your next interview.

A
Amadeus
S
Sabre
M
MakeMyTrip
G
Google
A
Amazon

Ready?

Open the canvas.
Design it yourself.

See all requirements, use staged hints, run your code, and compare with community discussions - all on the same canvas.