Skip to content

Modify Search

Request

Get Air Itineraries available for exchange/modification/deletion against current pnr.

Security
Bearer
Bodyapplication/jsonrequired
pnrIdstringrequired

The unique spotnana pnr id which needs to be exchanged.

Example:"1213124111"
legsArray of any(Leg)required

The list of all legs (to keep as same, to remove and to be added). In the example shared, if there is a trip from SFO to ANC with one Leg containing a direct flight from mentioned source to destination, and traveller needs to add a visit to Seattle in between changing his trip to now contain two legs SFO->SEA and SEA->ANC, then we would remove the first existing leg(indexed 0) SFO->ANC and add two new legs SFO->SEA and SEA->ANC.

Example:
[ { "index": 0, "remove": true }, { "source": "SFO", "destination": "SEA", "date": "2022-01-21T17:00" }, { "source": "SEA", "destination": "ANC", "date": "2022-01-22T17:00" } ]
filtersArray of objects(Filter)
sortOptionsArray of objects(SortOption)
legSearchParamsobject(LegSearchParams)
preModifySearchAnswersArray of objects(optional Q and A for business management and audit)
curl -i -X POST \
  https://api-ext-sboxmeta.partners.spotnana.com/v2/air/modify-search \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "pnrId": "1213124111",
    "legs": [
      {
        "index": 0,
        "remove": true
      },
      {
        "origin": "SFO",
        "destination": "SEA",
        "date": "2022-01-21T17:00"
      },
      {
        "origin": "SEA",
        "destination": "ANC",
        "date": "2022-01-22T17:00"
      }
    ]
  }'

Responses

OK

Bodyapplication/json
searchIdstringrequired

The unique ID for this search response. This value must be passed on in the subsequent booking API calls.

Example:"ChBjZDg3ZjRjZmRmMTFmMWFiEhBjZDg3Z"
itineraryDetailsobject(ItineraryInfo)required

The list of itineraries in the search response.

paginationParamsobject(PaginationResponseParams)

Pagination parameters for response.

metadataobject(AirMetadata)

Metadata associated with the air search response.

currSelectedItineraryobject(AirItin)

Currently selected itinerary for exchange or modify flows.

unusedCreditsArray of objects(UnusedCreditInfo)

Applicable unused airline credits based on the search.

cheapestOptionsArray of objects(AirItin)

List of cheapest itineraries after applying filters.

waiverApplicabilityTypestring(WaiverApplicabilityType)

Type of waiver applicable to an exchange:

  • WAIVER_APPLICABILITY_UNKNOWN: No waiver is applicable.
  • AIRLINE_DISRUPTION_WAIVER: Airline-issued disruption waiver is applicable.
Enum:"WAIVER_APPLICABILITY_UNKNOWN""AIRLINE_DISRUPTION_WAIVER"
Response
{ "searchId": "ChBjZDg3ZjRjZmRmMTFmMWFiEhBjZDg3Z", "itineraryDetails": { "itineraries": [ … ], "flightData": [ … ] }, "paginationParams": { "numResults": 0, "numPages": 0, "currentPageNumber": 0, "currentPageSize": 0 }, "metadata": { "airlineInfo": [ … ], "applicableAlliances": [ … ], "legBylegPricing": true, "enableFareCategories": [ … ], "isExpressSearch": true, "availableConnectingAirports": [ … ], "flightRestrictions": [ … ], "paymentMetadata": { … }, "logicalFareStatistics": [ … ], "shelfInfo": [ … ], "vendorPrograms": [ … ], "currentItinerary": { … }, "fareCategoryView": "UNKNOWN" }, "currSelectedItinerary": { "itineraryId": "kjdUjak8hX", "legs": [ … ], "travelers": [ … ], "fareInfo": { … }, "ticketType": "SINGLE", "policyInfos": { … }, "posInfo": [ … ], "publicFare": { … }, "allowedFopRules": [ … ], "fareAttributes": { … }, "additionalTotalFares": [ … ], "changeFee": { … }, "hasApplicableCredits": true, "applicableCreditIndices": [ … ], "showRawFareRules": true, "cloneInfo": { … }, "airline": "string", "isUnselectable": true, "inPolicyAmount": { … }, "checkoutApprovalInfo": { … }, "allowedFop": [ … ] }, "unusedCredits": [ { … } ], "cheapestOptions": [ { … } ], "waiverApplicabilityType": "WAIVER_APPLICABILITY_UNKNOWN" }