Property Synchronisation
Pull property profile data from Allbookers into your local database. This is a manual, admin-only process — it does not run automatically.
Live data is never cached
Rooms, availability, and prices are always fetched from the API at search time. Only static profile data (names, IDs) is stored locally via this sync process.
1
Get Property List
Affiliate → Allbookers API
1b
Identify New Properties
Compare with local DB
2
Request Full Data
Affiliate → Allbookers API
3
Receive Push
Allbookers → Affiliate
Step 1 — Get the Property List
GET
{allbookers.api-url}/api/propertySync/initApi
| Attribute | Value |
|---|---|
| Direction | Affiliate → Allbookers API |
| Method | GET |
| Request | No body required |
Response — Array of InitAPIDTO
Response (200 OK)
[
{ "propertyId": 101, "propertyName": "Hotel Tirana International" },
{ "propertyId": 102, "propertyName": "Rogner Hotel Tirana" }
]
| Field | Type | Description |
|---|---|---|
propertyId | Long | Allbookers unique property identifier |
propertyName | String | Property display name |
Step 1b — Identify Which Properties to Import
Before requesting full data, compare the list against your local database:
| Case | Action |
|---|---|
| New property | Exists in Allbookers but not locally. Should be imported. |
| ID conflict | Same property ID exists locally under a different name. Requires manual review. |
| Name conflict | Same property name exists locally with a different ID. Requires manual review. |
Conflicts require manual review
Only properties with no conflicts should be passed to Step 2. Conflicted properties must be resolved by an admin before importing.
Step 2 — Request Full Data
POST
{allbookers.api-url}/api/propertySync/apiProperties
| Attribute | Value |
|---|---|
| Body | Array of Long (property IDs to import) |
| Response | HTTP 200, no body. Allbookers will then push full property data (Step 3). |
Request Body
[101, 102]
Step 3 — Allbookers Pushes Full Property Data
After Step 2, Allbookers will call your endpoint with the full property data.
POST
{affiliate-base-url}/api/savePropertyDtoList
(your endpoint — Allbookers calls you)
| Attribute | Value |
|---|---|
| Direction | Allbookers API → Affiliate |
| Body | Array of APIPropertyBasicDTO |
| Success | HTTP 200 |
| Error | HTTP 400 |
APIPropertyBasicDTO — Schema
| Field | Type | Description |
|---|---|---|
id | Long | Property ID |
propertyName | String | Display name |
hotelStatusId | Integer | Approval status |
hotelTypeId | Integer | Property type |
address | APIAddressDTO | Address details |
propertyUserDTO | APIPropertyUserDTO | Owner account. Store as received — no action required on individual fields. |
starsNo | Integer | Star rating (1–5) |
countryName | String | Country name |
logoPath | String | Logo image path |
firstName | String | Owner first name |
lastName | String | Owner last name |
