AirOfferPrice that allows users to retrieve rates for specific travel requirements and to price a particular Shopping Response ID and Offer ID.
This returns the Response with total price for the selected itinerary, including taxes, fees, or other charges associated with the booking.
As it provides customers with accurate and up-to-date pricing information for their travel plans.
Schema
-
Name: Provide the name for the request. This is a String value.
-
ReferenceVersion: Provide the version number. This is a Numeric value.
-
Travel Agency Sender:
-
Name: Provide the name for the request. This is a String value.
-
IATA Number: Provide the IATA number for the request. This is a String value.
-
Agency ID: Provide the agency ID for the request. This is a String value.
-
Contacts: This is an Array.
- EmailContact: Provide the email contact for the request. This is a String value.
-
The Shopping Response ID is a unique identifier that is generated when a customer performs a search for flights and receives a list of available options.
This is the required field, and the value will be String.
OfferID: When a customer performs a search for flights, the airline generates a list of available offers that meet the customer’s search criteria. Each offer within that list is assigned a unique OfferID.
It is important to provide the correct numeric value to ensure that the system can identify the correct offer
This is the required field, and the value will be String.
- Passenger: This is an Array.
Note: This is a required field. Passenger list must have at least one adult. Infant object count should be less than or equal to adult count. Total passenger count should be less than or eqaul to 9.
-
PassengerID: Provide the passenger ID assigned to you. Valid values are
T1,T2, andT3. The value will be String. -
PTC: Provide the passenger type. Valid values are
ADT,CHD, andINF. The value will be String.
PricedOffer
- OfferID: Unique identifier for the Air Itinerary.
- Owner: Airline code of the offer provider.
- OwnerName: Airline name.
- TicketType: Type of ticket (e.g., Single, Round-trip).
- IsBrandedFare: Indicates if the fare is part of a branded fare category.
- BrandedFareOptions - List of branded fare options available for the booking (Array).
- CabinOptions - List of available cabin options (Array).
- IsAdditionalCabinType - Indicates whether an additional cabin type is available.
- Eticket: Specifies if the ticket is electronic.
- AllowHold: Indicates if the booking can be put on hold.
- TimeLimits: Defines expiration times for the offer.
- OfferExpirationDateTime: Time when the offer expires.
- PaymentExpirationDateTime: Deadline for payment.
- PassportRequired: Specifies if a passport is needed for booking.
- BookingCurrencyCode: Currency code used for booking.
- EquivCurrencyCode : Requested Currency code for booking.
- BookingFeeInfo : Additional transaction fees.
- FeeType : Type of the transaction fee applied.
- BookingCurrencyPrice: BookingFee Amount in the booking currency.
- EquivCurrencyPrice: BookingFee Amount in the equivalent currency.
- TotalPrice: Total price breakdown(Base+Tax).
- BookingCurrencyPrice: Total price in the booking currency.
- EquivCurrencyPrice: Total price in the equivalent currency.
- BasePrice: Base fare excluding taxes.
- BookingCurrencyPrice: Base price in the booking currency.
- EquivCurrencyPrice: Base price in the equivalent currency.
- TaxPrice: Tax fare from the airline
- BookingCurrencyPrice: Tax price in the booking currency.
- EquivCurrencyPrice: Tax price in the equivalent currency.
- Commission: Commission details.
- AgencyCommission : The commission given for the agency
- BookingCurrencyPrice:Commission in the booking currency.
- EquivCurrencyPrice: Commission in the equivalent currency.
- AgencyYqCommission : : The commission given for the YQ tax fare.
- BookingCurrencyPrice: Commission in the booking currency.
- EquivCurrencyPrice: Commission in the equivalent currency.
- AgencyCommission : The commission given for the agency
- PortalCharges : Defines additional charges applied to the booking(Portal level).
- Markup: Extra charges added to the booking..
- BookingCurrencyPrice: Markup amount in the booking currency.
- EquivCurrencyPrice: Markup amount in the equivalent currency.
- Surcharge: Additional service fees.
- BookingCurrencyPrice: Surcharge in the booking currency.
- EquivCurrencyPrice:Surcharge in the equivalent currency.
- Discount: Reduction in ticket price, either as a percentage or fixed amount.
- BookingCurrencyPrice: Discount Amount in the booking currency.
- EquivCurrencyPrice: Discount Amount in the equivalent currency.
- Markup: Extra charges added to the booking..
- Penalty: Fees for changes or cancellations.
- ChangeFee:Represents the fee charged for modifying a booking.
- Before: Change fee applicable before the specified deadline.
- BookingCurrencyPrice: Change fee in the booking currency. (
NAmeans no fee specified) - EquivCurrencyPrice: Change fee in the equivalent currency.(NAmeans no fee specified) - After:Change fee applicable after the specified deadline. - BookingCurrencyPrice: Change fee in the booking currency.(NAmeans no fee specified) - EquivCurrencyPrice: Change fee in the equivalent currency. (NAmeans no fee specified)- CancelationFee: Represents the fee charged for canceling a booking.
- Before: Cancellation fee applicable before the specified deadline.
- BookingCurrencyPrice: Cancellation fee in the booking currency. (
NAmeans no fee specified) - EquivCurrencyPrice: Cancellation fee in the equivalent currency.(
NAmeans no fee specified)
- BookingCurrencyPrice: Cancellation fee in the booking currency. (
- After: Cancellation fee applicable after the specified deadline.
- BookingCurrencyPrice: Cancellation fee in the booking currency.(
NAmeans no fee specified) - EquivCurrencyPrice: Cancellation fee in the equivalent currency. (
NAmeans no fee specified)
- BookingCurrencyPrice: Cancellation fee in the booking currency.(
- Before: Cancellation fee applicable before the specified deadline.
- CancelationFee: Represents the fee charged for canceling a booking.
- OfferItem: Contains pricing and service details.
- OfferItemID: Unique identifier for the offer item.
- Refundable: Indicates whether the offer is refundable (
trueorfalse). - PassengerType: Passenger type (e.g.,
ADTfor adult,CHDfor child). - PassengerQuantity: Number of passengers for this offer.
- TotalPriceDetail: Contains total price details of the offer.
- TotalAmount: Total amount including all charges.
- BookingCurrencyPrice: Price in booking currency.
- EquivCurrencyPrice: Price in equivalent currency.
- TotalAmount: Total amount including all charges.
- Service: List of additional services linked to the offer.
- ServiceID: Unique identifier for the service.
- PassengerRefs: References the passenger receiving the service.
- FlightRefs: References the flight linked to this service.where you can find the flight details from the FlightList by mapping this FlightRefs Key.
- FareDetail: Contains price breakdown, taxes, and commissions.
- PassengerRefs: References the passenger for the fare details.
- Price: Price details.
- TotalAmount: Total amount including all charges.
- BookingCurrencyPrice: Price in booking currency.
- EquivCurrencyPrice: Price in equivalent currency.
- BaseAmount: The base fare price.
- BookingCurrencyPrice: Price in booking currency.
- EquivCurrencyPrice: Price in equivalent currency.
- TaxAmount: Total taxes applied.
- BookingCurrencyPrice: Tax price in booking currency.
- EquivCurrencyPrice: Tax price in equivalent currency.
- Commission: Commission details.
- AgencyCommission: Agency Commission details.
- BookingCurrencyPrice: Commission amount in booking currency.
- EquivCurrencyPrice: Commission amount in equivalent currency.
- AgencyYqCommission: Additional agency commission.
- BookingCurrencyPrice: Commission amount in booking currency.
- EquivCurrencyPrice: Commission amount in equivalent currency.
- AgencyCommission: Agency Commission details.
- BookingFee: Additional transaction fees.
- BookingCurrencyPrice: Fee amount in booking currency.
- EquivCurrencyPrice: Fee amount in equivalent currency.
- PortalCharges: Defines additional charges applied to the booking(portal level).
- Markup: Extra charges added to the booking.
- BookingCurrencyPrice: Markup amount in booking currency.
- EquivCurrencyPrice: Markup amount in equivalent currency.
- Surcharge: Additional service fees.
- BookingCurrencyPrice: Surcharge amount in booking currency.
- EquivCurrencyPrice: Surcharge amount in equivalent currency.
- Discount: Price reductions applied.
- BookingCurrencyPrice: Discount amount in booking currency.
- EquivCurrencyPrice: Discount amount in equivalent currency.
- Markup: Extra charges added to the booking.
- TotalAmount: Total amount including all charges.
- Taxes: List of individual taxes applied.
- TaxCode: Code identifying the type of tax.
- BookingCurrencyPrice: Tax amount in booking currency.
- EquivCurrencyPrice: Tax amount in equivalent currency.
- FareComponent: Describes the fare class, booking class, and cabin type for each segment.
- PriceClassRef: References the price class.
- SegmentRefs: References flight segments.
- FareBasis: Details about fare basis codes
- FareBasisCode: Code representing the fare basis.
- Refs: Reference codes. where you can see the details in FareList by mapping this code
- Code: Fare basis code for each code.
- RBD: Reservation booking designator.This code is used to identify the specific booking class of a flight
- CabinType: Cabin class (e.g.,
Y: ECONOMY,S: PREM ECONOMY,C: BUSINESS,D: PREMBUSINESS,F: FIRSTCLASS, andP: PREMFIRSTCLASS). - SeatLeft: Number of available seats.
- FareBasisCode: Code representing the fare basis.
- BaggageAllowance: Information on baggage policies.
- SegmentRefs: A space-separated string containing references to the segments this baggage allowance applies to.
- PassengerRefs: The reference to the passenger(s) eligible for this baggage allowance.
- BaggageAllowanceRef : A unique reference linking to the baggage policy details.
- SplitPaymentInfo: Details on multi-payment options.
- AirItineraryId: Unique identifier for the air itinerary.
- MultipleFop: Indicates if multiple forms of payment (MFOP) are allowed.
"Y": Multiple payment methods are allowed."N": Only a single payment method is permitted.- MaxCardsPerPax: The maximum number of cards allowed per passenger.
- MaxCardsPerPaxInMFOP: The maximum number of cards allowed per passenger when using multiple forms of payment (MFOP).
DataLists
- PassengerList: Contains passenger details.
- Passengers: List of passengers.
- PassengerID: Unique identifier for the passenger.
- PTC: Passenger type code (e.g., ADT for adult).
- Passengers: List of passengers.
- DisclosureList: Contains disclosures, if any.
- FareList: Lists fare groups.
- FareGroup: Group of fare codes.
- FareGroupRef: Reference to the fare group.
- FareCode: Code assigned to the fare.
- FareBasisCode: Basis code for fare rules.
- FareGroup: Group of fare codes.
- FlightSegmentList: Contains a list of flight segments.
- FlightSegment: Array of individual flight segment details.
- SegmentKey: Unique identifier for the flight segment.
- Departure: Contains details of the departure location and time.
- AirportCode: IATA code of the departure airport.
- Date: Departure date in
YYYY-MM-DDformat. - Time: Departure time in
HH:MM:SSformat. - AirportName: Full name of the departure airport.
- Terminal: Terminal details.
- Name: Terminal number (if applicable).
- Arrival: Contains details of the arrival location and time.
- AirportCode: IATA code of the arrival airport.
- Date: Arrival date in
YYYY-MM-DDformat. - Time: Arrival time in
HH:MM:SSformat. - AirportName: Full name of the arrival airport.
- Terminal: Terminal details.
- Name: Terminal name or number (if applicable).
- MarketingCarrier: The airline that sells the flight.
- AirlineID: Airline IATA code.
- Name: Name of the airline.
- FlightNumber: The flight number assigned by the marketing carrier.
- OperatingCarrier: The airline that actually operates the flight.
- AirlineID: Airline IATA code.
- Name: Name of the airline.
- FlightNumber: The flight number assigned by the operating carrier.
- Equipment: Aircraft information.
- AircraftCode: Aircraft type code.
- Name: Aircraft model name.
- Code: Additional flight segment-related codes.
- MarriageGroup: Grouping information for married flight segments.
- FlightDetail: Additional flight-related details.
- FlightDuration: Total flight duration.
- Value: Duration in
H Mformat.
- Value: Duration in
- Stops: Number of stops in the flight segment.
- Value: Number of stops.
- InterMediate: List of intermediate stops (if applicable).
- AirMilesFlown: Total miles flown for the segment.
- FlightDuration: Total flight duration.
- BrandId: Brand associated with the flight segment.
- Amenities: List of amenities available on the flight.
- FlightSegment: Array of individual flight segment details.
- FlightList: Lists complete flight journeys.
- FlightKey: Identifier for the flight.
- Journey: Total time and number of stops.
- SegmentReferences: List of segments that form the journey.
- OriginDestinationList: Defines the travel routes.
- OriginDestination: Origin and destination pair.
- OriginDestinationKey: Unique key for the origin-destination pair.
- DepartureCode: IATA airport code for departure.
- ArrivalCode: IATA airport code for arrival.
- FlightReferences: Flights available for this route.
- OriginDestination: Origin and destination pair.
- PriceClassList: Lists price classes.
- PriceClass: Defines pricing categories.
- PriceClassID: Unique identifier for the price class.
- Name: Name of the price class.
- Code: Code associated with the price class.
- PriceClass: Defines pricing categories.
- BaggageAllowanceList: Contains baggage allowance details.
- BaggageAllowance: Baggage policy for a segment.
- BaggageAllowanceID: Unique ID for baggage rule.
- BaggageCategory: Type of baggage (e.g., Checked).
- AllowanceDescription: Explanation of baggage allowance.
- PieceAllowance: Number of baggage pieces allowed.
- BaggageAllowance: Baggage policy for a segment.
- FopList: Lists available forms of payment (FOP).
- CC: Credit card payment availability.
- DC: Debit card payment availability.
- CHEQUE: Cheque payment availability.
- CASH: Cash payment availability.
- ACH: Automated Clearing House (bank transfer) payment availability.
- PG: Payment gateway availability.
- FopKey: Unique key referencing a payment option.
MetaData
- MetaData: Additional metadata related to the offer.
Request URL
curl --location --request POST 'https://newapi.tltid.com/AirOfferPrice' \
--header 'Authorization: <YOUR_ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
--header 'Accept-Encoding: gzip, deflate, br'\
Request Body Sample
{
"OfferPriceRQ": {
"Document": {
"Name": "Skyroute B2B Portal",
"ReferenceVersion": "1.0"
},
"Party": {
"Sender": {
"TravelAgencySender": {
"Name": "Skyroute B2B",
"IATA_Number": "1111111111",
"AgencyID": "1111111111",
"Contacts": {
"Contact": [
{
"EmailContact": "pst@claritytts.com"
}
]
}
}
}
},
"ShoppingResponseId": "1678284796766733395",
"Query": {
"Offer": [
{
"OfferID": "77061721678284802555453313"
}
]
},
"DataLists": {
"PassengerList": {
"Passenger": [
{
"PassengerID": "T1",
"PTC": "ADT"
}
]
}
},
"MetaData": {
"TraceId": "161777799749"
}
}
}
Response Sample
{
"OfferPriceRS": {
"Document": {
"Name": "API GATEWAY",
"ReferenceVersion": "1.2"
},
"Party": {
"Sender": {
"TravelAgencySender": {
"Name": "Mahesh Tours And Travels",
"IATA_Number": "",
"AgencyID": "Mahesh Tours And Travels",
"Contacts": {
"Contact": [
{
"EmailContact": "pst@claritytts.com"
}
]
}
}
}
},
"ShoppingResponseId": "1678284796766733395",
"OfferResponseId": "1678284832897795647",
"Success": {},
"PricedOffer": [
{
"OfferID": "77061721678284802555453313",
"Owner": "AC",
"OwnerName": "Air Canada",
"IsBrandedFare": "N",
"BrandedFareOptions": [],
"CabinOptions": [],
"IsAdditionalCabinType": "N",
"Eticket": "true",
"AllowHold": "Y",
"TimeLimits": {
"OfferExpirationDateTime": "2023-03-08T21:44:03",
"PaymentExpirationDateTime": "2023-03-11 14:14:00"
},
"PassportRequired": "N",
"BookingCurrencyCode": "CAD",
"EquivCurrencyCode": "CAD",
"HstPercentage": "",
"RewardSettings": {
"RewardAvailable": "N",
"PointTypes": [],
"PointValues": {}
},
"BookingFeeInfo": {
"FeeType": "",
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
},
"TotalPrice": {
"BookingCurrencyPrice": 3551.93,
"EquivCurrencyPrice": 3551.93
},
"BasePrice": {
"BookingCurrencyPrice": 2735,
"EquivCurrencyPrice": 2735
},
"TaxPrice": {
"BookingCurrencyPrice": 816.93,
"EquivCurrencyPrice": 816.93
},
"Commission": {
"AgencyCommission": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
},
"AgencyYqCommission": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
}
},
"PortalCharges": {
"Markup": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
},
"Surcharge": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
},
"Discount": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
}
},
"Penalty": {
"ChangeFee": {
"Before": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
},
"After": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
}
},
"CancelationFee": {
"Before": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
},
"After": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
}
}
},
"OfferItem": [
{
"OfferItemID": "OFFERITEMID1",
"Refundable": "true",
"PassengerType": "ADT",
"PassengerQuantity": 1,
"TotalPriceDetail": {
"TotalAmount": {
"BookingCurrencyPrice": 3551.93,
"EquivCurrencyPrice": 3551.93
}
},
"Service": [
{
"ServiceID": "SV1",
"PassengerRefs": "ADT1",
"FlightRefs": "Flight1"
},
{
"ServiceID": "SV2",
"PassengerRefs": "ADT1",
"FlightRefs": "Flight2"
}
],
"FareDetail": {
"PassengerRefs": "ADT1",
"Price": {
"TotalAmount": {
"BookingCurrencyPrice": 3551.93,
"EquivCurrencyPrice": 3551.93
},
"BaseAmount": {
"BookingCurrencyPrice": 2735,
"EquivCurrencyPrice": 2735
},
"TaxAmount": {
"BookingCurrencyPrice": 816.93,
"EquivCurrencyPrice": 816.93
},
"Commission": {
"AgencyCommission": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
},
"AgencyYqCommission": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
}
},
"BookingFee": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
},
"PortalCharges": {
"Markup": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
},
"Surcharge": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
},
"Discount": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
}
},
"Taxes": [
{
"TaxCode": "RC",
"BookingCurrencyPrice": 4.55,
"EquivCurrencyPrice": 4.55
},
{
"TaxCode": "SQ",
"BookingCurrencyPrice": 35,
"EquivCurrencyPrice": 35
},
{
"TaxCode": "CA",
"BookingCurrencyPrice": 25.91,
"EquivCurrencyPrice": 25.91
},
{
"TaxCode": "YQ",
"BookingCurrencyPrice": 675,
"EquivCurrencyPrice": 675
},
{
"TaxCode": "ZR",
"BookingCurrencyPrice": 3.7,
"EquivCurrencyPrice": 3.7
},
{
"TaxCode": "F6",
"BookingCurrencyPrice": 25.94,
"EquivCurrencyPrice": 25.94
},
{
"TaxCode": "I2",
"BookingCurrencyPrice": 3.55,
"EquivCurrencyPrice": 3.55
},
{
"TaxCode": "OM",
"BookingCurrencyPrice": 35.48,
"EquivCurrencyPrice": 35.48
},
{
"TaxCode": "S6",
"BookingCurrencyPrice": 7.8,
"EquivCurrencyPrice": 7.8
}
]
}
},
"FareComponent": [
{
"PriceClassRef": "PCR_1",
"SegmentRefs": "Segment1 Segment2",
"FareBasis": {
"FareBasisCode": {
"Refs": "FG_1 FG_1",
"Code": "BFFE/CS00 BFFE/CS00"
},
"RBD": "B B",
"CabinType": "Y Y",
"SeatLeft": "9 4"
}
},
{
"PriceClassRef": "PCR_1",
"SegmentRefs": "Segment3 Segment4",
"FareBasis": {
"FareBasisCode": {
"Refs": "FG_1 FG_1",
"Code": "BFFE/CS00 BFFE/CS00"
},
"RBD": "B B",
"CabinType": "Y Y",
"SeatLeft": "4 9"
}
}
]
}
],
"BaggageAllowance": [
{
"SegmentRefs": "Segment1 Segment2 Segment3 Segment4",
"PassengerRefs": "T1",
"BaggageAllowanceRef": "Bag1"
}
],
"SplitPaymentInfo": [
{
"AirItineraryId": "77061721678284802555453313",
"MultipleFop": "Y",
"MaxCardsPerPax": 2,
"MaxCardsPerPaxInMFOP": 1
}
],
"BookingToEquivExRate": 1,
"FopRef": "FOP_196_0_617_0_ALL_PRI"
}
],
"DataLists": {
"PassengerList": {
"Passengers": [
{
"PassengerID": "T1",
"PTC": "ADT"
}
]
},
"DisclosureList": {
"Disclosures": []
},
"FareList": {
"FareGroup": [
{
"FareGroupRef": "FG_1",
"FareCode": "749",
"FareBasisCode": "BFFE/CS00"
}
]
},
"FlightSegmentList": {
"FlightSegment": [
{
"SegmentKey": "Segment1",
"Departure": {
"AirportCode": "YYZ",
"Date": "2023-04-14",
"Time": "22:35:00",
"AirportName": "Lester B. Pearson International Airport",
"Terminal": {
"Name": "1"
}
},
"Arrival": {
"AirportCode": "DXB",
"Date": "2023-04-15",
"Time": "19:45:00",
"AirportName": "Dubai International Airport",
"Terminal": {
"Name": "1"
}
},
"MarketingCarrier": {
"AirlineID": "AC",
"Name": "Air Canada",
"FlightNumber": "56"
},
"OperatingCarrier": {
"AirlineID": "AC",
"Name": "Air Canada",
"FlightNumber": "56"
},
"Equipment": {
"AircraftCode": "789",
"Name": "789"
},
"Code": {
"MarriageGroup": "O"
},
"FlightDetail": {
"FlightDuration": {
"Value": "13 H 10 M"
},
"Stops": {
"Value": 0
},
"InterMediate": [],
"AirMilesFlown": 6899
},
"BrandId": "LT"
},
{
"SegmentKey": "Segment2",
"Departure": {
"AirportCode": "DXB",
"Date": "2023-04-16",
"Time": "02:15:00",
"AirportName": "Dubai International Airport",
"Terminal": {
"Name": "3"
}
},
"Arrival": {
"AirportCode": "MCT",
"Date": "2023-04-16",
"Time": "03:30:00",
"AirportName": "Muscat International Airport",
"Terminal": {
"Name": ""
}
},
"MarketingCarrier": {
"AirlineID": "AC",
"Name": "Air Canada",
"FlightNumber": "7590"
},
"OperatingCarrier": {
"AirlineID": "EK",
"Name": "Emirates",
"FlightNumber": "866"
},
"Equipment": {
"AircraftCode": "77W",
"Name": "Boeing 777-300ER"
},
"Code": {
"MarriageGroup": "I"
},
"FlightDetail": {
"FlightDuration": {
"Value": "1 H 15 M"
},
"Stops": {
"Value": 0
},
"InterMediate": [],
"AirMilesFlown": 217
},
"BrandId": "LT"
},
{
"SegmentKey": "Segment3",
"Departure": {
"AirportCode": "MCT",
"Date": "2023-04-22",
"Time": "11:20:00",
"AirportName": "Muscat International Airport",
"Terminal": {
"Name": ""
}
},
"Arrival": {
"AirportCode": "DXB",
"Date": "2023-04-22",
"Time": "12:25:00",
"AirportName": "Dubai International Airport",
"Terminal": {
"Name": "3"
}
},
"MarketingCarrier": {
"AirlineID": "AC",
"Name": "Air Canada",
"FlightNumber": "7591"
},
"OperatingCarrier": {
"AirlineID": "EK",
"Name": "Emirates",
"FlightNumber": "863"
},
"Equipment": {
"AircraftCode": "77W",
"Name": "Boeing 777-300ER"
},
"Code": {
"MarriageGroup": "O"
},
"FlightDetail": {
"FlightDuration": {
"Value": "1 H 5 M"
},
"Stops": {
"Value": 0
},
"InterMediate": [],
"AirMilesFlown": 217
},
"BrandId": "LT"
},
{
"SegmentKey": "Segment4",
"Departure": {
"AirportCode": "DXB",
"Date": "2023-04-23",
"Time": "02:00:00",
"AirportName": "Dubai International Airport",
"Terminal": {
"Name": "1"
}
},
"Arrival": {
"AirportCode": "YYZ",
"Date": "2023-04-23",
"Time": "08:05:00",
"AirportName": "Lester B. Pearson International Airport",
"Terminal": {
"Name": "1"
}
},
"MarketingCarrier": {
"AirlineID": "AC",
"Name": "Air Canada",
"FlightNumber": "57"
},
"OperatingCarrier": {
"AirlineID": "AC",
"Name": "Air Canada",
"FlightNumber": "57"
},
"Equipment": {
"AircraftCode": "789",
"Name": "789"
},
"Code": {
"MarriageGroup": "I"
},
"FlightDetail": {
"FlightDuration": {
"Value": "14 H 5 M"
},
"Stops": {
"Value": 0
},
"InterMediate": [],
"AirMilesFlown": 6899
},
"BrandId": "LT"
}
]
},
"FlightList": {
"Flight": [
{
"FlightKey": "Flight1",
"Journey": {
"Time": "20 H 55 M",
"Stops": 1
},
"SegmentReferences": "Segment1 Segment2"
},
{
"FlightKey": "Flight2",
"Journey": {
"Time": "28 H 45 M",
"Stops": 1
},
"SegmentReferences": "Segment3 Segment4"
}
]
},
"OriginDestinationList": {
"OriginDestination": [
{
"OriginDestinationKey": "OD1",
"DepartureCode": "YYZ",
"ArrivalCode": "MCT",
"FlightReferences": "Flight1"
},
{
"OriginDestinationKey": "OD2",
"DepartureCode": "MCT",
"ArrivalCode": "YYZ",
"FlightReferences": "Flight2"
}
]
},
"PriceClassList": {
"PriceClass": [
{
"PriceClassID": "PCR_1",
"Name": "",
"Code": "",
"Descriptions": {
"Description": []
}
}
]
},
"BaggageAllowanceList": {
"BaggageAllowance": [
{
"BaggageAllowanceID": "Bag1",
"BaggageCategory": "Checked",
"AllowanceDescription": {
"ApplicableParty": "Traveler",
"Description": "CHECKED ALLOWANCE"
},
"PieceAllowance": {
"ApplicableParty": "Traveler",
"TotalQuantity": "2",
"Unit": "Pieces"
}
}
]
},
"FopList": [
{
"CC": {
"Allowed": "Y",
"Types": {
"AX": {
"F": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
},
"P": 0,
"Charges": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
}
},
"MC": {
"F": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
},
"P": 0,
"Charges": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
}
},
"VI": {
"F": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
},
"P": 0,
"Charges": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
}
},
"JC": {
"F": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
},
"P": 0,
"Charges": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
}
}
}
},
"DC": {
"Allowed": "Y",
"Types": {
"MC": {
"F": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
},
"P": 0,
"Charges": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
}
},
"VI": {
"F": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
},
"P": 0,
"Charges": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
}
},
"RU": {
"F": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
},
"P": 0,
"Charges": {
"BookingCurrencyPrice": 0,
"EquivCurrencyPrice": 0
}
}
}
},
"CASH": {
"Allowed": "N",
"Types": {}
},
"CHEQUE": {
"Allowed": "Y",
"Types": {}
},
"ACH": {
"Allowed": "Y",
"Types": {}
},
"PG": {
"Allowed": "Y",
"Types": {}
},
"FopKey": "FOP_196_0_617_0_ALL_PRI"
}
]
},
"MetaData": {}
}
}
Reprice Response
When the initial pricing attempt fails (for example, the selected booking class becomes unavailable), the Reprice flow is automatically triggered. The response returns the original pricing error alongside an AllPricedOfferRS envelope that lists alternative priced offers the traveller can fall back to.
Note: This response is only returned when the reprice flow is successfully triggered after a pricing failure. If the initial pricing succeeds, only the standard OfferPriceRS block is returned.
Reprice Response Schema
Echoes the original OfferPrice request result. When reprice is triggered, this block always carries the failure that caused the reprice.
-
Document:
- Name: Name of the responding system. This is a String value.
- ReferenceVersion: Response schema version. This is a String value.
-
Party.Sender.TravelAgencySender: Agency details echoed from the request.
- Name, IATA_Number, AgencyID: String values.
- Contacts.Contact[].EmailContact: String value.
-
ShoppingResponseId: The shopping session ID that produced the original offer. This is a String value.
-
OfferResponseId: Unique ID of this priced offer response. This is a String value.
-
Errors.Error: The pricing failure that triggered the reprice flow.
- ShortText: Short label for the error (for example, Offer Price Error). This is a String value.
- Code: Numeric error code (for example, 101). This is a Numeric value.
- Value: Human-readable description of the failure. This is a String value.
Container for the reprice results. It groups the alternatives into three mutually exclusive buckets so the client can decide which fallback to offer the traveller.
-
ShoppingResponseId: The shopping session ID that the reprice was performed against. This is a String value.
-
SameFlightOptions: A repriced offer for the same itinerary and same booking class as originally selected, at a revised total price. Empty object ({}) when this fallback is not available.
-
DifferentBookingClassOptions: An Array of repriced offers for the same itinerary in a different booking class (RBD). Empty array when this fallback is not available.
-
DifferentFlightOptions: Repriced offers on alternate itineraries (different flights, different dates, or different carriers). See OffersGroup below.
-
Warnings: An Array of advisory messages. Each entry indicates a bucket that came back empty — for example, “Same Flight Option Not availbale” or “DifferentBookingClass Options Not availbale”.
Each entry in OffersGroup is a complete OfferPriceRS payload for one alternate priced offer. Clients should treat each entry as an independently bookable option.
-
OfferPriceRS.Success: Empty object confirming the alternate offer priced cleanly.
-
OfferPriceRS.PricedOffer: An Array. Each priced offer contains:
- OfferID: Unique identifier for the alternate offer. Use this when placing the order. This is a String value.
- Owner / OwnerName: Airline code and name that owns the offer.
- IsBrandedFare: Y or N. Whether the offer is a branded fare.
- InstantTicket: Y or N. Whether the offer supports instant ticketing.
- Eticket: true or false. E-ticket eligibility.
- AllowHold: Y or N. Whether the offer can be held without payment.
- TimeLimits:
- OfferExpirationDateTime: ISO datetime — offer must be booked before this. This is a String value.
- PaymentExpirationDateTime: Deadline for payment. This is a String value.
- PassportRequired: Y or N.
- BookingCurrencyCode / EquivCurrencyCode: ISO 4217 currency codes.
- BookingFeeInfo: Booking fee applied to the offer.
- FeeType: For example, AIF. This is a String value.
- BookingCurrencyPrice / EquivCurrencyPrice: Numeric values.
- TotalPrice, BasePrice, TaxPrice: Aggregate pricing across all passengers. Each has BookingCurrencyPrice and EquivCurrencyPrice.
- Commission: Agency and YQ commission blocks.
- PortalCharges: Markup, Surcharge, Discount — portal-side adjustments.
- Penalty:
- ChangeFee.Before / ChangeFee.After: Change fee before and after departure.
- CancelationFee.Before / CancelationFee.After: Cancellation fee before and after departure.
- OfferItem: An Array, one entry per passenger type.
- OfferItemID: Unique item ID (for example, OFFERITEMID1). This is a String value.
- Refundable: true or false. This is a Boolean value.
- PassengerType: ADT, CHD, or INF. This is a String value.
- PassengerQuantity: Number of passengers of this type. This is a Numeric value.
- TotalPriceDetail.TotalAmount: Per-passenger-type total.
- Service: Links the offer item to passengers and flight segments (PassengerRefs, FlightRefs).
- FareDetail: Full price breakdown — TotalAmount, BaseAmount, TaxAmount, Commission, BookingFee, PortalCharges, and Taxes[] (each with TaxCode, BookingCurrencyPrice, EquivCurrencyPrice).
- FareComponent: Segment-level fare basis — PriceClassRef, SegmentRefs, FareBasis (FareBasisCode, RBD, CabinType, SeatLeft).
- BaggageAllowance: An Array mapping passengers to segments and baggage allowance references.
- SplitPaymentInfo: Payment split configuration for the itinerary.
- BookingToEquivExRate: Exchange rate between booking and equivalent currencies. This is a Numeric value.
- FopRef: Reference key into DataLists.FopList for allowed forms of payment. This is a String value.
- RescheduleAllowed, PaxWiseVoidAllowed, PostSeatAllowed, PostAncillaryAllowed: Y or N flags describing post-booking capabilities.
-
OfferPriceRS.DataLists: Reference data for the alternate offer. Contains AirShoppingRS with:
- PassengerList.Passengers[]: Passenger IDs (T1, T2, …), PTC, loyalty program accounts, and Individual.Birthdate.
- FareList.FareGroup[]: FareGroupRef, FareCode, FareBasisCode.
- FlightSegmentList.FlightSegment[]: Departure/Arrival airports and times, Marketing and Operating carrier, Equipment, MarriageGroup, and FlightDetail (duration, stops).
- FlightList.Flight[]: FlightKey, Journey.Time, Journey.Stops, SegmentReferences.
- OriginDestinationList.OriginDestination[]: OriginDestinationKey, DepartureCode, ArrivalCode, FlightReferences.
- PriceClassList.PriceClass[]: Branded fare / price class metadata.
- BaggageAllowanceList.BaggageAllowance[]: BaggageAllowanceID, BaggageCategory, AllowanceDescription, PieceAllowance.
- FopList[]: Allowed forms of payment (CC, DC, CASH, CHEQUE, ACH, PG, VCC) with per-type surcharge/fee structures, keyed by FopKey.
Reprice Response Sample
{
"OfferPriceRS": {
"Document": {
"Name": "Skyroute B2B Portal",
"ReferenceVersion": "1.0"
},
"Party": {
"Sender": {
"TravelAgencySender": {
"Name": "Skyroute B2B",
"IATA_Number": "1111111111",
"AgencyID": "1111111111",
"Contacts": {
"Contact": [
{ "EmailContact": "pst@claritytts.com" }
]
}
}
}
},
"ShoppingResponseId": "1783345332680417462",
"OfferResponseId": "1783345384491714909",
"Errors": {
"Error": {
"ShortText": "Offer Price Error",
"Code": 101,
"Value": "Unable to confirm availability for the selected booking class at this moment"
}
}
},
"AllPricedOfferRS": {
"ShoppingResponseId": "1783345332680417462",
"SameFlightOptions": {},
"DifferentBookingClassOptions": [],
"DifferentFlightOptions": {
"OffersGroup": [
{
"OfferPriceRS": {
"Success": {},
"OfferResponseId": "1783345392305298781",
"PricedOffer": [
{
"OfferID": "3973247511783345337604637415",
"Owner": "GF",
"OwnerName": "Gulf Air",
"AllowHold": "Y",
"TimeLimits": {
"OfferExpirationDateTime": "2026-07-06T21:13:18",
"PaymentExpirationDateTime": "2026-08-1 07:00:00"
},
"BookingCurrencyCode": "CAD",
"TotalPrice": { "BookingCurrencyPrice": 2011.34, "EquivCurrencyPrice": 2011.34 },
"BasePrice": { "BookingCurrencyPrice": 1132.94, "EquivCurrencyPrice": 1132.94 },
"TaxPrice": { "BookingCurrencyPrice": 878.4, "EquivCurrencyPrice": 878.4 }
}
]
}
}
]
},
"Warnings": [
{ "Message": "Same Flight Option Not availbale" },
{ "Message": "DifferentBookingClass Options Not availbale" }
]
}
}
Client integration tip: Inspect Warnings[] first to know which buckets are empty, then iterate DifferentFlightOptions.OffersGroup[] to surface the alternate itineraries. Use each PricedOffer.OfferID (and its ShoppingResponseId) when calling AirOrderCreate to book the fallback.