Search API
Six endpoints for fetching live property data with rooms, rate plans, availability, and prices. All paginated endpoints use zero-based page indexing.
6.1 Single Property
{allbookers.api-url}/api/property/details/{propertyId}?checkIn=MM/dd/yyyy&checkOut=MM/dd/yyyy
Returns a single PropertyDetailsDTO including all rooms, rate plans, availability, and reviews for the requested stay.
Query Parameters
| Parameter | Required | Description |
|---|---|---|
checkIn | Required | Check-in date (MM/dd/yyyy) |
checkOut | Required | Check-out date (MM/dd/yyyy) |
PropertyDetailsDTO — Key Fields
| Field | Type | Description |
|---|---|---|
id | Long | Property ID |
propertyName | String | Display name |
latitude | Double | GPS latitude |
longitude | Double | GPS longitude |
roomDTOList | List<RoomDTO> | Rooms with rate plans and availability |
reviews | List<ReviewDTO> | Guest reviews from Allbookers |
6.2 Search by City
{allbookers.api-url}/api/property/detailsByCityPaginated?page=0&size=50
Search properties by city name with optional filters. Returns a paginated response.
Request Body
{
"cityName": "Tirana",
"checkIn": "04/14/2026",
"checkOut": "04/17/2026"
}
{
"cityName": "Tirana",
"checkIn": "04/14/2026",
"checkOut": "04/17/2026",
"stars": [4, 5],
"hotelTypes": ["Hotel"],
"amenities": ["Pool", "WiFi"],
"roomCategories": ["Double Room"]
}
| Field | Type | Required | Description |
|---|---|---|---|
cityName | String | Yes | City to search |
checkIn | String | Yes | Check-in date (MM/dd/yyyy) |
checkOut | String | Yes | Check-out date (MM/dd/yyyy) |
stars | List<Integer> | No | Filter by star ratings. Omit or pass [] for no filter. |
hotelTypes | List<String> | No | Filter by property type. |
amenities | List<String> | No | Filter by facility names. |
roomCategories | List<String> | No | Filter by room category names. |
PaginatedResponse Schema
| Field | Type | Description |
|---|---|---|
content | List<PropertyDetailsDTO> | Items on this page |
number | int | Current page index (zero-based) |
size | int | Number of items returned on this page |
totalElements | long | Estimated total items across all pages |
totalPages | int | Total number of pages |
first | boolean | True if this is the first page |
last | boolean | True if this is the last page |
empty | boolean | True if content is empty |
POST /api/property/detailsByCity — Same request body, no pagination parameters. Returns an array of PropertyDetailsDTO directly. Use the paginated endpoint for all new integrations.
6.3 Search by Property Type
{allbookers.api-url}/api/property/detailsByTypePaginated?page=0&size=50
{
"type": "Resort",
"checkIn": "04/14/2026",
"checkOut": "04/17/2026"
}
| Field | Type | Required | Description |
|---|---|---|---|
type | String | Yes | Property type (e.g. "Resort", "Hotel", "Apartment") |
checkIn | String | Yes | Check-in date (MM/dd/yyyy) |
checkOut | String | Yes | Check-out date (MM/dd/yyyy) |
stars | List<Integer> | No | Filter by star ratings. |
amenities | List<String> | No | Filter by facility names. |
Response: PaginatedResponse<PropertyDetailsDTO> — schema at 6.2.
6.4 Nearby Properties by Name
{allbookers.api-url}/api/property/nearbyByName?page=0&size=50
{
"propertyName": "Hotel Tirana International",
"checkIn": "04/14/2026",
"checkOut": "04/17/2026"
}
| Field | Type | Required | Description |
|---|---|---|---|
propertyName | String | Yes | Reference property name — results are properties nearby this one |
checkIn | String | Yes | Check-in date (MM/dd/yyyy) |
checkOut | String | Yes | Check-out date (MM/dd/yyyy) |
Response: PaginatedResponse<PropertyDetailsDTO> — schema at 6.2.
6.5 Fallback Search
{allbookers.api-url}/api/property/searchFallbackPaginated?page=0&size=50
Used when a primary search returns no results. Performs a broader match on property name.
{
"propertyName": "Hotel Tirana",
"checkIn": "04/14/2026",
"checkOut": "04/17/2026"
}
Response: PaginatedResponse<PropertyDetailsDTO> — schema at 6.2.
6.6 Search by Map Bounds
{allbookers.api-url}/api/property/detailsByBoundsPaginated?page=0&size=50
Search for all properties within a geographic bounding box. Useful for map views.
{
"northEastLat": 41.35,
"northEastLng": 19.85,
"southWestLat": 41.30,
"southWestLng": 19.78,
"checkIn": "04/14/2026",
"checkOut": "04/17/2026"
}
| Field | Type | Required | Description |
|---|---|---|---|
northEastLat | Double | Yes | North-east corner latitude |
northEastLng | Double | Yes | North-east corner longitude |
southWestLat | Double | Yes | South-west corner latitude |
southWestLng | Double | Yes | South-west corner longitude |
checkIn | String | Yes | Check-in date (MM/dd/yyyy) |
checkOut | String | Yes | Check-out date (MM/dd/yyyy) |
Response: PaginatedResponse<PropertyDetailsDTO> — schema at 6.2.
