Fare Summary

## Content - [Postman collection](#postman-collection) - [API Description](#api-description) - [API Parameters](#api-parameters) - [Input Parameters](#input-parameters) - [Output Parameters](#output-parameters) - [Error Codes](#error-codes) ## Postman collection Please download the postman collection, environment and request for API Key to get started. Flight Booking API Collection- - Local playground with examples of request/response pairs for each endpoint. Additionally it assist the developers to understand the logical flow for the endpoints. Flight Booking API Environment - Holds the credential information that allows invocation of the endpoints. You can request for the credentials for this specific API [here](/apps/myapps). Request for API key ## API Description | | | | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------- | | API Name | faresummary/get | | API Type | Query | | API Source | Eretail | | Description | Extracts the pricing breakdown, and fare conditions for given selection of flights.
This call also kick starts the booking flow session. | ## API Parameters ### HTTP Headers | Headers | Value | Description | | ------------------ | --------- | ---------------------------------------------------------------------------- | |Content-Type|application/json|| |apikey|*|An active SQ API Key for the FlightBooking Package| ### Input Parameters | Input Parameters | Data Type | Optional | Description | | ---------------------- | ----------- | -------- | -------------------------------------------------------------------------------------------------------------------------------- | | clientUUID | Number | No | Unique string representing this call | | request | JSON Object | No | | | selectedSegmentDetails | JSON Array | No | | | legs | JSON Array | No | | | sellingClass | String | No | Specific RBD associated with this leg | | airlineCode | String | No | 2 character airline code (eg: “SQ”) | | flightNumber | String | No | Number with 4 digits or less | | departureDateTime | String | No | Format: yyyy-MM-dd | | fareClass | String | No | Fare basic code with 6 characters | | fareFamily | String | No | Fare family code with 6 characters | | itineraryDetails | JSON Array | No | Passenger’s search query details | | originAirportCode | String | No | 3-letter IATA code – SIN, LHR. In upper case. | | destinationAirportCode | String | No | 3-letter IATA code – SIN, LHR. In upper case. | | departureDate | String | No | Format: yyyy-MM-dd | | returnDate | String | Yes | Format: yyyy-MM-dd. For round trip only | | cabinClass | String | No | 1 character code (“F”/”J”/”S”/”Y”) | | adultCount | Number | No | Integer more than 0 | | childCount | Number | Yes | Integer | | infantCount | Number | Yes | Integer | | resumeDetails | JSONObject | Yes | Used when we jumpstart to an intermediate call within the aggregator.
Is usually copied over from a partially failed response | ### Output Parameters | Output Parameters | Data Type | Description | | ---------------------- | ------------ | ---------------------------------------------------------------------------------------------------- | | status | String | “SUCCESS” / “FAILED” | | code | Number | 200 if status is “SUCCESS”. Refer to Section 5 for possible error codes | | message | String | Populated and displayed only if status is “FAILED” | | clientUUID | String | Reflects the request parameter | | response | JSONObject | empty if status is “FAILED”; displayed otherwise | | tripType | String | (O)neway, (R)eturn or (M)ulticity | | pageTicket | String | Session continuity parameter | | sessionID | String | Session continuity parameter | | flightSelectionDetails | JSONObject | Contains details needed for GB tax exemption later. Only present if GB tax is present in the booking | | recommendationId | String | | | flightIds | String Array | | | fareDetails | JSONObject | | | adultCount | Number | Integer | | gbMinorCount | Number | Integer. Number of minor passengers who are eligible for GB tax exemption | | gbTaxPresent | Boolean | `true` if there is an exemptable “GB” tax in the booking | | childCount | Number | Integer | | infantCount | Number | Integer | | fareAmount | String | Overall fare amount for the selection. E.g. 450.00 | | taxAmount | String | Overall tax amount for the selection. E.g. 79.40 | | totalAmount | String | Overall total amount (fare plus tax) for the selection. E.g. 529.40 | | creditCardSurcharge | Number | Returned when credit card surcharge is applicable for this itin | | currency | JSONObject | | | code | String | Currency code. E.g. SGD | | name | String | Name/Description of currency. E.g. Singapore Dollar | | precision | Number | Currency precision, e.g. 2 | | fareFamilyDetails | JSONObject | | | code | String | Fare family code. E.g. FF41SIN | | description | String | Fare family description. E.g. Economy Saver | | pricePerBound | JSONArray | | | fareAmount | String | Bound specific fare amount for the selection. E.g. 225.00 | | taxAmount | String | Bound specific tax amount for the selection. E.g. 34.00 | | totalAmount | String | Bound specific total amount (fare plus tax) for the selection. E.g. 259.00 | | travellerListPrice | JSONArray | | | travellerType | String | Specific type of traveller whose details are populated in this Object. | | fareAmount | String | Traveller type specific fare amount for the selection. E.g. 450.00 | | taxAmount | String | Traveller type specific tax amount for the selection. E.g. 79.40 | | totalAmount | String | Traveller type specific total amount (fare plus tax) for the selection. E.g. 529.40 | | pricePerBound | JSON Array | | | fareAmount | String | Traveller type specific fare amount for a specific bound. E.g. 225.00 | | taxAmount | String | Traveller type specific tax amount for a specific bound. E.g. 34.00 | | totalAmount | String | Traveller type specific total amount (fare plus tax) for a specific bound. E.g. 259.00 | | taxList | JSON Array | | | amount | String | Individual tax amount for a specific passenger type. E.g. 8.00 | | category | String | Denotes type of charge. E.g. tax/surcharge. | | code | String | Tax code for a specific passenger type. E.g. I5 | | description | String | Tax description for a specific passenger type. E.g. 225.00 | | errorDetails | JSONObject | Present if fare details could not be retrieved | | code | String | | | message | String | | | fareConditions | JSON Array | One element for each bound (eg: SIN-LAX-SIN is 2 bounds) | | cancellation | JSONObject | Conditions when customer cancels the flight | | isAllowed | Boolean | | | shortDesc | String | | | longDesc | String | | | noShow | JSONObject | Conditions when customer does not show up for flight | | isAllowed | Boolean | | | shortDesc | String | | | longDesc | String | | | earnMiles | JSONObject | Conditions on how many miles the customer can earn | | isAllowed | Boolean | | | shortDesc | String | | | longDesc | String | | | itineraryChangeFee | JSONObject | Conditions on the fee for change of itinerary | | isAllowed | Boolean | | | shortDesc | String | | | longDesc | String | | | upgrade | JSONObject | Conditions on whether the customer can upgrade using miles | | isAllowed | Boolean | | | shortDesc | String | | | longDesc | String | | | baggage | JSONObject | Conditions related to baggage allocation | | isAllowed | Boolean | | | shortDesc | String | | | longDesc | String | | | seat | JSONObject | Conditions related to complimentary seat availability | | shortDesc | String | | | longDesc | String | | | travelItinSequence | JSONObject | Conditions on non-sequential usage of travel voucher | | longDesc | String | | | locale | String | | | retryRequestDetails | JSONObject | Populated when a recoverable exception occurs | | request | JSONObject | Same structure as the Request object defined earlier | | uri | String | The operation to be called, with the leading slash | | upgradeDetails | JSONObject | Details on the upsell option | | fareConditions | JSONArray | Same structure as fareConditions above | | fareSummary | JSONObject | Fare information on the upsell recommendation | | fareTotal | JSONObject | Includes all passengers | | totalAmount | Number | Includes taxAmount | | amountWithoutTax | Number | Integer | | tax | Number | Integer | | promoDetails | JSONObject | present when a promotion code was applied for this passenger | | orginalFareAmount | Number | Integer | | promoType | String | | | promoReasonCode | String | | | fareDetailsPerAdult | JSONObject | Includes all passengers | | totalAmount | Number | Includes taxAmount | | amountWithoutTax | Number | Integer | | tax | Number | Integer | | promoDetails | JSONObject | present when a promotion code was applied for this passenger | | orginalFareAmount | Number | Integer | | promoType | String | | | promoReasonCode | String | | | fareDetailsPerChild | JSONObject | Includes all passengers | | totalAmount | Number | Includes taxAmount | | amountWithoutTax | Number | Integer | | tax | Number | Integer | | promoDetails | JSONObject | present when a promotion code was applied for this passenger | | orginalFareAmount | Number | Integer | | promoType | String | | | promoReasonCode | String | | | fareDetailsPerInfant | JSONObject | Includes all passengers | | totalAmount | Number | Includes taxAmount | | amountWithoutTax | Number | Integer | | tax | Number | Integer | | promoDetails | JSONObject | present when a promotion code was applied for this passenger | | orginalFareAmount | Number | Integer | | promoType | String | | | promoReasonCode | String | | | upgradeRequestDetails | JSONObject | Details of the request to be triggered if customer wishes to upgrade | | request | JSONObject | Same structure as the Request object defined earlier | | uri | String | The operation to be called, with the leading slash | | | | | | | ### Error Codes | ErrorCodes | Message | Description | | ---------- | --------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | | BKAGCO0000 | Missing or Invalid expected field: request | | | BKAGCO0001 | Missing or Invalid expected field: clientID | | | BKAGCO0002 | Missing or Invalid expected field: adultCount. Must be an integer more than 0 | | | BKAGCO0003 | Missing or Invalid expected field: childCount. Must be an integer more than or equal to 0 | | | BKAGCO0004 | Missing or Invalid expected field: infantCount. Must be an integer more than or equal to 0 | | | BKAGCO0005 | Missing or Invalid expected field: itineraryDetails. Must be a list with at least one element | | | BKAGCO0006 | Missing or Invalid expected field: selectedSegmentDetails | | | BKAGCO0007 | Missing or Invalid expected field: `legs` under one or more of the `selectedSegmentDetails` | | | BKAGCO0008 | Missing or Invalid expected field: sellingClass. Expected single char input | | | BKAGCO0009 | Missing or Invalid expected field: airlineCode. Expected 2-char input | | | BKAGCO0010 | Missing or Invalid expected field: flightNumber. Expected numeric input of up to 4 digits | | | BKAGCO0011 | Missing or Invalid expected field: cabinClass. Must be one of: F,J,S,Y | | | BKAGCO0012 | Missing or Invalid expected field: originAirportCode in `itineraryDetails` | | | BKAGCO0013 | Missing or Invalid expected field: destinationAirportCode in `itineraryDetails` | | | BKAGCO0014 | Missing or Invalid expected field: departureDate. Expeted format: yyyy-MM-dd | | | BKAGCO0015 | Missing or Invalid expected field: returnDate. Expeted format: yyyy-MM-dd | | | BKAGCO0000 | Missing or Invalid expected field: request | | | BKAGCO0001 | Missing or Invalid expected field: clientID | | | BKAGCO0150 | The sessionID that you have provided has already expired. Please restart the booking flow. | | | BKAGCO0200 | The operation could not be completed at the current moment please try again | | | BKAGCO0077 | Missing or Invalid expected field: departureDateTime. Expected format: yyyy-MM-dd HH:mm:ss | | | BKAGCO0078 | `ffpCode` field is mandatory if `frequentFlyerDetails` field is provided | | | 9999/9998 | Unknown error occurs. Please contact CSL team for details. | For all errors of unknown origin | | BKAGPR0000 | Exception occurred while retrieving flight availability information | A generic error message to indicate a failure while calling the flight availability call. | | BKAGPR0001 | No flights available for the day requested! | Thrown when no inventory is available for the given search criteria | | BKAGPR0003 | No matching recommendation found for the given segment details | | | BKAGPR0004 | No matching segment found for the given leg details | | | BKAGPR0010 | Exception occurred while retrieving fare details information | | | BKAGPR0100 | Exception occurred while retrieving fare conditions information | | | | | | | |