Data Enrichment
Before rendering any property, your affiliate merges live API data with local database records using the property ID as the join key.
Properties without a local record are excluded
Properties returned by the API that have no matching local record are silently excluded from search results. Always run Property Synchronisation before going live.
Fields from Allbookers API
These fields come live from the API response on every search request:
| Field | Type | Description |
|---|---|---|
id | Long | Property ID (join key) |
propertyName | String | Display name |
latitude | Double | GPS latitude |
longitude | Double | GPS longitude |
roomDTOList | List<RoomDTO> | Rooms, rate plans, and availability |
reviews | List<ReviewDTO> | Guest reviews from Allbookers |
Fields from Affiliate Local Database
These fields are populated during Property Synchronisation and stored in your local database:
| Field | Type | Description |
|---|---|---|
stars | Integer | Star rating (1–5) |
cityName | String | City name |
streetName | String | Street address |
countryIso | String | ISO country code |
primaryPhotoUrl | String | URL of the affiliate-managed primary photo |
topFacilities | List<String> | Top facility names (e.g. "Pool", "WiFi") |
hotelType | String | Property type label (e.g. "Hotel", "Resort") |
pointDistance | Float | Distance to nearest point of interest |
distanceType | String | Distance unit (e.g. "km") |
pointName | String | Name of the nearest point of interest |
Computed at Merge Time
These fields are calculated by your affiliate code at the moment of merging API data with local data:
| Field | Type | Description |
|---|---|---|
cheapestPrice | Double | Lowest valid total price for the requested stay, summed from RoomTypeAvailabilityDTO.price across all rate plans and rooms. |
mealPlan | String | Meal plan name of the cheapest rate plan. |
cancellationPolicy | String | Cancellation policy of the cheapest rate plan. |
averageRating | Double | Combined average of Allbookers reviews and local affiliate reviews on a 0–10 scale. API reviews are 0–5 — multiply by 2 before combining. |
ratingText | String | Label derived from averageRating: 9.0+ Exceptional | 8.0+ Very Good | 7.0+ Good | 6.0+ Pleasant | <6.0 Okay |
reviewCount | Integer | Total review count from both sources combined. |
isFavorite | boolean | Whether the property is in the current user's wishlist. |
Rating scale conversion
Allbookers reviews use a 0–5 scale. Multiply by 2 before combining with affiliate reviews to get a unified 0–10 scale for averageRating.
