# Cancel PNR This endpoint cancels PNR or part of PNR object.In case of partial PNR cancel we can cancel journey/ticket. Endpoint: POST /v3/trips/{tripId}/pnrs/{pnrId}/cancel Version: v2 Security: Bearer ## Path parameters: - `tripId` (string, required) Trip ID Example: 6926658168 - `pnrId` (string, required) PNR ID Example: 6926658168 ## Request fields (application/json): - `cancellationType` (string) 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. Enum: "NO_REFUND", "FULL_REFUND", "PARTIAL_REFUND", "FULL_CREDIT" - `cancellationDetails` (array) List of object to be cancelled and their associated refund details. - `cancellationDetails.cancelObjectDetail` (object) Details associated with object to be cancel. - `cancellationDetails.cancelObjectDetail.cancelObjectType` (string) Type of entity to be cancel. Enum: "PNR", "TICKET", "JOURNEY" - `cancellationDetails.cancelObjectDetail.cancelObjectId` (string) Unique ID of Cancel Object - `cancellationDetails.cancelObjectDetail.vendorCancellationId` (string) Vendor cancellation Id of the supplier. - `cancellationDetails.refundInfo` (array) List of refund details associated with the cancel object. - `cancellationDetails.refundInfo.refundType` (string) Type of refund. Enum: "REFUND", "CREDIT" - `cancellationDetails.refundInfo.amount` (object) Fare amount including base fare and tax. - `cancellationDetails.refundInfo.amount.base` (object, required) Base fare amount. - `cancellationDetails.refundInfo.amount.base.amount` (number, required) The numeric value for the amount of money. Example: 510 - `cancellationDetails.refundInfo.amount.base.currencyCode` (string, required) The 3-letter currency code for the money amount (defined using ISO 4217 standard). Example: "GBP" - `cancellationDetails.refundInfo.amount.base.convertedAmount` (number) 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). Example: 715.42 - `cancellationDetails.refundInfo.amount.base.convertedCurrency` (string) The 3-letter currency code for the converted currency (defined using ISO 4217 standard). Example: "USD" - `cancellationDetails.refundInfo.amount.base.otherCoinage` (array) List of the dollar amount in other coinage systems like reward points, cryptocurrency etc. - `cancellationDetails.refundInfo.amount.base.otherCoinage.coinageCode` (string) Payment method Enum: "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" - `cancellationDetails.refundInfo.amount.base.otherCoinage.amount` (number) Example: 1000 - `cancellationDetails.refundInfo.amount.base.otherCoinage.conversionRate` (number) 1 coin in this system equals to how many currency value Example: 0.01 - `cancellationDetails.refundInfo.amount.base.otherCoinage.preferredCurrencyConversionRate` (number) 1 coin in this system equals to how many currency value Example: 0.01 - `cancellationDetails.refundInfo.amount.tax` (object, required) Tax amount. - `cancellationDetails.refundInfo.amount.taxBreakdown` (array) Breakdown of tax amounts. - `cancellationDetails.refundInfo.amount.taxBreakdown.amount` (object, required) Tax amount - `cancellationDetails.refundInfo.amount.taxBreakdown.taxCode` (string) Tax code Example: "VAT" - `cancellationDetails.refundInfo.amount.taxBreakdown.percentage` (number) Tax amount to total amount Example: 9 - `cancellationDetails.refundInfo.fop` (object) Information about form of payment to be used to charge customer - `cancellationDetails.refundInfo.fop.card` (object) The payment card to be used to charge customer. This is only set if the payment type is 'CARD' - `cancellationDetails.refundInfo.fop.card.id` (string) Unique identifier for this card Example: "34d536b6-f8ff-11eb-9a61-0242ac180002" - `cancellationDetails.refundInfo.fop.card.type` (string) Type of card Enum: "UNKNOWN", "CREDIT", "DEBIT" - `cancellationDetails.refundInfo.fop.card.company` (string) The issuing company of card Enum: "NONE", "VISA", "MASTERCARD", "AMEX", "DISCOVER", "AIR_TRAVEL_UATP", "CARTE_BLANCHE", "DINERS_CLUB", "JCB", "BREX", "UNION_PAY", "EURO_CARD", "ACCESS_CARD", "ELO_CARD" - `cancellationDetails.refundInfo.fop.card.name` (string) Name on card Example: "Harrison Schwartz" - `cancellationDetails.refundInfo.fop.card.address` (object) Billing address - `cancellationDetails.refundInfo.fop.card.address.addressLines` (array, required) Address lines Example: ["Golden Gate Bridge"] - `cancellationDetails.refundInfo.fop.card.address.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. Example: "CA" - `cancellationDetails.refundInfo.fop.card.address.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. Example: "California" - `cancellationDetails.refundInfo.fop.card.address.description` (string) Address description Example: "San Francisco Home" - `cancellationDetails.refundInfo.fop.card.address.isDefault` (boolean) Whether this address is default address in case multiple addresses are specified. Example: true - `cancellationDetails.refundInfo.fop.card.address.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". Example: "en" - `cancellationDetails.refundInfo.fop.card.address.locality` (string) Generally refers to the city/town portion of the address. Example: "San Francisco" - `cancellationDetails.refundInfo.fop.card.address.locationCode` (string) IATA 3-letter location code. See https://www.iata.org/en/services/codes. Example: "LAX" - `cancellationDetails.refundInfo.fop.card.address.organization` (string) The name of the organization at the address. Example: "Spotnana" - `cancellationDetails.refundInfo.fop.card.address.postalCode` (string) Postal code of the address. This is a required field when setting for a user/legal entity/company etc. Example: "94130" - `cancellationDetails.refundInfo.fop.card.address.continentCode` (string) 2 letter continent code of the continent this address falls in. Example: "AF" - `cancellationDetails.refundInfo.fop.card.address.recipients` (array) The recipient at the address. - `cancellationDetails.refundInfo.fop.card.address.regionCode` (string, required) Region code of the country/region of the address. Example: "US" - `cancellationDetails.refundInfo.fop.card.address.regionName` (string) Region name of the country/region of the address. Example: "America" - `cancellationDetails.refundInfo.fop.card.address.revision` (integer) Example: 1 - `cancellationDetails.refundInfo.fop.card.address.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). Example: "Jamaica" - `cancellationDetails.refundInfo.fop.card.address.sublocality` (string) Sublocality of the address. This can be neighborhoods, boroughs, districts. - `cancellationDetails.refundInfo.fop.card.address.timezone` (string) Time zone of the address. Example: "America/Los_Angeles" - `cancellationDetails.refundInfo.fop.card.address.coordinates` (object) Map coordinates of the address. - `cancellationDetails.refundInfo.fop.card.address.coordinates.latitude` (number, required) Latitude of the Location Example: 77.1025 - `cancellationDetails.refundInfo.fop.card.address.coordinates.longitude` (number, required) Longitude of the Location Example: 28.7041 - `cancellationDetails.refundInfo.fop.card.number` (string, required) Card number Example: "4111111111111111" - `cancellationDetails.refundInfo.fop.card.cvv` (string) Card cvv number Example: "012" - `cancellationDetails.refundInfo.fop.card.label` (string) Card Label Example: "Label amex" - `cancellationDetails.refundInfo.fop.card.currency` (string) Native currency of the card. Example: "USD" - `cancellationDetails.refundInfo.fop.card.externalId` (string) Spotnana partner card id. Example: "bxt_RNGsNfzgJDaTstKIKqK4xEuhGYAnMdYK8T40" - `cancellationDetails.refundInfo.fop.card.vaultId` (string) ID of the vault used for creating the card. Example: "34d536b6-f8ff-11eb-9a61-0242ac180002" - `cancellationDetails.refundInfo.fop.card.expiry` (any) - `cancellationDetails.refundInfo.fop.card.ownershipLabel` (string) Ownership label of the card whether it is personal, corporate or central. Enum: "CORPORATE", "PERSONAL", "CENTRAL" - `cancellationDetails.refundInfo.fop.card.expiryMonth` (integer) Expiry month Example: 1 - `cancellationDetails.refundInfo.fop.card.expiryYear` (integer) Expiry year Example: 2010 - `cancellationDetails.refundInfo.fop.additionalInfo` (string) Additional info to be added if payment type is 'UNKNOWN'. - `cancellationDetails.refundInfo.fop.accessType` (object) Access type for cards to check who in the organization has permission to use it - `cancellationDetails.refundInfo.fop.accessType.accessType` (string, required) Identifies the different ways the card can be used across an organization Enum: "UNKNOWN_TYPE", "CENTRALISED", "INDIVIDUAL", "PERSONAL", "TMC", "APPLICATION", "ITINERARY", "EVENTS", "TRAVEL_ARRANGER_MANAGED", "COMPANY_TRAVEL_ARRANGER_MANAGED", "EVENT_TEMPLATE" - `cancellationDetails.refundInfo.fop.accessType.entityIds` (array, required) Holds the ids for for all users who can access the card or organization id - `cancellationDetails.refundInfo.fop.accessType.entities` (array) A list of cardAccessEntity consisting of central card access level if present and entity id. - `cancellationDetails.refundInfo.fop.accessType.entities.entityId` (string, required) Holds the id for for the user who can access the card or organization id or legal entity - `cancellationDetails.refundInfo.fop.accessType.entities.centralCardAccessLevel` (string) Identifies at which level central card is applicable, for example organization or legal entity. Enum: "UNKNOWN", "ORGANIZATION", "LEGAL_ENTITY", "TMC" - `cancellationDetails.refundInfo.fop.paymentMethod` (string) Payment method used to pay for this transaction Enum: "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" - `cancellationDetails.refundInfo.fop.paymentMetadata` (object) Payment metadata related to form of payment - `cancellationDetails.refundInfo.fop.paymentMetadata.customPaymentMethodMetadata` (object) Metadata related to custom payment method - `cancellationDetails.refundInfo.fop.paymentMetadata.customPaymentMethodMetadata.brexBudgetMetadata` (object) Metadata for Brex Budget - `cancellationDetails.refundInfo.fop.paymentMetadata.customPaymentMethodMetadata.brexBudgetMetadata.budgetName` (string) Name of the budget Example: "Travel budget" - `cancellationDetails.refundInfo.fop.paymentMetadata.customPaymentMethodMetadata.brexBudgetMetadata.paidByPersonalCard` (boolean) Whether it was paid by budget card or personal card - `cancellationDetails.refundInfo.fop.paymentMetadata.vendorProgramPaymentMetadata` (any) - `cancellationDetails.refundInfo.fop.paymentMetadata.virtualCardMetadata` (object) Metadata for Virtual Card. - `cancellationDetails.refundInfo.fop.paymentMetadata.virtualCardMetadata.vendorInfo` (object, required) Virtual card related information like vendor, cardId, card-pool id of vendor etc. - `cancellationDetails.refundInfo.fop.paymentMetadata.virtualCardMetadata.vendorInfo.vendor` (string) Type of Virtual card vendor Enum: "CONFERMA" - `cancellationDetails.refundInfo.fop.paymentMetadata.virtualCardMetadata.vendorInfo.vendorCardId` (string, required) Virtual card id. Example: "68793680" - `cancellationDetails.refundInfo.fop.paymentMetadata.virtualCardMetadata.vendorInfo.virtualCardVendorCardPoolId` (string, required) Card pool id of virtual card vendor. Example: "51907" - `cancellationDetails.refundInfo.fop.paymentMetadata.virtualCardMetadata.vendorInfo.confermaInfo` (object) Details of conferma - one of virtual card vendors. - `cancellationDetails.refundInfo.fop.paymentMetadata.virtualCardMetadata.vendorInfo.confermaInfo.deploymentId` (integer, required) Unique identifier assigned to the virtual card deployment at the point of creation. Example: 68793680 - `cancellationDetails.refundInfo.fop.paymentMetadata.virtualCardMetadata.cardInfo` (object) Virtual card information like maximum deployment amount, valid date range. - `cancellationDetails.refundInfo.fop.paymentMetadata.virtualCardMetadata.cardInfo.amount` (object) Virtual card deployment amount. This amount will drive the maximum authorisation value permitted on the virtual card. - `cancellationDetails.refundInfo.fop.paymentMetadata.virtualCardMetadata.cardInfo.dateRange` (object) Date range within which the virtual card can be charged. - `cancellationDetails.refundInfo.fop.paymentMetadata.virtualCardMetadata.cardInfo.dateRange.startDate` (object, required) Local date and time in ISO 8601 format. - `cancellationDetails.refundInfo.fop.paymentMetadata.virtualCardMetadata.cardInfo.dateRange.startDate.iso8601` (string, required) Example: "2017-07-21T17:32" - `cancellationDetails.refundInfo.fop.paymentMetadata.virtualCardMetadata.cardInfo.dateRange.endDate` (object, required) Local date and time in ISO 8601 format. - `cancellationDetails.refundInfo.fop.paymentMetadata.virtualCardMetadata.paymentInstructionId` (string) Payment instruction id set during addition of virtual card payment source Example: "1eb8b778-f0a6-4037-865c-4580982fa36e" - `cancellationDetails.refundInfo.fop.paymentMetadata.virtualCardMetadata.shouldReveal` (boolean) Identifier for when to reveal virtual cards as they are revealed to travellers only 24hrs before check-in. - `cancellationDetails.refundInfo.fop.paymentMetadata.cardMetadata` (object) Metadata for Card payment source. - `cancellationDetails.refundInfo.fop.paymentMetadata.cardMetadata.card` (object) User card info - `cancellationDetails.refundInfo.fop.paymentMetadata.cardMetadata.isLodgeCard` (boolean) Whether the payment is made using a lodge card - `cancellationDetails.refundInfo.fop.paymentMetadata.cardMetadata.bta` (string) Whether this is a BTA card. Possible values are 'Y' or 'N'. Relevant only for lodge cards. Example: "Y" - `cancellationDetails.refundInfo.fop.paymentSourceType` (string) Type of Payment Source Enum: "CARD", "VIRTUAL_CARD", "REWARDS_PROGRAM", "DELAYED_INVOICING", "CUSTOM_PAYMENT_METHOD", "VENDOR_PROGRAM_PAYMENT", "UNUSED_CREDIT", "CASH" - `cancellationDetails.refundInfo.fop.type` (string, required) Type of payment used Enum: "UNKNOWN", "CARD", "CASH", "TFPAY", "CHEQUE", "BREX_POINTS", "QANTAS_POINTS" - `cancellationDetails.refundInfo.expiryDate` (object) Expiration for a CREDIT refund. This field will be ignored for all cases where the refund_type is not CREDIT. If not set, we assume the credit will expire one year from ticket issue date. - `bookingEmailInfo` (object) Information passed to the Spotnana email system that processes booking updates. - `bookingEmailInfo.disableEmail` (boolean) Whether an email should be sent to travelers. Example: true ## Response 401 fields (application/json): - `debugIdentifier` (string) Link to debug the error internally. - `errorMessages` (array) - `errorMessages.errorCode` (string) Error code to identify the specific errors. - `errorMessages.message` (string) Message containing details of error. - `errorMessages.errorParameters` (array) Error message parameters. - `errorMessages.errorParameters.name` (string) Parameter name - `errorMessages.errorParameters.value` (string) Parameter value - `errorMessages.errorDetail` (string) More details about the error. ## Response 403 fields (application/json): - `debugIdentifier` (string) Link to debug the error internally. - `errorMessages` (array) - `errorMessages.errorCode` (string) Error code to identify the specific errors. - `errorMessages.message` (string) Message containing details of error. - `errorMessages.errorParameters` (array) Error message parameters. - `errorMessages.errorParameters.name` (string) Parameter name - `errorMessages.errorParameters.value` (string) Parameter value - `errorMessages.errorDetail` (string) More details about the error. ## Response 404 fields (application/json): - `debugIdentifier` (string) Link to debug the error internally. - `errorMessages` (array) - `errorMessages.errorCode` (string) Error code to identify the specific errors. - `errorMessages.message` (string) Message containing details of error. - `errorMessages.errorParameters` (array) Error message parameters. - `errorMessages.errorParameters.name` (string) Parameter name - `errorMessages.errorParameters.value` (string) Parameter value - `errorMessages.errorDetail` (string) More details about the error. ## Response 200 fields