---
title: "Get PNR exchange details"
method: GET
path: "/v2/air/pnrs/{pnrId}/exchange-details"
tags: ["Air"]
---

# Get PNR exchange details

`GET /v2/air/pnrs/{pnrId}/exchange-details`

This endpoint gets exchange details of all the tickets present in the given PNR ID of the
given trip ID.

## Response `200`

OK

- AirPnrExchangeDetailsResponse — Exchange details for the booking.
  - `pnrId` string, required — PNR ID for the booking.
  - `ticketToExchangeInfos` TicketToExchangeInfo[] — List of tickets and their exchange info.
    - `ticketNumber` string — Ticket number. For non-ticketed PNRs, this field will not be present.
    - `exchangeState` 'EXCHANGEABLE_BY_OBT' | 'EXCHANGEABLE_BY_SUPPORT' — Current exchange state of the ticket: - EXCHANGEABLE_BY_OBT: Exchange possible via API. - EXCHANGEABLE_BY_SUPPORT: Exchange possible via agent support.
    - `isRefundable` boolean — A flag to indicate if ticket is refundable or not.
    - `exchangeNotSupportedReasons` ExchangeNotSupportedReason[] — Reasons why exchange is not supported via OBT.
    - `supplierPreferredEnabledFields` AirExchangeAvailableOptions — Contains the information of the options that are allowed to exchange.
      - `travelDate` boolean — If true it means Airline allows to change the date.
      - `route` boolean — If true it means Airline allows to change the route.
      - `addLeg` boolean — If true it means Airline allows to add new leg to the existing itinerary.
      - `removeLeg` boolean — If true it means Airline allows to remove leg from the existing itinerary.
      - `modifyPartialItinerary` boolean — If true it means Airline allows to modify partial itinerary.
      - `sameEndpointRestriction` boolean — If true it means Airline allows to change the endpoint across legs for the return itinerary.
    - `userOrgId` UserOrgId — User and user's organization information.
      - `organizationAgencyId` OrganizationAgencyId — Agency id for the organization.
        - `id` string, required
      - `organizationId` OrganizationId, required — Organization id for traveler.
        - `id` string, required
      - `userId` UserId, required — User identifier
        - `id` string, uuid, required
      - `tmcInfo` TmcInfo — TMC config information.
        - `id` CompanyId, required — Company ID
          - `id` string, uuid, required
        - `primaryServiceProviderTmc` PrimaryServiceProviderTmc, required — Primary service provider TMC info
          - `tmcId` CompanyId, required — Company ID
            - `id` string, uuid, required
        - `secondaryServiceProviderTmcs` SecondaryServiceProviderTmc[] — Secondary service provider TMCs for the TMC.
          - `tmcId` CompanyId, required — Company ID
            - `id` string, uuid, required
          - `supplier` 'SABRE' | 'AMADEUS' | 'TRAVEL_FUSION' | 'FARELOGIX_NDC' | 'ATPCO_NDC' | 'TRAINLINE' | 'AVIA' | 'QBR' | 'BCD' | 'QANTAS_HOTELS' | 'SOUTHWEST' | 'EXPEDIA' | 'HOTEL_HUB' | 'NDC' | 'MARRIOTT' | 'CLEARTRIP' | 'KYTE' | 'GROUNDSPAN' | 'SABRE_NDC' | 'BOOKING_COM' | 'CARTRAWLER' | 'PREMIER_INN' | 'TRAVELODGE' | 'ENTERPRISE' | 'HYATT' | 'NATIONAL' | 'ALAMO' | 'HERTZ' | 'DOLLAR' | 'THRIFTY' | 'FIREFLY' | 'EUROSTAR' | 'AVIS' | 'BUDGET', required — Supplier type like Sabre, TravelFusion etc.
          - `travelType` 'AIR' | 'HOTEL' | 'CAR' | 'RAIL' | 'LIMO' | 'MISC' | 'ALL', required — Travel Type
        - `partnerTmcId` CompanyId — Company ID
          - `id` string, uuid, required
      - `tmcBasicInfo` TmcBasicInfo — TMC related basic information.
        - `contractingTmc` CompanyRef, required — Basic information about a company.
          - `id` CompanyId, required — Company ID
            - `id` string, uuid, required
          - `name` string
          - `logo` Image — An image with meta data. Either the `data` or `url` property must be supplied to load the image.
            - `data` string, byte
            - `dimensions` Dimensions — Image dimensions ie width and height.
              - …
            - `url` string
        - `bookingTmc` CompanyRef, required — Basic information about a company.
          - `id` CompanyId, required — Company ID
            - `id` string, uuid, required
          - `name` string
          - `logo` Image — An image with meta data. Either the `data` or `url` property must be supplied to load the image.
            - `data` string, byte
            - `dimensions` Dimensions — Image dimensions ie width and height.
              - …
            - `url` string
    - `travelerInfo` union — The traveler identifiers. These can be either the Spotnana user IDs of the travelers or information regarding the adhoc travelers.
      - object — Wrapper over UserId object to be used as an identifier in a oneOf case
        - `userId` UserId — User identifier
          - `id` string, uuid, required
      - object — Wrapper over AdhocTravelerInfo object to be used as an identifier in a oneOf case.
        - `adhocTravelerInfo` AdhocTravelerInfo — Describes an adhoc traveler.
          - `registrarUserId` UserId — User identifier
            - `id` string, uuid, required
          - `externalId` string — External Id of user

## Other responses

- `401` — Unauthorized
- `404` — The specified resource was not found.

---

[API](https://skmtc.net/spotnana/apis/air-api.md) · [All operations](https://skmtc.net/spotnana/apis/air-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spotnana/air-api/revisions/4dd80446ce32/schema)
