How to Use Resort Search Filters and Sorting
The resort property search endpoint accepts optional filters and sort parameters in the request body. These let you narrow results by price range, star ratings, amenities, accessibility features, and more, as well as control the order in which results are returned.
Endpoint
POST {{apihost}}/resorts/api/v2/properties/{xeniregion_code}?currency=USD
Full Request Body with Filters and Sorting
{
"stay_period": {
"start": "2026-04-01",
"end": "2026-04-07"
},
"lat": 19.8968,
"lon": -155.5828,
"filters": {
"ratings": [
3,
4
],
"min_price": 100,
"max_price": 500,
"all_inclusive": [
"O",
"M"
],
"num_bedrooms": [
"2",
"3"
],
"max_guests": [
"4",
"6"
],
"accessibilities": [
"elevator"
],
"amenities": [
"pool",
"spa",
"fitness"
],
"kitchen_type": [
"full",
"partial"
],
"activities": [
"golf"
],
"regions": [
{
"type": "city",
"name": "Kailua-Kona"
}
]
},
"sort": [
{
"key": "price",
"order": "asc"
}
]
}Filter Reference
ratings
Filter by star rating. Accepts an array of integers from 1 to 4.
| Value | Meaning |
|---|---|
1 | 1-star properties |
2 | 2-star properties |
3 | 3-star properties |
4 | 4-star and above properties |
"ratings": [3, 4]
minprice / maxprice
Filter by nightly base rate. Both values are numeric and represent the currency specified in the query parameter.
"min_price": 100,
"max_price": 500
all_inclusive
Filter by all-inclusive status. Accepts an array of string codes.
| Code | Meaning |
|---|---|
"O" | Optional all-inclusive (available as an upgrade) |
"M" | Mandatory all-inclusive (included in the rate) |
"N" | Not all-inclusive |
"all_inclusive": ["O", "M"]
num_bedrooms
Filter by number of bedrooms. Accepts an array of strings.
| Value | Meaning |
|---|---|
"1" | One bedroom |
"2" | Two bedrooms |
"3" | Three or more bedrooms |
"num_bedrooms": ["2", "3"]
max_guests
Filter by maximum guest capacity. Accepts an array of strings.
| Value | Meaning |
|---|---|
"4" | Up to 4 guests |
"6" | Up to 6 guests |
"8" | Up to 8 guests |
"max_guests": ["4", "6"]
accessibilities
Filter by accessibility features. Accepts an array of strings.
| Value | Description |
|---|---|
"adults-only" | Adults-only properties |
"deaf" | Facilities for deaf or hard-of-hearing guests |
"blind" | Facilities for blind or low-vision guests |
"elevator" | Elevator access available |
"accessibilities": ["elevator", "deaf"]
amenities
Filter by on-site amenities. Accepts an array of strings.
| Value | Description |
|---|---|
"fitness" | Fitness center or gym |
"laundry" | Laundry facilities |
"grocery" | Grocery or convenience store |
"spa" | Spa services |
"pool" | Swimming pool |
"restaurant" | On-site restaurant |
"amenities": ["pool", "spa", "restaurant"]
kitchen_type
Filter by kitchen facilities in the room. Accepts an array of strings.
| Value | Description |
|---|---|
"full" | Full kitchen with stove, oven, and refrigerator |
"partial" | Partial kitchen (e.g., stovetop and refrigerator, no oven) |
"mini" | Mini kitchen or kitchenette (e.g., microwave and mini-fridge) |
"kitchen_type": ["full", "partial"]
activities
Filter by available activities at or near the resort. Accepts an array of strings.
| Value | Description |
|---|---|
"archery" | Archery facilities |
"golf" | Golf course access |
"activities": ["golf"]
regions
Filter results to specific sub-regions within the searched area. Each entry requires a type and name.
| Field | Type | Description |
|---|---|---|
type | string | The geographic level: "city", "state", or "country" |
name | string | The name of the region |
"regions": [
{ "type": "city", "name": "Kailua-Kona" },
{ "type": "city", "name": "Waikoloa" }
]
Sorting
The sort parameter accepts an array of sort objects. Each object specifies a key and order.
| Field | Type | Values |
|---|---|---|
key | string | "price" or "ratings" |
order | string | "asc" (ascending) or "desc" (descending) |
Sort by Price (Low to High)
"sort": [{ "key": "price", "order": "asc" }]
Sort by Ratings (High to Low)
"sort": [{ "key": "ratings", "order": "desc" }]
Multi-Level Sorting
You can combine multiple sort criteria. The API applies them in order, using subsequent keys to break ties.
"sort": [
{ "key": "ratings", "order": "desc" },
{ "key": "price", "order": "asc" }
]
This returns results sorted by highest rating first, with ties broken by lowest price.
Best Practices
- Start broad, then narrow — Begin with minimal filters and add constraints based on user input. Over-filtering can return zero results.
- Combine filters logically — Filters are applied with AND logic. A property must match all specified filter criteria to appear in results.
- Use regions for large areas — When searching a state or country, use the
regionsfilter to narrow results to specific cities without performing a new autocomplete search. - Default sort — If no
sortparameter is provided, results are returned in the API's default order (typically by relevance or availability).