Before you can get started with this guide, you'll need to:
Sign up for a Duffel account (it takes about 1 minute!)
To make it easy to build your Duffel integration, we offer a JavaScript client library
in JavaScript, Python, Ruby, C#, Java, Custom element loaded with script tag, Custom element installed with npm and React Component.
In order to access Duffel Links, your Duffel organisation must be set up with a country that is supported by Duffel Payments.
Tip
Tip
Overview
This guide will walk you through how to use Duffel Links to offer a Duffel-powered
search and book user interface to your customers so they can find and book their ideal
accommodation, flights as well as add flight ancillaries.
Creating Links
First, using our sessions endpoint, you will need to create a link for your user.
At creation, you will need to specify the brand customisation you want to use and the URLs
you would like us to direct your user to on completion. You will also have the option at this
point to specify a checkout currency and a markup you would like to be applied to the flights.
Note
Shell
curl -X POST --compressed "https://api.duffel.com/links/sessions"\
The link that is returned will take them to a Duffel-hosted search and book experience which is customised to match your brand.
Your users should navigate to this address where they will be able to purchase their accommodation or flights as well as any ancillary products.
A screenshot of the search page on Duffel Links
Depending on the outcome of the session, the user will be directed to one of three urls specified at the time of link creation.
Success - Once an order has been successfully created, the user will be provided with details of the booking (itinerary and booking reference) and then prompted to return to the link provided as success_url in the link creation request. This will include order_id and reference query params where the order_id is the Duffel ID that corresponds to the order and reference is the reference value provided in the link creation request. For example: https://www.starkindustries.com/success/?order_id=ord_0000ASPa29O14a2RheVaZE&reference=USER_1
Abandonment - If the user decides to abandon the checkout process by pressing the ‘Return’ button, the user will be redirected to the abandonment_url provided in the link creation request.
Failure - If there is a failure that the Duffel Links session cannot mitigate, the user will be redirected to the failure_url provided in the link creation request.
A screenshot of the order confirmation page on Duffel Links
If completed successfully, your user will have been provided with a confirmation page containing all the information they need in order to fly. All the orders that are created will also be accessible to you in the dashboard and our APIs where you can see and manage all of your customers' orders.
Sending a Travel Booking Confirmation
The final step in a travel booking journey is the receipt of a travel booking confirmation. You need to send this travel booking confirmation. It gives the traveller all the information they need on the day of travel to board a plane or check-in to an accommodation.
You can detect a booking by listening for a Flights order.created or a Stays stays.booking.created webhook event. Alternatively, all bookings are also available via the agent dashboard and the API.
You're ready to start selling flights! You will now have an order you can retrieve and make changes to the order through the API or dashboard if needed.