Changing an Order

What do you need to start?

All you need to get started with order changes is the id of the order you'd like to change.
Note that changes are not available for all orders. You can check if individual slices in an order can be changed by looking at its changeable property.
In this guide, we'll build on the example used on the quick start guide.

tip

Overview

Everything starts with an existing order:
We can start by using the "Get a single order" API to check the current details for their order:

JavaScript

duffel.orders.get(ORDER_ID)
You'll need to replace ORDER_ID with the ID of the order you want to change.

JSON

{
"data": {
"total_currency": "GBP",
"total_amount": "7477.00",
"tax_currency": "GBP",
"tax_amount": "1140.56",
"slices": [
{
"segments": [
{
"passengers": [
{
"seat": null,
"passenger_id": "pas_0000A8L6LYhCn9xjBRTP60",
"fare_basis_code": null,
"cabin_class_marketing_name": "Business",
"cabin_class": "business",
"baggages": [
{
"type": "checked",
"quantity": 1
}
]
},
{
"seat": null,
"passenger_id": "pas_0000A8L6LYhCn9xjBRTP61",
"fare_basis_code": null,
"cabin_class_marketing_name": "Business",
"cabin_class": "business",
"baggages": [
{
"type": "checked",
"quantity": 1
}
]
},
{
"seat": null,
"passenger_id": "pas_0000A8L6LYhCn9xjBRTP62",
"fare_basis_code": null,
"cabin_class_marketing_name": "Business",
"cabin_class": "business",
"baggages": [
{
"type": "checked",
"quantity": 1
}
]
}
],
"origin_terminal": "2",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
},
"operating_carrier_flight_number": "7879",
"operating_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"marketing_carrier_flight_number": "7879",
"marketing_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"id": "seg_0000A8L6LZGIgg2EwHtQnY",
"duration": "PT2H23M",
"distance": "1360.5217397388235",
"destination_terminal": "7",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"departure_terminal": "2",
"departure_datetime": "2022-06-11T23:00:00",
"departing_at": "2022-06-11T23:00:00",
"arriving_at": "2022-06-12T01:23:00",
"arrival_terminal": "7",
"arrival_datetime": "2022-06-12T01:23:00",
"aircraft": {
"name": "Boeing 777-300",
"id": "arc_00009VMF8AhXSSRnQDI6HE",
"iata_code": "773"
}
}
],
"origin_type": "airport",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
},
"id": "sli_0000A8L6Pqy4nZVh0nPdK5",
"duration": "PT2H23M",
"destination_type": "airport",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"conditions": {
"change_before_departure": {
"penalty_currency": null,
"penalty_amount": null,
"allowed": false
}
},
"changeable": true
},
{
"segments": [
{
"passengers": [
{
"seat": null,
"passenger_id": "pas_0000A8L6LYhCn9xjBRTP60",
"fare_basis_code": null,
"cabin_class_marketing_name": "Business",
"cabin_class": "business",
"baggages": [
{
"type": "checked",
"quantity": 1
}
]
},
{
"seat": null,
"passenger_id": "pas_0000A8L6LYhCn9xjBRTP61",
"fare_basis_code": null,
"cabin_class_marketing_name": "Business",
"cabin_class": "business",
"baggages": [
{
"type": "checked",
"quantity": 1
}
]
},
{
"seat": null,
"passenger_id": "pas_0000A8L6LYhCn9xjBRTP62",
"fare_basis_code": null,
"cabin_class_marketing_name": "Business",
"cabin_class": "business",
"baggages": [
{
"type": "checked",
"quantity": 1
}
]
}
],
"origin_terminal": "2",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"operating_carrier_flight_number": "9303",
"operating_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"marketing_carrier_flight_number": "9303",
"marketing_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"id": "seg_0000A8L6LZGIgg2EwHtQna",
"duration": "PT2H23M",
"distance": "1360.5217397388235",
"destination_terminal": "7",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
},
"departure_terminal": "2",
"departure_datetime": "2022-06-18T23:00:00",
"departing_at": "2022-06-18T23:00:00",
"arriving_at": "2022-06-19T01:23:00",
"arrival_terminal": "7",
"arrival_datetime": "2022-06-19T01:23:00",
"aircraft": {
"name": "Boeing 777-300",
"id": "arc_00009VMF8AhXSSRnQDI6HE",
"iata_code": "773"
}
}
],
"origin_type": "airport",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"id": "sli_0000A8L6Pqy4nZVh0nPdK6",
"duration": "PT2H23M",
"destination_type": "airport",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
},
"conditions": {
"change_before_departure": {
"penalty_currency": null,
"penalty_amount": null,
"allowed": false
}
},
"changeable": true
}
],
"services": [],
"payment_status": {
"price_guarantee_expires_at": null,
"payment_required_by": null,
"awaiting_payment": false
},
"passengers": [
{
"type": "adult",
"title": "mr",
"infant_passenger_id": "pas_0000A8L6LYhCn9xjBRTP62",
"id": "pas_0000A8L6LYhCn9xjBRTP60",
"given_name": "Tony",
"gender": "m",
"family_name": "Stark",
"born_on": "1980-07-24"
},
{
"type": "adult",
"title": "mrs",
"infant_passenger_id": null,
"id": "pas_0000A8L6LYhCn9xjBRTP61",
"given_name": "Pepper",
"gender": "m",
"family_name": "Potts",
"born_on": "1983-11-02"
},
{
"type": "infant_without_seat",
"title": "mrs",
"infant_passenger_id": null,
"id": "pas_0000A8L6LYhCn9xjBRTP62",
"given_name": "Morgan",
"gender": "f",
"family_name": "Stark",
"born_on": "2019-08-24"
}
],
"owner": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"metadata": null,
"live_mode": false,
"id": "ord_0000A8L6Pqy4nZVh0nPdK4",
"documents": [
{
"unique_identifier": "1",
"type": "electronic_ticket"
},
{
"unique_identifier": "2",
"type": "electronic_ticket"
},
{
"unique_identifier": "3",
"type": "electronic_ticket"
}
],
"created_at": "2021-06-16T09:40:25.456538Z",
"conditions": {
"refund_before_departure": {
"penalty_currency": null,
"penalty_amount": null,
"allowed": false
},
"change_before_departure": {
"penalty_currency": null,
"penalty_amount": null,
"allowed": false
}
},
"cancelled_at": null,
"booking_reference": "CKNG4U",
"base_currency": "GBP",
"base_amount": "6336.44"
}
}
We can see the order has two slices: one for the outbound flight, and one for the inbound flight. Both slices have changeable set to true indicating they can be removed or replaced.
Notice each slice has a unique ID, we will be using them next to make changes to the order.
The order change process happens in 4 steps:
  • You create an order change request

  • You review the available order change offers

  • You create a pending order change

  • You confirm the order change

Create an order change request

To request changes for an order, you need to provide a list of slices to remove, plus a list of search criteria for slices you want to add.
In our example, we want to remove the current inbound flight, so we will be adding its slice.id to the remove list. We also want to find new flights on the updated date 24th June, we can do that by adding the relevant search criteria to the add list:

JavaScript

duffel.orderChangeRequests.create({
order_id: ORDER_ID,
slices: {
remove: [
{slice_id: SLICE_TO_REMOVE_ID}
],
add: [
{
origin: "ATL",
destination: "SWF",
departure_date: "2022-06-24",
cabin_class: "business"
}
]
}
})
You'll need to replace ORDER_ID with the ID of the order you want to change, and SLICE_TO_REMOVE_ID with the ID of the slice you want to replace.
We'll return an order change request, echoing back the remove and add criteria.
The response will also include an unique ID for the change request, we'll be using it on the next step to review the available change offers.

JSON

{
"meta": null,
"data": {
"updated_at": "2021-06-16T10:41:31.954687Z",
"slices": {
"remove": [
{
"slice_id": "sli_0000A8L6Pqy4nZVh0nPdK6"
}
],
"add": [
{
"origin": "ATL",
"destination": "SWF",
"departure_date": "2022-06-24",
"cabin_class": "business"
}
]
},
"live_mode": false,
"id": "ocr_0000A8LBrykRxt3J1MGlcG",
"created_at": "2021-06-16T10:41:31.954687Z"
}
}

Review available order change offers

Now that you have requested an order change, you should review the available offers. You can do this with the "Get a single order change request" endpoint:

JavaScript

duffel.orderChangeRequests.get(ORDER_CHANGE_REQUEST_ID)
The response will include a list of order_change_offers, each including details for the slices that would be added and removed from the order. They also include the difference in price change_total_amount, as well as the penalty imposed by the airline penalty_total_amount. The price of new flights could be more expensive or cheaper than the original.
If you'd like to get a complete look at the change offer schema, check out our API reference.

JSON

{
"meta": null,
"data": {
"updated_at": "2021-06-16T10:41:31.954687Z",
"slices": {
"remove": [
{
"slice_id": "sli_0000A8L6Pqy4nZVh0nPdK6"
}
],
"add": [
{
"origin": "ATL",
"destination": "SWF",
"departure_date": "2022-06-24",
"cabin_class": "business"
}
]
},
"order_change_offers": [
{
"updated_at": "2021-06-16T10:41:31.970983Z",
"slices": {
"remove": [
{
"segments": [
{
"origin_terminal": "2",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"operating_carrier_flight_number": "9303",
"operating_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"marketing_carrier_flight_number": "9303",
"marketing_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"id": "seg_0000A8L6LZGIgg2EwHtQna",
"duration": "PT2H23M",
"distance": "1360.5217397388235",
"destination_terminal": "7",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
},
"departing_at": "2022-06-18T23:00:00",
"arriving_at": "2022-06-19T01:23:00",
"aircraft": {
"name": "Boeing 777-300",
"id": "arc_00009VMF8AhXSSRnQDI6HE",
"iata_code": "773"
}
}
],
"origin_type": "airport",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"id": "sli_0000A8L6Pqy4nZVh0nPdK6",
"duration": "PT2H23M",
"destination_type": "airport",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
}
}
],
"add": [
{
"segments": [
{
"origin_terminal": "2",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"operating_carrier_flight_number": "5901",
"operating_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"marketing_carrier_flight_number": "5901",
"marketing_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"id": "seg_0000A8LBrymDrITD6r6BNY",
"duration": "PT2H23M",
"distance": "1360.5217397388235",
"destination_terminal": "7",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
},
"departing_at": "2022-06-24T23:00:00",
"arriving_at": "2022-06-25T01:23:00",
"aircraft": {
"name": "Boeing 777-300",
"id": "arc_00009VMF8AhXSSRnQDI6HE",
"iata_code": "773"
}
}
],
"origin_type": "airport",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"id": "sli_0000A8LBrymDrITD6r6BNZ",
"duration": "PT2H23M",
"destination_type": "airport",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
}
}
]
},
"refund_to": "original_form_of_payment",
"penalty_total_currency": "GBP",
"penalty_total_amount": "25.00",
"order_change_id": null,
"new_total_currency": "GBP",
"new_total_amount": "25.00",
"live_mode": false,
"id": "oco_0000A8LBrynHnLJxA9b22K",
"expires_at": "2021-06-19T10:41:31Z",
"created_at": "2021-06-16T10:41:31.970983Z",
"change_total_currency": "GBP",
"change_total_amount": "50.00"
},
{
"updated_at": "2021-06-16T10:41:31.979325Z",
"slices": {
"remove": [
{
"segments": [
{
"origin_terminal": "2",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"operating_carrier_flight_number": "9303",
"operating_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"marketing_carrier_flight_number": "9303",
"marketing_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"id": "seg_0000A8L6LZGIgg2EwHtQna",
"duration": "PT2H23M",
"distance": "1360.5217397388235",
"destination_terminal": "7",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
},
"departing_at": "2022-06-18T23:00:00",
"arriving_at": "2022-06-19T01:23:00",
"aircraft": {
"name": "Boeing 777-300",
"id": "arc_00009VMF8AhXSSRnQDI6HE",
"iata_code": "773"
}
}
],
"origin_type": "airport",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"id": "sli_0000A8L6Pqy4nZVh0nPdK6",
"duration": "PT2H23M",
"destination_type": "airport",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
}
}
],
"add": [
{
"segments": [
{
"origin_terminal": "2",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"operating_carrier_flight_number": "7189",
"operating_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"marketing_carrier_flight_number": "7189",
"marketing_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"id": "seg_0000A8LBrymZpykn7xGSvo",
"duration": "PT2H23M",
"distance": "1360.5217397388235",
"destination_terminal": "7",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
},
"departing_at": "2022-06-24T23:00:00",
"arriving_at": "2022-06-25T01:23:00",
"aircraft": {
"name": "Boeing 777-300",
"id": "arc_00009VMF8AhXSSRnQDI6HE",
"iata_code": "773"
}
}
],
"origin_type": "airport",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"id": "sli_0000A8LBrymZpykn7xGSvp",
"duration": "PT2H23M",
"destination_type": "airport",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
}
}
]
},
"refund_to": "original_form_of_payment",
"penalty_total_currency": "GBP",
"penalty_total_amount": "25.00",
"order_change_id": null,
"new_total_currency": "GBP",
"new_total_amount": "25.00",
"live_mode": false,
"id": "oco_0000A8LBryndm1bXBFlJac",
"expires_at": "2021-06-19T10:41:31Z",
"created_at": "2021-06-16T10:41:31.979325Z",
"change_total_currency": "GBP",
"change_total_amount": "50.00"
},
{
"updated_at": "2021-06-16T10:41:31.983198Z",
"slices": {
"remove": [
{
"segments": [
{
"origin_terminal": "2",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"operating_carrier_flight_number": "9303",
"operating_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"marketing_carrier_flight_number": "9303",
"marketing_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"id": "seg_0000A8L6LZGIgg2EwHtQna",
"duration": "PT2H23M",
"distance": "1360.5217397388235",
"destination_terminal": "7",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
},
"departing_at": "2022-06-18T23:00:00",
"arriving_at": "2022-06-19T01:23:00",
"aircraft": {
"name": "Boeing 777-300",
"id": "arc_00009VMF8AhXSSRnQDI6HE",
"iata_code": "773"
}
}
],
"origin_type": "airport",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"id": "sli_0000A8L6Pqy4nZVh0nPdK6",
"duration": "PT2H23M",
"destination_type": "airport",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
}
}
],
"add": [
{
"segments": [
{
"origin_terminal": "2",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"operating_carrier_flight_number": "2303",
"operating_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"marketing_carrier_flight_number": "2303",
"marketing_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"id": "seg_0000A8LBrymvof2N93QkU4",
"duration": "PT2H23M",
"distance": "1360.5217397388235",
"destination_terminal": "7",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
},
"departing_at": "2022-06-24T23:00:00",
"arriving_at": "2022-06-25T01:23:00",
"aircraft": {
"name": "Boeing 777-300",
"id": "arc_00009VMF8AhXSSRnQDI6HE",
"iata_code": "773"
}
}
],
"origin_type": "airport",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"id": "sli_0000A8LBrymvof2N93QkU5",
"duration": "PT2H23M",
"destination_type": "airport",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
}
}
]
},
"refund_to": "original_form_of_payment",
"penalty_total_currency": "GBP",
"penalty_total_amount": "25.00",
"order_change_id": null,
"new_total_currency": "GBP",
"new_total_amount": "25.00",
"live_mode": false,
"id": "oco_0000A8LBryoLjOAhDS5sh6",
"expires_at": "2021-06-19T10:41:31Z",
"created_at": "2021-06-16T10:41:31.983198Z",
"change_total_currency": "GBP",
"change_total_amount": "50.00"
}
],
"live_mode": false,
"id": "ocr_0000A8LBrykRxt3J1MGlcG",
"created_at": "2021-06-16T10:41:31.954687Z"
}
}

Create a pending order change

After reviewing the available change offers, Tony's family has chosen a new return flight.
We can now create a pending order change using the change offer's unique ID and the Create a pending order change endpoint:

JavaScript

duffel.orderChanges.create({selected_order_change_offer: ORDER_CHANGE_OFFER_ID})
We will return an order change. You can see the value of confirmed_at is null, indicating that the change has not been confirmed yet.
If you'd like to get a complete look at the order change schema, check out our API reference.
The price of a pending change order can change over time. You should let your customers review the final price before confirming the order. You can use Get a single order change endpoint to obtain the latest price using the pending order change's id.

JavaScript

duffel.orderChanges.get(ORDER_CHANGE_ID)
There are also some important legal notices that you must display to make sure that the customer understands how their data will be used and the rules that apply to their booking.

JSON

{
"meta": null,
"data": {
"updated_at": "2021-06-16T12:50:09.386961Z",
"slices": {
"remove": [
{
"segments": [
{
"origin_terminal": "2",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"operating_carrier_flight_number": "9303",
"operating_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"marketing_carrier_flight_number": "9303",
"marketing_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"id": "seg_0000A8L6LZGIgg2EwHtQna",
"duration": "PT2H23M",
"distance": "1360.5217397388235",
"destination_terminal": "7",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
},
"departing_at": "2022-06-18T23:00:00",
"arriving_at": "2022-06-19T01:23:00",
"aircraft": {
"name": "Boeing 777-300",
"id": "arc_00009VMF8AhXSSRnQDI6HE",
"iata_code": "773"
}
}
],
"origin_type": "airport",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"id": "sli_0000A8L6Pqy4nZVh0nPdK6",
"duration": "PT2H23M",
"destination_type": "airport",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
}
}
],
"add": [
{
"segments": [
{
"origin_terminal": "2",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"operating_carrier_flight_number": "5901",
"operating_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"marketing_carrier_flight_number": "5901",
"marketing_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"id": "seg_0000A8LBrymDrITD6r6BNY",
"duration": "PT2H23M",
"distance": "1360.5217397388235",
"destination_terminal": "7",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
},
"departing_at": "2022-06-24T23:00:00",
"arriving_at": "2022-06-25T01:23:00",
"aircraft": {
"name": "Boeing 777-300",
"id": "arc_00009VMF8AhXSSRnQDI6HE",
"iata_code": "773"
}
}
],
"origin_type": "airport",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"id": "sli_0000A8LBrymDrITD6r6BNZ",
"duration": "PT2H23M",
"destination_type": "airport",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
}
}
]
},
"refund_to": "original_form_of_payment",
"penalty_total_currency": "GBP",
"penalty_total_amount": "25.00",
"order_id": "ord_0000A8L6Pqy4nZVh0nPdK4",
"new_total_currency": "GBP",
"new_total_amount": "25.00",
"live_mode": false,
"id": "oce_0000A8LNLgZVCzBypYW5mC",
"expires_at": "2021-06-19T12:50:09Z",
"created_at": "2021-06-16T12:50:09.386961Z",
"confirmed_at": null,
"change_total_currency": "GBP",
"change_total_amount": "50.00"
}
}

Confirm an order change

We are finally ready to confirm the order changes for Tony and his family. You'll only need two things at this point:
  • The ID of the order change you'd like to confirm

  • Payment method and details to confirm the change

To confirm an order, use the Confirm an order change endpoint:

JavaScript

duffel.orderChanges.confirm({
ORDER_CHANGE_ID,
"payment": {
"type": "balance",
"currency": "GBP",
"amount": "50.00"
}
})
We will return an order change. This time you will see the updated confirmed_at value, indicating the order change has now been confirmed.

JSON

{
"meta": null,
"data": {
"updated_at": "2021-06-16T13:14:25.143485Z",
"slices": {
"remove": [
{
"segments": [
{
"origin_terminal": "2",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"operating_carrier_flight_number": "9303",
"operating_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"marketing_carrier_flight_number": "9303",
"marketing_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"id": "seg_0000A8L6LZGIgg2EwHtQna",
"duration": "PT2H23M",
"distance": "1360.5217397388235",
"destination_terminal": "7",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
},
"departing_at": "2022-06-18T23:00:00",
"arriving_at": "2022-06-19T01:23:00",
"aircraft": {
"name": "Boeing 777-300",
"id": "arc_00009VMF8AhXSSRnQDI6HE",
"iata_code": "773"
}
}
],
"origin_type": "airport",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"id": "sli_0000A8L6Pqy4nZVh0nPdK6",
"duration": "PT2H23M",
"destination_type": "airport",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
}
}
],
"add": [
{
"segments": [
{
"origin_terminal": "2",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"operating_carrier_flight_number": "5901",
"operating_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"marketing_carrier_flight_number": "5901",
"marketing_carrier": {
"name": "Duffel Airways",
"id": "arl_00009VME7D6ivUu8dn35WK",
"iata_code": "ZZ"
},
"id": "seg_0000A8LBrymDrITD6r6BNY",
"duration": "PT2H23M",
"distance": "1360.5217397388235",
"destination_terminal": "7",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
},
"departing_at": "2022-06-24T23:00:00",
"arriving_at": "2022-06-25T01:23:00",
"aircraft": {
"name": "Boeing 777-300",
"id": "arc_00009VMF8AhXSSRnQDI6HE",
"iata_code": "773"
}
}
],
"origin_type": "airport",
"origin": {
"type": "airport",
"time_zone": "America/New_York",
"name": "Hartsfield-Jackson Atlanta International Airport",
"longitude": -84.4279,
"latitude": 33.638714,
"id": "arp_atl_us",
"icao_code": "KATL",
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": "Atlanta",
"city": {
"type": "city",
"time_zone": null,
"name": "Atlanta",
"longitude": null,
"latitude": null,
"id": "cit_atl_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "ATL",
"iata_city_code": "ATL",
"city_name": null
}
},
"id": "sli_0000A8LBrymDrITD6r6BNZ",
"duration": "PT2H23M",
"destination_type": "airport",
"destination": {
"type": "airport",
"time_zone": "America/New_York",
"name": "New York Stewart International Airport",
"longitude": -74.102724,
"latitude": 41.501292,
"id": "arp_swf_us",
"icao_code": "KSWF",
"iata_country_code": "US",
"iata_code": "SWF",
"iata_city_code": "NYC",
"city_name": "Newburgh",
"city": {
"type": "city",
"time_zone": null,
"name": "New York",
"longitude": null,
"latitude": null,
"id": "cit_nyc_us",
"icao_code": null,
"iata_country_code": "US",
"iata_code": "NYC",
"iata_city_code": "NYC",
"city_name": null
}
}
}
]
},
"refund_to": "original_form_of_payment",
"penalty_total_currency": "GBP",
"penalty_total_amount": "25.00",
"order_id": "ord_0000A8L6Pqy4nZVh0nPdK4",
"new_total_currency": "GBP",
"new_total_amount": "25.00",
"live_mode": false,
"id": "oce_0000A8LNLgZVCzBypYW5mC",
"expires_at": "2021-06-19T12:50:09Z",
"created_at": "2021-06-16T12:50:09.386961Z",
"confirmed_at": "2021-06-16T13:14:25Z",
"change_total_currency": "GBP",
"change_total_amount": "50.00"
}
}

Keep Learning

All set! Tony and his family have updated their flights. The original order will now show the new slices, including the airline's booking_reference, which you'd use to find the booking on the airline's website. You can retrieve it any time by its id.
Where to go from here?