Travel.Flights.OrderChanges (travel v0.2.0)

Copy Markdown View Source

Create, retrieve, and confirm order changes.

Endpoints

  • POST /air/order_changes - Create an order change
  • GET /air/order_changes/{id} - Get an order change
  • POST /air/order_changes/{id}/actions/confirm - Confirm an order change

Examples

# Create an order change
{:ok, response} = Travel.Flights.OrderChanges.create(%{
  selected_order_change_offer: "oco_123"
})

# Confirm an order change
{:ok, response} = Travel.Flights.OrderChanges.confirm("orc_123")

@link https://duffel.com/docs/api/order-changes

Summary

Functions

Confirm a pending order change with payment.

Create an order change from a selected offer.

Get an order change by ID.

Functions

confirm(order_change_id, params \\ nil)

@spec confirm(String.t(), map() | nil) ::
  {:ok, Travel.Types.DuffelResponse.t()} | {:error, Travel.Error.t() | term()}

Confirm a pending order change with payment.

Parameters

  • order_change_id - The order change ID
  • params - (optional) Payment parameters:
    • :payment - Payment details (amount, currency, type, three_d_secure_session_id)

Returns

  • {:ok, %Travel.Types.DuffelResponse{data: %Types.OrderChange{}}} on success
  • {:error, %Travel.Error{}} on failure

create(params)

@spec create(map()) ::
  {:ok, Travel.Types.DuffelResponse.t()} | {:error, Travel.Error.t() | term()}

Create an order change from a selected offer.

Parameters

  • params - Change parameters:
    • :selected_order_change_offer - (required) The change offer ID

Returns

  • {:ok, %Travel.Types.DuffelResponse{data: %Types.OrderChange{}}} on success
  • {:error, %Travel.Error{}} on failure

get(order_change_id)

@spec get(String.t()) ::
  {:ok, Travel.Types.DuffelResponse.t()} | {:error, Travel.Error.t() | term()}

Get an order change by ID.

Parameters

  • order_change_id - The order change ID

Returns

  • {:ok, %Travel.Types.DuffelResponse{data: %Types.OrderChange{}}} on success
  • {:error, %Travel.Error{}} on failure