# NDC Exchanges and Refunds

The following sections provide workflow and support details for the APIs in the NDC exchange ticketing process. The same APIs and processes are also used to modify or cancel held bookings for NDC.

### Workflow to Exchange Tickets or Modify Held Booking

The NDC exchange workflow shops for a new itinerary to update the currently ticketed itinerary. Supported only for automated exchanges only, in which the TripServices APIs are used for all steps of the exchange.

This same workflow also supports changing the itinerary on a held booking.

| Step # | Booking Workflow Step | Description and Notes | API Reference |
|  --- | --- | --- | --- |
| 1 | Post-Commit Workbench | Initiate a workbench for the existing booking. | Post-Commit Workbench API Reference |
| 2 | Reshop | Search for a new itinerary for either a held booking or to exchange a ticket. | Reshop API Reference |
| 3 | Reprice | Confirm pricing on a selected offer from the Reshop response and add that offer to the workbench. | Reprice API Reference |
| 4
may be optional or required
 | Form of Payment
 | Add Form of Payment may be required in the  case of an even exchange or an add collect (the new price is greater than the original). Some NDC carriers require tickets to be issued at commit while others support booking now and sending payment later. See the [Support Table and Workflow Summary](/docs/flights/guides/exchange-refund-and-void-guide#exchange-void-cancel-refund---support--workflows-for-tickets) in the Exchanges Guide for details.
 | Form of Payment API Reference
 |
| 5
may be optional or required
 | Payment
 | May be optional or required depending on carrier rules. See Form of Payment in the row above.
 | Payment API Reference
 |
| 6 | Modify | Required. | Modify API Reference |


### Workflow to Refund Ticket or Cancel Held Booking

The NDC refund workflow first determines whether any refund value is available for a ticket, and then cancels the ticketed itinerary.

To cancel a held booking, use this workflow without the Refund Quote in step #2.

| Step # | Booking Workflow Step | Description and Notes | API Reference |
|  --- | --- | --- | --- |
| 1 | Post-Commit Workbench | Initiate a workbench for the existing booking. | Post-Commit Workbench API Reference |
| 2 | Refund Quote (omit for held bookings) | Determine what if any refund value may be available on the ticket. | Refund Quote API Reference |
| 3 | Cancel | Cancels the ticket or booking. | Cancel API Reference |


### Workflow Diagrams

In the following diagrams, each box represents one API call in the workflow.

#### NDC ticket exchange or modify held booking workflow

```mermaid
flowchart TD
    A["Create post-commit\nworkbench"]
    B["Reshop\n(search for new offer)"]
    C["Reprice\n(confirm pricing,\nadd offer to workbench)"]
    D["Form of payment\n(may be optional per carrier)"]
    E["Payment\n(may be optional per carrier)"]
    F["Modify\n(issues tickets if FOP\n& payment sent)"]

    A --> B --> C --> D --> E --> F
```

#### NDC cancel ticket and issue refund workflow

```mermaid
flowchart TD
    A["Create post-commit\nworkbench"]
    B["Refund Quote"]
    C["Cancel"]

    A --> B --> C
```

### Supported NDC Exchange Options

In general, NDC supports the following changes on either a held booking or a ticketed itinerary:

- Modify the date, time, flight, cabin, or origin and/or destinations


Ticket exchanges are supported for the following:

- Automated exchanges
- One-way, round-trip, interline, and open-jaw itineraries
- Bookings with up to 9 passengers
- All PTC codes


Carrier support varies for the following:

- Adding new air segments
- Modifying seats or ancillaries
- Modifying or adding flights after travel commences
- Canceling a booking with ancillaries or seats
- Canceling a divided booking.


See the *Cancel* section in  NDC capabilities by airline through TripServices API in the Travelport Knowledge Base. If you need login assistance, see [Knowledge Base NDC Resources](/docs/flights/ndc/ndc-guide#knowledge-base-ndc-resources).