Booking/postRoomAssignment
PMS v1 facade method. Tell Quendoo which physical room number
was assigned to a booking item (and optionally the guest's self-
check-in keypad code). Purely informational — Quendoo displays it
on the booking, and logs a sync_room_assignment customer event.
Cutover status: legacy answers, port pending.
Request
POST https://api.quendoo.com/api/pms/v1/booking/postRoomAssignment?api_key=…
Content-Type: application/json
{
"booking_id": 161345,
"booking_item_id": 4211,
"room_number": "217",
"self_checkin_code": "5810"
}
Payload
| Field | Type | Required | Notes |
|---|---|---|---|
booking_id |
int | yes | The booking. Must belong to a booking the caller already knows via getBookings. |
booking_item_id |
int | yes | The item on that booking. |
room_number |
string | yes | The physical room number your PMS just assigned. |
self_checkin_code |
string | no | Keypad / lock code for self check-in. |
Errors
| Status | message |
When |
|---|---|---|
| 400 | Bad request data! |
Any of booking_id / booking_item_id / room_number missing. |
| 400 | Error when try to post room assignment! |
The underlying updatePmsDetailsOnly write threw. Look at the X-Support-Ticket header on the error response — the incident is already logged. |
| 404 | Missing booking! |
Booking id is not in the caller's export table (i.e. never got sent through getBookings). |
| 404 | Missing booking item! |
Item id is not on this booking. |
Response
{ "message": "Success" }
Semantics
- Legacy sets
pms_detailson the booking item ONLY — it does not togglepms_status. A subsequentackBookingstill needs to run to close the revision. - Repeated calls overwrite the previous
room_number/self_checkin_code. Late reassignments are supported by design. - A
sync_room_assignmentevent lands incustomers_events_lognaming the pms code, the booking id, and the item id. Visible on the property's activity timeline.
Notes
room_numberis a free-form string — Quendoo treats floor suffixes, letters and dashes verbatim (217-B,4L,Suite 3).- Sending only
booking_id + booking_item_id(noroom_number) is a 400, not a way to clear an assignment. To clear, send an empty string; legacy stores it.