Retrieve Product Pricing API Documentation
The Retrieve Product Pricing API is available specifically to redemption partners. It calculates discount price points for requested products. The products can be flights, flight ancillaries, car hire, hotels and insurance. Price points can also be calculated for a package of products containing a mix of any of the products previously listed.
Discount pricing points contain two values:
- Cash discounted value.
- Avios points value, which will be redeemed for the cash discount.
Product prices can be retrieved without specifying an individual member or they can be tailored to the individual member.
Business Context
Here’s the process flow:
- The member undertakes a product purchase journey in the partner’s channel.
- As part of this journey, the member will be able to view the pricing points of the product selected.
- An application within the partner channel will determine the product that is of interest to the member.
- These details are passed to the Retrieve Product Prices API.
- The Retrieve Product Prices API processes the request and returns discount price options.
- The partner displays the discount price options in their application
- The member selects their preferred payment ‘mix of cash & Avios’ for product(s).
- The partner calls the Debit Currency API to debit the member’s balance in IAGL systems.
- The partner confirms the outcome to the member and allows the member to continue their journey.
- In the event of any failure in the this journey, partners can call the Reverse Transactions API to restore the member’s Avios balance.
Technical Context
The Retrieve Product Prices API does not depend upon member information being supplied. It can be called at any stage either before or after a member logs in and can be invoked before a member registers.
The Retrieve Product Prices API performs the following steps:
- Validates input in the API request.
- Calculates discount price options for the requested product(s) based on the configured product criteria.
- If a partner has selected to ‘adjust & recalculate’ during partner onboarding, the API will adjust and recalculate the discount price options with regard to the member’s Avios.
- Does not ‘adjust & recalculate’ if more than one product is supplied in the request.
- Returns discount price options ‘mix of cash & Avios’.
- Discount prices are returned for flights and ancillaries based on the complete flight. They are not broken down by flight segment.
- Returns discount price options in partner’s preferred currencies. Partners will choose a base currency and other preferred currencies during initial set-up with IAGL.
- If partner’s request contains other currencies than partner’s base currency, then Retrieve Product Price API converts the requested currency in to partner’s base currency to calculate the discount options and then converts back to requested currency before returning the discount options to partner.
- Returns an error on failure.
Important Technical Notes
- All enumerated values must be recorded in upper case ASCII characters. Response messages will be returned in upper case.
Pre-conditions
- A partner needs to be in possession of an API key to be able to use the IAGL Avios API.
- Pricing configurations that have been agreed by both IAGL and the Partner:
- List of Products
- Number of Price Points to be returned in API response
- Price Points Percentage & Weight
- Minimum Avios required for members to pay
- Maximum Cash amount cap for the products
- Default Value per Avios (VPA)
- Base Currency Code & Other preferred Currencies
- Adjust & Recalculation required
Post-conditions
Success outcome: One or more product pricing points are returned in the API response message.
Error outcome: An error is returned.
Service Details
URI Parameters
Production Endpoint:
POST https://api.avios.com/{version}/product-prices?api_key={api_key}
Example
https://api.avios.com/v2/product-prices?api_key=abcdefabcdefabcdefabcdef
Name | Data type | Description | Example |
---|---|---|---|
Version Required | String | The version number of the API being called. The correct version is confirmed during the partner on-boarding process. Format: Alphanumeric | v2 |
api_key Required | String | The partner API key provided during initial partner configuration within Loyalty Programme systems as part of the standard partner on-boarding process. Format: As supplied by IAGL during partner configuration, alpha-numeric | abcdefabcdefabcdefabcdef |
Request Headers
Name | Data type | Description | Example |
---|---|---|---|
accept Optional | String | The Accept request- header field is used to specify certain media types which are acceptable for the response. Restricted to application/JSON. Format: application/< content-type > | application/JSON |
content-type Required | String | The Content-Type request-header field indicates the media type of the entity-body sent to the recipient as request payload.Restricted to application/JSON. Format: application/< content-type > | application/JSON |
X-Forwarded-For Optional | String | The IP address of the end customer. API will validate just first provided IP address. Format: Comma separated Valid IP addresses | 45.143.76.250, 45.143.76.251 |
Authorization Conditional | String | An access token authorising the partner to access member specific pricing via this API. This is base 64bit code. If membership number is specified in request message, access token has to be provided for that member. If membership number is not provided in request message API doesn’t validate an access token. If Authorisation header and membership number are supplied in the request, then discount price points calculations take member's balance and the specific pricing rules for that partner into consideration. Format: JWT Token | |
X-Agent-Id Optional | String | An agent Id represents the agent name/user name/login id for offline channels like call centres. Format: Alphanumeric | Masanobu.Fukuoka |
Request Elements
The following is an example of a Flight request to the Product Pricing API:
{
"priceSearchCriteria": {
"priceType": "DYNAMIC_DISCOUNT",
"priceSource": "CACHED",
"membership": {
A Flight ancillary request to the Product Pricing API:
{
"priceSearchCriteria": {
"priceType": "DYNAMIC_DISCOUNT",
"priceSource": "CACHED",
"product": {
A Car Hire request to the Product Pricing API:
{
"priceSearchCriteria": {
"priceType": "DYNAMIC_DISCOUNT",
"priceSource": "CACHED",
"product": {
An Hotel request to the Product Pricing API:
{
"priceSearchCriteria": {
"priceType": "DYNAMIC_DISCOUNT",
"priceSource": "CACHED",
"product": {
An Insurance request to the Product Pricing API:
{
"priceSearchCriteria": {
"priceType": "DYNAMIC_DISCOUNT",
"priceSource": "CACHED",
"product": {
A Package product request to the Product Pricing API:
{
"priceSearchCriteria": {
"priceType": "DYNAMIC_DISCOUNT",
"priceSource": "CACHED",
"membership": {
Name | Data type | Description |
---|---|---|
priceSearchCriteria Required | Complex type | This product price retrieval complex type holds all information needed for successful call for product prices. |
priceSearchCriteria. Required | String | Type of price. Must be STATIC_DISCOUNT for static discount options and DYNAMIC_DISCOUNT for dynamic discount options. Format: Enumeration |
priceSearchCriteria. Required | String | Source of price. Case sensitive and must be set to CACHED. Format: Enumeration |
priceSearchCriteria. Optional | Complex type | Complex type which contains details about a member. |
priceSearchCriteria. Optional | String | Membership Number Format: Numeric. Max length: 24 only |
priceSearchCriteria. Optional | String | Member’s tier (“BLUE”, “BRONZE”, “SILVER”, “GOLD”) Format: Alphabetic. Max length: 20 only |
priceSearchCriteria. Optional | Number | Member's Avios balance Format: Format: Numeric only. Max value: 2147483647 |
priceSearchCriteria. Required | Complex type | Product is the generalised element and at least one type of product (flight, flightAncillary, carHire, hotel, insurance and packagedProduct) MUST be supplied in the request. |
priceSearchCriteria. Conditional | Complex type | This element represents the flight product. At least one type of product must be supplied in request. |
priceSearchCriteria. Optional | String | Specifies if the flight is direct. Format: true, false |
priceSearchCriteria. Optional | Boolean | Specifies if flight has return journey. If not provided in request message default value false is assigned. Format: true, false |
priceSearchCriteria. Optional | Complex type | This complex type contains information about passengers. |
priceSearchCriteria. Optional | Number | Number of adult passengers If this element is not provided 0 as default value is assigned. Format: Numeric only. Max value: 2147483647 |
priceSearchCriteria. Optional | Number | Number of young adult passengers If this element is not provided 0 as default value is assigned. Format: Numeric only. Max value: 2147483647 |
priceSearchCriteria. Optional | Number | Number of child passengers. If this element is not provided 0 as default value is assigned. Format: Numeric only. Max value: 2147483647 |
priceSearchCriteria. Optional | Number | Number of infant passengers. If this element is not provided 0 as default value is assigned. Format: Numeric only. Max value: 2147483647 |
priceSearchCriteria. Optional | Number | Number of senior passengers. If this element is not provided 0 as default value is assigned. Format: Numeric only. Max value: 2147483647 |
priceSearchCriteria. Required | Array of Complex type | Describes the flight schedule and the related operational details in Segment level. |
priceSearchCriteria. Optional | Boolean | true represents the outbound flight and false represents the inbound flight. If this element is not provided then default false value is assigned. Format: true, false |
priceSearchCriteria. Required | Array Complex type | One point-to-point journey in a flight segment. This element describes the route of a leg within the segment of a flight. |
priceSearchCriteria. Optional | String | Specifies fare family code. Only uppercase characters are accepted. Example: FF1, FF2, FF3, FF4, FF5, FF6, FF7, FF8, FF9, FF10 Format: Alphanumeric. Max length: 5 |
priceSearchCriteria. Required | Complex type | The flight schedule identifies the departure date, departure location and arrival location. |
priceSearchCriteria. Optional | Complex type | Specifies departure date. If not supplied in request message API returns SYSTEM_UNAVAILABLE error. |
priceSearchCriteria. Optional | DateTime | Start date and time of outbound journey. This element doesn’t accept past dates. Example: 2020-12-12T13:39:16.213+01:00 Format: ISO-8601 Calendar date format. YYYY-MM-DDThh:mm:ss.sTZD |
priceSearchCriteria. Required | Complex type | Outbound location of a particular leg for this route. |
priceSearchCriteria. Required | String | 3 letter IATA Airport code that identifies the departure location. API just validate max length of the element but not the value it self. Accepts only uppercase characters. Example: LHR, LGW, LCY Format: Alphabetic. Max length: 3 |
priceSearchCriteria. Required | String | Type of departure location. Case sensitive and must be AIRPORT. Format: Enumeration |
priceSearchCriteria. Required | Complex type | Inbound location of a particular leg for this route. |
priceSearchCriteria. Required | String | 3 letter IATA Airport code that identifies the arrival location. API just validate max length of the element but not the value it self. Accepts only uppercase characters. Example: JFK, DUB, SYD Format: Alphabetic. Max length: 3 |
priceSearchCriteria. Required | String | Type of arrival location. Case sensitive and must be AIRPORT. Format: Enumeration |
priceSearchCriteria. Required | Complex type | The carrier that sells with its own code as part of a code-share agreement on a flight actually operated by another carrier . |
priceSearchCriteria. Required | String | Flight Number. Example: 0016 Format: Numeric only. Max length: 4 |
priceSearchCriteria. Required | Complex type | Flight’s IATA code. |
priceSearchCriteria. Required | String | 2 character IATA carrier code. API just validate max length of the element but not the value it self. Accepts only uppercase characters. Example: EI, BA, VY Format: Alphanumeric. Max length: 2 |
priceSearchCriteria. Required | Complex type | Operating carrier of the flight. The airline actually providing carriage or other services. |
priceSearchCriteria. Required | String | Flight Number. Example: 0017 Format: Numeric only. Max length: 4 |
priceSearchCriteria. Required | Complex type | Flight’s IATA code. |
priceSearchCriteria. Required | String | 2 letter IATA carrier code. API just validate max length of the element but not the value it self. Accepts only uppercase characters. Example: EI, BA, VY Format: Alphabetic. Max length: 2 |
priceSearchCriteria. Optional | Complex type | Contains details about booking class. |
priceSearchCriteria. Optional | String | Booking class code. Only uppercase characters are accepted. Example: Y, K Format: Alphabetic. Max length: 1 |
priceSearchCriteria. Optional | Complex type | |
priceSearchCriteria. Optional | String | Cabin class code.API accepts only uppercase characters. Example: ECONOMY, FIRST, BUSINESS. Format: Alphabetic. Max length: 20 |
priceSearchCriteria. Required | Complex type | Flight price |
priceSearchCriteria. Required | Complex type | Represents the amount & currency code |
priceSearchCriteria. Required | Number | Flight Price. Maximum of 6 digits before the decimal point and 2 after. Example: 1200.00 Format: Numeric with special character . (point). Max length: 9 |
priceSearchCriteria. Required | Complex type | The units in which the price is supplied. |
priceSearchCriteria. Required | String | 3 letter ISO 4217 currency code in which the price is denominated. API accepts only uppercase characters. Example: USD, GBP, CAD, EUR, CHF, SEK, DKK, NOK, RUB, ZAR and MAD. Format: Alphabetic. Min length: 3 Max length: 5 |
priceSearchCriteria. Conditional | Complex type | This element represents the flight ancillary product. At least one type of product must be supplied in request. |
priceSearchCriteria. Required | String | MUST be at least one of below values. Only uppercase characters are accepted. (SEAT, PET, BAGGAGE, SPECIAL_BAGGAGE, LOUNGE_PASS, PARKING, MEALS, WIFI, UPGRADE, BUY_ON_BOARD, UNACCOMPANIED_MINOR, FEES, PRIORITY_BOARDING) Format: Enumeration |
priceSearchCriteria. Required | Complex type | Flight AncillaryPrice details |
priceSearchCriteria. Required | Complex type | Represents the amount & currency code |
priceSearchCriteria. Required | Number | FlightAncillaryPrice. Maximum of 6 digits before the decimal point and 2 after. Example: 70.50 Format: Numeric with special character . (point) Max length: 9 |
priceSearchCriteria. Required | Complex type | The units in which the price is supplied. |
priceSearchCriteria. Required | String | 3 letter ISO 4217 currency code in which the price is denominated. Only uppercase characters are accepted. Example: USD, GBP, CAD, EUR, CHF, SEK, DKK, NOK, RUB, ZAR and MAD. Format: Alphabetic. Min length: 3 Max length: 5 |
priceSearchCriteria. Conditional | Complex type | This element represents the Car Hire product. At least one type of product must be supplied in request. |
priceSearchCriteria. Required | Complex type | Car HirePrice details |
priceSearchCriteria. Required | Complex type | Represents the amount & currency code |
priceSearchCriteria. Required | Number | Car HirePrice. Maximum of 6 digits before the decimal point and 2 after. Example: 230.00 Format: Numeric with special character . (point). Max length: 9 |
priceSearchCriteria. Required | Complex type | The units in which the price is supplied. |
priceSearchCriteria. Required | String | 3 letter ISO 4217 currency code in which the price is denominated. Only uppercase characters are accepted. Example: USD, GBP, CAD, EUR, CHF, SEK, DKK, NOK, RUB, ZAR and MAD. Format: Alphabetic. Min length: 3 Max length: 5 |
priceSearchCriteria. Conditional | Complex type | This element represents the hotel product. At least one type of product must be supplied in request. |
priceSearchCriteria. Required | Complex type | Hotel Price details |
priceSearchCriteria. Required | Complex type | Represents the amount & currency code |
priceSearchCriteria. Required | Number | HotelPrice. Maximum of 6 digits before the decimal point and 2 after. Example: 125.00 Format: Numeric with special character . (point). Max length: 9 |
priceSearchCriteria. Required | Complex type | The units in which the price is supplied. |
priceSearchCriteria. Required | String | 3 letter ISO 4217 currency code in which the price is denominated. Only uppercase characters are accepted. Example: USD, GBP, CAD, EUR, CHF, SEK, DKK, NOK, RUB, ZAR and MAD. Format: Alphabetic. Min length: 3 Max length: 5 |
priceSearchCriteria. Conditional | Complex type | This element represents the insurance product. At least one type of product must be supplied in request. |
priceSearchCriteria. Required | Complex type | InsurancePrice details |
priceSearchCriteria. Required | Complex type | Represents the amount & currency code |
priceSearchCriteria. Required | Number | InsurancePrice. Maximum of 6 digits before the decimal point and 2 after. Example: 100.00 Format: Numeric with special character . (point). Max length: 9 |
priceSearchCriteria. Required | Complex type | The units in which the price is supplied. |
priceSearchCriteria. Required | String | 3 letter ISO 4217 currency code in which the price is denominated. Only uppercase characters are accepted. Example: USD, GBP, CAD, EUR, CHF, SEK, DKK, NOK, RUB, ZAR and MAD. Format: Alphabetic. Min length: 3 Max length: 5 |
priceSearchCriteria. Conditional | Array of Complex type | This element represents the packaged product. Products (Flight, Flight Ancillary, Car Hire, Hotel and Insurance) could be packaged together to retrieve the discount price points. At least one type of product must be supplied in request. |
priceSearchCriteria. Conditional | Array of Complex type | The entire list of above mentioned Flight related elements are applicable for this packaged Flight also. At least one type of product must be supplied in request. |
priceSearchCriteria. Conditional | Array of Complex type | The entire list of above mentioned Flight Ancillary related elements are applicable for this packaged Flight Ancillary also. At least one type of product must be supplied in request. |
priceSearchCriteria. Conditional | Array of Complex type | The entire list of above mentioned Car Hire related elements are applicable for this packaged Car Hire also. At least one type of product must be supplied in request. |
priceSearchCriteria. Conditional | Array of Complex type | The entire list of above mentioned Hotel related elements are applicable for this packaged Hotel also. At least one type of product must be supplied in request. |
priceSearchCriteria. Conditional | Array of Complex type | The entire list of above mentioned Insurance related elements are applicable for this packaged Insurance also. At least one type of product must be supplied in request. |
Response Elements
The following is an example of a Flight response from the Product Pricing API:
{
"product": [
{
"flight": {
"passengerSummary": {
A Flight ancillary response from the Product Pricing API:
{
"product": {
"flightAncillary": {
"flightAncillaryType": "BAGGAGE",
"price": [
A Car Hire response from the Product Pricing API:
{
"product": {
"carHire": {
"price": [
{
A Hotel response from the Product Pricing API:
{
"product": {
"hotel": {
"price": [
{
A Insurance response from the Product Pricing API:
{
"product": {
"insurance": {
"price": [
{
A Package product response from the Product Pricing API:
{
"product": {
"packagedProduct": {
"flight": {
"passengerSummary": {
Name | Data type | Description |
---|---|---|
product Present | Complex type | Product is the generalised element. |
product. Conditional | Complex type | This element further specifies the product. In this case, the element describes a flight. Is visible only if passed in request message. |
priceSearchCriteria. Present | String | Specifies if the flight is direct. If not provided in request message default false is assigned. Format: True/false |
product. Present | Boolean | Specifies if the journey is return. If not provided in request message default false is assigned. Format: True/false |
product. Conditional | Complex type | Contains information about passengers. Is visible if passed in request message. |
product. Present | Number | Number of adult passengers. If this element were not passed in request message 0 is assigned as default value. Format: Numeric only. Max value: 2147483647 |
product. Present | Number | Number of young adult passengers. If this element were not passed in request message 0 is assigned as default value. Format: Numeric only. Max value: 2147483647 |
product. Present | Number | Number of child passengers. If this element were not passed in request message 0 is assigned as default value. Format: Numeric only. Max value: 2147483647 |
product. Present | Number | Number of infant passengers. If this element were not passed in request message 0 is assigned as default value. Format: Numeric only Max value: 2147483647 |
product. Present | Number | Number of senior passengers. If this element were not passed in request message 0 is assigned as default value. Format: Numeric only Max value: 2147483647 |
product. Present | Array of Complex type | Flight Segment. |
product. Present | Boolean | true represents the outbound flight and false represents the inbound flight. If not provided in request message then will be defaulted to false. Format: true/false |
product. Present | Array of Complex type | One point-to-point journey in a flight segment. This element describes the route of a leg within the segment of a flight. |
priceSearchCriteria. Conditional | String | Specifies fare family code. Will be visible only if provided in request message. Example: FF1, FF2, FF3, FF4, FF5, FF6, FF7, FF8, FF9, FF10 Format: Alphanumeric Max length: 5 |
product. Present | Complex type | The flight schedule identifies the departure date, departure location and arrival location. |
product. Present | Complex type | Specifies departure date. |
product. Present | DateTime | Start date and time of outbound journey. Example: 2020- 12-12T13:39:16.213+01:00 Format: ISO-8601 Calendar date format. YYYY-MM-DDThh:mm:ss.sTZ D |
product. Present | Complex type | Outbound location of a particular leg for this route. |
product. Present | String | 3 letter IATA Airport code that identifies the departure location. Example: LHR, LGW, LCY Format: Alphabetic. Max length: 3 |
product. Present | String | Type of departure location. Will always be AIRPORT. Format: Enumeration |
product. Present | Complex type | Inbound location of a particular leg for this route. |
product. Present | String | 3 letter IATA Airport code that identifies the arrival location. Example: JFK, DUB, SYD Format: Alphabetic. Max length: 3 |
product. Present | String | Type of arrival location. Will always be AIRPORT. Format: Enumeration |
product. Present | Complex type | Marketing carrier of the flight. |
product. Present | String | Flight Number. Example: 0016 Format: Numeric only Max length: 4 |
product. Present | Complex type | Flight’s IATA code. |
product. Present | String | 2 letter IATA carrier code. Example: EI, BA, VY Format: Alphabetic. Max length: 2 Min length: 2 |
product. Present | Complex type | Operating carrier of the flight. |
product. Present | String | Flight Number.Example: 0017 Format: Numeric only Max length: 4 |
product. Present | Complex type | Flight’s IATA code. |
product. Present | String | 2 letter IATA carrier code. Example: EI, BA, VY Format: Alphabetic. Max length: 2 Min length: 2 |
product. Conditional | Complex type | Information about booking class. Will be visible if supplied in request message. |
product. Conditional | String | Booking class. Example: Y, K. Will not be visible if not provided in request message. Format: Alphabetic. Max length: 1 |
product. Conditional | Complex type | Information about cabin class. Will be visible if supplied in request message. |
product. Conditional | String | Example: ECONOMY, BUSINESS, FIRST. Will not be visible if not provided in request message. Format: Alphabetic Max length: 20 |
product. Present | Array of Complex type | Flight level discount price options. |
product. Present | Array of Complex type | Represents the amount & currency code |
product. Present | Number | Contains discounted cash price or AVIOS value of the cash discount.Maximum of 6 digits before the decimal point and 2 after. Format: Numeric with special character . (point). Max length: 9 |
product. Present | Complex type | The units in which the price is supplied. |
product. Present | String | 3 letter ISO 4217 currency code in which the price is denominated. Example: USD, GBP, CAD, EUR, CHF, SEK, DKK, NOK, RUB, ZAR and MAD Format: Alphabetic only. Max length: 5 Min length: 3 |
product. Present | String | Specifies the price option. Will be PART_AVIOS_PART_CASH. Format: Enumeration |
product. Conditional | Complex type | This element further specifies the product. In this case, the element describes a Flight Ancillary. Is visible only if passed in request message. |
product. Present | String | Will be any one of below values. (SEAT, PET, BAGGAGE, SPECIAL_BAGGAGE, LOUNGE_PASS, PARKING, MEALS, WIFI, UPGRADE, BUY_ON_BOARD, UNACCOMPANIED_MINOR, FEES, PRIORITY_BOARDING) Format: Enumeration |
product. Present | Array of Complex type | Flight Ancillary Price details |
product. Present | Array of Complex type | Represents the amount & currency code |
product. Present | Number | Contains discounted cash price or AVIOS value of the cash discount.Maximum of 6 digits before the decimal point and 2 after. Format: Numeric with special character . (point). Max length: 9 |
product. Present | Complex type | The units in which the price is supplied. |
product. Present | String | 3 letter ISO 4217 currency code in which the price is denominated. Example: USD, GBP, CAD, EUR, CHF, SEK, DKK, NOK, RUB, ZAR and MAD Format: Alphabetic only. Max length: 5 Min length: 3 |
product. Present | String | Specifies the price option. Will be PART_AVIOS_PART_CASH Format: Enumeration |
product. Conditional | Complex type | This element further analyses the product. In this case, the element describes a Car Hire. Is visible only if passed in request message. |
product. Present | Array of Complex type | Car Hire Price details |
product. Present | Array of Complex type | Represents the amount & currency code |
product. Present | Number | Contains discounted cash price or AVIOS value of the cash discount.Maximum of 6 digits before the decimal point and 2 after. Format: Numeric with special character . (point). Max length: 9 |
product. Present | Complex type | The units in which the price is supplied. |
product. Present | String | 3 letter ISO 4217 currency code in which the price is denominated. Example: USD, GBP, CAD, EUR, CHF, SEK, DKK, NOK, RUB, ZAR and MAD Format: Alphabetic only. Max length: 5 Min length: 3 |
product. Present | String | Specifies the price option. Will be PART_AVIOS_PART_CASH Format: Enumeration |
product. Conditional | Complex type | This element further analyses the product. In this case, the element describes a Hotel. Is visible only if passed in request message. |
product. Present | Array of Complex type | Hotel Price details |
product. Present | Array of Complex type | Represents the amount & currency code |
product. Present | Number | Contains discounted cash price or AVIOS value of the cash discount.Maximum of 6 digits before the decimal point and 2 after. Format: Numeric with special character . (point). Max length: 9 |
product. Present | Complex type | The units in which the price is supplied. |
product. Present | String | 3 letter ISO 4217 currency code in which the price is denominated. Example: USD, GBP, CAD, EUR, CHF, SEK, DKK, NOK, RUB, ZAR and MAD Format: Alphabetic only. Max length: 5 Min length: 3 |
product. Present | String | Specifies the price option. Will be PART_AVIOS_PART_CASH Format: Enumeration |
product. Conditional | Complex type | This element further analyses the product. In this case, the element describes Insurance. Is visible only if passed in request message. |
product. Present | Array of Complex type | Insurance Price details |
product. Present | Array of Complex type | Represents the amount & currency code |
product. Present | Number | Contains discounted cash price or AVIOS value of the cash discount.Maximum of 6 digits before the decimal point and 2 after. Format: Numeric with special character . (point). Max length: 9 |
product. Present | Complex type | The units in which the price is supplied. |
product. Present | String | 3 letter ISO 4217 currency code in which the price is denominated. Example: USD, GBP, CAD, EUR, CHF, SEK, DKK, NOK, RUB, ZAR and MAD Format: Alphabetic only. Max length: 5 Min length: 3 |
product. Present | String | Specifies the price option. Will be PART_AVIOS_PART_CASH Format: Enumeration |
product. Conditional | Array of Complex type | This element further analyses the product. In this case, the element describes Packaged Product. Is visible only if passed in request message. Products (Flight, Flight Ancillary, Car Hire, Hotel and Insurance) could be packaged together to retrieve the discount price points. |
product. Conditional | Array of Complex type | The entire list of above mentioned Flight related elements are applicable for this packaged Flight also. Is visible only if passed in request message. |
product. Conditional | Array of Complex type | The entire list of above mentioned Flight Ancillary related elements are applicable for this packaged Flight Ancillary also. Is visible only if passed in request message. |
product. Conditional | Array of Complex type | The entire list of above mentioned Car Hire related elements are applicable for this packaged Car Hire also. Is visible only if passed in request message. |
product. Conditional | Array of Complex type | The entire list of above mentioned Hotel related elements are applicable for this packaged Hotel also. Is visible only if passed in request message. |
product. Conditional | Array of Complex type | The entire list of above mentioned Insurance related elements are applicable for this packaged Insurance also. Is visible only if passed in request message. |
Exception Message Elements
The following is an example of an error response from the Product Pricing API:
{
"error": {
"code": "REQUEST_UNAUTHORIZED",
"businessMessage": "RequestUnauthorized",
"developerMessage": "RequestUnauthorized",
Name | Data type | Description |
---|---|---|
error Present | Complex type | Will only be present if an error has been detected and reported by the API. |
error. Present | String | Error code Format: Alphabetic plus underscore |
error. Conditional | String | Error “business-facing” error message. Format: Alphabetic |
error. Conditional | String | Error message specific to a developer. Format: Alphabetic |
error. Conditional | String | A URL link to a web page containing more detailed information about the error code. Format: Alphabetic plus colon (:), forward slash (/), dash (-), underscore or period (.). |
error. Conditional | Array of complex type | Will only be present if an error has been detected and reported by the API. |
error. Conditional | String | Error code Format: Alphabetic plus underscore |
error. Conditional | String | Path of the node on which caused the error to occur Format: Alphabetic plus period (.), forward slash (/), open bracket ( |
error. Conditional | String | Error message to business Format: Alphabetic |
error. Conditional | String | Error message specific to client developer. Format: Alphabetic |
error. Conditional | String | A URL link to a web page containing more detailed information about the error code. Format: Alphabetic plus colon (:), forward slash (/), dash (-), underscore or period (.). |
Error Codes
HTTP Status Code | Description |
---|---|
400 REQUEST_INVALID DATA_INVALID | Request element does not follow the request contract. |
400 REQUEST_INVALID INVALID_OUTBOUND_DATE | If Outbound DepartureDateTime is less than current time |
400 REQUEST_INVALID INVALID_INBOUND_DATE | If Inbound DepartureDateTime is less than current time or |
400 REQUEST_INVALID MANDATORY_DATA_MISSING | If the mandatory data elements are not supplied in the request |
400 REQUEST_INVALID INVALID_PRICE_SOURCE | If unsupported price source is received. Only valid price source is CACHED |
400 REQUEST_INVALID MARSHALLING_FAILED | Price type STATIC_DISCOUNT is used with other product than FLIGHT. |
400 REQUEST_INVALID INVALID_PRICE_TYPE | If unsupported price type is received. Only valid price types are STATIC_DISCOUNT DYNAMIC_DISCOUNT |
400 REQUEST_INVALID INVALID_CONTENT_TYPE | If invalid content type is supplied in the request |
400 REQUEST_INVALID MEDIA_TYPE_NOT_SUPPORTED | If invalid accept header value is supplied in request. |
400 REQUEST_INVALID INVALID_CURRENCY | If exchange rates are not configured for requested currency |
400 INVALID_MARKETING_OPERATING_CARRIER_COMBINATION | If supplied marketing & operating carrier codes are not valid |
400 INSUFFICIENT_MEMBER_BALANCE | If member is logged in and doesn’t have enough Avios balance to use. |