API Reference

Orders

Once you've searched for flights by creating an offer request, and you've chosen which offer you want to book, you'll then want to create an order.

To create an order, you just need to provide the offer ID, payment details and some additional information on the passengers (e.g. their full name and date of birth).

base_amount
string
nullable

The base price of the order for all flights and services booked, excluding taxes

Example: "30.20"
base_currency
string
nullable

The currency of the base_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).

Example: "GBP"
booking_reference
string

The airline's reference for the order, sometimes known as a "passenger name record" (PNR) or "record locator". Your customers can use this to check in and manage their booking on the airline's website.

Example: "RZPNX8"
cancelled_at
datetime
nullable

The ISO 8601 datetime at which the order was cancelled, if it has been cancelled

Example: "2020-04-11T15:48:11.642Z"
created_at
datetime

The ISO 8601 datetime at which the order was created

Example: "2020-04-11T15:48:11.642Z"
documents
list

The documents issued for this order.

id
string

Duffel's unique identifier for the order

Example: "ord_00009hthhsUZ8W4LxQgkjo"
live_mode
boolean

Whether the order was created in live mode. This field will be set to true if the order was created in live mode, or false if it was created in test mode.

Example: false
owner
object

The airline who owns the order

passengers
list

The passengers who are travelling

services
list

The services booked along with this order

slices
list

The slices that make up the itinerary of this order. One-way journeys can be expressed using one slice, whereas return trips will need two.

tax_amount
string
nullable

The amount of tax payable on the order for all the flights booked

Example: "30.20"
tax_currency
string

The currency of the tax_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).

Example: "GBP"
total_amount
string

The total price of the order for all the flights and services booked, including taxes

Example: "90.80"
total_currency
string

The currency of the total_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).

Example: "GBP"

Retrieves an order by its ID

Endpoint

GEThttps://api.duffel.com/air/orders/{id}

URL parameters

id
string
required

Duffel's unique identifier for the order

Example: "ord_00009hthhsUZ8W4LxQgkjo"

Request example

curl -X GET --compressed "https://api.duffel.com/air/orders/{id}" \
-H "Accept-Encoding: gzip" \
-H "Accept: application/json" \
-H "Duffel-Version: beta" \
-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>"

Response example

{
"data": {
"total_currency": "GBP",
"total_amount": "90.80",
"tax_currency": "GBP",
"tax_amount": "30.20",
"slices": [
{
"segments": [
{
"passengers": [
{
"seat": {
"disclosures": [
"Do not seat children in exit row seats",
"Do not seat passengers with special needs in exit row seats"
],
"name": "Exit row seat",
"designator": "14B"
},
"passenger_id": "passenger_0",
"cabin_class_marketing_name": "Economy Basic",
"cabin_class": "economy",
"baggages": [
{
"quantity": 1,
"type": "checked"
}
]
}
],
"origin_terminal": "B",
"origin": {
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR"
},
"operating_carrier_flight_number": "4321",
"operating_carrier": {
"name": "British Airways",
"id": "aln_00001876aqC8c5umZmrRds",
"iata_code": "BA"
},
"marketing_carrier_flight_number": "1234",
"marketing_carrier": {
"name": "British Airways",
"id": "aln_00001876aqC8c5umZmrRds",
"iata_code": "BA"
},
"id": "seg_00009htYpSCXrwaB9Dn456",
"duration": "PT02H26M",
"distance": 424,
"destination_terminal": "5",
"destination": {
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR"
},
"departure_terminal": "B",
"departure_datetime": "2020-06-13T16:38:02",
"departing_at": "2020-06-13T16:38:02",
"arriving_at": "2020-06-13T16:38:02",
"arrival_terminal": "5",
"arrival_datetime": "2020-06-13T16:38:02",
"aircraft": {
"name": "Airbus Industries A380",
"id": "arc_00009UhD4ongolulWd91Ky",
"iata_code": "380"
}
}
],
"id": "sli_00009htYpSCXrwaB9Dn123",
"duration": "PT02H26M",
"origin": {
"airports": [
{
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR"
}
],
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"type": "airport",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR",
"iata_city_code": "LON"
},
"origin_type": "airport",
"destination": {
"airports": [
{
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR"
}
],
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"type": "airport",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR",
"iata_city_code": "LON"
},
"destination_type": "airport"
}
],
"services": [
{
"type": "baggage",
"total_currency": "GBP",
"total_amount": "15.00",
"segment_ids": [
"seg_00009hj8USM7Ncg31cB456"
],
"quantity": 1,
"passenger_ids": [
"pas_00009hj8USM7Ncg31cBCLL"
],
"id": "ser_00009UhD4ongolulWd9123"
}
],
"passengers": [
{
"born_on": "1987-07-24",
"title": "mrs",
"gender": "f",
"family_name": "Earhart",
"given_name": "Amelia",
"type": "adult",
"id": "pas_00009hj8USM7Ncg31cBCLL"
}
],
"owner": {
"name": "British Airways",
"id": "aln_00001876aqC8c5umZmrRds",
"iata_code": "BA"
},
"id": "ord_00009hthhsUZ8W4LxQgkjo",
"documents": [
{
"unique_identifier": "1252106312810"
}
],
"created_at": "2020-04-11T15:48:11.642Z",
"cancelled_at": "2020-04-11T15:48:11.642Z",
"booking_reference": "RZPNX8",
"base_currency": "GBP",
"base_amount": "30.20"
}
}

Changes an order, applying a reshop offer from a reshop offer request.

If the reshop offer's difference_amount is positive, then payment details must be provided to pay the additional amount required.

Preview: This API resource is not available yet. This documentation is designed to give you an idea of features we'll be adding to our API in the future.

Endpoint

POSThttps://api.duffel.com/air/orders/{id}/actions/change

URL parameters

id
string
required

Duffel's unique identifier for the order

Example: "ord_00009hthhsUZ8W4LxQgkjo"

Request example

curl -X POST --compressed "https://api.duffel.com/air/orders/{id}/actions/change" \
-H "Accept-Encoding: gzip" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Duffel-Version: beta" \
-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>"

Response example

{
"data": {
"total_currency": "GBP",
"total_amount": "90.80",
"tax_currency": "GBP",
"tax_amount": "30.20",
"slices": [
{
"segments": [
{
"passengers": [
{
"seat": {
"disclosures": [
"Do not seat children in exit row seats",
"Do not seat passengers with special needs in exit row seats"
],
"name": "Exit row seat",
"designator": "14B"
},
"passenger_id": "passenger_0",
"cabin_class_marketing_name": "Economy Basic",
"cabin_class": "economy",
"baggages": [
{
"quantity": 1,
"type": "checked"
}
]
}
],
"origin_terminal": "B",
"origin": {
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR"
},
"operating_carrier_flight_number": "4321",
"operating_carrier": {
"name": "British Airways",
"id": "aln_00001876aqC8c5umZmrRds",
"iata_code": "BA"
},
"marketing_carrier_flight_number": "1234",
"marketing_carrier": {
"name": "British Airways",
"id": "aln_00001876aqC8c5umZmrRds",
"iata_code": "BA"
},
"id": "seg_00009htYpSCXrwaB9Dn456",
"duration": "PT02H26M",
"distance": 424,
"destination_terminal": "5",
"destination": {
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR"
},
"departure_terminal": "B",
"departure_datetime": "2020-06-13T16:38:02",
"departing_at": "2020-06-13T16:38:02",
"arriving_at": "2020-06-13T16:38:02",
"arrival_terminal": "5",
"arrival_datetime": "2020-06-13T16:38:02",
"aircraft": {
"name": "Airbus Industries A380",
"id": "arc_00009UhD4ongolulWd91Ky",
"iata_code": "380"
}
}
],
"id": "sli_00009htYpSCXrwaB9Dn123",
"duration": "PT02H26M",
"origin": {
"airports": [
{
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR"
}
],
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"type": "airport",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR",
"iata_city_code": "LON"
},
"origin_type": "airport",
"destination": {
"airports": [
{
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR"
}
],
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"type": "airport",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR",
"iata_city_code": "LON"
},
"destination_type": "airport"
}
],
"services": [
{
"type": "baggage",
"total_currency": "GBP",
"total_amount": "15.00",
"segment_ids": [
"seg_00009hj8USM7Ncg31cB456"
],
"quantity": 1,
"passenger_ids": [
"pas_00009hj8USM7Ncg31cBCLL"
],
"id": "ser_00009UhD4ongolulWd9123"
}
],
"passengers": [
{
"born_on": "1987-07-24",
"title": "mrs",
"gender": "f",
"family_name": "Earhart",
"given_name": "Amelia",
"type": "adult",
"id": "pas_00009hj8USM7Ncg31cBCLL"
}
],
"owner": {
"name": "British Airways",
"id": "aln_00001876aqC8c5umZmrRds",
"iata_code": "BA"
},
"id": "ord_00009hthhsUZ8W4LxQgkjo",
"documents": [
{
"unique_identifier": "1252106312810"
}
],
"created_at": "2020-04-11T15:48:11.642Z",
"cancelled_at": "2020-04-11T15:48:11.642Z",
"booking_reference": "RZPNX8",
"base_currency": "GBP",
"base_amount": "30.20"
}
}

Retrieves a paginated list of all orders. The results may be returned in any order.

Endpoint

GEThttps://api.duffel.com/air/orders

Query Parameters

after
string

A cursor pointing to the previous page of records. For more information on how to paginate through records, see the Pagination section.

Example: "g2wAAAACbQAAABBBZXJvbWlzdC1LaGFya2l2bQAAAB="
before
string

A cursor pointing to the next page of records. For more information on how to paginate through records, see the Pagination section.

Example: "g2wAAAACbQAAABBBZXJvbWlzdC1LaGFya2l2bQAAAB="
limit
integer

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.

Example: 1

Request example

curl -X GET --compressed "https://api.duffel.com/air/orders" \
-H "Accept-Encoding: gzip" \
-H "Accept: application/json" \
-H "Duffel-Version: beta" \
-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>"

Response example

{
"meta": {
"limit": 50,
"after": "g2wAAAACbQAAABBBZXJvbWlzdC1LaGFya2l2bQAAAB="
},
"data": [
{
"total_currency": "GBP",
"total_amount": "90.80",
"tax_currency": "GBP",
"tax_amount": "30.20",
"slices": [
{
"segments": [
{
"passengers": [
{
"seat": {
"disclosures": [
"Do not seat children in exit row seats",
"Do not seat passengers with special needs in exit row seats"
],
"name": "Exit row seat",
"designator": "14B"
},
"passenger_id": "passenger_0",
"cabin_class_marketing_name": "Economy Basic",
"cabin_class": "economy",
"baggages": [
{
"quantity": 1,
"type": "checked"
}
]
}
],
"origin_terminal": "B",
"origin": {
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR"
},
"operating_carrier_flight_number": "4321",
"operating_carrier": {
"name": "British Airways",
"id": "aln_00001876aqC8c5umZmrRds",
"iata_code": "BA"
},
"marketing_carrier_flight_number": "1234",
"marketing_carrier": {
"name": "British Airways",
"id": "aln_00001876aqC8c5umZmrRds",
"iata_code": "BA"
},
"id": "seg_00009htYpSCXrwaB9Dn456",
"duration": "PT02H26M",
"distance": 424,
"destination_terminal": "5",
"destination": {
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR"
},
"departure_terminal": "B",
"departure_datetime": "2020-06-13T16:38:02",
"departing_at": "2020-06-13T16:38:02",
"arriving_at": "2020-06-13T16:38:02",
"arrival_terminal": "5",
"arrival_datetime": "2020-06-13T16:38:02",
"aircraft": {
"name": "Airbus Industries A380",
"id": "arc_00009UhD4ongolulWd91Ky",
"iata_code": "380"
}
}
],
"id": "sli_00009htYpSCXrwaB9Dn123",
"duration": "PT02H26M",
"origin": {
"airports": [
{
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR"
}
],
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"type": "airport",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR",
"iata_city_code": "LON"
},
"origin_type": "airport",
"destination": {
"airports": [
{
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR"
}
],
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"type": "airport",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR",
"iata_city_code": "LON"
},
"destination_type": "airport"
}
],
"services": [
{
"type": "baggage",
"total_currency": "GBP",
"total_amount": "15.00",
"segment_ids": [
"seg_00009hj8USM7Ncg31cB456"
],
"quantity": 1,
"passenger_ids": [
"pas_00009hj8USM7Ncg31cBCLL"
],
"id": "ser_00009UhD4ongolulWd9123"
}
],
"passengers": [
{
"born_on": "1987-07-24",
"title": "mrs",
"gender": "f",
"family_name": "Earhart",
"given_name": "Amelia",
"type": "adult",
"id": "pas_00009hj8USM7Ncg31cBCLL"
}
],
"owner": {
"name": "British Airways",
"id": "aln_00001876aqC8c5umZmrRds",
"iata_code": "BA"
},
"id": "ord_00009hthhsUZ8W4LxQgkjo",
"documents": [
{
"unique_identifier": "1252106312810"
}
],
"created_at": "2020-04-11T15:48:11.642Z",
"cancelled_at": "2020-04-11T15:48:11.642Z",
"booking_reference": "RZPNX8",
"base_currency": "GBP",
"base_amount": "30.20"
}
]
}

Creates a booking with an airline based on an offer. You must pay for the order at the time of creation.

When presenting an order confirmation to your customers (e.g. on screen or in an email), you should include the booking_reference and details of the full itinerary and show the full name of the operating carrier of each segment (slices[].segments[].operating_carrier.name) in order to comply with US regulations.

If you receive a 500 Internal Server Error when trying to create an order, it may have still been created on the airline’s side. Please contact Duffel support before trying the request again.

Endpoint

POSThttps://api.duffel.com/air/orders

Body parameters

selected_offers
string[]
required

The ids of the offers you want to book. You must specify an array containing exactly one selected offer.

Example: ["off_00009htyDGjIfajdNBZRlw"]
services
list

The services you want to book along with the first selected offer.

passengers
list
required

The personal details of the passengers, expanding on the information initially provided when creating the offer request

payments
list
required

The payment details to use to pay for the order

Request example

curl -X POST --compressed "https://api.duffel.com/air/orders" \
-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": {
"payments": [
{
"currency": "GBP",
"amount": "30.20",
"type": "balance"
}
],
"passengers": [
{
"identity_documents": [
{
"unique_identifier": "19KL56147",
"type": "passport",
"issuing_country_code": "GB",
"expires_on": "2025-04-25"
}
],
"phone_number": "+442080160509",
"email": "amelia@duffel.com",
"born_on": "1987-07-24",
"title": "mrs",
"gender": "f",
"family_name": "Earhart",
"given_name": "Amelia",
"infant_passenger_id": "pas_00009hj8USM8Ncg32aTGHL",
"type": "adult",
"id": "pas_00009hj8USM7Ncg31cBCLL"
}
],
"services": [
{
"quantity": 1,
"id": "ase_00009hj8USM7Ncg31cB123"
}
],
"selected_offers": [
"off_00009htyDGjIfajdNBZRlw"
]
}
}'

Response example

{
"data": {
"total_currency": "GBP",
"total_amount": "90.80",
"tax_currency": "GBP",
"tax_amount": "30.20",
"slices": [
{
"segments": [
{
"passengers": [
{
"seat": {
"disclosures": [
"Do not seat children in exit row seats",
"Do not seat passengers with special needs in exit row seats"
],
"name": "Exit row seat",
"designator": "14B"
},
"passenger_id": "passenger_0",
"cabin_class_marketing_name": "Economy Basic",
"cabin_class": "economy",
"baggages": [
{
"quantity": 1,
"type": "checked"
}
]
}
],
"origin_terminal": "B",
"origin": {
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR"
},
"operating_carrier_flight_number": "4321",
"operating_carrier": {
"name": "British Airways",
"id": "aln_00001876aqC8c5umZmrRds",
"iata_code": "BA"
},
"marketing_carrier_flight_number": "1234",
"marketing_carrier": {
"name": "British Airways",
"id": "aln_00001876aqC8c5umZmrRds",
"iata_code": "BA"
},
"id": "seg_00009htYpSCXrwaB9Dn456",
"duration": "PT02H26M",
"distance": 424,
"destination_terminal": "5",
"destination": {
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR"
},
"departure_terminal": "B",
"departure_datetime": "2020-06-13T16:38:02",
"departing_at": "2020-06-13T16:38:02",
"arriving_at": "2020-06-13T16:38:02",
"arrival_terminal": "5",
"arrival_datetime": "2020-06-13T16:38:02",
"aircraft": {
"name": "Airbus Industries A380",
"id": "arc_00009UhD4ongolulWd91Ky",
"iata_code": "380"
}
}
],
"id": "sli_00009htYpSCXrwaB9Dn123",
"duration": "PT02H26M",
"origin": {
"airports": [
{
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR"
}
],
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"type": "airport",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR",
"iata_city_code": "LON"
},
"origin_type": "airport",
"destination": {
"airports": [
{
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR"
}
],
"city": {
"iata_country_code": "GB",
"name": "London",
"id": "cit_lon_gb",
"iata_code": "LON"
},
"city_name": "London",
"time_zone": "Europe/London",
"icao_code": "EGLL",
"longitude": -141.951519,
"latitude": 64.068865,
"iata_country_code": "GB",
"type": "airport",
"name": "Heathrow",
"id": "arp_lhr_gb",
"iata_code": "LHR",
"iata_city_code": "LON"
},
"destination_type": "airport"
}
],
"services": [
{
"type": "baggage",
"total_currency": "GBP",
"total_amount": "15.00",
"segment_ids": [
"seg_00009hj8USM7Ncg31cB456"
],
"quantity": 1,
"passenger_ids": [
"pas_00009hj8USM7Ncg31cBCLL"
],
"id": "ser_00009UhD4ongolulWd9123"
}
],
"passengers": [
{
"born_on": "1987-07-24",
"title": "mrs",
"gender": "f",
"family_name": "Earhart",
"given_name": "Amelia",
"type": "adult",
"id": "pas_00009hj8USM7Ncg31cBCLL"
}
],
"owner": {
"name": "British Airways",
"id": "aln_00001876aqC8c5umZmrRds",
"iata_code": "BA"
},
"id": "ord_00009hthhsUZ8W4LxQgkjo",
"documents": [
{
"unique_identifier": "1252106312810"
}
],
"created_at": "2020-04-11T15:48:11.642Z",
"cancelled_at": "2020-04-11T15:48:11.642Z",
"booking_reference": "RZPNX8",
"base_currency": "GBP",
"base_amount": "30.20"
}
}