Skip to content

Order Detail

The Retrieve service allows to retrieve a booking from the Partner reservation system and returns all the details with its booking elements (e.g. passenger names, segments, flight info, class booked, etc.). Retrieve can be used for: checking on the success of ticket issue, ticket status, segments status, price breakdown etc.

Endpoint

Method: POST

URL: /json/orderDetail

Request Parameters

ParameterTypeRequiredDescription
authenticationObjectYesAuthentication details
  └ partnerIdStringYesPartner Id
  └ signStringYesSignature for the request
dataObjectYes
  └ orderNumStringYesUnique order number on the Partner side

Request Example

json
{
  "authentication": {
    "partnerId": "{{PARTNER_ID}}",
    "sign": "{{SIGN}}"
  },
  "data": {
    "orderNum": "917685547687690201"
  }
}

Response Parameters

ParameterTypeRequiredDescription
└ errorCodeStringYesError code, refer to Error Code List
└ errorMsgStringYesError message
dataObjectYesOnly if the errorCode returns "0", returned data would not be null
  └ orderStatusStringYesOrder Status, refer to Order Status List
  └ orderNumStringYesUnique order number on the Partner side
  └ createdTimeStringNoOrder creation time [yyyy-MM-ddTHH:mm:ss±HH:MM]
  └ ticketTimeLimitStringYesTicket time limit [yyyy-MM-ddTHH:mm:ss±HH:MM]
  └ pnrStringYesA reference number in the Provider system. This value must be unique and not repeated across different orders of the Partner
  └ passengers[Object]YesPassenger information
   └ passengerIdStringYesPassenger sequence ID
   └ firstNameStringYesFirst name
   └ lastNameStringYesLast name
   └ nationalityStringYesNationality [country code]
   └ psgTypeStringYesPassenger type (ADT, CHD, INF)
   └ genderStringYesGender, M or F
   └ birthdayStringYesBirthday, format [yyyy-mm-dd]
   └ cardTypeStringYesTravel document type
   └ cardNumStringYesTravel document number
   └ cardExpiredDateStringYesTravel document expired date, format [yyyy-mm-dd]
  └ solutions[Object]YesPricing information
   └ fareSourceStringNoFare source type, e.g. Regular, Charter, NDC, B2B
   └ categoryStringNoProduct type, e.g. VI (virtual interlining)
   └ fareTypeStringYesFare type: Public or Private
   └ validatingCarrierStringYesTicketing airline
   └ currencyStringYesCurrency code
   └ adtFareNumberYesAdult fare
   └ adtTaxNumberYesAdult tax
   └ chdFareNumberNoChild fare
   └ chdTaxNumberNoChild tax
   └ infFareNumberNoInfant fare
   └ infTaxNumberNoInfant tax
   └ tktFeeNumberNoTicketing fee
   └ adultsIntegerNoNumber of adult passengers
   └ childrenIntegerNoNumber of child passengers
   └ infantsIntegerNoNumber of infant passengers
   └ baggageMapObjectNoBaggage rules Map by passenger type (ADT, CHD, INF)
    └ ADT[Object]NoBaggage rules for ADT
     └ segmentIdList[String]YesArray of segment IDs (segments -> segmentId)
     └ baggageAmountStringNoFree baggage amount: (e.g., "1PC")
     └ baggageWeightStringNoFree baggage weight:
Unity: KG - kilogram, LB - pounds
(e.g., "23KG")
     └ baggageSize[String]NoBaggage dimensions [L, W, H]:
Unity: CM - centimeter, IN - inches
(e.g., ["76CM", "50CM", "30CM"] or ["158CM"])
     └ carryOnAmountStringNoFree carry-on amount: (e.g., "1PC")
     └ carryOnWeightStringNoFree carry-on weight:
Unity: KG - kilogram, LB - pounds
(e.g., "10KG")
     └ carryOnSize[String]NoCarry-on dimensions [L, W, H]:
Unity: CM - centimeter, IN - inches
(e.g., ["55CM", "40CM", "20CM"] or ["115CM"])
    └ CHD[Object]NoBaggage rules for CHD (fields are the same as ADT)
    └ INF[Object]NoBaggage rules for INF (fields are the same as ADT)
  └ journeys[Object]YesItinerary information
   └ segments[Object]YesSegment information
    └ segmentIdStringYesSegment ID, unique identification
    └ marketingCarrierStringYesMarketing Carrier [IATA airline code]
    └ flightNumIntegerYesFlight Number
    └ operatingCarrierStringNoOperating Carrier [IATA airline code]
    └ equipmentStringNoAircraft equipment IATA-code
    └ cabinClassStringYesCabin class, refer to Сabin Class List
    └ bookingCodeStringYesBooking Code
    └ departureStringYesDeparture [IATA airport code]
    └ arrivalStringYesArrival [IATA airport code]
    └ departureTerminalStringNoDeparture Terminal
    └ arrivalTerminalStringNoArrival Terminal
    └ flightTimeIntegerYesFly Time, Unit: minutes
    └ departureDateStringYesDeparture Date [yyyy-MM-dd](Local time of departure location)
    └ departureTimeStringYesDeparture Time [HH:mm](Local time of departure location)
    └ arrivalDateStringYesArrival Date [yyyy-MM-dd](Local time of arrival location)
    └ arrivalTimeStringYesArrival Time [HH:mm](Local time of arrival location)
    └ fareBasisStringYesFare basis code
    └ stops[Object]NoDetails about technical stops
     └ locationStringNoAirport IATA code of the stop location
     └ arrivalDateStringNoTechnical stop arrival date (yyyy-MM-dd)
     └ arrivalTimeStringNoTechnical stop arrival time (HH:mm)
     └ departureDateStringNoTechnical stop departure date (yyyy-MM-dd)
     └ departureTimeStringNoTechnical stop departure time (HH:mm)
  └ pnrList[Object]NoPNR list as per passengers and flight segments. More information you can find here: PNRList explanation
   └ segmentIdStringYesSegment ID, unique identification (journeys -> segments -> segmentId)
   └ ticketNums[Object]YesPassengers and corresponding ticket information
    └ airPnrStringYesAirline PNR
    └ ticketNumStringNoTicket number
    └ passengerIdStringYesPassenger sequence ID. Consistent with the passengerId under each passenger

Response Example

json
{
  "errorCode": "0",
  "errorMsg": "ok",
  "data": {
    "orderStatus": "TO_BE_PAID",
    "orderNum": "917685547687690201",
    "createdTime": "2026-01-16T09:12:48+00:00",
    "ticketTimeLimit": "2026-02-28T10:00:00+00:00",
    "pnr": "WCREDC",
    "passengers": [
      {
        "passengerId": "1",
        "firstName": "GEORGE",
        "lastName": "TAYLOR",
        "nationality": "GB",
        "psgType": "ADT",
        "gender": "M",
        "birthday": "1998-04-26",
        "cardType": "P",
        "cardNum": "6970406",
        "cardExpiredDate": "2030-04-26"
      },
      {
        "passengerId": "2",
        "firstName": "SOPHIA",
        "lastName": "TAYLOR",
        "nationality": "GB",
        "psgType": "CHD",
        "gender": "F",
        "birthday": "2023-06-14",
        "cardType": "P",
        "cardNum": "54645854",
        "cardExpiredDate": "2028-07-25" 
      }
    ],
    "solutions": [
      {
        "fareSource": "Regular",
        "category": "VI",
        "fareType": "Private",
        "validatingCarrier": "W9",
        "currency": "EUR",
        "adtFare": 146.93,
        "adtTax": 0.86,
        "chdFare": 146.93,
        "chdTax": 0.86,
        "infFare": null,
        "infTax": null,
        "tktFee": 0,
        "baggageMap": {
          "ADT": [
            {
              "segmentIdList": [
                "1"
              ],
              "baggageAmount": "1PC",
              "baggageWeight": "23KG",
              "baggageSize": ["76CM", "50CM", "30CM"],
              "carryOnAmount": "1PC",
              "carryOnWeight": "10KG",
              "carryOnSize": ["55CM", "40CM", "20CM"]
            },
            {
              "segmentIdList": [
                "2"
              ],
              "baggageAmount": "1PC",
              "baggageWeight": "23KG",
              "baggageSize": ["76CM", "50CM", "30CM"],
              "carryOnAmount": "1PC",
              "carryOnWeight": "10KG",
              "carryOnSize": ["55CM", "40CM", "20CM"]
            }
          ],
          "CHD": [
            {
              "segmentIdList": [
                "1"
              ],
              "baggageAmount": "1PC",
              "baggageWeight": "23KG",
              "baggageSize": ["76CM", "50CM", "30CM"],
              "carryOnAmount": "1PC",
              "carryOnWeight": "10KG",
              "carryOnSize": ["55CM", "40CM", "20CM"]
            },
            {
              "segmentIdList": [
                "2"
              ],
              "baggageAmount": "1PC",
              "baggageWeight": "23KG",
              "baggageSize": ["76CM", "50CM", "30CM"],
              "carryOnAmount": "1PC",
              "carryOnWeight": "10KG",
              "carryOnSize": ["55CM", "40CM", "20CM"]
            }
          ]
        }
      }
    ],
    "journeys": [
      {
        "segments": [
          {
            "segmentId": "1",
            "marketingCarrier": "W9",
            "flightNum": "5772",
            "operatingCarrier": null,
            "equipment": "JET",
            "cabinClass": "Economy",
            "bookingCode": "X",
            "departure": "IST",
            "arrival": "LGW",
            "departureTerminal": "",
            "arrivalTerminal": "0",
            "flightTime": 245,
            "departureDate": "2026-08-14",
            "departureTime": "16:50",
            "arrivalDate": "2026-08-15",
            "arrivalTime": "18:55",
            "fareBasis": "YRT",
            "stops": [
              {
                "location": "IST",
                "arrivalDate": "2026-08-15",
                "arrivalTime": "10:00",
                "departureDate": "2026-08-15",
                "departureTime": "12:30"
              }
            ]
          }
        ]
      },
      {
        "segments": [
          {
            "segmentId": "2",
            "marketingCarrier": "W9",
            "flightNum": "5729",
            "operatingCarrier": null,
            "equipment": "JET",
            "cabinClass": "Economy",
            "bookingCode": "X",
            "departure": "LGW",
            "arrival": "IST",
            "departureTerminal": "S",
            "arrivalTerminal": "",
            "flightTime": 240,
            "departureDate": "2026-08-22",
            "departureTime": "13:35",
            "arrivalDate": "2026-08-22",
            "arrivalTime": "19:35",
            "fareBasis": "YRT",
            "stops": null
          }
        ]
      }
    ],
    "pnrList": [
      {
        "segmentId": "1",
        "ticketNums": [
          {
            "airPnr": "AAAAAA",
            "ticketNum": "333-544235677",
            "passengerId": "1"
          },
          {
            "airPnr": "AAAAAA",
            "ticketNum": "333-544235111",
            "passengerId": "2"
          }
        ]
      },
      {
        "segmentId": "2",
        "ticketNums": [
          {
            "airPnr": "BBBBBB",
            "ticketNum": "333-544235678",
            "passengerId": "1"
          },
          {
            "airPnr": "CCCCCC",
            "ticketNum": "333-544235222",
            "passengerId": "2"
          }
        ]
      }
    ]
  }
}

PnrList explanation

  • pnrList - PNR list as per passengers and flight segments. If the order has not been issued, this object should be returned empty: "pnrList": []. If the order has been issued, all fields in this object must be filled, except for "ticketNum" if the Partner's provider does not return it.

  • segmentId - Segment ID, unique identification. It takes the value from the Response -> data -> journeys -> segments -> segmentId.

  • ticketNums - Passengers and corresponding ticket information.

  • airPnr - Airline PNR. This parameter must always be provided without exceptions.
    If "airPnr" is the same for multiple segments or passengers, the value of this field should be duplicated accordingly.

INFO

It is important not to confuse "airPnr" (Airline PNR) with the order "pnr". The order "pnr" identifies the entire booking in provider's system, while the "airPnr" is the vendor locator generated directly by the operating airline. Passengers must use the "airPnr" for online check-in and booking management on the airline's official website.

  • ticketNum - Ticket number. If the order has been issued, this field must be filled in, except when the Partner's provider does not return it (for example, for LCC content).
    If "ticketNum" is the same for multiple segments or passengers, the value of this field should be duplicated accordingly.

  • passengerId - Passenger sequence ID. Consistent with the passengerId under each passenger.

Error Code List

errorCodeerrorMsgDescription
0okRequest has been processed successfully
S001System errorSystem error
S002TimeoutRequest timeout
P001-Parameter is illegal
B002Partner is not exists.PartnerID does not exist
B003Illegal signIllegal sign. Please check your signature
B048Invalid buyerRequest buyer is not matched with order
B037Order is not exists.Order is not exist

TTN Octo API documentation