Fares & Pricing
Dynamic pricing engine built on Continuous Pricing principles. We generate offers, we don't file fares.
Core Philosophy
"We Don't File Fares; We Generate Offers"
┌─────────────────────────────────────────────────────────────────┐
│ │
│ Legacy Fare Ladders (ATPCO) Continuous Pricing │
│ │
│ Price Price │
│ │ ┌──┐ │ ╭─────────────╮ │
│ │ ┌┘ │ │ ╭─╯ │ │
│ │ ┌┘ └─┐ │ ╭─╯ │ │
│ │ ┌┘ │ │╭╯ │ │
│ │┌┘ └─┐ ╭╯ │ │
│ └┴──────────┴──── Time/Demand ╰───────────────────│ │
│ │
│ 26 discrete price points → Infinite price points │
│ Static fare basis codes → Dynamic calculation │
│ Filed with ATPCO → Generated in real-time │
│ │
└─────────────────────────────────────────────────────────────────┘
Bypassing ATPCO
Pricing lives in the engine, replacing archaic rules with real-time logic:
| Legacy Rule | Replaced By |
|---|
| Saturday Night Stay | Demand signal |
| 14-day Advance Purchase | Lead time factor |
| Round-trip Required | One-way pricing default |
| Fare Basis Codes | Dynamic tier (P1-P5) |
Continuous Dynamic Pricing
Price = f(demand, lead_time, competitor_price, inventory_position, customer_value)
| Signal | Source | Weight | Latency |
|---|
| Demand | Booking velocity, search volume | High | Real-time |
| Lead Time | Days to departure | High | Static |
| Competitor Price | Scraper/API | Medium | 15-min cache |
| Inventory Position | OMS/Inventory | High | Real-time |
| Customer Value | Loyalty tier, history | Medium | Real-time |
| Day of Week | Calendar | Low | Static |
| Seasonality | Historical patterns | Medium | Daily refresh |
Dynamic Pricing Flow
Shopping Request (/AirShopping)
↓
┌────────────────────────┐
│ Offer Engine │
│ ┌──────────────────┐ │
│ │ Inventory │ │
│ │ (P1-P5) │◄─┼── Availability by tier
│ └────────┬─────────┘ │
│ │ │
│ ┌────────▼─────────┐ │
│ │ Merchandising │ │
│ │ Rules │◄─┼── Bundles, upsells
│ └────────┬─────────┘ │
│ │ │
│ ┌────────▼─────────┐ │
│ │ Pricing Engine │ │
│ │ │◄─┼── Price = f(demand, lead_time, ...)
│ └────────┬─────────┘ │
│ │ │
│ ┌────────▼─────────┐ │
│ │ Tax Engine │◄─┼── GST/VAT by O&D
│ └────────┬─────────┘ │
└───────────┼────────────┘
↓
Priced Offer
(valid 15 min)
Price Validity Windows
| Stage | Validity | Rationale |
|---|
| Shopping response | 15 minutes | Allow comparison shopping |
| Priced offer (OfferPrice) | 10 minutes | Match inventory hold |
| Order created | Price locked | Confirmed transaction |
Ancillary Pricing
SKU-Based Model
Every ancillary is a priced SKU that can be added to the order:
| SKU Type | Pricing Logic | Example |
|---|
| Seat Selection | Seat map position, cabin class | Window +$15, Exit +$50 |
| Baggage | Route, weight tier | 20kg CCS-MAR $25 |
| Meals | Route length, meal type | VGML $12 |
| Priority Boarding | Flat fee | $15 |
| Lounge Access | Airport, tier | CCS $35 |
Dynamic Bundling
┌─────────────────────────────────────────────────────────────────┐
│ "The Commuter Bundle" │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Flight │ │ Coffee │ │ Carry-on │ │
│ │ │ │ │ │ │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │
│ Bundle Price: $89 (vs. à la carte $105) │
│ Savings displayed: 15% │
│ │
└─────────────────────────────────────────────────────────────────┘
Data Model
Offer (Not Fare)
Offer
├── OfferID (UUID)
├── ValidUntil ─────────────── 15 min from creation
├── Segments[]
│ ├── FlightRef
│ ├── PriceTier (P1-P5)
│ └── CabinClass
├── Pricing
│ ├── BaseAmount ─────────── Dynamically calculated
│ ├── Taxes[]
│ │ ├── TaxCode
│ │ ├── Amount
│ │ └── Description
│ ├── Fees[]
│ └── TotalAmount
├── Ancillaries[] ───────────── Available add-ons
│ ├── SKU
│ ├── Price
│ └── Included (boolean)
└── PricingInputs ───────────── Audit trail
├── DemandScore
├── LeadTimeDays
└── InventoryPosition
| Metric | Target |
|---|
| Pricing calculation | <100ms |
| Full offer response | <500ms |
| Concurrent price requests | 500+ |
| Price cache TTL | 60 seconds |
Integration Points
| System | Direction | Data |
|---|
| Inventory | Inbound | Tier availability (P1-P5) |
| Revenue Management | Inbound | Demand signals, price floors |
| Tax Engine | Inbound | Tax rates by O&D |
| OMS | Outbound | Priced offers |
| NDC Gateway | Bidirectional | AirShopping, OfferPrice |
| Competitor Monitor | Inbound | Market prices |
Research Topics
Legacy / Interline Considerations
ATPCO (When Required)
For interline agreements or legacy system compatibility:
- Public fare filing for codeshare partners
- ATPCO Tax Box for complex international routing
- Fare construction for through fares
- NUC/ROE for currency neutrality
Note: These are fallback mechanisms. Primary pricing is continuous and dynamic.
Fare Data Model (Legacy Reference)
Fare (Legacy)
├── FareID, CarrierCode
├── Origin, Destination
├── FareBasis, FareClass ───── Mapped to P1-P5
├── OneWayRoundTrip
├── Amount, Currency
├── Rules
│ ├── ValidityDates
│ ├── AdvancePurchase ────── Replaced by lead_time
│ ├── MinMaxStay ─────────── Deprecated
│ └── Combinability
└── Taxes[]