Reprice API Reference
POST |
reprice/reservationworkbench/{workbenchID}/offers/buildfromcatalogofferings For {workbenchID} send the workbench identifier returned in ReservationResponse/Identifer/value in the workbench create response. Base path: Pre-production https://api.pp.travelport.com/11/air/ Production https://api.travelport.com/11/air/ |
Related Content: Exchange, Refund, and Void Guide
When modifying a held booking or exchanging a ticket for NDC, the Reprice API confirms pricing on a selected offer from a preceding Reshop response and adds that offer to the workbench. It is part of the NDC modify/exchange workflow: Create a post-commit workbench, Reshop to shop for the new itinerary, Reprice as detailed here, and Resell to commit the changes.
When exchanging a ticket, if the new itinerary is greater than or equal to the previous itinerary, you may need to send Add Form of Payment and Add Payment after Reprice and before Resell.
Request
Also see Authorization and Common Headers.
Query Parameters
None.
Request Body

Object |
Description |
Required/Optional |
---|---|---|
OfferQueryBuildFromCatalogOfferings |
Top level object. |
Required |
BuildFromCatalogOfferingsRequest |
Top level object. |
Required |
CatalogOfferingIdentifier |
Top level object. |
Required |
Identifier |
Identifier details for the offer to reprice. |
Required |
|
Send the value returned in CatalogOffering/Identifier/authority in the Reshop response for the offer to exchange for. |
Required |
|
Send the value returned in CatalogOffering/Identifier/value in the Reshop response for the offer to exchange for. |
Required |
Response
The Reprice response uses the same format as the AirPrice Reference Payload API response, with the following differences:
-
OfferID is returned with @type value of OfferModify instead of Offer.
-
As in the Reshop response, the Price object does not return the price of the new offer but instead for the new offer compared with the existing offer. In Price/TotalPrice:
- a positive number indicates the additional amount due for the new offer
- a zero amount indicates an even exchange
- a negative number indicates the offer costs less than the original itinerary and a partial refund is due
Example Request

{
"OfferQueryBuildFromCatalogOfferings": {
"BuildFromCatalogOfferingsRequest": {
"@type": "BuildFromCatalogOfferingsRequestAir",
"CatalogOfferingIdentifier": {
"Identifier": {
"authority": "QF",
"value": "WDc3NkM5MUJFLTIyOUMtNDM3Qi05N0M3MS0xfFg3NzZDOTFCRS0yMjlDLTQzN0ItOTdDN3wyMDIxLTExLTE5VDE2OjMwOjUxfEFEVDpYNzc2QzkxQkUtMjI5Qy00MzdCLTk3QzcxLTEtMXxRRnxERUFM"
}
}
}
}
}
Example Response
The response returns details for the modified itinerary, a total price difference, and a breakdown of the fare difference by PTC for the selected offer.

{
"OfferListResponse": {
"OfferID": [
{
"@type": "OfferModify",
"id": "1",
"Identifier": {
"authority": "QF",
"value": "WDc3NkM5MUJFLTIyOUMtNDM3Qi05N0M3MS0xfFg3NzZDOTFCRS0yMjlDLTQzN0ItOTdDN3wyMDIxLTExLTE5VDE2OjMwOjUxfEFEVDpYNzc2QzkxQkUtMjI5Qy00MzdCLTk3QzcxLTEtMXxRRnxERUFMfE9OUkNEOlFGfE9GUlJFU1BJRDp7InJlc3BvbnNlSUQiOiJSOTI0N0FFNkEtOUY0RS00NEMyLUFCQkYiLCJvZmZlcklEIjoiUjkyNDdBRTZBLTlGNEUtNDRDMi1BQkJGLTEiLCJsaXN0T2ZmZXJJdGVtUGF4SUQiOlt7Im9mZmVySXRlbUlEIjoiUjkyNDdBRTZBLTlGNEUtNDRDMi1BQkJGLTEtMSIsInBhc3NlbmdlcklEIjpbIlQxIl19XSwib3JkZXJJdGVtSURQYXhNYXAiOnsiUEQ5QkQyNkJCLTUzQ0MtNDlENy04RDM1bmxqNXJxNXFrdWp6ei0xLTEiOnsiVDEiOiJ0cmF2XzEifX19"
},
"Product": [
{
"@type": "ProductAir",
"id": "product_1",
"FlightSegment": [
{
"sequence": 1,
"Flight": {
"@type": "Flight",
"distance": 438,
"carrier": "QF",
"number": "409",
"id": "S1",
"Departure": {
"@type": "DepartureDetail",
"location": "SYD",
"date": "2021-12-19",
"time": "07:00:00"
},
"Arrival": {
"@type": "ArrivalDetail",
"location": "MEL",
"date": "2021-12-19",
"time": "08:35:00"
}
}
}
],
"PassengerFlight": [
{
"passengerQuantity": 1,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"segmentSequence": [
1
],
"classOfService": "E",
"cabin": "Economy",
"fareBasisCode": "ESQW1"
}
]
}
]
}
],
"Price": {
"@type": "PriceDetail",
"CurrencyCode": {
"value": "AUD"
},
"Base": 84.08,
"TotalTaxes": 24.92,
"TotalPrice": 109,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"CurrencyCode": {
"value": "AUD"
},
"Base": 84.08,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 24.92,
"Tax": [
{
"taxCode": "QR",
"description": "PASSENGER SERVICE CHARGE DOMESTIC DEPARTURE",
"value": 9.42
},
{
"taxCode": "QR",
"description": "PASSENGER SERVICE CHARGE DOMESTIC ARRIVAL",
"value": 5.59
},
{
"taxCode": "UO",
"description": "GOODS AND SERVICES TAX GST",
"value": 8.41
},
{
"taxCode": "UO",
"description": "GOODS AND SERVICES TAX GST",
"value": 1.5
}
]
},
"Total": 109
}
}
]
},
"TermsAndConditionsFull": [
{
"@type": "TermsAndConditionsFullAir",
"TextBlock": [
{
"@type": "TextBlockDetail",
"description": "Bag Rule",
"title": "Bag Rule",
"TextFormatted": [
{
"value": "Baggage Disclosure - Not subject to US DOT and CTA Reservation or Disclosure"
}
]
},
{
"@type": "TextBlockDetail",
"description": "Ticketing",
"title": "Ticketing",
"TextFormatted": [
{
"value": "NON-REF/NON-END"
},
{
"value": "SPECIAL FARE CONDITIONS"
}
]
}
],
"BaggageAllowance": [
{
"@type": "BaggageAllowanceDetail",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "CarryOn",
"ProductRef": [
"product_1"
],
"BaggageItem": [
{
"quantity": 2
}
]
},
{
"@type": "BaggageAllowanceDetail",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "FirstCheckedBag",
"ProductRef": [
"product_1"
],
"BaggageItem": [
{
"quantity": 1
}
]
}
],
"FareRuleInfo": [
{
"@type": "FareRuleInfo",
"flightsRefs": [
"S1"
],
"ruleNumber": "70J|NO8EJWN~MpB8PD~MpN8RWC~MqB9KDJ~MDB8DQPU0~MBV9/321~MNA9/1584~MBB87016~MRO8OSAJ~MPM864/.~MDM82X~MPN88786~MP08DPR~MNP9/~MNW8@BS~MQ@948~MCR9/0/43~MRL80580~MAA877~MDC8N@~M?L872/6~MAT8@SC~MQR91/0~MDS82.1~MQP96*sjovYy89RiGg*flxKey"
}
],
"OrganizationInformation": {},
"PaymentTimeLimit": "2021-11-20T23:59:00Z"
}
]
}
],
"Result": {
"Warning": [
{
"@type": "Warning",
"Message": "QF : OB Fees of 0.40 for CARD FEE FD2 may be applied for traveler 1."
},
{
"@type": "Warning",
"Message": "QF : OB Fees of 0.40 for CARD FEE FD5 may be applied for traveler 1."
},
]
}
}
}