v1

latestOpenAPI 3.0.02026-08-061029011.1 MB
Pricing and Fare Rules

AirPrice Full Payload

The AirPrice API confirms pricing on air search results. While air pricing is generally an optional but recommended step, it is required for low cost carriers and some NDC carriers.

post/air/price/offers/buildfromproducts

Headers

travelportPlusSessionIdentifierstring
Example:49f58f5f-c443-43b4-9f5d-be405fd00a01

travelportPlusSessionIdentifier used to maintain an established agency session

TraceIdstring
Example:TraceID_123456789

Identifier used to correlate Air API invocations across a multi-call business flows.

XAUTH_TRAVELPORT_ACCESSGROUPstring
Example:19Y88702-C27A-4E5D-829A-89D7016688B1

Identifies the Travelport access group with which the caller is associated

TVP-PCC-Corestring
Example:DU7_1G

Allows user to pass PCC instead of Access Group ID

Request body

@typestring required

Discriminator. No child classes

FareRuleType'Structured' | 'ShortText' | 'LongText'

Use not recommended; request fare rules using the Fare Rules API request instead.
Returns fare rules in the offer response.
Structured rules limit the rules returned to one or more of these categories: advance reservation/ticketing requirements, minimum/maximum stay, stopovers, penalties, voluntary exchanges and refunds.
GDS supports all categories; NDC supports only penalties. See the Fare Rules Guide for details. Note that even if fare rules are not requested, for GDS only, change and cancel penalties are returned unless suppressed by sending CustomResponseModifiersAir/excludePenaltiesInd set to true.
Not supported in BuildOptions (Flight Specific Search).

FareRuleCategoryFareRuleCategoryEnum[]

Not recommended to use. Invoke fare rule end points directly.

lowFareFinderIndboolean

GDS only; not supported for NDC.
Provides pricing flexibility around class of service.

  • If true: returns the lowest fares available in any class of service available, which may not be the same as the requested class.
  • If false (default behavior): the response returns fares only in the requested class of service.

Notes for modifier interations:

  • If lowFareFinderInd is sent with true and CabinPreference is sent, the only supported value for CabinPreference/type is Permitted.
  • When lowFareFindInd=true and brand attributes are not disabled with inhibitBrandContentInd, AirPrice uses only the brand tier (and any other pricing modifiers) to find the lowest fare within a brand tier regardless of class of service.
returnBrandedFaresIndboolean

Use to request the return of branded fares, which by default are not returned for the AirPrice Full Payload request.

  • If true, returns branded fares. For AirPrice this is supported only in the full payload request.
  • If false (default behavior): Does not return branded fares.
reCheckInventoryIndboolean

GDS only, not supported for NDC (NDC carriers always validate inventory at pricing).
Sets whether to validate inventory on the first flight in the itinerary in the requested class of service by booking and then releasing seats. Can help reduce sell failures at booking by alerting of insufficient availability.

  • If true, verifies availability for the requested number of passengers in a specific class of service at the time of the price request by booking and releasing seats. If any or all segments are not bookable, AirPrice returns a message that the air segment/s are not bookable along with the dates and city pairs of the segments that are not bookable.
  • If false (default behavior): Checks only for general seat availability on the flight, not a specific class of service.

Because this indicator temporarily affects seat availability, the recommended best practice is to use validateInventoryInd instead. Some airlines monitor for high volumes of sell/ignore transactions. Regardless of pricing results, air fares and inventory are only guaranteed by airlines when ticketed and paid.
To cause AirPrice to perform the same check for connecting flights, you can send both reCheckInventory=true and SpecificFlightCriteria/boundFlightsInd=true for each connecting flight.

validateInventoryIndboolean

GDS only; not supported for NDC, as NDC carriers already validate inventory at pricing.
Sets whether to validate inventory in the requested class of service.

  • If true, checks for availability for the requested number of passengers in the requested class of service at the time of the price request. If there are fewer seats than requested passengers available in that class of service, AirPrice does not return any offers and instead returns an error message that the booking class or preference is not available. This reduces failures at the Add Offer and Workbench Commit steps.
  • If false (default behavior): Checks only for general seat availability on the flight, not a specific class of service. AirPrice may return upsell offers with no availability in the requested class of service.
MaxNumberOfUpsellsToReturninteger

NDC only; not supported for GDS.
Supports values from 0 to 99 inclusive. Send to request upsell offers along with pricing for the requested class of service or cabin, returned in ascending price order. An upsell is the next highest fare in a different brand or cabin than requested.
Upsells are returned as follows:

  • Upsells not requested: Only the requested offer is returned.
  • One upsell requested: The lowest priced offer in the requested class of service or cabin plus one upsell offer are returned.
  • Two upsells requested (and so on for x upsells requested): The lowest priced offer in the requested class of service or cabin plus two upsell offers are returned.

Example request

{
  "@type": "OfferQueryBuildFromProducts",
  "BuildFromProductsRequest": {
    "@type": "BuildFromProductsRequestAir"
  },
  "CabinPreference": {
    "@type": "CabinPreference",
    "preferenceType": "Preferred",
    "cabins": [
      "Economy"
    ],
    "legSequence": [
      1,
      2
    ]
  },
  "PaymentCriteria": {
    "@type": "PaymentCriteria",
    "IssuerIdentificationNumber": "123456",
    "PaymentCardCode": "VI",
    "DocumentNumber": [
      {
        "value": "1259900123456",
        "documentIssuer": "BA",
        "documentType": "Ticket",
        "passengerTypeCode": "ADT"
      }
    ],
    "FlightPass": [
      {
        "@type": "FlightPass",
        "accountNumber": "0140851633093",
        "supplier": "AC",
        "Description": [
          "FlightPass"
        ],
        "TravelerIdentifierRef": [
          {
            "uris": [
              "google.com"
            ]
          }
        ]
      }
    ],
    "agencyAccountInd": true,
    "bspInd": true,
    "cashInd": true,
    "invoiceInd": true
  },
  "lowFareFinderInd": true,
  "returnBrandedFaresInd": true,
  "reCheckInventoryInd": true,
  "validateInventoryInd": true,
  "MaxNumberOfUpsellsToReturn": 4
}

Response

OK - Successful Response - 200

Example response

{
  "OfferListResponse": {
    "@type": "response",
    "transactionId": "49f58f5f-c443-43b4-9f5d-be405fd00a01",
    "traceId": "TraceID_123456",
    "Result": {
      "@type": "Result",
      "status": "Complete",
      "Error": [
        {
          "@type": "ErrorDetail",
          "StatusCode": 200,
          "Message": "No flights found.",
          "NameValuePair": [
            {
              "value": "Sunday",
              "id": "6",
              "name": "Day1"
            }
          ]
        }
      ],
      "Warning": [
        {
          "@type": "WarningDetail",
          "StatusCode": 200,
          "Message": "Customer Loyalty could not be applied.",
          "NameValuePair": [
            {
              "value": "Sunday",
              "id": "6",
              "name": "Day1"
            }
          ]
        }
      ]
    },
    "Identifier": {
      "value": "A0656EFF-FAF4-456F-B061-0161008D7C4E",
      "authority": "TVPT"
    },
    "NextSteps": {
      "id": "5",
      "NextStep": [
        {
          "value": "www.resourcelocation.com",
          "id": "2",
          "action": "cancel",
          "description": "remove offer from the order"
        }
      ]
    },
    "ReferenceList": [
      {
        "@type": "ReferenceListFlight"
      }
    ],
    "CurrencyRateConversion": [
      {
        "SourceCurrency": {
          "value": "USD",
          "codeAuthority": "ISO 4217",
          "decimalPlace": 4,
          "decimalAuthority": "ISO 4217"
        },
        "TargetCurrency": {
          "value": "USD",
          "codeAuthority": "ISO 4217",
          "decimalPlace": 4,
          "decimalAuthority": "ISO 4217"
        },
        "ConversionRate": {
          "rateAuthority": "ISO 4217",
          "rateAsOf": "2026-08-07T12:12:00Z"
        }
      }
    ],
    "Pagination": {
      "@type": "Pagination",
      "page": 1,
      "pageSize": 20,
      "totalPages": 5,
      "totalItems": 100
    }
  }
}