Change Booking Room Rate
POST /properties/{tenant_id}/bookings/{booking_id}/rooms/{room_id}/rate
Change the price of one room: per night, the same price for every night, and/or the room discount. Room totals, booking totals and accounting line items are recalculated the same way as editing the price in the PMS.
Scope Required: bookings:write
URL Parameters:
booking_id(required): The booking code. A group booking (master) code is accepted.room_id(required): The booking room UUID (booking_rooms[].idfrom Get Booking)
Body Parameters (JSON) — at least one of them:
days_breakdown(optional): Array of{ day: YYYY-MM-DD, price: number >= 0 }. Send only the nights to change — the other nights keep their current price. Eachdaymust be a night of the room’s stay (checkin_dateup to the day beforecheckout_date; for a same-day booking the only night ischeckin_date) and must not repeat.price_per_night(optional): Number >= 0 — the same price for every night. Cannot be combined withdays_breakdown.room_discount(optional): Number >= 0 — discount amount for this room. The effective discount (the one sent, or the room’s current discount when omitted) must not exceed the new room price (sum of nights) — lower it in the same request when lowering the price.- If the room has no stored nightly prices, send every night in
days_breakdown(or useprice_per_night); otherwise 422. days_breakdownaccepts at most 366 items.
Important Notes:
- Allowed room statuses:
reserved,confirmed,holding,checked_in. Others → HTTP 422BOOKING_ROOM_INVALID_STATUS. - Bookings from OTA channels are not blocked; the price on the OTA reservation itself is not changed.
- Partner webhook
booking.updatedis sent for the booking that owns the room.
Response (200): same shape as Get Booking Detail (GET /bookings/{booking_id}), for the booking_id in the URL. Only the main fields are listed below.
Error codes: BOOKING_ROOM_INVALID_STATUS (422, with checkin_status and booking_status), BOOKING_001 (400/500). Validation errors → HTTP 422 with errors.
Authorizations
Phần tiêu đề “Authorizations ”Parameters
Phần tiêu đề “ Parameters ”Path Parameters
Phần tiêu đề “Path Parameters ”Request Body required
Phần tiêu đề “Request Body required ”Đổi giá một phòng — POST /bookings/{booking_id}/rooms/{room_id}/rate.
Gửi days_breakdown (chỉ các đêm cần đổi — đêm còn lại giữ giá hiện tại) HOẶC
price_per_night (cùng giá cho mọi đêm), có thể kèm room_discount. Ít nhất một trường.
object
object
Responses
Phần tiêu đề “ Responses ”object
object
object
object
Validation error
object
Errors overview.
A detailed description of each field that failed validation.
object
Vui lòng không nhập tên, số điện thoại hay thông tin cá nhân của bạn hoặc của khách.
Hỗ trợ trực tiếp 8:00–22:00 hằng ngày, kể cả cuối tuần.