Skip to content

NDC Reprice

Request

Use the Add Offer reference payload request to add an offer to the reservation workbench as part of the booking workflow. The reference payload request sends identifiers from the Search response instead of full itinerary details.
NDC supports only the reference payload. For GDS, you can send either a reference payload or a full payload.

Security
bearerAuth
Path
ReservationResource_Identifierstring, <= 128 charactersrequired

The Reservation Identifier

Example:49f58f5f-c443-43b4-9f5d-be405fd00a01
Headers
TraceIdstring, [ 10 .. 89 ] characters

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

Example:TraceID_123456789
XAUTH_TRAVELPORT_ACCESSGROUPstring, = 36 characters([a-zA-Z-0-9-_]*)

Identifies the Travelport access group with which the caller is associated

Example:19Y88702-C27A-4E5D-829A-89D7016688B1
travelportPlusSessionIdentifierstring, [ 0 .. 100 ] characters([a-zA-Z-0-9-_]*)

travelportPlusSessionIdentifier used to maintain an established agency session

Example:49f58f5f-c443-43b4-9f5d-be405fd00a01
TVP-PCC-Corestring^[a-zA-Z\d]{3,4}_\w{2}$

Allows user to pass PCC instead of Access Group ID

Example:DU7_1G
Bodyapplication/json
@typestringrequired
Example:"OfferQueryBuildFromCatalogOfferings"
BuildFromCatalogOfferingsRequestobject(BuildFromCatalogOfferingsRequest)
CabinPreferenceobject(CabinPreference)

Requests a fare based on the cabin class. Only one cabin preferenceType (Permitted, Preferred, PreferredWithUpgrade) is allowed per request, but there is no limit to the number of cabins that can be sent.

  • Any CabinPreference in the initial Search request is applied to any subsequent Next Leg Search and reference Flight Specific Search requests.
  • In AirPrice and AirReservation only one cabin preference type is allowed per request, but there is no limit to the number of cabins that can be sent. If CabinPreference was sent in the Search request, it is cached and sent with the AirPrice reference payload request. If you send CabinPreference in the AirPrice request, all cached modifiers are discarded and only the modifiers sent in the AirPrice request are used.

Can be combined with lowFareFinderInd=true to return lowest fare in the requested cabin or cabins. When using CabinPreference and lowFareFinderInd, if both CabinPreference and a class of service are sent, class of service is ignored. If CabinPreference is sent without a class of service, the response returns the lowest fare in the cabin requested. If that cabin is not available, the response may upgrade or downgrade to a different cabin. If a different cabin than requested is returned, the response returns the message that the cabin class may differ from the class requested. If lowFareFinderInd=false and CabinPreference are sent in the request, AirPrice ignores the preferred cabin and returns a message that the preferred cabin was ignored.
If CabinPreference is set to All, no cabin preference is applied.

PaymentCriteriaobject(PaymentCriteria)

Optional object to send the BIN/INN (IssuerIdentificationNumber) of the credit card to be used for payment; sending the BIN returns OB fees in the response
Required when using Air Canada flight pass.

FareRuleTypestring(FareRuleEnum)

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).

Enum:"Structured""ShortText""LongText"
FareRuleCategoryArray of strings, <= 10 items
lowFareFinderIndboolean

GDS only; not supported for NDC.
Provides pricing flexibility around class of service. If not sent, the response returns fares only in the requested 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. Note that if lowFareFinderInd is sent with true and CabinPreference is sent, the only supported value for CabinPreference/type is Permitted.
  • If false (default behavior): provides fares for only the specified class of service. When lowFareFindInd=true and brand attributes are not disabled (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.
Example:true
returnBrandedFaresIndboolean

If true, branded fares are returned.

Example:true
reCheckInventoryIndboolean

GDS only, not supported for NDC (NDC carriers always validate inventory at pricing).
Sets whether to validate inventory 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 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 does not return any offers and returns an error message.
  • If false (default behavior): checks for general seat availability on the flight, not a specific class of service, and does not book/release seats.
    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.
    Can help reduce sell failures at booking by alerting of insufficient availability.
Example:true
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. This reduces failures at the Add Offer and Workbench Commit steps.

  • 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.
  • If false (default behavior): checks for general seat availability on the flight, not a specific class of service. May return upsell offers with no availability in the requested class of service.
Example:true
lowFareFindAndRebookIndboolean

If true, the original flights in the reservation will be rebooked or replaced with the new exchanged flights.

curl -i -X POST \
  https://developer.travelport.com/_mock/apis/flights/air/reprice/reservationworkbench/49f58f5f-c443-43b4-9f5d-be405fd00a01/offers/buildfromcatalogofferings \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'TVP-PCC-Core: DU7_1G' \
  -H 'TraceId: TraceID_123456789' \
  -H 'XAUTH_TRAVELPORT_ACCESSGROUP: 19Y88702-C27A-4E5D-829A-89D7016688B1' \
  -H 'travelportPlusSessionIdentifier: 49f58f5f-c443-43b4-9f5d-be405fd00a01' \
  -d '{
    "@type": "OfferQueryBuildFromCatalogOfferings",
    "BuildFromCatalogOfferingsRequest": {
      "@type": "BuildFromCatalogOfferingsRequestAir",
      "CatalogOfferingIdentifier": {
        "Identifier": {
          "authority": "QF",
          "value": "WDY3OURGN0E0LTIwRTItNEM5QS1BOEZGLTF8WDY3OURGN0E0LTIwRTItNEM5QS1BOEZGfDIwMjYtMDgtMjVUMDk6NDk6MTB8QURUOlg2NzlERjdBNC0yMEUyLTRDOUEtQThGRi0xLTF8UUZ8RkxFWHxDdXJyZW5jeUNvZGU6QVVE"
        }
      },
      "CatalogOfferingsIdentifier": {
        "Identifier": {
          "authority": "QF",
          "value": "WDY3OURGN0E0LTIwRTItNEM5QS1BOEZGLTF8WDY3OURGN0E0LTIwRTItNEM5QS1BOEZGfDIwMjYtMDgtMjVUMDk6NDk6MTB8QURUOlg2NzlERjdBNC0yMEUyLTRDOUEtQThGRi0xLTF8UUZ8RkxFWHxDdXJyZW5jeUNvZGU6QVVE"
        }
      }
    }
  }'

Responses

OK - Successful Response - 200

Bodyapplication/json
OfferListResponseobject(OfferListResponse)

The response of an Offer list endpoint request, such as AirPrice and Add Offer calls.
Defines one or more air offers returned including the offer identifiers and related response data needed for subsequent booking steps.

Response
{ "OfferListResponse": { "OfferID": [ {} ], "@type": "response", "transactionId": "49f58f5f-c443-43b4-9f5d-be405fd00a01", "traceId": "TraceID_123456", "correlationId": "48fb4cd3-2ef6-4479-bea1-7c92721b988c", "reservationStatus": "Success", "Result": { "@type": "Result", "status": "Complete", "Error": [], "Warning": [] }, "Identifier": { "value": "A0656EFF-FAF4-456F-B061-0161008D7C4E", "authority": "TVPT" }, "NextSteps": { "baseURI": "string", "id": "5", "NextStep": [] }, "ReferenceList": [ {} ], "CurrencyRateConversion": [ {} ], "Pagination": { "@type": "Pagination", "page": 1, "pageSize": 20, "totalPages": 5, "totalItems": 100 } } }