Atlas API-Sabre
  1. Post Ticketing Service
Atlas API-Sabre
  • Shopping and Ticketing
    • Search
      POST
    • Verify
      POST
    • Order
      POST
    • Order Commit
      POST
    • Payment
      POST
    • Retrieve Booking
      POST
    • Smart Search
      POST
    • Get Offer
      POST
    • Seat Availability
      POST
    • Get Luggage
      POST
  • Post Ticketing Service
    • Search Ancillary
      POST
    • Order Ancillary
      POST
  • Notifications and Webhook
    • Register Webhook
      POST
    • Incident List
      POST
  • Refund
    • Refund Quotation
      POST
    • Make a Refund
      POST
    • Query Refund Status
      POST
  • Other Functions
    • Regenerate Order
      POST
    • Stop Ticket Issuance
      POST
    • Order List
      POST
    • PNR Claim
      POST
    • Get Balance
      POST
    • City Pairs API
      POST
    • Email List
      POST
    • Extract PNR
      POST
    • getAtripToken
      POST
  1. Post Ticketing Service

Search Ancillary

POST
/postBookingAncillarySearch.do

Request

Header Params
Accept
string 
required
Example:
application/json
Content-Type
string 
required
Example:
application/json
Accept-Encoding
string 
required
Example:
gzip
x-atlas-client-id
string 
required
Example:
<YOUR_CLIENT_ID>
x-atlas-client-secret
string 
required
Example:
<YOUR_CLIENT_SECRET>
Body Params application/json
ticketOrderNo
string  | null 
optional
Order number. It is the original order number.
ancillaryCategory
string 
required
Ancillary Category. Different categories of ancillaries need to be separately requested. Currently we only supportBAGGAGE.
displayCurrency
string  | null 
optional
The alternative currency in which the fare and taxes amount needs to be displayed. The 3-letter currency code should be entered.
airlinePNR
string  | null 
optional
The record locator of the airline.
carrier
string  | null 
optional
2 character IATA airline code.
airlineBookings
optional
The itinerary used to locate the original ticket order
Any of
The itinerary used to match the order
depDate
string  | null 
optional
Departure date of the itinerary. The format isYYYYMMDD
depAirport
string  | null 
optional
IATA code of departure airport of the first segment of the itinerary.
arrAirport
string  | null 
optional
IATA code of arrival airport of the last segment of the itinerary.
passengers
array[object (OrderMatch-Pax) {9}]  | null 
optional
Passenger information used to locate the original ticket order
name
string 
optional
The passenger's name. Please send it in the following format: Family Name/Given Name
passengerType
enum<integer> 
optional
Type of passenger
Allowed values:
012
gender
string 
optional
The passenger's gender.
M: Male
F: Female
birthday
string  | null 
optional
The passenger's date of birth. Format:YYYYMMDD. Please fill in according to the passenger information requirements(bookingRequirement) returned by the Verification / Get Offer API.
cardType
optional
The type of the identity document
cardNum
string  | null 
optional
The unique identifier of the identity document. e.g. the passport number. Please fill in according to the passenger information requirements(bookingRequirement) returned by the Verification / Get Offer API.
cardIssuePlace
string  | null 
optional
The ISO 3166-1 alpha-2 code for the country where the identity document is issued. Please fill in according to the passenger information requirements(bookingRequirement) returned by the Verification / Get Offer API.
cardExpired
string  | null 
optional
The date on which the identity document expires. Format:YYYYMMDD.Please fill in according to the passenger information requirements(bookingRequirement) returned by the Verification / Get Offer API.
nationality
string  | null 
optional
The ISO 3166-1 alpha-2 code for the nationality of passenger. Please fill in according to the passenger information requirements(bookingRequirement) returned by the Verification / Get Offer API.
routing
optional
The itinerary used to locate the original ticket order
Any of
The itinerary used to match the order
fromSegments
array[object (RetriveOrderRoutingSegment) {9}] 
required
Outbound segments
retSegments
array[object (RetriveOrderRoutingSegment) {9}]  | null 
optional
Inbound segments
paymentMethod
integer  | null 
optional
The payment method you prefer to use. If you specify a payment method (provided that the fare supports it), then you can only use that method for payment.
Note:
This parameter is specifically used in scenarios where Sabre only reads vendor fares. When a quote supports both VCC pass-through and MoR payment, the vendor fare will default to displaying the airline's price. If Sabre intends to use MoR, please specify this parameter to clarify the payment method, and we will display the MoR price in the vendor fare.
Example
{
    "ticketOrderNo": "string",
    "ancillaryCategory": "string",
    "displayCurrency": "string",
    "airlinePNR": "string",
    "carrier": "string",
    "airlineBookings": {
        "depDate": "string",
        "depAirport": "string",
        "arrAirport": "string"
    },
    "passengers": [
        {
            "name": "string",
            "passengerType": 0,
            "gender": "string",
            "birthday": "string",
            "cardType": "PP",
            "cardNum": "string",
            "cardIssuePlace": "string",
            "cardExpired": "string",
            "nationality": "string"
        }
    ],
    "routing": {
        "fromSegments": [
            {
                "segmentIndex": 0,
                "carrier": "string",
                "flightNumber": "string",
                "depAirport": "string",
                "arrAirport": "string",
                "fareFamily": "string",
                "stopCities": "string",
                "fromDate": "string",
                "retDate": "string"
            }
        ],
        "retSegments": [
            {
                "segmentIndex": 0,
                "carrier": "string",
                "flightNumber": "string",
                "depAirport": "string",
                "arrAirport": "string",
                "fareFamily": "string",
                "stopCities": "string",
                "fromDate": "string",
                "retDate": "string"
            }
        ]
    },
    "paymentMethod": 0
}

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://sandbox.atriptech.com/postBookingAncillarySearch.do' \
--header 'Accept: application/json' \
--header 'Accept;' \
--header 'Accept-Encoding: gzip' \
--header 'Accept-Encoding;' \
--header 'x-atlas-client-id: <YOUR_CLIENT_ID>' \
--header 'x-atlas-client-id;' \
--header 'x-atlas-client-secret: <YOUR_CLIENT_SECRET>' \
--header 'x-atlas-client-secret;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "ticketOrderNo": "string",
    "ancillaryCategory": "string",
    "displayCurrency": "string",
    "airlinePNR": "string",
    "carrier": "string",
    "airlineBookings": {
        "depDate": "string",
        "depAirport": "string",
        "arrAirport": "string"
    },
    "passengers": [
        {
            "name": "string",
            "passengerType": 0,
            "gender": "string",
            "birthday": "string",
            "cardType": "PP",
            "cardNum": "string",
            "cardIssuePlace": "string",
            "cardExpired": "string",
            "nationality": "string"
        }
    ],
    "routing": {
        "fromSegments": [
            {
                "segmentIndex": 0,
                "carrier": "string",
                "flightNumber": "string",
                "depAirport": "string",
                "arrAirport": "string",
                "fareFamily": "string",
                "stopCities": "string",
                "fromDate": "string",
                "retDate": "string"
            }
        ],
        "retSegments": [
            {
                "segmentIndex": 0,
                "carrier": "string",
                "flightNumber": "string",
                "depAirport": "string",
                "arrAirport": "string",
                "fareFamily": "string",
                "stopCities": "string",
                "fromDate": "string",
                "retDate": "string"
            }
        ]
    },
    "paymentMethod": 0
}'

Responses

🟢200Success
application/json
Body
status
enum<integer> 
required
117: Baggage is not allowed for this order as it is not in the ticketed status
118: Atlas currently does not support seat or baggage for this airline
119: Baggage or seat selection is not supported for orders with infants
120: Baggage or seat selection for the flight has been closed
121: It's not allowed to purchase ancillary in 24 hours before departure
125: Post booking ancillary search timeout
Allowed values:
117118119120121125
msg
optional
Any of
It serves as an additional description of the response result. Especially when the interface reports an error (status !=0), it is usually a human-readable error message. Note: Do not use this field in any programming scenarios. For example, do not judge whether the interface responds successfully based on this field. Instead, you should only determine it by checking whether the status is equal to0at any time.
sessionId
string 
required
The unique identifier for this search. It is required when you call order function to make a reservation to identify which ancillary the client is choosing.
ticketOrderNo
string 
required
Order number. It is the original order number.
supportCreditTransPayment
string 
deprecated
This tag is used to identify if the fare needs to be paid using the client's credit card. This field has been deprecated, please use supportPaymentMethods instead.
currency
string 
required
The currency in which Atlas settles transactions with you.
fromSegments
array[object (Routing-Segment) {19}] 
required
Outbound segments
aircraftCode
string  | null 
optional
IATA Code of aircraft type
arrAirport
string 
required
3-letter iata code for the arrival airport at which the segment is scheduled to arrive.
arrTerminal
string  | null 
optional
The terminal at the destination airport where the segment is scheduled to arrive.
arrTime
string 
required
The datetime at which the segment is scheduled to arrive, in the arrival airport timezone. The format is YYYYMMDD.
cabin
string  | null 
optional
RBD(known as Reservation Booking Designator) displayed by the airline.
cabinClass
enum<integer> 
required
Cabin class of the segment.
Allowed values:
1234
Example:
1
carrier
string 
required
IATA code of marketing carrier.
codeShare
boolean 
required
A flag used to identify whether it is a code share flight.
depAirport
string 
required
3-letter iata code for the airport at which the segment is scheduled to depart.
depTerminal
string  | null 
optional
The terminal at the departure airport from which the segment is scheduled to depart.
depTime
string 
required
The datetime at which the segment is scheduled to depart, in the departure airport timezone. The format isYYYYMMSS.
duration
integer 
required
The duration of the segment in munites.
fareFamily
string 
required
Fare Family as per the information received from the airline
flightNumber
string 
required
Marketing flight number. The format is: CA123 or TR021 or FR1290, with the first two letters representing the carrier and the following number representing the flight number.
operatingCarrier
string  | null 
optional
2-letter iata code for the operating carrier. The airline actually operating this segment. This may differ from the marketing carrier in the case of a "codeshare", where one airline sells flights operated by another airline.
operatingFlightnumber
string  | null 
optional
Operating flight number.
seatCount
integer 
required
Max booking seats for the fare.
segmentIndex
integer 
required
Segment sequence. Starts from 1. If it is return trip, sequence for outbound trip and inbound trip would be together. The segment index also represents the flight sequence of the segment.
stopCities
string  | null 
optional
IATA code/Name of cities from where the passengers will take stopover flights. Include IATA code of cities and use a comma in case of multiple cities to separate transfer airports count is higher than 1. For example: CGK, SUB.
null or blank means non-stop flight.
retSegments
array[object (Routing-Segment) {19}]  | null 
optional
Inbound segments
aircraftCode
string  | null 
optional
IATA Code of aircraft type
arrAirport
string 
required
3-letter iata code for the arrival airport at which the segment is scheduled to arrive.
arrTerminal
string  | null 
optional
The terminal at the destination airport where the segment is scheduled to arrive.
arrTime
string 
required
The datetime at which the segment is scheduled to arrive, in the arrival airport timezone. The format is YYYYMMDD.
cabin
string  | null 
optional
RBD(known as Reservation Booking Designator) displayed by the airline.
cabinClass
enum<integer> 
required
Cabin class of the segment.
Allowed values:
1234
Example:
1
carrier
string 
required
IATA code of marketing carrier.
codeShare
boolean 
required
A flag used to identify whether it is a code share flight.
depAirport
string 
required
3-letter iata code for the airport at which the segment is scheduled to depart.
depTerminal
string  | null 
optional
The terminal at the departure airport from which the segment is scheduled to depart.
depTime
string 
required
The datetime at which the segment is scheduled to depart, in the departure airport timezone. The format isYYYYMMSS.
duration
integer 
required
The duration of the segment in munites.
fareFamily
string 
required
Fare Family as per the information received from the airline
flightNumber
string 
required
Marketing flight number. The format is: CA123 or TR021 or FR1290, with the first two letters representing the carrier and the following number representing the flight number.
operatingCarrier
string  | null 
optional
2-letter iata code for the operating carrier. The airline actually operating this segment. This may differ from the marketing carrier in the case of a "codeshare", where one airline sells flights operated by another airline.
operatingFlightnumber
string  | null 
optional
Operating flight number.
seatCount
integer 
required
Max booking seats for the fare.
segmentIndex
integer 
required
Segment sequence. Starts from 1. If it is return trip, sequence for outbound trip and inbound trip would be together. The segment index also represents the flight sequence of the segment.
stopCities
string  | null 
optional
IATA code/Name of cities from where the passengers will take stopover flights. Include IATA code of cities and use a comma in case of multiple cities to separate transfer airports count is higher than 1. For example: CGK, SUB.
null or blank means non-stop flight.
ancillaryProductElements
array[object (AncillaryProduct) {14}]  | null 
optional
Ancillary service quotation. If no available services, it will benull or[]
ancillaryCode
string 
required
A code that is relatively readable by humans and contains information about auxiliary business specifications (such as weight and quantity limitations of luggage).
Note:
This content is only for display purposes and should not be used for programming purposes. That is to say, do not attempt to parse the information about auxiliary business specifications from this code. If you want to access the auxiliary business specifications, please use structured fields. For example, for luggage, please useauxBaggageElement.
auxBaggageElement
object  | null 
optional
Baggage specification limitations. This node is valid only when the ancillary type (categoryCode) is baggage.
canPurchasePostTicket
integer 
required
A flag used to mark if this ancillary product can be purchased in the post-ticketing flow.
0: No
1: Yes
canPurchaseWithTicket
integer 
required
A flag used to mark if this ancillary product can be purchased during the booking flow.
0: No
1: Yes
categoryCode
enum<string> 
required
Type of the ancillary.
Allowed values:
StandardCheckInBaggageCabinBaggageCabinBaggageUnderSeatCabinBaggageOverheadLocker
clientTechnicalServiceFee
number  | null 
optional
The service fee charged by Atlas for the purchase of the ancillary.
currency
string 
required
The currency in which Atlas settles transactions with you
maxQty
integer 
required
The maximum number of purchases allowed per person per flight segment
minQty
integer 
required
The minimum quantity allowed to be purchased per person per flight segment.
price
number 
required
Price for this ancillary.
productCode
string 
required
Unique identifier for the ancillary product. It would be used in the order request.
segmentIndex
integer 
required
The index of segment the ancillary applies to.
vendorCurrency
string 
required
The currency in which the vendor charges for the ancillary. If the fare does not allow for the VCC pass-through or BYOA payment, this information will benull.
vendorPrice
integer 
required
The price charged by the vendor for the ancillary. If the fare does not allow for the VCC pass-through or BYOA payment, this information will benull.
supportPaymentMethods
array[integer] | null 
optional
Support payment methods. If payment is not supported in any way, this will be nullor[]
Allowed values:
1345
cardChargeList
array[object (CardCharge) {4}]  | null 
optional
Payment handling fee of MoR
cardType
enum<string> 
required
Card types, such as Visa, MasterCard
Allowed values:
AmexVisaMasterCardJCBDiscoverDinersClub
percentage
number  | null 
optional
Percentage of payment handling fee
charge
number  | null 
optional
The amount of payment handling fee
currency
string  | null 
optional
Currency of charge
Example
{
    "status": 0,
    "msg": "success",
    "sessionId": "c72fc3a2-c860-4236-aa27-d5572cfe0bd6",
    "ticketOrderNo": "TESTA20250514144231012",
    "supportCreditTransPayment": "0",
    "currency": "USD",
    "fromSegments": [
        {
            "segmentIndex": 1,
            "carrier": "RS",
            "flightNumber": "RS902",
            "depAirport": "CJU",
            "depTime": "202505160800",
            "arrAirport": "GMP",
            "arrTime": "202505160915",
            "stopCities": "",
            "duration": 75,
            "codeShare": false,
            "cabin": "1",
            "cabinClass": 1,
            "seatCount": 0,
            "aircraftCode": null,
            "depTerminal": "",
            "arrTerminal": "",
            "operatingCarrier": "",
            "operatingFlightnumber": "",
            "fareFamily": "NORMAL"
        }
    ],
    "retSegments": [],
    "ancillaryProductElements": [
        {
            "segmentIndex": 1,
            "endSegmentIndex": null,
            "productCode": "SCI_BAG_5KG",
            "productName": "Standard Check-in Baggage",
            "productType": 1,
            "canPurchaseWithTicket": 0,
            "canPurchasePostTicket": 1,
            "price": 5.69,
            "currency": "USD",
            "vendorPrice": null,
            "vendorCurrency": null,
            "clientTechnicalServiceFee": 0.47,
            "clientTechnicalServiceFeeMode": "PER_BOOKING",
            "auxBaggageElement": {
                "piece": 0,
                "weight": 5,
                "isAllWeight": true,
                "size": null
            },
            "offerId": null,
            "maxQty": 1,
            "minQty": 1,
            "categoryCode": "StandardCheckInBaggage",
            "ancillaryCode": "SCI_BAG_5KG",
            "auxSeatElement": null,
            "displayPrice": 5.14,
            "displayCurrency": "EUR"
        }
    ],
    "supportPaymentMethods": [
        1,
        5
    ]
}
Modified at 2025-07-18 06:59:17
Previous
Get Luggage
Next
Order Ancillary
Built with