Travel & Hospitality
Airlines & Booking
Airline reservation systems, flight search, booking engines, fare management, and travel distribution. From MakeMyTrip and Cleartrip to Amadeus, Sabre, and airline platforms.
190M+
India Air Passengers (2024)
MakeMyTrip
India's Largest OTA
Amadeus
Largest GDS
₹3K→₹15K
Dynamic Pricing Range
What Engineers Miss When They First Enter Airlines & Booking
Airline booking systems are among the most historically complex distributed systems in existence. The Global Distribution Systems — Amadeus, Sabre, Travelport — were built in the 1960s and 1970s as some of the earliest large-scale real-time computer networks, and they still process hundreds of millions of transactions per year. Modern OTAs and direct airline booking platforms sit on top of or alongside these legacy systems, and any engineer who works in travel technology quickly learns that the integration surface between the modern booking layer and the GDS or Passenger Service System underneath is where the most interesting (and most frustrating) engineering work lives.
Revenue management is the analytical heart of airline economics. The seat on an IndiGo flight from Mumbai to Delhi that costs ₹3,499 on Tuesday at 10am might cost ₹12,499 on Friday at 5pm, not because IndiGo changed anything manually, but because the revenue management system estimated the remaining demand for that flight and optimised the price to maximise yield across the remaining booking window. This is dynamic programming applied at industrial scale, running continuously across 2,000+ flights in an airline's schedule, and it is one of the original large-scale applications of machine learning in industry — well before the term machine learning entered mainstream engineering vocabulary.
The airport operations side of airline technology — departure control systems, gate management, bag reconciliation, weight and balance — is where software correctness requirements approach aviation safety standards. A weight and balance calculation error that allows a misconfigured aircraft to take off is not a bug report — it is a safety incident. Engineers who have worked on aviation-adjacent systems have direct experience with the documentation, validation, and certification standards that safety-critical software requires, which transfers to other regulated industries like medical devices and defence.
What Teams Actually Do Day To Day
- 1Build the flight search and pricing API that retrieves availability and fares from multiple sources (GDS, airline direct NDC APIs, low-cost carrier APIs that are GDS-independent), deduplicates results, normalises fare rules, and returns a ranked set of options within the latency budget that a search engine demands.
- 2Integrate with GDS or airline Passenger Service System (PSS) APIs for booking creation, modification, and cancellation — handling the specific quirks of each PSS's booking model, the different PNR (Passenger Name Record) formats, and the airline-specific service codes for seat selection, meals, and baggage.
- 3Build the revenue management optimisation engine that forecasts demand for each seat class on every future flight, runs the LP/DP model to set optimal availability thresholds, and updates the PSS's seat inventory controls in real time as bookings arrive and demand forecasts update.
- 4Develop the ancillary revenue platform: seat selection UI with fare class logic that determines which seats are available without surcharge, meal and baggage add-ons with weight-based pricing, travel insurance integration, hotel and car rental cross-sell at booking confirmation, and upgrade bidding systems.
- 5Operate the check-in and departure control integration: web and mobile check-in flows that interact with the PSS to assign seats and generate boarding passes, API integration with airport departure control systems for baggage reconciliation, flight disruption management that re-accommodates passengers from cancelled or significantly delayed flights.
One End-to-End Flow: A Passenger Books a Flight on an OTA
A flight booking on MakeMyTrip or Cleartrip involves search across multiple inventory sources, real-time fare lock, booking creation in the airline's PSS, payment, and PNR confirmation — with multiple failure points where the displayed fare can become unavailable.
Customer searches for flights
The OTA's search engine fans out queries to the GDS (for full-service carriers), direct airline APIs (for IndiGo, SpiceJet, Air India via NDC), and any LCC APIs. Results are cached briefly because real-time searches at this volume would exceed API quotas. Results are returned, deduped where the same flight appears in multiple sources, and sorted.
Systems Involved
OTA search engine, GDS API, airline NDC APIs, result aggregation and dedup service
Where It Usually Breaks
Cache staleness means the fare shown in search results may be different from the fare available at the time of booking. This is the 'fare gone up since search' experience that every traveller has had, and it is not fraud — it is the normal operation of a cached search against a dynamically priced inventory.
Customer selects fare and the availability is held
When the customer selects a fare and proceeds to passenger details, the OTA attempts to place a temporary hold on the inventory (a "passive hold" or "availability lock" depending on the GDS/airline API). This prevents the fare from being sold to another customer during the checkout window. For low-cost carriers, this window may be limited to 10-15 minutes.
Systems Involved
Fare hold service, GDS/airline API inventory lock, hold timer
Where It Usually Breaks
If the hold request fails (inventory exhausted in the window between search display and hold request), the OTA must either show the customer a new fare or tell them the selected flight is no longer available. Handling this failure state gracefully — showing alternatives without losing the customer — is a UX and engineering challenge.
Payment is processed
The customer pays through the OTA's payment gateway. For a successful payment, the OTA now has the customer's money and must complete the booking. The critical window is between payment success and booking confirmation in the airline PSS — if anything fails in this window, the customer is charged but has no ticket.
Systems Involved
Payment gateway, bank/UPI, booking creation service
Where It Usually Breaks
Payment success without booking confirmation is the highest-severity incident in any OTA. The customer has a charge on their card but no PNR. Resolving this requires either completing the booking (if inventory is still available) or initiating a refund and informing the customer — all under time pressure if the flight is soon.
Booking is created in the airline PSS and PNR is generated
The OTA calls the airline PSS (or GDS) to create the booking with the passenger details. The PSS validates the passenger names against the fare basis rules, confirms the fare is still available, and creates the PNR (Passenger Name Record). The PNR is the canonical reference number for the booking in the airline's system.
Systems Involved
GDS/airline PSS booking API, PNR creation, ticketing service
Where It Usually Breaks
Name format validation is a frequent source of booking failures. The PSS may reject names with apostrophes, with more than a certain number of characters, or in formats that the OTA's UI allowed but the airline's system does not accept. These failures need specific error handling that presents the customer with a clear path to correct their name.
Ticket is issued and confirmation is sent
After PNR creation, the airline issues the e-ticket (assigns a ticket number against the PNR). The OTA generates the confirmation email and SMS with the PNR, ticket number, and flight details. The booking is now complete and confirmed.
Systems Involved
Ticketing service, email/SMS gateway, booking confirmation store
Where It Usually Breaks
Ticketing failures (PNR created but ticket not issued) leave the passenger with a booking that the airline cannot find when they check in. These are typically time-limited — if the ticket is not issued within a window, the PNR auto-cancels. OTAs must monitor ticketing queue lags and resolve stuck bookings before they expire.
Technology Architecture — How Airlines & Booking Platforms Are Built
The diagram below reflects how production Airlines & Booking systems are structured at scale — nine layers from client channels through edge security, API gateway, domain microservices, polyglot data stores, async event streaming, analytics, external partners, and cloud infrastructure. Solid arrows show synchronous REST/gRPC calls; dashed arrows show async event flows via Kafka or a message queue.
Industry Players & Real Applications
🇮🇳 Indian Companies
MakeMyTrip (MakeMyTrip + Goibibo)
Online Travel Agency (OTA)
Java, React, ML pricing, AWS
India's largest OTA — flights, hotels, holidays. 60M+ annual transactions. Goibibo merged.
Cleartrip (Flipkart)
Online Travel Agency
Java, React Native, microservices, AWS
Clean UX, flights + hotels. Acquired by Flipkart — integrated into Flipkart commerce
ixigo (Le Travenues)
Travel Search + Booking
Python, ML, NLP, AWS
AI-powered fare prediction and travel assistant. Listed company — focus on train + bus + flights
IndiGo (InterGlobe)
Airline (India's Largest)
Navitaire PSS, custom revenue management, SAP
60%+ domestic market share, 100M+ passengers, India's most profitable airline
🌍 Global Companies
Amadeus
SpainGDS + Airline IT
C++, Java, mainframe, cloud migration
World's largest GDS — powers 600M+ bookings/year. Also PSS for airlines (Altéa)
Sabre
USAGDS + Airline IT
TPF (mainframe), Java, Google Cloud migration
Major GDS — SynXis (hotels), SabreSonic (airline PSS), Radixx (low-cost carrier)
Booking Holdings
NetherlandsOTA (Booking.com + Kayak + Agoda)
Java, Perl, A/B testing at scale, ML
World's largest travel company — Booking.com, Kayak, Agoda, Priceline
Skyscanner
UKMeta-Search Engine
Java, Python, React, ML fare prediction
Flight comparison — searches 1000+ airlines and OTAs. Fare alerts and price prediction
🛠️ Enterprise Platform Vendors
Amadeus Altéa / Navitaire
Airline PSS
Passenger Service Systems — reservation, inventory, departure control for airlines
IATA NDC
Distribution Standard
New Distribution Capability — modern XML/JSON API standard replacing legacy EDIFACT
Travelport (Galileo)
GDS
Third major GDS — connects airlines, hotels, cars with travel agents and OTAs
Google Flights / ITA Matrix
Fare Search Engine
Flight search powered by ITA Software (QPX) — advanced fare search and routing
Core Systems
These are the foundational systems that power Airlines & Booking operations. Understanding these systems — what they do, how they integrate, and their APIs — is essential for anyone working in this domain.
Business Flows
Key Business Flows Every Developer Should Know.Business flows are where domain knowledge directly impacts code quality. Each flow represents a real business process that your code must correctly implement — including all the edge cases, failure modes, and regulatory requirements that aren't obvious from the happy path.
The detailed step-by-step breakdown of each flow — including the exact API calls, data entities, system handoffs, and failure handling — is covered below. Study these carefully. The difference between a developer who “knows the code” and one who “knows the domain” is exactly this: the domain-knowledgeable developer reads a flow and immediately spots the missing error handling, the missing audit log, the missing regulatory check.
Technology Stack
Real Industry Technology Stack — What Airlines & Booking Teams Actually Use. Every technology choice in Airlines & Bookingis driven by specific requirements — reliability, compliance, performance, or integration capabilities. Here's what you'll encounter on real projects and, more importantly, why these technologies were chosen.
The pattern across Airlines & Booking is consistent: battle-tested backend frameworks for business logic, relational databases for transactional correctness, message brokers for event-driven workflows, and cloud platforms for infrastructure. Modern Airlines & Bookingplatforms increasingly adopt containerisation (Docker, Kubernetes), CI/CD pipelines, and observability tools — the same DevOps practices you'd find at any modern tech company, just with stricter compliance requirements.
⚙️ backend
Java + Spring Boot
OTA backends (MakeMyTrip, Cleartrip), booking engines, API gateways
C++ / TPF
GDS core systems — Transaction Processing Facility (IBM mainframe) at Amadeus/Sabre
Python
Revenue management ML models, fare prediction, demand forecasting
Go / Node.js
High-throughput search services, real-time availability caching
🖥️ frontend
React / React Native
OTA web and mobile apps — MakeMyTrip, Cleartrip booking flows
Next.js
SEO-friendly travel search pages — server-rendered route pages
Flutter / Swift / Kotlin
Native airline apps — IndiGo, Air India mobile check-in and booking
🗄️ database
PostgreSQL / MySQL
Reservation data, passenger records, booking transactions
Redis
Flight search cache, session management, real-time availability
Elasticsearch
Airport search, route search, fare search with facets
Apache Cassandra
High-write workloads — search logs, analytics events, price history
☁️ cloud
AWS / GCP
OTA cloud hosting — auto-scaling for search traffic spikes (holiday season)
Apache Kafka
Event streaming — booking events, fare changes, inventory updates
Kubernetes
Microservices orchestration — search, booking, payment, notification services
CDN (CloudFront)
Static assets, search result caching for popular routes
Interview Questions
Q1.How does airline revenue management work and why does the same seat have different prices?
Revenue management (RM) is the science of selling the right seat to the right customer at the right price. How it works: 1) Booking classes: Each flight has 180 seats but 10+ 'virtual' fare classes (Y, B, M, H, Q, V, etc.) each with different prices and rules. A seat in class V costs ₹2,500, same seat in Y costs ₹12,000. 2) Demand forecasting: ML models predict demand for each flight based on historical data, day of week, seasonality, events, competitor pricing. 3) Dynamic availability: RM system opens/closes booking classes based on forecast vs. actual bookings. If bookings are ahead of forecast, close cheap classes early. If behind, keep them open longer. 4) Price discrimination: Business travellers book last-minute (willing to pay ₹12K). Leisure travellers book early (price-sensitive, pay ₹3K). RM captures both by offering cheap fares early and expensive fares later. 5) Overbooking: Airlines overbook by 5-15% because 5-10% typically don't show up. ML predicts no-show rate. Example: IndiGo DEL-BOM might sell 185 seats for 180-seat aircraft, expecting 8 no-shows.
Q2.What is a GDS and how does the flight booking ecosystem work?
GDS (Global Distribution System) is a network that connects airlines' inventory with travel sellers worldwide. The big three: Amadeus (Spain), Sabre (USA), Travelport (UK). Ecosystem flow: 1) Airlines load inventory and fares into GDS (and directly via NDC). 2) OTAs (MakeMyTrip, Booking.com) connect to GDS to search availability and book. 3) Travel agents use GDS terminals (Cryptic commands like AN15MARDELBOM) to search and book. 4) When a booking is made, GDS sends a request to the airline's reservation system, creates a PNR, and confirms. 5) Airline pays GDS a booking fee (typically $2-5 per segment). Revenue model: Airlines pay GDS per booking. GDS pays travel agents incentives to book through them. OTAs earn from markup on fares or service fees. NDC disruption: IATA's NDC enables airlines to sell directly to OTAs via modern REST/XML APIs — bypassing GDS. Airlines get richer content (images, bundles), more control, and save GDS fees. But GDS still handles 40%+ of bookings.
Q3.How would you design a flight search engine that returns results in under 3 seconds?
Challenges: Searching across 500+ airlines, millions of fare combinations, connecting flights, and real-time availability. Architecture: 1) Pre-computation: For popular routes (DEL-BOM, BLR-DEL), pre-compute and cache results every few minutes. 80% of searches hit cached results. Redis or in-memory store. 2) Route graph: Build a graph of all airport connections. Use graph algorithms to find valid routings (direct, 1-stop, 2-stop) — limit to reasonable connection times and total duration. 3) Parallel search: Query multiple sources in parallel — Amadeus GDS, Sabre GDS, IndiGo NDC, SpiceJet API. Merge results. 4) Fare combination engine: For connecting flights, combine fare components using IATA fare construction rules. Use ITA-style algorithms (QPX) for optimal fare search. 5) Caching layers: L1 cache (in-memory, 30-second TTL for availability), L2 cache (Redis, 5-minute TTL for search results), L3 (pre-computed for popular routes). 6) Progressive loading: Show partial results immediately (cached), then append real-time results. User sees results in <1 second for popular routes. MakeMyTrip approach: Pre-cached popular routes + parallel GDS + NDC queries + aggressive result caching.
Q4.What is NDC and how is it changing airline distribution?
NDC (New Distribution Capability) is an IATA standard that enables airlines to distribute rich content directly to travel sellers via modern APIs. Before NDC (legacy): Airlines sold via GDS using EDIFACT (1980s teleprinter format). Limitations: plain text, no images, limited product differentiation. An economy seat on IndiGo and Air India looked the same in GDS. With NDC: Airlines expose APIs (REST/XML) with rich content — branded fares (Economy Light, Economy Flex), product images, bundled offers (seat + meal + baggage), dynamic pricing. Travel sellers (OTAs, agents) connect directly to airlines. Key changes: 1) Rich content: Airline can show branded fares, images, ancillary bundles. Better shopping experience. 2) Dynamic pricing: Airline can offer personalised prices based on customer profile (vs. fixed filed fares). 3) Lower distribution cost: Airlines save GDS booking fees ($2-5 per segment). 4) Direct relationship: Airline has more control over the customer experience. Challenges: Every airline's NDC API is different (vs. standardised GDS). OTAs must integrate individually. Not all airlines have NDC ready. Hybrid distribution (GDS + NDC) is the current reality.
Q5.How do airlines handle flight disruptions and re-accommodate passengers?
Disruption management is critical — a single cancelled flight affects 150-200 passengers who need rebooking. Process: 1) Detection: Operations centre detects disruption (weather, technical, crew issue). Flight status updated to delayed/cancelled in system. 2) Auto re-accommodation: System automatically rebooks passengers on next available flight on same airline. Priority order: connecting passengers (miss connection), premium cabin, loyalty tier (Platinum → Gold → Silver), then by booking class. 3) Interline rebooking: If own flights are full, rebook on partner airlines (interline agreements). IndiGo can rebook on Air India for certain routes. 4) Communication: Instant SMS/email/push to affected passengers with new itinerary. Self-service portal for alternatives. 5) Compensation: Per DGCA (India) regulations — meal vouchers for long delays, full refund option for cancellations, monetary compensation for denied boarding. Tech challenges: Real-time optimisation across entire network. One cancellation can cascade — passengers on connecting flights, crew scheduling, aircraft rotation all affected. Airlines use Operations Research algorithms (min-cost flow, constraint optimisation) to minimise total disruption cost.
Glossary & Key Terms
PNR
Passenger Name Record — the booking record containing passenger details, itinerary, and ticketing info
GDS
Global Distribution System — network connecting airlines with travel agents and OTAs (Amadeus, Sabre, Travelport)
OTA
Online Travel Agency — websites/apps for booking travel (MakeMyTrip, Booking.com, Expedia)
NDC
New Distribution Capability — IATA's modern API standard for airline distribution, replacing EDIFACT
PSS
Passenger Service System — airline's core IT: reservation, inventory, and departure control
DCS
Departure Control System — manages check-in, boarding, and passenger processing at airports
Revenue Management
Science of dynamic pricing — selling the right seat at the right price to maximise revenue
Booking Class
Fare category within a cabin (Y, B, M, Q, V) — same seat, different price and rules
EDIFACT
UN/EDIFACT — 1980s messaging standard used by GDS. Being replaced by NDC XML/JSON
BSP
Billing and Settlement Plan — IATA's system for financial settlement between airlines and agents
Load Factor
Percentage of seats filled on a flight — key airline performance metric (target: 85%+)
Codeshare
One airline sells tickets for a flight operated by another airline — shared flight number
Interline
Agreement between airlines allowing passengers to travel on multiple airlines with one ticket
DGCA
Directorate General of Civil Aviation — India's aviation regulator
IATA
International Air Transport Association — global airline trade body, sets industry standards
Ancillary Revenue
Non-ticket revenue — seat selection, baggage, meals, priority boarding (20-40% of LCC revenue)