Method to externally manage rate pricing
/manage/rates
/manage/rates/{rateid}
This method is only accessible using a Hotelier API account.
This method is only accessible using a GET request.
This method should be called only for user-initiated actions.
Scheduled (automated) calls on this method are only allowed if they happen a few times per day.
This method is NOT a replacement of channel-management functionality.
This method should NOT be used to feed 3rd-party systems without our consent.
API usage is closely monitored and improper usage will result in a ban.
| NAME | TYPE | RANGE / SET | REQUIRED | DEFAULT | EXAMPLE | NOTES |
|---|---|---|---|---|---|---|
| from | date (ISO 8601) | * | YES | – | &from=2025-11-04 | |
| to | date (ISO 8601) | today + 3 years | YES | – | &to=2026-11-04 | |
| rooms | string | varchar(4000) | NO | – | &rooms=DBL,SUITE,FAM | Comma separated list of room codes. Ignored if {rateid} is not specified. |
The feed for all rates has the following structure:
{
"RATECODE": [
{
"from":ISO 8601, // Start of date range, mutually exclusive with "date"
"to":ISO 8601, // End of date range, mutually exclusive with "date"
"date":ISO 8601, // Single-date record, mutually exclusive with "from" and "to"
"pricing":
[
{
"adults":INTEGER
"children":INTEGER
"price":MONEY
}
],
"closeout": 1, // 1=Rate is closed, missing means rate is open
"min_stay": 4 // >1=Minimum stay enforced, missing means there is no minimum stay (1)
}
]
}
The feed for a specific rate has the following structure:
[
{
"from":ISO 8601, // Start of date range, mutually exclusive with "date"
"to":ISO 8601, // End of date range, mutually exclusive with "date"
"date":ISO 8601, // Single-date record, mutually exclusive with "from" and "to"
"pricing":
[
{
"adults":INTEGER
"children":INTEGER
"price":MONEY
}
],
"closeout": 1, // Single-date record, mutually exclusive with "from" and "to"
"min_stay": 4 // Single-date record, mutually exclusive with "from" and "to"
}
]
Response example for All Rates request.
{
"254903": [
{
"from": "2025-03-20",
"to": "2025-03-30",
"min_stay": 2,
"pricing": [
{
"adults": 1,
"children": 0,
"price": 200
},
{
"adults": 2,
"children": 0,
"price": 250
}
]
}
],
"256510": [
{
"from": "2025-03-20",
"to": "2025-03-27",
"min_stay": 2,
"pricing": [
{
"adults": 1,
"children": 0,
"price": 100
},
{
"adults": 2,
"children": 0,
"price": 125
},
{
"adults": 2,
"children": 1,
"price": 135
},
{
"adults": 3,
"children": 0,
"price": 150
}
]
},
{
"from": "2025-03-28",
"to": "2025-03-30",
"pricing": [
{
"adults": 1,
"children": 0,
"price": 100
},
{
"adults": 2,
"children": 0,
"price": 125
},
{
"adults": 2,
"children": 1,
"price": 135
},
{
"adults": 3,
"children": 0,
"price": 150
}
]
}
],
"257909": [
{
"from": "2025-03-20",
"to": "2025-03-30",
"pricing": [
{
"adults": 1,
"children": 0,
"price": 75
},
{
"adults": 2,
"children": 0,
"price": 100
},
{
"adults": 2,
"children": 1,
"price": 110
},
{
"adults": 2,
"children": 2,
"price": 120
},
{
"adults": 3,
"children": 0,
"price": 125
},
{
"adults": 3,
"children": 1,
"price": 135
},
{
"adults": 4,
"children": 0,
"price": 150
}
]
}
]
}
Response example for Single Rate request.
[
{
"from": "2025-03-20",
"to": "2025-03-30",
"min_stay": 2,
"pricing": [
{
"adults": 1,
"children": 0,
"price": 200
},
{
"adults": 2,
"children": 0,
"price": 250
}
]
}
]