APIs to perform search, checkout and book an air pnr
- Edit PNR
Air API (v2)
Booking id returned in successful response of air-revalidate-itin api call in the booking flow.
Trip data to book a PNR.
Email address of the approver who should receives approval email for the current booking.
Whether the current booking requires hard approval or soft approval. This flag should be used only if valid approver is present.
Payment information sent after the verification of payment method.
Custom field responses for the booking.
- Sandbox URLhttps://api-ext-sboxmeta.partners.spotnana.com/v2/air/modify-book
- Spotnana mock serverhttps://developer.spotnana.com/_mock/openapi/airapi/v2/air/modify-book
- curl
- JavaScript
- Node.js
- Python
curl -i -X POST \
https://api-ext-sboxmeta.partners.spotnana.com/v2/air/modify-book \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"bookingId": "ChBlMTFmOTVkZTcwZmZjMmI2EhAwZjVkNDhhNGJjNWExZTMw",
"tripData": {
"tripId": {
"id": "9527251668"
}
}
}'{ "pnrNumber": "AXKJDF", "pnrStatus": "CONFIRMED", "pnrId": "1213124111" }
Traveler information.
Traveler details
In case seat is not selected for the traveler, this field can be used to set the seat preference and reserve seat if it is free of cost
List of all Special Service Requests (SSR) for the traveler.
The seatMapResponseId generated using the Get flight seat map API. This field is only required if the seat selection is being changed for the traveler.
The list of all Other Service Information (OSI) to be included in the PNR.
Payment information sent after the verification of payment method.
- Sandbox URLhttps://api-ext-sboxmeta.partners.spotnana.com/v2/air/pnrs/{pnrId}/update
- Spotnana mock serverhttps://developer.spotnana.com/_mock/openapi/airapi/v2/air/pnrs/{pnrId}/update
- curl
- JavaScript
- Node.js
- Python
curl -i -X POST \
https://api-ext-sboxmeta.partners.spotnana.com/v2/air/pnrs/1213124111/update \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"pnrId": "1234567890",
"seatMapResponseId": "8bc4ec0e1839aabc",
"pnrUpdateTypes": [
"OTHER_SERVICE_INFO"
],
"travelerInfo": [
{
"traveler": {
"travelerId": "1",
"travelerInfo": {
"userOrgId": {
"userId": {
"id": "8ec7ef81-e314-4b2a-ad62-9157262aeb11"
},
"organizationId": {
"id": "5ec7ef81-e314-4b2a-ad62-9157262aeb11"
},
"organizationAgencyId": {
"id": "2ec7ef81-e314-4b2a-ad62-9157262aeb11"
},
"tmcInfo": {
"id": {
"id": "2ec7ef81-e314-4b2a-ad62-9157262aeb11"
},
"primaryServiceProviderTmc": {
"tmcId": {
"id": "2ec7ef81-e314-4b2a-ad62-9157262aeb11"
}
},
"secondaryServiceProviderTmcs": []
},
"tmcBasicInfo": {
"contractingTmc": {
"id": {
"id": "2ec7ef81-e314-4b2a-ad62-9157262aeb11"
}
},
"bookingTmc": {
"id": {
"id": "2ec7ef81-e314-4b2a-ad62-9157262aeb11"
}
}
}
}
}
},
"seats": [
{
"flightIndex": 1,
"seatNumber": "10A"
}
],
"specialServiceRequests": [
{
"flightIndex": 1,
"code": "SPML",
"info": "Special meal without egg."
}
],
"updateTypes": [
"SPECIAL_SERVICE_REQUEST",
"SEAT"
]
}
]
}'{ "paymentVerificationInfo": { "gatewayIdentifier": { … }, "paymentKey": "string", "stripeVerificationInfo": { … } } }
- Sandbox URLhttps://api-ext-sboxmeta.partners.spotnana.com/v2/air/special-service-requests
- Spotnana mock serverhttps://developer.spotnana.com/_mock/openapi/airapi/v2/air/special-service-requests
- curl
- JavaScript
- Node.js
- Python
curl -i -X GET \
https://api-ext-sboxmeta.partners.spotnana.com/v2/air/special-service-requests \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "specialServiceRequests": [ { … } ] }