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

GET {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

ParameterRequiredDescription
checkInRequiredCheck-in date (MM/dd/yyyy)
checkOutRequiredCheck-out date (MM/dd/yyyy)

PropertyDetailsDTO — Key Fields

FieldTypeDescription
idLongProperty ID
propertyNameStringDisplay name
latitudeDoubleGPS latitude
longitudeDoubleGPS longitude
roomDTOListList<RoomDTO>Rooms with rate plans and availability
reviewsList<ReviewDTO>Guest reviews from Allbookers

6.2 Search by City

POST {allbookers.api-url}/api/property/detailsByCityPaginated?page=0&size=50

Search properties by city name with optional filters. Returns a paginated response.

Request Body

Minimal Request
{
  "cityName": "Tirana",
  "checkIn": "04/14/2026",
  "checkOut": "04/17/2026"
}
With Optional Filters
{
  "cityName": "Tirana",
  "checkIn": "04/14/2026",
  "checkOut": "04/17/2026",
  "stars": [4, 5],
  "hotelTypes": ["Hotel"],
  "amenities": ["Pool", "WiFi"],
  "roomCategories": ["Double Room"]
}
FieldTypeRequiredDescription
cityNameStringYesCity to search
checkInStringYesCheck-in date (MM/dd/yyyy)
checkOutStringYesCheck-out date (MM/dd/yyyy)
starsList<Integer>NoFilter by star ratings. Omit or pass [] for no filter.
hotelTypesList<String>NoFilter by property type.
amenitiesList<String>NoFilter by facility names.
roomCategoriesList<String>NoFilter by room category names.

PaginatedResponse Schema

FieldTypeDescription
contentList<PropertyDetailsDTO>Items on this page
numberintCurrent page index (zero-based)
sizeintNumber of items returned on this page
totalElementslongEstimated total items across all pages
totalPagesintTotal number of pages
firstbooleanTrue if this is the first page
lastbooleanTrue if this is the last page
emptybooleanTrue if content is empty
Legacy non-paginated endpoint

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

POST {allbookers.api-url}/api/property/detailsByTypePaginated?page=0&size=50
Request Body
{
  "type": "Resort",
  "checkIn": "04/14/2026",
  "checkOut": "04/17/2026"
}
FieldTypeRequiredDescription
typeStringYesProperty type (e.g. "Resort", "Hotel", "Apartment")
checkInStringYesCheck-in date (MM/dd/yyyy)
checkOutStringYesCheck-out date (MM/dd/yyyy)
starsList<Integer>NoFilter by star ratings.
amenitiesList<String>NoFilter by facility names.

Response: PaginatedResponse<PropertyDetailsDTO> — schema at 6.2.

6.4 Nearby Properties by Name

POST {allbookers.api-url}/api/property/nearbyByName?page=0&size=50
Request Body
{
  "propertyName": "Hotel Tirana International",
  "checkIn": "04/14/2026",
  "checkOut": "04/17/2026"
}
FieldTypeRequiredDescription
propertyNameStringYesReference property name — results are properties nearby this one
checkInStringYesCheck-in date (MM/dd/yyyy)
checkOutStringYesCheck-out date (MM/dd/yyyy)

Response: PaginatedResponse<PropertyDetailsDTO> — schema at 6.2.

6.5 Fallback Search

POST {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.

Request Body
{
  "propertyName": "Hotel Tirana",
  "checkIn": "04/14/2026",
  "checkOut": "04/17/2026"
}

Response: PaginatedResponse<PropertyDetailsDTO> — schema at 6.2.

6.6 Search by Map Bounds

POST {allbookers.api-url}/api/property/detailsByBoundsPaginated?page=0&size=50

Search for all properties within a geographic bounding box. Useful for map views.

Request Body
{
  "northEastLat": 41.35,
  "northEastLng": 19.85,
  "southWestLat": 41.30,
  "southWestLng": 19.78,
  "checkIn": "04/14/2026",
  "checkOut": "04/17/2026"
}
FieldTypeRequiredDescription
northEastLatDoubleYesNorth-east corner latitude
northEastLngDoubleYesNorth-east corner longitude
southWestLatDoubleYesSouth-west corner latitude
southWestLngDoubleYesSouth-west corner longitude
checkInStringYesCheck-in date (MM/dd/yyyy)
checkOutStringYesCheck-out date (MM/dd/yyyy)

Response: PaginatedResponse<PropertyDetailsDTO> — schema at 6.2.