Create and retrieve offer requests for flight searches.
Endpoints
POST /air/offer_requests- Create an offer requestGET /air/offer_requests/{id}- Get an offer requestGET /air/offer_requests- List offer requests
Examples
# Create an offer request
{:ok, response} = Travel.Flights.OfferRequests.create(%{
slices: [
%{origin: "LHR", destination: "JFK", departure_date: "2025-06-01"}
],
passengers: [%{type: "adult"}]
})
# Create and return offers in the response
{:ok, response} = Travel.Flights.OfferRequests.create(%{
slices: [...],
passengers: [...]
}, %{return_offers: true})
# Get an offer request
{:ok, response} = Travel.Flights.OfferRequests.get("orq_123")
Summary
Functions
Create an offer request.
Get an offer request by ID.
List offer requests with pagination.
Stream all offer requests with automatic pagination.
Functions
@spec create(map(), map() | nil) :: {:ok, Travel.Types.DuffelResponse.t()} | {:error, Travel.Error.t() | term()}
Create an offer request.
Parameters
params- Offer request parameters::slices- (required) List of trip segments:passengers- (required) List of passengers:cabin_class- (optional) Preferred cabin class:max_connections- (optional) Maximum connections per slice:private_fares- (optional) Private fare codes:airline_credit_ids- (optional) Airline credit IDs to use
opts- Optional query parameters::return_offers- Include offers in response:supplier_timeout- Supplier timeout in ms
Returns
{:ok, %Travel.Types.DuffelResponse{data: %Types.OfferRequest{}}}on success{:error, %Travel.Error{}}on failure
@spec get(String.t()) :: {:ok, Travel.Types.DuffelResponse.t()} | {:error, Travel.Error.t() | term()}
Get an offer request by ID.
Parameters
offer_request_id- The offer request ID
Returns
{:ok, %Travel.Types.DuffelResponse{data: %Types.OfferRequest{}}}on success{:error, %Travel.Error{}}on failure
@spec list(map() | nil) :: {:ok, Travel.Types.DuffelResponse.t()} | {:error, Travel.Error.t() | term()}
List offer requests with pagination.
Parameters
opts- Optional pagination parameters (limit,before,after)
Returns
{:ok, %Travel.Types.DuffelResponse{data: [%Types.OfferRequest{}]}}on success{:error, %Travel.Error{}}on failure
@spec stream() :: Enumerable.t()
Stream all offer requests with automatic pagination.
Returns
A Stream that yields %Travel.Types.DuffelResponse{} for each page.