এই ভলিউমে · ভলিউম 07
ইন্টিগ্রেশন
GDS (Amadeus, Sabre) NDC পাবলিক API ওয়েবহুক
বাংলা সারসংক্ষেপ

এয়ারলাইন-সরাসরি বিতরণ। কানেক্টিভিটি: সরাসরি এয়ারলাইন বা NDC aggregator। অপারেশন: AirShoppingRQ, OfferPriceRQ, OrderCreateRQ, OrderChangeRQ, OrderCancelRQ। সেটেলমেন্ট মোড: BSP_NDC, DIRECT_AIRLINE, NET_NET

Chapter 7.2 — NDC (New Distribution Capability)

1. Purpose

This chapter defines travoBooks' NDC integration model: how the platform consumes airline-direct NDC connections (per IATA's NDC Schema 21.3 / 22.3 / current version) for offer retrieval, order creation, payment, servicing, and refund. NDC is increasingly the channel through which airlines distribute differentiated content — branded fares, ancillaries, rich attributes — that GDS channels do not consistently surface.

2. Why it matters

  • Content differentiation: NDC offers richer fares (branded fares, ancillaries, dynamic offers) than legacy ATPCO via GDS.
  • Commercial alignment: Many airlines pay incentives to volume via NDC channels.
  • Future-state: GDS↔NDC dual-distribution is the current reality; NDC-only flows are increasing.
  • Settlement model differs: NDC orders typically settle via direct airline arrangement or NDC-enabled BSP — not via the traditional BSP ticket flow.

3. NDC vs traditional GDS — key differences

Dimension Traditional GDS NDC
Pricing ATPCO filed fares Airline dynamic offers
Branding Limited Rich brand display per offer
Ancillaries EMD-as-RFISC after ticket Bundled in offer
Booking artefact PNR + Ticket Order + Order Items
Settlement BSP standard Direct or BSP NDC variant
Servicing Re-issue, void OrderChange / OrderCancel APIs
Identifier PNR record locator OrderID (UUID-like)
Schemas XML (Amadeus, Sabre proprietary) NDC IATA XML schema

4. Connectivity options

Per supplier, travoBooks supports two NDC paths:

4.1 Direct airline NDC

  • Airline-hosted NDC endpoint.
  • Airline-issued credentials.
  • Airline-specific quirks despite IATA standardisation.
  • travoBooks configured per supplier.ndc_endpoint.

4.2 NDC aggregator

  • Third-party NDC aggregator (Travelport NDC, Sabre NDC, Travelfusion, AirGateway, etc.).
  • Aggregator-issued credentials.
  • Aggregator normalises supplier quirks (but may add its own).
  • travoBooks configured per supplier.ndc_aggregator_id.

Both paths share the same internal interface; per-supplier configuration drives the underlying client.

5. Standard NDC operations

Operation NDC verb Purpose
AirShopping AirShoppingRQ/RS Search offers
OfferPrice OfferPriceRQ/RS Re-price selected offer
OrderCreate OrderCreateRQ/RS Convert offer to order
OrderRetrieve OrderRetrieveRQ/RS Get order state
OrderList OrderListRQ/RS List orders
OrderChange OrderChangeRQ/RS Modify (add segment, change pax, etc.)
OrderCancel OrderCancelRQ/RS Cancel order or item
OrderReshop OrderReshopRQ/RS Re-shop existing order
ServiceList ServiceListRQ/RS List ancillary services
SeatAvailability SeatAvailabilityRQ/RS Seat map

6. Internal NDC model

travoBooks stores NDC orders as bookings with booking.supplier_protocol = NDC. Mapping:

NDC concept Internal table / field
OrderID bookings.supplier_order_id
OrderItem booking_order_items
Service (flight or ancillary) booking_segments or booking_ancillaries
TimeLimit (price guarantee) booking_tsts.price_valid_until
PaymentTimeLimit bookings.payment_timelimit_at
Branded fare label booking_segments.fare_brand
OrderState bookings.state (mapped)

7. Settlement model

NDC settlement varies by airline and channel:

7.1 NDC via BSP

Some airlines route NDC sales through BSP with a distinct accounting code. Settlement looks like traditional BSP. The ticket number generated may follow the standard 13-digit IATA format and appear in BSP files.

7.2 Direct payment to airline

Airline collects payment from the agent directly (often by virtual card or direct debit). No BSP touch. travoBooks posts to a direct supplier-AP account (2002 AP — Airline Direct).

7.3 Net-net commercial agreement

Agent contracts net pricing with the airline; sells at marked-up rate; settles at agreed terms. Common for partners with strong negotiated agreements.

Per supplier, the platform's supplier.settlement_mode field drives downstream JE patterns: - BSP_NDC — analogous to BSP regular. - DIRECT_AIRLINE — direct AP/cash settlement. - NET_NET — principal-or-agent classification per Chapter 3.2.

8. JE patterns — direct-airline NDC

Booking creation, customer side (credit customer):

Debit  1101 AR — Customer                 X (gross to customer)
Credit 2002 AP — Airline Direct           N (net to airline)
Credit 2031 Deferred Air Revenue          C (commission/markup)
Credit 4031 Service Fee                   F (issuance service fee earned now)
Credit 2061 VAT Output                    V (if applicable)

Customer pays:

Debit  1013 Bank
Credit 1101 AR — Customer

Airline payout (we wire to airline):

Debit  2002 AP — Airline Direct
Credit 1013 Bank

Service-date recognition:

Debit  2031 Deferred Air Revenue
Credit 4011 Air Base Commission / Markup

9. Order servicing

NDC reissue/refund mechanics differ from traditional: - No void window equivalent — most airlines allow cancellation up to a defined NDC timelimit, but no universal "void before midnight" rule. - OrderChange can do reissue + ancillary adds + pax-detail edits in one transaction. - PaymentTimeLimit is critical — if exceeded, the offer expires and reshop is required.

travoBooks surfaces NDC-specific timelimits on the booking detail UI distinctly from GDS-style fare timelimits.

10. Offer caching

NDC offer responses are cacheable for short TTLs (typically 5–15 minutes) per the offer's OfferExpiration field. travoBooks respects this; offers selected after expiration trigger re-price (OfferPrice) before OrderCreate.

11. Authentication patterns

Per IATA NDC schema, the auth header is part of the message envelope. Per-airline variations: - Bearer token (OAuth2). - Mutual TLS (some airlines). - API key in custom header. - WS-Security for legacy.

Per-supplier auth config in supplier_credentials (encrypted).

12. NDC certification

IATA's NDC certification levels — Aggregator, Capable, Live — affect what operations are available with which airlines. travoBooks' per-supplier capabilities matrix tracks: - AirShopping support. - OrderCreate support. - OrderChange support (reissue). - OrderCancel support. - ServiceList for ancillaries. - Servicing capabilities.

Capability mismatches surface at runtime via NDC_CAPABILITY_NOT_SUPPORTED error.

13. Data canonicalisation

The platform normalises NDC responses to its internal model. Raw NDC envelopes stored in supplier_request_log for replay. Canonical model abstracts: - Per-segment fare brand. - Per-segment baggage allowance. - Per-segment ancillary inclusion. - Tax breakdown (carrier-imposed vs government). - Penalty / cancellation policy text.

14. Error handling

NDC error Treatment
Schedule changed Re-shop; restart booking flow
Offer expired Re-shop
Payment timelimit exceeded Re-shop
Order already cancelled State sync; no action
Invalid passenger data Surface to agent; non-retryable
Aggregator timeout Retry once with backoff
Capability not supported Surface as configuration issue

15. Observability

Per supplier per NDC operation: - Success rate (rolling). - p50/p95/p99 latency. - Error breakdown. - Capability test results (daily smoke tests).

Anomalies (success rate drop, latency spike) alert engineering.

16. Database tables touched

Table Role
bookings.supplier_protocol = NDC Marker
bookings.supplier_order_id NDC OrderID
booking_order_items NDC line items
booking_ancillaries NDC services
supplier_request_log NDC envelopes (raw)
supplier_capabilities Per-supplier capability matrix
supplier_credentials NDC auth

17. Common pitfalls

  • ⚠️ Treating PaymentTimeLimit like a fare timelimit. Distinct concepts; PaymentTimeLimit is shorter and stricter.
  • ⚠️ Cancellation policy parsing — NDC policy text varies wildly; capture raw + structured where possible.
  • ⚠️ Brand fare display fidelity — partners may not realise the same flight has 3 NDC offers at different prices/brands.
  • ⚠️ Mixing GDS and NDC for same airline — both channels may surface the same flight at different prices; commercial decision per partner config.
  • 🔒 NDC credentials per partner — never share across partners.
  • ⚠️ Aggregator-introduced quirks masquerading as airline behaviour — track via aggregator-specific test suite.