Skip to main content

Switch from Navitaire NDC 21.3

Breeze’s NDC/XML API provides a migration path for partners using Navitaire NDC 21.3. This guide explains the request and workflow changes required to migrate. Our JSON and XML APIs offer significant advantages:

  • full access to Breeze’s leisure products: Nice, Nicer, Nicest, and No Flex fares are available in all markets
  • expanded BreezeCorp fare products, including BreezeCorp Basic
  • access to U.S. Federal Government fares for eligible agencies
  • support for increased search volumes
  • simplified authentication

This page describes API differences and steps partners need to take to make the switch.

Expanded products and capabilities

Breeze’s API expands the fares available to partners and simplifies seat selection. “New” badges indicate additions; bold highlights new or improved capabilities.

CapabilityNavitaire NDC 21.3Breeze API
Leisure faresEconomy: Flex, No FlexEconomy: No Flex, Nice New
Premium Economy: Nicer New
First/Business: Nicest New
Corporate and agency faresBreezeCorpBreezeCorp
BreezeCorp Basic New
U.S. Federal Government fares¹ New
Private fares New
Seat selectionTwo stepsOne step
Add-onsCarry-on and checked bagsCarry-on and checked bags
Flight credit redemptionNot supportedSupported New

Nice replaces the standalone Flex fare (code EZ); No Flex remains available.

¹ U.S. Federal Government fares are available to eligible agencies.

Implementation

What’s simpler

Integration requirementNavitaire NDC 21.3Breeze NDC/XML
IP allowlistingRequiredNot required
Ocp-Apim-Subscription-Key headerRequiredNot required
Session/token lifecycleStateful session bugsAPI handles lifecycle

NDC/XML API differences

Requests the previous API accepted that this API rejects

The new API validates explicitly where the previous one silently coerced or ignored. Requests built against the old samples fail on these until updated:

Previous APIThis API
Paths like POST /api/Shopping/r3.x/v21.3/AirShopping, /api/Selling/r3.x/v21.3/OrderCreate, /api/Servicing/r3.x/v21.3/OrderChangeOne base path per message: POST /ndc/{version}/{Message} with version v21.3, v24.1, or v25.4.
<OwnerCode>NV</OwnerCode>Owner code must be MX; anything else is rejected.
Offer and offer-item IDs like sid-8944…-1IDs are issued by this API (OF-… / OFI-…); other shapes are rejected. Always echo IDs from the prior response.
<ContactPurposeText>NTF</ContactPurposeText> on the lead contactRejected as an unknown contact type — tag the notification contact Primary, or leave the one booking contact untagged. See contacts.
Any ContactInfoList accepted; extra contacts silently ignored, first one usedOnly the primary booking contact can be set — other ContactPurposeText values are rejected, the primary is never guessed among several entries, and dangling ContactInfoRefIDs are rejected.
Phone numbers passed through as sentPhones must normalize to E.164 (international +/00 prefix, CountryDialingCode, or a bare 10-digit US/Canada number).
Email addresses passed through as sentMalformed email addresses are rejected.
RelationshipToPax (emergency contact) carried without effectRejected — emergency contacts are not supported.

One behavior change in the same area that is an upgrade, not a break: per-passenger contacts (ContactInfoRefID per Pax) are now actually stored and returned — the previous API parsed and discarded them.

AirShopping

Select bundles directly from search results

Breeze’s API lets partners select Nice, Nicer, or Nicest directly from the AirShopping results. The selected offer already includes the bundle. Partners no longer need a ruleset to understand which bundles were combinable with which fare or perform a separate sequence of requests to retrieve bundle prices and add one.

Using Navitaire NDC 21.3, selecting a bundle required these steps:

  1. Select the EZ fare from AirShopping. Selecting NO will return no bundles.
  2. Call OfferPrice to price the selected fare.
  3. Call ServiceList to retrieve available bundles and their prices.
  4. Call OfferPrice again to add the selected bundle.

With Breeze’s API, select the offer for the desired product from AirShopping, then pass that offer to OfferPrice. The ServiceList lookup and second OfferPrice call used to add the bundle are eliminated.

Additions

  • IATA_AircraftTypeCode
  • ServiceDefinitionList
  • PaxJourneyList.PaxJourney.Duration

Modifications

  • Downline legs of a direct flight (BreezeThru) are not returned.
    • Example: request for PIT-PVD takes MX721 PIT-CHS that continues onward to MYR even though the itinerary connects to MX101 CHS-PVD. Navitaire returns the downline leg; the new API does not.

Removals

  • The standalone leisure "Flex" fare product (code EZ) is no longer available. It is replaced by "Nice" product which brings API partners product parity with our website.