FlightRoutes24 API(Purchaser)
  1. FR24_API_V1.1.0
FlightRoutes24 API(Purchaser)
  • FR24_API_V1.1.0
    • API Work Flow
    • Introduction
    • Appendix
    • 错误码
    • Error Code
    • Shopping
      POST
    • Pricing
      POST
    • PresaleAncillaryShopping
      POST
    • Booking
      POST
    • Ticketing
      POST
    • OrderDetail
      POST
    • PostsaleAncillaryShopping
      POST
    • AncillaryBooking
      POST
    • AncillaryPurchase
      POST
    • AncillaryOrderDetail
      POST
    • ChangeReshop
      POST
    • ReissueRequest
      POST
    • RefundRequest
      POST
    • RefundConfirming
      POST
    • VoidRequest
      POST
  1. FR24_API_V1.1.0

Booking

POST
/api/new/booking.do
By calling the booking API, partner confirms the order.
Note: Booking API depends on the calling result of Pricing API. Pricing API must be called before the Booking API can be called. If the calling interval is more than 30min, the Pricing API needs to be called again to obtain the latest price and seat availability, then call Booking API.

Request

Header Params
Accept-Encoding
string 
required
Use gzip compression format
Default:
gzip, deflate, br
content-Type
string 
required
Response format
Default:
application/json
appKey
string 
required
User account
Default:
{{appKey}}
Body Params application/json
authentication
object 
User authentication
required
sign
string 
Signature
required
The encrypted string of appkey, appSecret and timestamp.Refer to Appendix I
timestamp
string 
Unix timestamp
required
measuring in Second
offerId
string 
Offer ID of quotation
required
partnerOrderNo
string 
Partner’s order number
optional
passengers
string 
Passenger information
required
Use AES to encrypt all the characters. Decrypted parameters refer to decodePassengers.
decodePassengers
array[object (Passenger information) {14}] 
Passenger information
optional
Need to encrypt the content of passenger information, do not need to transmit
paxId
integer 
Passenger serial number
required
name
string 
Passengers’ Name
required
English capital LastName/FirstNameSpaces are not permitted
paxType
enum<string> 
Passenger Type
required
Allowed values:
ADTCHDINF
birthday
string <date>
Date of birth
optional
YYYY-MM-dd
>= 10 characters<= 10 characters
Match pattern:
^\d{4}-\d{2}-\d{2}$
gender
enum<string> 
Gender
required
F - female M - male
>= 1 characters<= 1 characters
Allowed values:
FM
Match pattern:
^[F|M]$
cardNum
string 
Document number
optional
cardType
enum<string> 
Type of document
optional
Allowed values:
IDPPGATWTBHXHY
cardIssuedPlace
string 
Document issued country
optional
code by IATA
cardExpiryDate
string <date>
Card expiry date
optional
YYYY-MM-DD
nationality
string 
Nationality
optional
code by IATA
<= 2 characters
paxEmail
string 
Passenger’s email
optional
paxMobile
string 
Passenger’s mobile number
optional
areaCode
string 
Passenger’s telephone area code
optional
accompaniedPaxId
string 
Need to record accompanied adult’s id
optional
The accompanied adult’s id is required when the ticketed passenger is an infant or child.
Match pattern:
^\d*$
agentContact
object 
Contact information
required
for order changes
agentName
string 
Name
required
English capital LastName/FirstName
agentEmail
string 
Contact email
optional
mobile
string 
Contact the phone number
optional
areaCode
string 
Telephone area code
optional
ancillary
array[object (The content of ancillary pre-sales) {7}] 
The content of ancillary pre-sales
optional
paxId
string 
Passenger ID
required
segmentIds
array[string]
Combination of segment IDs
required
auxId
string 
Ancillary ID
required
quantity
number 
purchased pieces
required
auxType
integer 
required
Types of Ancillary Sales 1. Baggage 2. Seat Selection 3. Meals 4. Check-in
baggage
array [object {4}] 
Ancillary baggage information
optional
Mandatory when auxType is 1.
seatInfos
array [object {6}] 
Ancillary seat selection information
optional
Mandatory when auxType is 2.
Example
{
    "authentication": {
        "sign": "{{sign}}",
        "timestamp": "{{timestamp}}"
    },
    "offerId": "17981626452283392",
    "partnerOrderNo": null,
    "passengers": "Jltj0mYeuV8bdPbOE9GS86o6e0kHqpKCJO1pVHahh9uhwOqZpyu3/Cpw88iQqDoYxi87SeMoYLiuaPtwsbp7gvhKfHzcvqZgg8weF1nho1y6Jzfn8AaBZj/uQDH5vxVQcaoAZHKp2bv8f43LCRbQI1Rms9eALxYNeNmFAWqx9LA5XKk7Mlyh/N9n5CLp9j8ywEJ9R9lSIQui65Q926Dzknwnezs1a6W5DGfP1g1p5lHgX2/40i2GkX5AEvvK40F8uaAVhKxIvaxZhXbGq67EAGrd22i3AqN/uhnVREjcgBgPuVcafWKBkYS/CvyTvMCQFM69w6GNBTYwQqew2wGu7mXRuyDQWS4E14mroym4VL3RIcKTUCYVs0S7sR0o48atFmArHkhnh0YLcGpwHBquNbk4o8cDgiq/yYmZCyIfn20=",
    "agentContact": {
        "agentName": "Richard/Martin",
        "agentEmail": "a.szcmqygqts@masc.lb",
        "mobile": "18105115459",
        "areaCode": "CN"
    }
    // ,"ancillary": [
    //     {
    //         "paxId": "1",
    //         "segmentIds": [
    //             {{segmentIds_presaleAncillary}}
    //         ],
    //         "auxId": "{{auxId_presaleAncillary}}",
    //         "quantity": 1
    //     }
    // ]
}

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://flight-test.flightroutes24.com/api/new/booking.do' \
--header 'Accept-Encoding;' \
--header 'appKey;' \
--header 'content-Type: application/json' \
--data-raw '{
    "authentication": {
        "sign": "",
        "timestamp": ""
    },
    "offerId": "17981626452283392",
    "partnerOrderNo": null,
    "passengers": "Jltj0mYeuV8bdPbOE9GS86o6e0kHqpKCJO1pVHahh9uhwOqZpyu3/Cpw88iQqDoYxi87SeMoYLiuaPtwsbp7gvhKfHzcvqZgg8weF1nho1y6Jzfn8AaBZj/uQDH5vxVQcaoAZHKp2bv8f43LCRbQI1Rms9eALxYNeNmFAWqx9LA5XKk7Mlyh/N9n5CLp9j8ywEJ9R9lSIQui65Q926Dzknwnezs1a6W5DGfP1g1p5lHgX2/40i2GkX5AEvvK40F8uaAVhKxIvaxZhXbGq67EAGrd22i3AqN/uhnVREjcgBgPuVcafWKBkYS/CvyTvMCQFM69w6GNBTYwQqew2wGu7mXRuyDQWS4E14mroym4VL3RIcKTUCYVs0S7sR0o48atFmArHkhnh0YLcGpwHBquNbk4o8cDgiq/yYmZCyIfn20=",
    "agentContact": {
        "agentName": "Richard/Martin",
        "agentEmail": "a.szcmqygqts@masc.lb",
        "mobile": "18105115459",
        "areaCode": "CN"
    }
    // ,"ancillary": [
    //     {
    //         "paxId": "1",
    //         "segmentIds": [
    //             {{segmentIds_presaleAncillary}}
    //         ],
    //         "auxId": "{{auxId_presaleAncillary}}",
    //         "quantity": 1
    //     }
    // ]
}'

Responses

🟢200OK
application/json
Body
traceId
string 
Traceability code
required
traceId can help locate problems when problems occur between partners and FR24.
code
string 
Status code
required
000000 means success, others mean failure.
message
string 
Error code message
required
processingTime
number 
Processing time
required
measuring in ms
data
object 
All the data returned according to the Request
required
If code returns failure, data would be empty.
orderNo
string 
FR24 Order number
required
orderStatus
string 
Order status
optional
11, Successful Bookings 12, Ticketing Requested 13, Ticketing Completed 14, Awaiting Confirmation 15, Booking Canceled
partnerOrderNo
string 
Partner order number
optional
currency
string 
Order currency
required
totalPrice
number 
Total price of the order
required
offer
object 
Order details
required
legs
object (Itinerary information) 
Legs information
required
returns all flight combinations
segments
array [object {16}] 
Segment information
required
ticketInfo
array [object {5}] 
Other ticket information
required
payDeadline
string <date-time>
Payment deadline
required
YYYY-MM-DDThh:mm. (GMT+8)The order must be paid before the time, otherwise the order will be canceled.
voidDeadline
string <date-time>
Void deadline
optional
YYYY-MM-DDThh:mm. (GMT+8)The tickets can be voided before the time. Time is for reference only.
passengers
object 
Passenger information
required
agentContact
object 
Contact information
required
for order changes
ancillary
object (Ancillary information) 
Ancillary information
optional
Example
{
  "traceId": "order_NEWAPI24093010505129307706",
  "code": "000000",
  "message": "ok",
  "processingTime": 1558,
  "data": {
    "orderNo": "17981635587543040",
    "orderStatus": "11",
    "partnerOrderNo": "",
    "currency": "USD",
    "offer": {
      "offerId": "17981626452283392",
      "legId": "4ad38e31d03829dae6035cf4eb6fc972",
      "platingCarrier": "FD",
      "pricePerPax": [
        {
          "paxType": "ADT",
          "baseFare": 315.2,
          "totalTax": 40.02,
          "taxBreakdown": [],
          "serviceFee": null
        }
      ],
      "cabin": [
        "Y",
        "Y"
      ],
      "fareBasis": [
        "DSVFED",
        "DSVFED"
      ],
      "extraInfo": {
        "freeBaggageAllowance": [
          {
            "segmentId": "cdabc75289fb9dcf917526324de0e878",
            "cabinBagPc": "0-0-0",
            "cabinBagSize": "e-e-e",
            "cabinBagWeight": "0-0-0",
            "checkedBagPc": "0-0-0",
            "checkedBagSize": "e-e-e",
            "checkedBagWeight": "0-0-0"
          },
          {
            "segmentId": "82ba60be4c9f9af3c2cdb06dd78403ae",
            "cabinBagPc": "0-0-0",
            "cabinBagSize": "e-e-e",
            "cabinBagWeight": "0-0-0",
            "checkedBagPc": "0-0-0",
            "checkedBagSize": "e-e-e",
            "checkedBagWeight": "0-0-0"
          }
        ]
      },
      "eligibilityFlag": true,
      "eligibilityDetail": null,
      "rules": {
        "refund": [
          {
            "paxType": "ADT",
            "couponStatus": 1,
            "refundPolicy": "withCondition",
            "applicableTime": [
              null,
              null
            ],
            "fullRefundAP": null,
            "refundFee": 99
          },
          {
            "paxType": "CHD",
            "couponStatus": 1,
            "refundPolicy": "withCondition",
            "applicableTime": [
              null,
              null
            ],
            "fullRefundAP": null,
            "refundFee": 99
          }
        ],
        "change": [
          {
            "paxType": "ADT",
            "couponStatus": 1,
            "changePolicy": "withCondition",
            "applicableTime": [
              null,
              null
            ],
            "changeFee": 99
          },
          {
            "paxType": "CHD",
            "couponStatus": 1,
            "changePolicy": "withCondition",
            "applicableTime": [
              null,
              null
            ],
            "changeFee": 99
          }
        ]
      },
      "productType": null,
      "productTag": {
        "ticketPromise": null,
        "refuseDeadline": null,
        "ticketingTime": null,
        "reschedulePendingTime": null,
        "voluntaryRefundTime": null,
        "involuntaryRefundTime": null,
        "refundCondition": null,
        "reissueCondition": null,
        "voidingCondition": false,
        "voluntaryServiceStandard": null,
        "involuntaryServiceStandard": null,
        "rescheduleProcessingTime": null,
        "RBDChangedRisk": false
      },
      "productSource": "OTH",
      "paymentMethod": null,
      "fareBrand": [
        "basic eco",
        "basic eco"
      ],
      "posArea": [
        "US",
        "US"
      ],
      "RBD": [
        "Y",
        "Y"
      ]
    },
    "legs": {
      "legId": "4ad38e31d03829dae6035cf4eb6fc972",
      "segmentIds": [
        "cdabc75289fb9dcf917526324de0e878",
        "82ba60be4c9f9af3c2cdb06dd78403ae"
      ]
    },
    "segments": [
      {
        "segmentId": "cdabc75289fb9dcf917526324de0e878",
        "duration": 1492,
        "carrier": "FD",
        "flightNo": "8750",
        "codeShare": false,
        "operatingCarrier": "FD",
        "operatingFlightNo": "FD8750",
        "aircraftCode": "空客A300",
        "depAirport": "DMK",
        "depTerminal": "T1",
        "depTime": "2024-10-24T03:18",
        "arrAirport": "SIN",
        "arrTerminal": "T2",
        "arrTime": "2024-10-25T05:10",
        "stopAirport": null,
        "stopDuration": null
      },
      {
        "segmentId": "82ba60be4c9f9af3c2cdb06dd78403ae",
        "duration": 1612,
        "carrier": "FD",
        "flightNo": "2271",
        "codeShare": false,
        "operatingCarrier": "FD",
        "operatingFlightNo": "FD2271",
        "aircraftCode": "空客A300",
        "depAirport": "SIN",
        "depTerminal": "T1",
        "depTime": "2024-11-17T03:18",
        "arrAirport": "BKK",
        "arrTerminal": "T2",
        "arrTime": "2024-11-18T05:10",
        "stopAirport": null,
        "stopDuration": null
      }
    ],
    "tktgAcctInfos": null,
    "ticketInfo": [
      {
        "airlinePnr": "WLWBUN,WLWBUN",
        "gdsPnr": "IVUAKU",
        "paxId": "1",
        "paxName": "YGVU/ZTMII",
        "ticketNo": null
      }
    ],
    "payDeadline": "2024-09-30T11:50",
    "voidDeadline": null,
    "agentContact": {
      "agentName": "Richard/Martin",
      "agentEmail": "a.szcmqygqts@masc.lb",
      "mobile": "18105115459",
      "areaCode": "CN"
    },
    "totalPrice": 355.22,
    "ancillary": null,
    "splitJoint": false,
    "passengers": "Jltj0mYeuV8bdPbOE9GS86o6e0kHqpKCJO1pVHahh9uhwOqZpyu3/Cpw88iQqDoYxi87SeMoYLiuaPtwsbp7gvhKfHzcvqZgg8weF1nho1y6Jzfn8AaBZj/uQDH5vxVQcaoAZHKp2bv8f43LCRbQI1Rms9eALxYNeNmFAWqx9LA5XKk7Mlyh/N9n5CLp9j8ywEJ9R9lSIQui65Q926Dzknwnezs1a6W5DGfP1g1p5lHgX2/40i2GkX5AEvvK40F8uaAVhKxIvaxZhXbGq67EAGrd22i3AqN/uhnVREjcgBgPuVcafWKBkYS/CvyTvMCQFM69w6GNBTYwQqew2wGu7mXRuyDQWS4E14mroym4VL3RIcKTUCYVs0S7sR0o48atFmArHkhnh0YLcGpwHBquNbk4o8cDgiq/yYmZCyIfn20="
  }
}
Modified at 2025-04-17 06:24:00
Previous
PresaleAncillaryShopping
Next
Ticketing
Built with