Endpoint
Request parameters
All parameters are passed as URL query string values.number
required
Latitude of the search center point, in decimal degrees. Combined with
lon to define the search origin.number
required
Longitude of the search center point, in decimal degrees. Combined with
lat to define the search origin.string
required
Check-in date in
YYYY-MM-DD format (e.g. 2026-07-14). Must be before checkout.string
required
Check-out date in
YYYY-MM-DD format (e.g. 2026-07-21). Must be after checkin.number
required
Number of adult guests. Only rooms whose
max_adults is greater than or equal to this value are returned.number
Number of child guests. Defaults to
0 when omitted. Only rooms whose max_children is greater than or equal to this value are returned.number
required
Number of rooms requested. Passed through to the search context but pricing is calculated per room.
Search behaviour
- Results are filtered to properties within 250 km of the supplied coordinates.
- Only rooms where
is_active = trueand the matching rate plan is active are considered. - Guest count is enforced:
adults ≤ max_adultsandchildren ≤ max_children. - One room per hotel is returned — the room with the lowest
total_priceafter modifiers. - Results are sorted by
total_priceascending.
Pricing
Each room has asubtotal (sum of nightly base prices before stay-level adjustments) and a total_price (after all applicable modifiers fire). The applied_modifiers array tells you which modifier types contributed to the final price.
Modifier types that can appear in applied_modifiers:
Only one discount modifier (
length_of_stay or early_bird) can fire per room — whichever is eligible and has the lowest sort_order wins. Surcharge modifiers (day_of_week, last_minute, extra_guest) can all fire independently.Response
A successful response is an array ofResolvedRoom objects.
string
Unique identifier for the property.
string
Display name of the hotel.
string
URL-friendly slug for the hotel, suitable for building deep-link URLs.
string
City where the property is located.
string
Country where the property is located.
string
Unique identifier for the room.
string
Display name of the room type (e.g. “Deluxe King”).
string
Full description of the room.
number
Number of guests the room accommodates at the standard rate. Guests above this count may trigger the
extra_guest modifier.number
Maximum number of adult guests the room can accommodate.
number
Maximum number of child guests the room can accommodate.
string
Unique identifier for the rate plan applied to this result.
string
Display name of the rate plan (e.g. “Best Available Rate”).
string
ISO 4217 currency code for all price fields (e.g.
"USD", "EUR").boolean
Whether this rate plan allows a full refund under its cancellation policy.
string
Human-readable description of the cancellation terms.
number
Minimum number of nights required to book this room under this rate plan.
number | null
Maximum number of nights allowed.
null means no upper limit.number
Sum of nightly base prices for the stay, before stay-level modifiers (e.g.
length_of_stay, early_bird) are applied. Rounded to two decimal places.number
Final price after all applicable modifiers have been applied. This is the amount to display to the guest. Rounded to two decimal places.
string[]
List of modifier type strings that fired during price calculation. Possible values:
"day_of_week", "length_of_stay", "early_bird", "last_minute", "extra_guest". An empty array means no modifiers changed the base price.