---
title: "Cancel PNR"
method: POST
path: "/v3/trips/{tripId}/pnrs/{pnrId}/cancel"
tags: ["Trip PNRs"]
---

# Cancel PNR

`POST /v3/trips/{tripId}/pnrs/{pnrId}/cancel`

This endpoint cancels PNR or part of PNR object.In case of partial PNR cancel we can cancel journey/ticket.

## Request body

- PnrCancelRequest — Request to cancel a PNR or part of PNR object.
  - `cancellationType` 'NO_REFUND' | 'FULL_REFUND' | 'PARTIAL_REFUND' | 'FULL_CREDIT' — Type of cancellation to be performed. For the NO_REFUND, FULL_REFUND and FULL_CREDIT cancellation types, if no cancellationDetails are provided, we assume the entire PNR is being canceled. If the cancellation type is FULL_CREDIT, we will also assume the credits created will have 0 penalty and an expiry date of 1 year from the issue date of the ticket.
  - `cancellationDetails` CancelDetail[] — List of object to be cancelled and their associated refund details.
    - `cancelObjectDetail` CancelObjectDetail — Details associated with object to be cancel.
      - `cancelObjectType` 'PNR' | 'TICKET' | 'JOURNEY' — Type of entity to be cancel.
      - `cancelObjectId` string — Unique ID of Cancel Object
      - `vendorCancellationId` string — Vendor cancellation Id of the supplier.
    - `refundInfo` RefundInfoDetail[] — List of refund details associated with the cancel object.
      - `refundType` 'REFUND' | 'CREDIT' — Type of refund.
      - `amount` FareAmount — Fare amount including base fare and tax.
        - `base` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required — The numeric value for the amount of money.
          - `currencyCode` string, required — The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double — The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string — The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[] — List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` 'PAYMENT_METHOD_UNKNOWN' | 'CREDIT_CARD' | 'BREX_POINTS' | 'CASH' | 'QANTAS_POINTS' | 'VENDOR_PROGRAM_PAYMENT' | 'DELAYED_INVOICING' | 'FLIGHT_CREDITS' | 'QANTAS_TRAVEL_FUND' | 'CUSTOM_VIRTUAL_PAYMENT' | 'FLIGHT_PASS' | 'MISCELLANEOUS_CREDIT_ORDER' | 'NO_PREPAYMENT' — Payment method
            - `amount` number, double
            - `conversionRate` number, double — 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double — 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper — Wrapper for Flight Pass payment metadata.
              - …
        - `tax` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required — The numeric value for the amount of money.
          - `currencyCode` string, required — The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double — The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string — The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[] — List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` 'PAYMENT_METHOD_UNKNOWN' | 'CREDIT_CARD' | 'BREX_POINTS' | 'CASH' | 'QANTAS_POINTS' | 'VENDOR_PROGRAM_PAYMENT' | 'DELAYED_INVOICING' | 'FLIGHT_CREDITS' | 'QANTAS_TRAVEL_FUND' | 'CUSTOM_VIRTUAL_PAYMENT' | 'FLIGHT_PASS' | 'MISCELLANEOUS_CREDIT_ORDER' | 'NO_PREPAYMENT' — Payment method
            - `amount` number, double
            - `conversionRate` number, double — 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double — 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper — Wrapper for Flight Pass payment metadata.
              - …
        - `taxBreakdown` Tax[]
          - `amount` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
            - `amount` number, double, required — The numeric value for the amount of money.
            - `currencyCode` string, required — The 3-letter currency code for the money amount (defined using ISO 4217 standard).
            - `convertedAmount` number, double — The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
            - `convertedCurrency` string — The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
            - `otherCoinage` object[] — List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
              - …
          - `taxCode` string — Tax code
          - `percentage` number, double — Tax amount to total amount
          - `description` string — Tax name or Tax Description
      - `fop` FormOfPayment — Information about form of payment to be used to charge customer
        - `type` 'UNKNOWN' | 'CARD' | 'CASH' | 'TFPAY' | 'CHEQUE' | 'BREX_POINTS' | 'QANTAS_POINTS', required — Type of payment used
        - `card` Card — User card info
          - `id` string, uuid — Unique identifier for this card
          - `type` 'UNKNOWN' | 'CREDIT' | 'DEBIT' — Type of card
          - `company` 'NONE' | 'VISA' | 'MASTERCARD' | 'AMEX' | 'DISCOVER' | 'AIR_TRAVEL_UATP' | 'CARTE_BLANCHE' | 'DINERS_CLUB' | 'JCB' | 'BREX' | 'UNION_PAY' | 'EURO_CARD' | 'ACCESS_CARD' | 'ELO_CARD' — The issuing company of card
          - `name` string — Name on card
          - `address` PostalAddress — Postal Address Details
            - `addressLines` string[], required — Address lines
            - `administrativeArea` string — Code of administrative area. For example: DL for Delhi, India. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.
            - `administrativeAreaName` string — Name of administrative area. This is full name corresponding to administrativeArea. Like Delhi for DL area code. For some places, code and name maybe same as well like Tokyo.
            - `description` string — Address description
            - `isDefault` boolean — Whether this address is default address in case multiple addresses are specified.
            - `languageCode` string — BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address' country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. Examples: "zh-Hant", "ja", "ja-Latn", "en".
            - `locality` string — Generally refers to the city/town portion of the address.
            - `locationCode` string — IATA 3-letter location code. See https://www.iata.org/en/services/codes.
            - `organization` string — The name of the organization at the address.
            - `postalCode` string — Postal code of the address. This is a required field when setting for a user/legal entity/company etc.
            - `continentCode` string — 2 letter continent code of the continent this address falls in.
            - `recipients` string[] — The recipient at the address.
            - `regionCode` string, required — Region code of the country/region of the address.
            - `regionName` string — Region name of the country/region of the address.
            - `revision` integer
            - `sortingCode` string — Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
            - `sublocality` string — Sublocality of the address. This can be neighborhoods, boroughs, districts.
            - `timezone` string — Time zone of the address.
            - `coordinates` Latlng — Latitude and Longitude for a Location
              - …
          - `number` string, required — Card number
          - `expiryMonth` integer — Expiry month
          - `expiryYear` integer — Expiry year
          - `cvv` string — Card cvv number
          - `label` string — Card Label
          - `currency` string — Native currency of the card.
          - `externalId` string — Spotnana partner card id.
          - `vaultId` string, uuid — ID of the vault used for creating the card.
          - `expiry` union — Contains the expiry of a Card.
            - object
              - …
            - object
              - …
          - `ownershipLabel` 'CORPORATE' | 'PERSONAL' | 'CENTRAL' — Ownership label of the card whether it is personal, corporate or central.
        - `additionalInfo` string — Additional info to be added if payment type is 'UNKNOWN'.
        - `accessType` CreditCardAccess — Access type for cards to check who in the organization has permission to use it
          - `accessType` 'UNKNOWN_TYPE' | 'CENTRALISED' | 'INDIVIDUAL' | 'PERSONAL' | 'TMC' | 'APPLICATION' | 'ITINERARY' | 'EVENTS' | 'TRAVEL_ARRANGER_MANAGED' | 'COMPANY_TRAVEL_ARRANGER_MANAGED' | 'EVENT_TEMPLATE', required — Identifies the different ways the card can be used across an organization
          - `entityIds` string[], required — Holds the ids for for all users who can access the card or organization id
          - `entities` CardAccessEntity[] — A list of cardAccessEntity consisting of central card access level if present and entity id.
            - `entityId` string, required — Holds the id for for the user who can access the card or organization id or legal entity
            - `centralCardAccessLevel` 'UNKNOWN' | 'ORGANIZATION' | 'LEGAL_ENTITY' | 'TMC' — Identifies at which level central card is applicable, for example organization or legal entity.
        - `paymentMethod` 'PAYMENT_METHOD_UNKNOWN' | 'CREDIT_CARD' | 'BREX_POINTS' | 'CASH' | 'QANTAS_POINTS' | 'VENDOR_PROGRAM_PAYMENT' | 'DELAYED_INVOICING' | 'FLIGHT_CREDITS' | 'QANTAS_TRAVEL_FUND' | 'CUSTOM_VIRTUAL_PAYMENT' | 'FLIGHT_PASS' | 'MISCELLANEOUS_CREDIT_ORDER' | 'NO_PREPAYMENT' — Payment method
        - `paymentMetadata` PaymentMetadata — Payment metadata related to form of payment
          - `customPaymentMethodMetadata` object — Metadata related to custom payment method
            - `brexBudgetMetadata` object — Metadata for Brex Budget
              - …
            - `noPrepaymentMetadata` NoPrepaymentMetadata — Metadata for No Prepayment payment source (car bookings on no-guarantee rates).
              - …
            - `virtualPaymentMetadata` VirtualPaymentMetadata — Metadata for custom virtual payment source.
              - …
          - `vendorProgramPaymentMetadata` union — Metadata related to vendor program payment method
            - object — Wrapper for DirectBilling metadata
              - …
            - object — Wrapper for UAPassPlus response metadata
              - …
          - `virtualCardMetadata` VirtualCardPaymentMetadata — Metadata for Virtual Card.
            - `vendorInfo` VirtualCardVendorInfo, required — Virtual card related information like vendor, cardId, card-pool id of vendor etc.
              - …
            - `cardInfo` VirtualCardInfo — Virtual card information like maximum deployment amount, valid date range.
              - …
            - `paymentInstructionId` string — Payment instruction id set during addition of virtual card payment source
            - `shouldReveal` boolean — Identifier for when to reveal virtual cards as they are revealed to travellers only 24hrs before check-in.
          - `cardMetadata` CardMetadata2 — Metadata for Card payment source.
            - `card` Card — User card info
              - …
            - `accessType` CreditCardAccess — Access type for cards to check who in the organization has permission to use it
              - …
            - `isLodgeCard` boolean — Whether the payment is made using a lodge card
            - `bta` string — Whether this is a BTA card. Possible values are 'Y' or 'N'. Relevant only for lodge cards.
        - `paymentSourceType` 'CARD' | 'VIRTUAL_CARD' | 'REWARDS_PROGRAM' | 'DELAYED_INVOICING' | 'CUSTOM_PAYMENT_METHOD' | 'VENDOR_PROGRAM_PAYMENT' | 'UNUSED_CREDIT' | 'CASH' — Type of Payment Source
      - `expiryDate` DateModel — Date in ISO 8601 standard.
        - `iso8601` string, required
  - `bookingEmailInfo` object — Information passed to the Spotnana email system that processes booking updates.
    - `disableEmail` boolean — Whether an email should be sent to travelers.

## Response `200`

OK

## Other responses

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

---

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