Trip API (v2)

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

Trips

APIs to manage trips and PNRs.

Operations

Finalize the given pnr.

Request

This endpoint changes the metadata of PNR to finalized and triggers supplier actions if required.

Path
tripIdstringrequired

Trip Id

Example: 6926658168
pnrIdstringrequired

Pnr Id

Example: 6926658168
Bodyapplication/json
finalizeIntentFinalizeIntent (object) or FinalizeIntent (object) or FinalizeIntent (object)(FinalizeIntent)
One of:

Wrapper for AirPriceOptimizationMetadata.

finalizeMetadataobject(FinalizeMetadata)

Metadata information related to finalize request

customFieldV3UserResponsesArray of objects(CustomFieldV3Response)

Custom field user responses for the booking.

preBookAnswersobject(PreBookAnswers)Deprecated
curl -i -X POST \
  https://apis.spotnana.com/v3/trips/6926658168/pnrs/6926658168/finalize \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "preBookAnswers": {
      "answers": [
        {
          "entityId": "string",
          "userInput": "string",
          "itemIds": [
            0
          ],
          "answers": [
            {
              "item": "string",
              "value": "string",
              "description": "string"
            }
          ],
          "customFieldType": "QUESTION",
          "questionDisplayText": "string",
          "question": {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "name": "string",
            "questionFormat": "CHECKBOX",
            "optionInfo": {
              "source": "MANUAL",
              "sourceMetadata": {
                "companyConfig": {}
              },
              "totalNumOptions": 0,
              "options": [
                {}
              ]
            },
            "isRequired": true,
            "isDisabled": true,
            "includeInItinerary": true,
            "customFieldLocations": [
              "POLICY_APPROVAL_EMAIL"
            ],
            "matchConditions": {
              "travelerConditions": {
                "workerTypes": [
                  null
                ],
                "countries": [
                  null
                ],
                "legalEntities": [
                  null
                ],
                "departments": [
                  null
                ],
                "costCenters": [
                  null
                ],
                "offices": [
                  null
                ]
              },
              "travelTypes": [
                "AIR"
              ],
              "travelRegionTypes": [
                "DOMESTIC"
              ],
              "tripUsageTypes": [
                "STANDARD"
              ]
            },
            "questionType": {
              "preSearchQuestionType": "PURPOSE_OF_TRIP",
              "preCheckoutQuestionType": "OOP_REASON_CODE"
            }
          }
        }
      ],
      "preBookQuestionResponseId": "string"
    },
    "finalizeIntent": {
      "airPriceOptimizationMetadata": {
        "oldTickets": [
          "0111234567890"
        ],
        "newTickets": [
          "0111234567890"
        ],
        "oldPnrId": "6789533589",
        "newPnrId": "6789533589",
        "oldPrice": {
          "amount": 510,
          "currencyCode": "GBP",
          "convertedAmount": 715.42,
          "convertedCurrency": "USD",
          "otherCoinage": [
            {
              "coinageCode": "BREX_POINTS",
              "amount": 1000,
              "conversionRate": 0.01,
              "preferredCurrencyConversionRate": 0.01
            }
          ]
        },
        "newPrice": {
          "amount": 510,
          "currencyCode": "GBP",
          "convertedAmount": 715.42,
          "convertedCurrency": "USD",
          "otherCoinage": [
            {
              "coinageCode": "BREX_POINTS",
              "amount": 1000,
              "conversionRate": 0.01,
              "preferredCurrencyConversionRate": 0.01
            }
          ]
        },
        "priceDrop": {
          "amount": 510,
          "currencyCode": "GBP",
          "convertedAmount": 715.42,
          "convertedCurrency": "USD",
          "otherCoinage": [
            {
              "coinageCode": "BREX_POINTS",
              "amount": 1000,
              "conversionRate": 0.01,
              "preferredCurrencyConversionRate": 0.01
            }
          ]
        },
        "penaltyPrice": {
          "amount": 510,
          "currencyCode": "GBP",
          "convertedAmount": 715.42,
          "convertedCurrency": "USD",
          "otherCoinage": [
            {
              "coinageCode": "BREX_POINTS",
              "amount": 1000,
              "conversionRate": 0.01,
              "preferredCurrencyConversionRate": 0.01
            }
          ]
        }
      }
    },
    "finalizeMetadata": {
      "isMandatoryTicketing": true,
      "mandatorySkipTicketing": true
    },
    "customFieldV3UserResponses": [
      {
        "fieldId": "84922011-b03d-4966-bc95-c5b49bc2e342",
        "fieldName": "string",
        "armId": "0fd508db-63ff-4444-bfb1-b89c43061433",
        "selectedOptions": [
          {
            "name": "string",
            "description": "string",
            "additionalUserInput": "string",
            "additionalInfos": [
              "string"
            ]
          }
        ]
      }
    ]
  }'

Responses

OK

Response
No content

Suspend the given pnr.

Request

This endpoint suspends the PNR, transitioning it into a read-only state. Once suspended, updates via OBT will be restricted. This API serves various use cases, such as price optimization and rebooking.

Path
tripIdstringrequired

Trip Id

Example: 6926658168
pnrIdstringrequired

Pnr Id

Example: 6926658168
Bodyapplication/jsonrequired
reasonstringrequired

Reason for suspending the pnr

Enum"AIR_PRICE_OPTIMIZATION""EXCHANGE"
Example: "AIR_PRICE_OPTIMIZATION"
curl -i -X POST \
  https://apis.spotnana.com/v3/trips/6926658168/pnrs/6926658168/suspend \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "reason": "AIR_PRICE_OPTIMIZATION"
  }'

Responses

OK

Response
No content

Delete trip

Request

This endpoint deletes a trip by ID.

Path
tripIdstringrequired

Trip ID

Example: 6926658168
curl -i -X DELETE \
  https://apis.spotnana.com/v3/trips/6926658168 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Deleted Successfully

Response
No content

Invoicing

Operations

Approval

Operations