Order Cancellations
To cancel an order, you'll need to create an order cancellation. The order cancellation will contain details of the prospective cancellation such as the amount that will be refunded and where it will be refunded to.
Make sure that you are happy with the prospective cancellation. If you are happy, you can then go ahead and confirm the cancellation at which point the order will be cancelled and the refund will be applied.
The refund specified by refund_amount
, if any, will be returned to your
original payment method (e.g. your Duffel balance). You'll then need to
refund your customer (e.g. back to their credit/debit card). You can only
confirm the most recent order cancellation that you have created for an
order.
Schema
The ISO 8601 datetime that indicates when the order cancellation was confirmed
"2020-01-17T11:51:43.114803Z"
The ISO 8601 datetime at which the order cancellation was created
"2020-04-11T15:48:11.642Z"
The ISO 8601 datetime by which this cancellation must be confirmed
"2020-01-17T10:42:14Z"
The amount that will be returned to the original payment method if the order is cancelled, determined according to the fare conditions. This may be 0.00
if the fare is non-refundable. It will include the refund amount of the flights and the services booked. This may be null in cases where the refund amount is unknown. This only applies in cases where we are unable to get a refund quote from the carrier.
"90.80"
The currency of the refund_amount
, as an ISO 4217 currency code.
It will match your organisation's billing currency unless you’re using Duffel as an accredited IATA agent, in which case it will be in the currency provided by the airline (which will usually be based on the country where your IATA agency is registered).
For hold
orders that are awaiting payment, the refund amount will always be 0.00.
"GBP"
List order cancellations
Retrieves a paginated list of order cancellations
Query parameters
A cursor pointing to the previous page of records. For more information on how to paginate through records, see the Pagination section.
"g2wAAAACbQAAABBBZXJvbWlzdC1LaGFya2l2bQAAAB="
A cursor pointing to the next page of records. For more information on how to paginate through records, see the Pagination section.
"g2wAAAACbQAAABBBZXJvbWlzdC1LaGFya2l2bQAAAB="
The maximum number of records to return per page. Defaults to 50
.
May be set to any integer between 1
and 200
. For more information on how to paginate through records, see the Pagination section.
1
50
GET https://api.duffel.com/air/order_cancellations
curl -X GET --compressed "https://api.duffel.com/air/order_cancellations?after=g2wAAAACbQAAABBBZXJvbWlzdC1LaGFya2l2bQAAAB=&before=g2wAAAACbQAAABBBZXJvbWlzdC1LaGFya2l2bQAAAB=&limit=1&order_id=ord_00009hthhsUZ8W4LxQgkjo" \-H "Accept-Encoding: gzip" \-H "Accept: application/json" \-H "Duffel-Version: v2" \-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>"
{"meta": {"limit": 50,"after": "g2wAAAACbQAAABBBZXJvbWlzdC1LaGFya2l2bQAAAB="},"data": [{"refund_to": "arc_bsp_cash","refund_currency": "GBP","refund_amount": "90.80","order_id": "ord_00009hthhsUZ8W4LxQgkjo","live_mode": false,"id": "ore_00009qzZWzjDipIkqpaUAj","expires_at": "2020-01-17T10:42:14Z","created_at": "2020-04-11T15:48:11.642Z","confirmed_at": "2020-01-17T11:51:43.114803Z","airline_credits": [{"passenger_id": "pas_00009hj8USM7Ncg31cBCLL","issued_on": "2023-02-24","id": "act_00009qzZWzjDipIkqpaUAj","credit_name": "Duffel Travel Credit","credit_currency": "GBP","credit_code": "1234567890123","credit_amount": "90.80"}]}]}
Create a pending order cancellation
To begin the process of cancelling an order you need to create an order cancellation.
The OrderCancellation will contain the refund_amount
due from the Airline.
To proceed, you must confirm the cancellation using the Confirm an order cancellation endpoint.
POST https://api.duffel.com/air/order_cancellations
curl -X POST --compressed "https://api.duffel.com/air/order_cancellations" \-H "Accept-Encoding: gzip" \-H "Accept: application/json" \-H "Content-Type: application/json" \-H "Duffel-Version: v2" \-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>" \-d '{"data": {"order_id": "ord_001"}}'
{"data": {"refund_to": "arc_bsp_cash","refund_currency": "GBP","refund_amount": "90.80","order_id": "ord_00009hthhsUZ8W4LxQgkjo","live_mode": false,"id": "ore_00009qzZWzjDipIkqpaUAj","expires_at": "2020-01-17T10:42:14Z","created_at": "2020-04-11T15:48:11.642Z","confirmed_at": "2020-01-17T11:51:43.114803Z","airline_credits": [{"passenger_id": "pas_00009hj8USM7Ncg31cBCLL","issued_on": "2023-02-24","id": "act_00009qzZWzjDipIkqpaUAj","credit_name": "Duffel Travel Credit","credit_currency": "GBP","credit_code": "1234567890123","credit_amount": "90.80"}]}}
Confirm an order cancellation
Once you've created a pending order cancellation, you'll know the refund_amount
you're due to get back.
To actually cancel the order, you'll need to confirm the cancellation.
The booking with the airline will be cancelled, and the refund_amount
will be returned to the original payment method (i.e. your Duffel
balance). You'll then need to refund your customer (e.g. back to their
credit/debit card). You can only confirm the most recent order
cancellation that you have created.
POST https://api.duffel.com/air/order_cancellations/{id}/actions/confirm
curl -X POST --compressed "https://api.duffel.com/air/order_cancellations/{id}/actions/confirm" \-H "Accept-Encoding: gzip" \-H "Accept: application/json" \-H "Duffel-Version: v2" \-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>"
{"data": {"refund_to": "arc_bsp_cash","refund_currency": "GBP","refund_amount": "90.80","order_id": "ord_00009hthhsUZ8W4LxQgkjo","live_mode": false,"id": "ore_00009qzZWzjDipIkqpaUAj","expires_at": "2020-01-17T10:42:14Z","created_at": "2020-04-11T15:48:11.642Z","confirmed_at": "2020-01-17T11:51:43.114803Z","airline_credits": [{"passenger_id": "pas_00009hj8USM7Ncg31cBCLL","issued_on": "2023-02-24","id": "act_00009qzZWzjDipIkqpaUAj","credit_name": "Duffel Travel Credit","credit_currency": "GBP","credit_code": "1234567890123","credit_amount": "90.80"}]}}
GET https://api.duffel.com/air/order_cancellations/{id}
curl -X GET --compressed "https://api.duffel.com/air/order_cancellations/{id}" \-H "Accept-Encoding: gzip" \-H "Accept: application/json" \-H "Duffel-Version: v2" \-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>"
{"data": {"refund_to": "arc_bsp_cash","refund_currency": "GBP","refund_amount": "90.80","order_id": "ord_00009hthhsUZ8W4LxQgkjo","live_mode": false,"id": "ore_00009qzZWzjDipIkqpaUAj","expires_at": "2020-01-17T10:42:14Z","created_at": "2020-04-11T15:48:11.642Z","confirmed_at": "2020-01-17T11:51:43.114803Z","airline_credits": [{"passenger_id": "pas_00009hj8USM7Ncg31cBCLL","issued_on": "2023-02-24","id": "act_00009qzZWzjDipIkqpaUAj","credit_name": "Duffel Travel Credit","credit_currency": "GBP","credit_code": "1234567890123","credit_amount": "90.80"}]}}