Skip to content

Units

Scope read:units. Every unit of the agency except archived ones, ordered by name. Draft units are included (integrations often need them before launch) — check status if you only want what is publicly bookable.

{
"units": [
{
"id": "0190c…",
"slug": "marina-loft-2br",
"name": "Marina Loft · 2BR",
"status": "published",
"category": "lifestyle",
"city": "Dubai",
"area": "Dubai Marina",
"building": "Marina Heights",
"address": "Marina Heights, Tower B",
"lat": 25.0805, "lng": 55.1403,
"bedrooms": 2,
"beds": 3,
"bedroomDetails": [
{ "bedType": "king", "count": 1 },
{ "bedType": "single", "count": 2 }
],
"bathrooms": 2,
"maxGuests": 5,
"sizeSqm": 118,
"basePrice": 45000,
"cleaningFee": 25000,
"securityDeposit": 150000,
"minStay": 2,
"turnoverBlockDays": 0,
"weeklyCleaningIncluded": false,
"checkinTime": "15:00",
"checkoutTime": "11:00",
"instantBook": true,
"petsAllowed": false,
"tourUrl": "https://my.matterport.com/show/?m=…",
"permitNumber": "DTCM-12345",
"permitUrl": "https://…/verify/…",
"headline": "Full marina view from the 23rd floor",
"coverPhoto": "/static/photos/marina-stays/marina-loft-2br/cover.webp",
"photos": [
{ "url": "/static/photos/…/cover.webp", "srcset": "…", "alt": "Living room", "cover": true }
]
}
]
}
FieldNotes
statuspublished or draft (archived units are not returned)
basePriceNightly base price in minor units — seasons change the real nightly rate; use /rates or /quote
minStayBase minimum; seasonal rules can raise it per date range
bedroomDetailsPer-room sleeping arrangement (“Where you’ll sleep”); empty when not maintained
tourUrl3D walkthrough link (Matterport or similar); null when there is none
permitNumber / permitUrlDET holiday-home permit and its official verification link
petsAllowedPet-friendly — the booking form then asks which animals
photosOnly photos the public website shows; url and srcset are relative to https://api.myrentalcalendar.com
instantBookWhether the agency confirms bookings for these dates without manual review

Scope read:units. The full unit record — everything above plus description texts, house rules and the unit’s amenities:

{
"unit": {
"slug": "marina-loft-2br",
"…": "…",
"description": "…",
"houseRules": "…",
"amenities": [
{ "id": "0191e…", "name": "Sea view", "icon": "/static/amenities/…/sea-view.svg", "excluded": false },
{ "id": "0191f…", "name": "Parking", "icon": null, "excluded": true }
]
}
}

excluded: true means the agency marked the amenity as explicitly not available — the website shows it struck through. 404 NOT_FOUND for unknown slugs.

Scope read:units. The agency’s amenity catalogue — the vocabulary the per-unit lists draw from — with how many units have each entry:

{
"amenities": [
{ "id": "0191e…", "name": "Sea view", "icon": "/static/amenities/…/sea-view.svg", "sortOrder": 10, "unitCount": 14, "excludedCount": 2 }
]
}