Availability/getAvailability
PMS v1 facade method. Read the free-capacity calendar (rooms offered − rooms booked, per date, per room) between two dates. Used to reconcile inventory when your PMS suspects drift.
Cutover status: legacy answers, port pending.
Request
GET https://api.quendoo.com/api/pms/v1/availability/getAvailability
?api_key=…
&date_from=2027-02-01
&date_to=2027-02-14
&sysres=qdo # 'qdo' → keys by legacy room_id; 'ext' → keys by your PMS's ext_id
&room_id=4211 # optional — single room, mutually exclusive with ext_room_id
Query params
| Param | Type | Required | Notes |
|---|---|---|---|
date_from |
YYYY-MM-DD |
yes | Inclusive. |
date_to |
YYYY-MM-DD |
yes | Inclusive. |
sysres |
qdo | ext |
yes | The system whose ids you want as top-level keys in the response. |
room_id |
int | no | Restrict to one legacy room. Exclusive with ext_room_id. |
ext_room_id |
string | no | Restrict to your PMS's mapped id. Exclusive with room_id. |
Errors
| Status | message |
When |
|---|---|---|
| 400 | Missing/Invalid required request data! |
Any of date_from / date_to / sysres missing, or sysres not in qdo/ext. |
| 400 | Both parameters 'room_id', 'ext_room_id' can't be set at the same time! |
Both ids given. |
| 404 | Can't find room id for the given ext room id! |
ext_room_id not mapped. |
Response
{
"data": {
"4211": { "2027-02-01": 5, "2027-02-02": 5, "2027-02-03": 3 },
"4212": { "2027-02-01": 0, "2027-02-02": 0, "2027-02-03": 0 }
}
}
Top-level keys are room ids in the system named by sysres. Inner
keys are dates in YYYY-MM-DD; values are the free capacity that
day — qty_offered - qty_booked, floored at zero, and zero when the
room is closed for sale that day.
Notes on sysres=ext
- Rooms without an
ext_idmapping for the caller are silently omitted from the response — no error, they just don't appear. A partner that expects a room key must handle a missing key too. - The mapping is resolved from
PropertyMapping::getMappedRoomByQdoIdat read time; a room you mapped this morning is queryable this afternoon.
Notes
getRoomAvailabilityCalendarreturns one row per(room, date)withqty_offered,qty_booked,is_opened. This endpoint collapses that to a single free-capacity int.- No pagination — a 366-day request for a 300-room property returns 110k inner keys. Prefer daily or weekly windows.