Order Cancellations
To cancel an order, you'll need to create an order cancellation, check the
refund_amount
returned, and, if you're happy to go ahead and cancel the order.
The refund specified by refund_amount
, if any, will be returned to your original
payment method (i.e. your Duffel balance). You'll then need to refund your customer
(e.g. back to their credit/debit card).
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:14.545052Z"
Duffel's unique identifier for the order cancellation
"orc_001"
Whether the order cancellation was created in live mode. This field will be set to true
if the order cancellation was created in live mode, or false
if it was created in test mode.
false
Duffel's unique identifier for the order which is being or has been cancelled
"ord_001"
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.
"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 pay later orders that are awaiting payment, the refund amount will always be 0.00.
"GBP"
Where the refund, once confirmed, will be sent.
card
is currently a restricted feature. awaiting_payment
is for pay later orders where no payment has been made yet.
"arc_bsp_cash"
, "balance"
, "card"
, "voucher"
, or "awaiting_payment"
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.
Endpoint
Body parameters
Duffel's unique identifier for the order
"ord_001"
Request example
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: beta" \-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>" \-d '{"data": {"order_id": "ord_001"}}'
Response example
{"data": {"refund_to": "arc_bsp_cash","refund_currency": "GBP","refund_amount": "90.80","order_id": "ord_001","live_mode": false,"id": "orc_001","expires_at": "2020-01-17T10:42:14.545052Z","created_at": "2020-04-11T15:48:11.642Z","confirmed_at": "2020-01-17T11:51:43.114803Z"}}
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).
Endpoint
URL parameters
Duffel's unique identifier for the order cancellation
"orc_001"
Request example
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: beta" \-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>"
Response example
{"data": {"refund_to": "arc_bsp_cash","refund_currency": "GBP","refund_amount": "90.80","order_id": "ord_001","live_mode": false,"id": "orc_001","expires_at": "2020-01-17T10:42:14.545052Z","created_at": "2020-04-11T15:48:11.642Z","confirmed_at": "2020-01-17T11:51:43.114803Z"}}