AirShopping
Modified on: 2025-10-31 16:04
TABLE OF CONTENTS
AirShopping
The AirShopping API endpoint is designed for flight search, enabling users to retrieve available flight options based on specific travel criteria. This endpoint allows clients to query flight itineraries, including both onward and return journeys, with support for multiple passengers, cabin classes, and airline preferences.
This API is ideal for integration into flight booking platforms, providing a streamlined and efficient way to access global flight content with support for complex travel scenarios.
| Version | Date | Description of Edit |
|---|---|---|
| Beta | 2025/09/16 | Initial Commit |
| v1.0 | 2025/10/22 | AirShoppingRQ:
|
| Request Details | |
|---|---|
| Path | /api/flight/connectivity/search/airShopping |
Request Playload Example
Request Payload Example
{
"flightRequests": [
{
"arrivalInfo": {
"arrivalDate": "2025-09-22",
"iataLocationCode": "BKK",
"type": "citycode"
},
"cabinClass": 4,
"departureInfo": {
"departureDate": "2025-09-22",
"iataLocationCode": "KUL",
"type": "citycode"
}
},
{
"arrivalInfo": {
"arrivalDate": "2025-09-30",
"iataLocationCode": "KUL",
"type": "citycode"
},
"cabinClass": 4,
"departureInfo": {
"departureDate": "2025-09-30",
"iataLocationCode": "BKK",
"type": "citycode"
}
}
],
"paxList": [
{
"count": 1,
"paxType": "ADT"
},
{
"count": 1,
"paxType": "CHD"
}
]
}Request Payload Schema
| Key | Parent | Type | Mandatory/Optional | Description |
|---|---|---|---|---|
| flightRequests | root | Array | M | |
| departureInfo | flightRequests | Object | M | |
| iataLocationCode | departureInfo | String | M | 3 uppercase letters |
| type | departureInfo | String | O |
iataLocationCode is to be interpreted, if empty, default as airportcode |
| departureDate | departureInfo | String | M | YYYY-MM-DD |
| arrivalInfo | flightRequests | Object | M | |
| iataLocationCode | arrivalInfo | String | M | 3 uppercase letters |
| type | arrivalInfo | String | O |
iataLocationCode is to be interpreted, if empty, default as airportcode |
| arrivalDate | arrivalInfo | String | M | YYYY-MM-DD |
| cabinClass | flightRequests | Int | O |
|
| currency | flightRequests | String | O | Only one currency per request Official ISO 4217 three-letter (alpha-3) codes. https://www.iso.org/iso-4217-currency-codes.html |
| flightCriteria | root | Object | O | This node allows to specify flight type preference for filtering results. |
| flightType | flightCriteria | Int | O |
|
| carrierCriterias | root | Array | O | This node allows you to specify query preferences to initiate a search based on specific criteria - such as supplier or airline (using airline group name) - ensuring that the results returned directly match the intended scope. |
| supplierName | carrierCriterias | String | O | This field allows you to specify airline group/s with multiple operating airlines or specific flight supplier/s to query relevant content. |
| airlineCode | carrierCriterias | String | O | Search for specific airline/carrier by using IATA airline code |
| agencyCode | carrierCriterias | String | O | search for specific airline agency code account |
| promotionCriteria | root | Array | O | A Promotion and discount code criteria to be passed to the retailer airline that could influence returned offers |
| promotionCode | promotionCriteria | String | O | Promotion code ID or number. |
| supplierName | promotionCriteria | String | O | |
| airlineCode | promotionCriteria | String | O | |
| agencyCode | promotionCriteria | String | O | |
| paxList | root | Array | O | Rules: 1. Support only from 1 to 9 PAX 2. INF PAX should have a reference to one ADT PAX 3. At least 1 ADT PAX should be present 4. Number of Infants cannot be greater than Adult PAXs |
| paxType | paxList | String | O | Passenger Type Code:
|
| count | paxList | Int | O | The number of passenger type |
Response Schema
| Key | Parent | Type | Mandatory/Optional | Description |
|---|---|---|---|---|
| searchResults | root | Array | O | |
| supplier | searchResults | Object | O | |
| supplierName | supplier | String | O | |
| airlineCode | supplier | String | O | |
| agencyCode | supplier | String | O | |
| technicalCapabilities | supplier | Array | O | node provides critical information about the technical execution methods and support channels available for post-booking operations with this specific supplier. This allows you to understand how different modification requests (e.g., refunds, changes) are handled behind the scenes and set the correct user expectations |
| operationType | technicalCapabilities | String | M | The type of post-booking operation. This field identifies which specific operation the technical details apply to (e.g., refunding a ticket, changing a flight). It scopes the context for the subsequent technical fields.
|
| method | technicalCapabilities | String | M | How the operation is technically executed. Key values:
|
| automationLevel | technicalCapabilities | String | M | The degree of automation. This field provides a high-level, intuitive summary of the method
|
| apiAvailability | technicalCapabilities | String | M | This provides granular technical detail for integrators when the method is NATIVE_API
|
| tripsInfo | searchResults | Object | M | |
| tripKey | tripsInfo | String | M | |
| onwardTrip | tripsInfo | Object | M | |
| flightType | onwardTrip | Int | M |
|
| segmentInfos | onwardTrip | Array | M | segment information list |
| returnTrip | tripsInfo | Object | O | |
| airlineOffer | searchResults | Object | M | |
| offers | airlineOffer | Array | M | |
| supplier | offers | Object | O | |
| offerId | offers | String | M | |
| transInfo | offers | String | M | |
| refTripKey | offers | String | M | |
| brandFareName | offers | String | O | |
| brandFareUrl | offers | String | O | |
| availableCount | offers | Int | O | |
| cabinClass | offers | Int | M |
|
| supportedIssueWay | offers | String | M |
|
| totalPrice | offers | Object | M | |
| totalAmount | totalPrice | String | M | The final total amount payable by the passenger. Calculation formula: TotalBaseAmount + TotalTaxFeeAmount + totalServiceFeeAmount |
| totalBaseAmount | totalPrice | String | M | The price of the flight ticket itself, excluding taxes and service fees. When PriceType is Gross, this amount includes commission. |
| totalTaxFeeAmount | totalPrice | String | M | The sum of all tax items, equal to the sum of amounts in TaxFeeDetail. |
| taxFeeDetail | totalPrice | Object | O | |
| code | taxFeeDetail | String | O | |
| amount | taxFeeDetail | String | O | |
| type | taxFeeDetail | String | O | Enum values:
|
| totalServiceFeeAmount | totalPrice | String | O | |
| serviceFeeDetail | totalPrice | Array | O | |
| code | serviceFeeDetail | String | O | All service fees related to flight booking - including those charged by non-airline suppliers, DerbySoft. |
| amount | serviceFeeDetail | String | O | |
| type | serviceFeeDetail | String | O | Enum values:
|
| includedInTotal | serviceFeeDetail | String | O |
|
| currency | totalPrice | String | M | |
| priceType | totalPrice | String | O | Enum values:
|
| commissionAmount | totalPrice | Object | O | |
| amount | commissionAmount | String | O | Present when PriceType is Gross, indicates the commission amount included in the base fare. |
| commissionRate | commissionAmount | String | O | Present when PriceType is Gross, indicates the commission percentage. |
| currencyConversions | totalPrice | Array | O | Provided when any fee requires currency conversion, contains complete conversion information. |
| fromCurrency | currencyConversions | String | O | |
| toCurrency | currencyConversions | String | O | |
| rate | currencyConversions | String | O | |
| appliedTo | currencyConversions | String | O | |
| referenceCode | currencyConversions | String | O | The code(under service fee details node or tax fee details) for reference which this currencyConversions applied to. |
| originalAmount | currencyConversions | String | O | |
| convertedAmount | currencyConversions | String | O | |
| passengerFares | offers | Array | M | |
| paxType | passengerFares | String | M | |
| price | passengerFares | Object | O | |
| supportedDocumentType | passengerFares | String | O | Travel Document Types
|
| passengerIdentifyDocumentsRequired | passengerFares | Boolean | O | |
| fareComponents | passengerFares | Array | M | |
| onwardTrip | fareComponents | Object | M | |
| segmentInfos | onwardTrip | Array | M | |
| conditions | onwardTrip | Array | O | |
| freeServices | onwardTrip | Array | O | |
| freeBaggages | onwardTrip | Array | O | |
| returnTrip | fareComponents | Object | M | |
| ssrs | offers | Array | O | SSRS node is designed to return available optional paid ancillary services that passengers can purchase in addition to their flight ticket |
| service | ssrs | Object | M | |
| serviceName | service | String | M | The commercial name of the service as displayed to passengers |
| serviceType | service | String | M | The category of the ancillary service:
|
| availability | service | String | O | Indicates current available numbers of the service |
| data | serviceOrder | Object | O | |
| baggageAssociations | data | Object | O | This node is ONLY present when serviceType = 'BAGGAGE'. Contains baggage-specific details |
| baggageId | baggageAssociations | String | O | |
| typeCode | baggageAssociations | String | O | Type of baggage
|
| descTex | baggageAssociations | String | O | |
| maximumDimensionAllowance | baggageAssociations | Object | O | |
| heightMeasure | maximumDimensionAllowance | String | O | Maximum allowed height of the baggage |
| lengthMeasure | maximumDimensionAllowance | String | O | Maximum allowed length of the baggage. |
| linearMeasure | maximumDimensionAllowance | String | O | Maximum allowed linear dimensions (sum of dimensions) |
| widthMeasure | maximumDimensionAllowance | String | O | Maximum allowed width of the baggage |
| unitOfMeasurement | maximumDimensionAllowance | String | O | Unit of measurement for dimensions (e.g., CM, IN) |
| pieceAllowance | baggageAssociations | Object | O | |
| totalQty | pieceAllowance | String | M | Total number of baggage pieces allowed |
| weightAllowance | baggageAssociations | String | M | |
| maximumWeightMeasure | weightAllowance | String | M | Maximum allowed weight per baggage piece |
| weightUnitOfMeasurement | weightAllowance | String | M | Unit of measurement for weight (e.g., KG, LB) |
| seat | data | Object | O | |
| seatId | seat | String | O | |
| designator | seat | String | O | Referred to as airline code |
| deck | seat | String | O | Indicates the level or deck of the aircraft where the seat is located.
|
| rowNo | seat | String | O | Specifies the row number of the seat |
| colNo | seat | String | O | Specifies the column position or seat letter within the row |
| seatType | seat | Array | O | The characteristics and features of the seat. This field uses standardized codes:
|
| servicePsgFare | ssrs | |||
| paxType | servicePsgFare | |||
| unitPrice | servicePsgFare | |||
| totalAmount | unitPrice | |||
| servicePsgFare | unitPrice | |||
| eligibleTrips | ssrs | Object | M | Indicates which specific trip segments this service applies to. Multiple serviceOffers are returned when a service is available for different trips. |
| onwardTrip | eligibleTrips | Object | O | |
| segmentSequence | onwardTrip | Array | O | Segment sequence numbers in the onward trip that this service applies to |
| returnTrip | eligibleTrips | Object | O | |
| segmentSequence | onwardTrip | Array | O | Segment sequence numbers in the return trip that this service applies to |
| eligibleLeg | ssrs | Object | O | For multi-leg segments (flights with stopovers), specifies which specific leg within a segment the service applies to. Empty for non-stop flights. |
| legSequence | eligibleLeg | String | M | |
| error | root | Object | O |
- Each search result consists of two primary components: the trip information (tripinfo) and the available offers.
- The tripinfo section primarily contains the itinerary details, including but not limited to departure and arrival times, marketing carrier, and operating carrier.
- The offers section, meanwhile, provides the comprehensive pricing for the entire itinerary (e.g., the total cost for one adult and one child if requested), a breakdown of fares by passenger type, along with details on bundled services and the associated change and cancellation policies.
- OfferID Persistence
- The
offerIdwithin the offer object is a mandatory unique identifier for the specific itinerary. - You must store this value. It is a required reference key for subsequent API calls, specifically the
OfferPriceandOrderCreaterequests, to uniquely identify the chosen offer.
- The
Did you find it helpful? Yes No
Send feedbackSorry we couldn't be helpful. Help us improve this article with your feedback.