This endpoint is used to update pricing and terms of a given room. The pricing attributes include the currency code, basic pricing (nightly price, weekend price), long-term pricing (monthly price), additional costs (additional guests fee, cleaning fee and security fee), the number of standard guests, the maximum and minimum days of staying. The term attributes include the cancellation policy (Flexible or Moderate), check-in/check-out time and the booking policy (Instant Book or Request To Book).
For currency parameters, the format should follow some simple rules:
currency_code
attribute. For example, use 150 rather than $150.,
for thousand places and .
for
decimal places. Decimal places shouldn't be used for VND currency.VND: 150000 / 150,000
USD: 1234 / 1234.56 / 1,234.56
The currency parameters include:
nightly_price
weekend_price
monthly_price
additional_guests_fee
cleaning_fee
security_fee
Method | URI | Headers |
---|---|---|
POST | /api/rooms/{room}/pricing | Authorization: Bearer <token> Accept: application/json |
Param | Description | Type | Required |
---|---|---|---|
nightly_price | The basic price for a single night. The minimum value should be 1. This price is applied from Monday through Thursday. | Numeric (currency) | Yes |
weekend_price | The basic price for weekend. The minimum value should be 0. This price is applied for Friday, Saturday and Sunday. | Numeric (currency) | Yes |
monthly_price | The monthly price. The minimum value should be 0. This price is applied when booking duration exceeds 30 days. | Numeric (currency) | Yes |
additional_guests_fee | The price for additional guests compared to booking point. The minimum value should be 0. | Numeric (currency) | Yes |
cleaning_fee | The cleaning fee. The minimum value should be 0. | Numeric (currency) | Yes |
security_fee | The security fee. The minimum value should be 0. | Numeric (currency) | Yes |
standard_guests | The number of standard guests. | Integer | Yes |
minimum_stay | The minimum number of nights of staying. | Integer | Yes |
maximum_stay | The maximum number of nights of staying. It should be greater than the minimum_stay . | Integer | No |
currency_code | The currency code. Can be VND or USD. | String | Yes |
cancellation_policy | The booking cancellation policy. Can be Flexible or Moderate. | String | Yes |
booking_type | The booking type. Can be instant_book or request_to_book. | String | Yes |
Param | Description | Type | Required |
---|---|---|---|
{room} | The ID of a given room. | Integer | Yes |
Example request
curl \
--request POST \
--url https://api.luxstay.com/api/rooms/10000/pricing \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <token>' \
--form 'nightly_price=650,000' \
--form 'monthly_price=550,000' \
--form weekend_price=0 \
--form 'cleaning_fee=250,000' \
--form 'security_fee=150,000' \
--form 'additional_guests_fee=200,000' \
--form standard_guests=5 \
--form cancellation_policy=Flexible \
--form booking_type=instant_book \
--form minimum_stay=5 \
--form maximum_stay=12 \
--form currency_code=VND
Example response
{
"data": {
"room_id": 10000,
"nightly_price": 650000,
"monthly_price": 550000,
"weekend_price": 650000,
"cleaning_fee": 250000,
"security_fee": 150000,
"additional_guests_fee": 200000,
"currency_code": "VND",
"standard_guests": 5,
"cancellation_policy": "Flexible",
"booking_type": "instant_book",
"checkin_time": "2:0 PM",
"checkout_time": "12:00 PM",
"minimum_stay": "5",
"maximum_stay": "12"
}
}
Reason invalid access token
Example response
{
"message": "Unauthenticated."
}
Reason unauthorized to update pricing information of a room
Example response
{
"message": "You are not allowed to access or change information associated with this room."
}
Reason cannot find the given room
Example response
{
"message": "Cannot find the given room"
}
Reason validation errors
Example response
{
"message": "The given data was invalid.",
"errors": {
"nightly_price": [
"The nightly price must be at least 1."
]
}
}
{
"message": "The given data was invalid.",
"errors": {
"maximum_stay": [
"The maximum stay must be greater than or equal 5."
]
}
}
{
"message": "The given data was invalid.",
"errors": {
"booking_type": [
"The selected booking type is invalid."
]
}
}
{
"message": "The given data was invalid.",
"errors": {
"cancellation_policy": [
"The selected cancellation policy is invalid."
]
}
}