Get, list, suggest, and review accommodations.
Endpoints
GET /stays/accommodation/{id}- Get accommodationGET /stays/accommodation- List accommodationsPOST /stays/accommodation/suggestions- Get suggestionsGET /stays/accommodation/{id}/reviews- Get reviews
Examples
# Get accommodation by ID
{:ok, response} = Travel.Stays.Accommodation.get("acc_123")
# List accommodations near a location
{:ok, response} = Travel.Stays.Accommodation.list(%{
latitude: 51.5,
longitude: -0.1,
radius: 5
})
# Get suggestions for a query
{:ok, response} = Travel.Stays.Accommodation.suggestions("Hilton London")
# Get reviews for an accommodation
{:ok, response} = Travel.Stays.Accommodation.reviews("acc_123")
Summary
Functions
Get an accommodation by ID.
List accommodations with optional location filtering and pagination.
Get reviews for an accommodation.
List all accommodations as a stream, handling pagination automatically.
Get accommodation suggestions for a query string.
Functions
@spec get(String.t()) :: {:ok, Travel.Types.DuffelResponse.t()} | {:error, Travel.Error.t() | term()}
Get an accommodation by ID.
Parameters
accommodation_id- The accommodation ID
Returns
{:ok, %Travel.Types.DuffelResponse{data: %Types.StaysAccommodation{}}}on success{:error, %Travel.Error{}}on failure
@spec list(map() | nil) :: {:ok, Travel.Types.DuffelResponse.t()} | {:error, Travel.Error.t() | term()}
List accommodations with optional location filtering and pagination.
Parameters
opts- Optional query parameters::latitude- (required) Latitude for radius search:longitude- (required) Longitude for radius search:radius- (optional) Search radius in km:limit- (optional) Results per page (max 200):before- (optional) Cursor for previous page:after- (optional) Cursor for next page
Returns
{:ok, %Travel.Types.DuffelResponse{data: [%Types.StaysAccommodation{}]}}on success{:error, %Travel.Error{}}on failure
@spec reviews(String.t(), map() | nil) :: {:ok, Travel.Types.DuffelResponse.t()} | {:error, Travel.Error.t() | term()}
Get reviews for an accommodation.
Parameters
accommodation_id- The accommodation IDopts- (optional) Pagination options (limit,before,after)
Returns
{:ok, %Travel.Types.DuffelResponse{data: %Types.StaysAccommodationReviewResponse{}}}on success{:error, %Travel.Error{}}on failure
@spec stream(map()) :: Enumerable.t()
List all accommodations as a stream, handling pagination automatically.
Parameters
opts- Query parameters includinglatitude,longitude,radius
Returns
A Stream that yields %Travel.Types.DuffelResponse{} for each page.
@spec suggestions(String.t(), map() | nil) :: {:ok, Travel.Types.DuffelResponse.t()} | {:error, Travel.Error.t() | term()}
Get accommodation suggestions for a query string.
Parameters
query- Search query stringlocation- (optional) Location filter withradiusandgeographic_coordinates
Returns
{:ok, %Travel.Types.DuffelResponse{data: [%Types.StaysAccommodationSuggestion{}]}}on success{:error, %Travel.Error{}}on failure