Air API (v2)

Download OpenAPI description
Languages
Servers
Staging URL
https://apis.spotnana.com/
Spotnana mock server
https://developer.spotnana.com/_mock/openapi/airapi/

Air

APIs to perform search, checkout and book an air pnr

Operations

Edit PNR

Request

Edit specific traveler information in an existing PNR. This API allows you to edit and modify Special Service Requests (SSR), seat selection, loyalty number, ancillaries, redress number, Known Traveler Number (KTN), check-in preferences, and Other Service Information (OSI).

Path
pnrIdstringrequired

PNR ID created by Spotnana for the booking.

Example: 1213124111
Bodyapplication/jsonrequired
pnrRemarksArray of objects(PnrNoteRemark)

Note remarks to be added for pnr at time of pnr update

pnrIdstringrequired

PNR ID created by Spotnana for the booking.

Example: "1234567890"
travelerInfoArray of objects(TravelerUpdateInfo)required

Traveler information.

Example: [{"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"]}]
travelerInfo[].​travelerobject(AirTravelerInfo)required

Traveler details

travelerInfo[].​traveler.​travelerIdstring

Unique ID for traveler

Example: "1"
travelerInfo[].​traveler.​adhocTravelerInfoTravelerInfoResponse (object) or TravelerInfoResponse (object)(TravelerInfoResponse)
One of:

Adhoc Traveler info for this traveler

travelerInfo[].​traveler.​travelerInfoobject(Traveler)Deprecated

Traveler Information

travelerInfo[].​seatsArray of objects(SeatDetail)
travelerInfo[].​seatPreferencestring

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

Enum"AISLE""WINDOW"
travelerInfo[].​otherAncillariesArray of objects(OtherAncillaryDetail)
travelerInfo[].​specialServiceRequestsArray of objects(SpecialServiceRequestInfo)

List of all Special Service Requests (SSR) for the traveler.

travelerInfo[].​updateTypesArray of stringsuniquerequired
Items Enum"LOYALTY_INFO""REDRESS_NUMBER""KNOWN_TRAVELER_NUMBER""SEAT""SPECIAL_SERVICE_REQUEST""OTHER_ANCILLARY""UNDO_CHECK_IN""CHECK_IN""SEAT_PREFERENCE""PASSPORT"
seatMapResponseIdstring

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.

Example: "8bc4ec0e1839aabc"
preSearchAnswersobject

Contains a list of custom fields or pre search answers.

pnrUpdateTypesArray of strings
Items Value"OTHER_SERVICE_INFO"
Example: ["OTHER_SERVICE_INFO"]
otherServiceInformationItemsArray of objects(OtherServiceInformation)

The list of all Other Service Information (OSI) to be included in the PNR.

bookingPaymentDetailsobject(BookingPaymentDetails)

Payment details used for booking.

postPaymentVerificationInfoPostPaymentVerificationInfo (object) or PostPaymentVerificationInfo (object) or PostPaymentVerificationInfo (object) or PostPaymentVerificationInfo (object) or PostPaymentVerificationInfo (object)(PostPaymentVerificationInfo)
One of:

Wrapper for post stripe verification info object.

curl -i -X POST \
  https://apis.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"
        ]
      }
    ]
  }'

Responses

Success

Bodyapplication/json
paymentVerificationInfoPaymentVerificationInfo (object) or PaymentVerificationInfo (object) or PaymentVerificationInfo (object) or PaymentVerificationInfo (object)(PaymentVerificationInfo)
One of:

Wrapper for stripe verification Info.

Response
application/json
{ "paymentVerificationInfo": { "gatewayIdentifier": {}, "paymentKey": "string", "stripeVerificationInfo": {} } }

Get Special Service Requests (SSR)

Request

Returns the list of all Special Service Requests (SSR) supported by Spotnana. This API doesn't require a request payload or a query parameter. You can use this endpoint anytime during the air booking or exchange workflow to view the list of SSRs currently supported by Spotnana.

curl -i -X GET \
  https://apis.spotnana.com/v2/air/special-service-requests \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
specialServiceRequestsArray of objects(SpecialServiceRequest)
Response
application/json
{ "specialServiceRequests": [ {} ] }

Get Special Service Requests (SSR) for a Category

Request

Returns the list of Special Service Requests (SSR) for a selected category. Every category type can contain multiple service requests. For example, the category: MEAL includes service requests such as a vegetarian meal, baby/infant meal, gluten free meal, and so on. These service requests are displayed as subCategory fields within the category: MEAL. To learn more about a selected category such as its subCategory values, category code, and other relevant information, run this API using the category type as the query parameter.

Query
categorystringrequired

The category type of a Special Service Request (SSR).

Enum"BASSINET""SPECIAL_ASSISTANCE_WHEELCHAIR""BAGGAGE""UNACCOMPANIED_MINOR""PETS""MEET_AND_ASSIST""OTHERS""MEAL""SPECIAL_ASSISTANCE_DISABILITY"
Example: category=SPECIAL_ASSISTANCE_WHEELCHAIR
curl -i -X GET \
  'https://apis.spotnana.com/v2/air/special-service-requests/categories?category=SPECIAL_ASSISTANCE_WHEELCHAIR' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
specialServiceRequestsArray of objects(SpecialServiceRequest)
Response
application/json
{ "specialServiceRequests": [ {} ] }

Loyalty Programs

Operations