SET
RATES
Important: The SetRates() endpoint is only accessible to Availability Exchange partners who are Revenue Manager connection types. You will not have access to this endpoint with an OTA type connection to Availability Exchange.
SetRates()
SetRates() allows
Revenue Management Partners to set the rates for every unit in a unit group. Existing rates will be overwritten if fully covered by the specified rates.
Request
Endpoint
https://www.availabilityexchange.com/gateway/setrates
Parameters
None
Request Body
business_id (64-bit integer)
the unique identifier for the property
unit_group_id (64-bit integer)
the unique id for the unit group.
rates (list of objects)
Rate object:
rate (decimal)
the rate per night for units in the unit group
start (date YYYY-MM-dd)
the first date in the range to set
end (date YYYY-MM-dd)
the last date in the range to set (inclusive)
adults_included_in_rate (32-bit integer) (optional)*
the number of adults included in the price.
extra_adult_rate (decimal) (optional)*
the cost per additional adult beyond the adults_included_in_rate.
children_included_in_rate (32-bit integer) (optional)*
the number of children** (guest type 2) included in the price.
extra_child_rate (decimal) (optional)*
the cost per additional child (guest type 2) beyond the children_included_in_rate.
guest_3_included_in_rate (32-bit integer) (optional)*
the number of additional guest type 3 included in the price.
extra_guest_3_rate (decimal) (optional)*
the cost per additional additional guest type 3 beyond the guest_3_included_in_rate.
guest_4_included_in_rate (32-bit integer) (optional)*
the number of additional guest type 4 included in the price.
extra_guest_4_rate (decimal) (optional)*
the cost per additional additional guest type 4 beyond the guest_4_included_in_rate.
guest_5_included_in_rate (32-bit integer) (optional)*
the number of additional guest type 5 included in the price.
extra_guest_5_rate (decimal) (optional)*
the cost per additional additional guest type 5 beyond the guest_5_included_in_rate.
guest_6_included_in_rate (32-bit integer) (optional)*
the number of additional guest type 6 included in the price.
extra_guest_6_rate (decimal) (optional)*
the cost per additional additional guest type 6 beyond the guest_6_included_in_rate.
* Omitting extra guest rates and capacities: As of February 2026, if extra guest rates and capacities are omitted, the system will attempt to set them based on existing rates the property set up that covers the request. If no rate is found or the matching rate doesn't have rates or capacities set up, it will then default to 0.
For example, if a request setting the rate for October 10, 2027 to 300.57 is made with no additional guest information but the property includes 3 adults with an extra cost of 20 per adult during October, the rate of 300.57 will automatically adjust to have 3 adults and an extra cost of 20 per adult. This only occurs when the value in the request is null.
**NOTE: businesses can set custom definitions for their extra guests, and may be utilizing "children" as some other guest tracker, such as pets or vehicles. Guest types 3-6 will always have a custom definition that may vary from property to property. Extra guest types may optionally apply to the overall occupancy, so a group with an adult guest capacity of 4 may have a reservation with 6 Pets (potentially extra_guest_3) if Pets do not apply to the overall occupancy.
AE Gateway endpoints will receive updates to report on extra guest details in the future such as the custom names, individual maximum capacities, and whether or not capacities apply to occupancy, but setting rates for additional guest types is functional now.
Request Example
>curl -X POST https://www.availabilityexchange.com/gateway/setrates
--user username:accesskey
-H 'Content-Type: application/json'
-d '{
"unit_group_id": 18128,
"business_id": 16609,
"rates": [
{
"rate": 65.50,
"start": "2024-10-13",
"end": "2024-10-13",
"extra_adult_rate": 10.0,
"adults_included_in_rate": 2,
"extra_child_rate": 5,
"children_included_in_rate": 1,
"extra_guest_4_rate": 2,
"guest_4_included_in_rate": 5
},
{
"rate": 70.50,
"start": "2024-10-14",
"end": "2024-10-17",
"adults_included_in_rate": 4
},
{
"rate": 90.50,
"start": "2024-10-18",
"end": "2024-10-19",
"adults_included_in_rate": 4
}
]
}'
Response
response_errors (See Response Errors)
business_id, unit_group_id,
etc
the fields used in the request will be returned in the response
success
(boolean)
the result of whether the set rates was successful. False may denote a validation failure which will result in no rates created (including the valid rates) or it may denote that the process failed partway through creating the rates, which may result in some of the rates being formed and others not.
Response Example
{
"unit_group_id": 18128,
"business_id": 16609,
"rates": [
{
"rate": 65.50,
"start": "2024-10-13",
"end": "2024-10-13",
"extra_adult_rate": 10.0,
"adults_included_in_rate": 2,
"extra_child_rate": 5.0,
"children_included_in_rate": 1,
"extra_guest_3_rate": 0.0,
"guest_3_included_in_rate": 4,
"extra_guest_4_rate": 2.0,
"guest_4_included_in_rate": 5,
"extra_guest_5_rate": 0.0,
"guest_5_included_in_rate": 4,
"extra_guest_6_rate": 0.0,
"guest_6_included_in_rate": 4
},
{
"rate": 70.50,
"start": "2024-10-14",
"end": "2024-10-17",
"extra_adult_rate": 0.0,
"adults_included_in_rate": 4,
"extra_child_rate": 0.0,
"children_included_in_rate": 4,
"extra_guest_3_rate": 0.0,
"guest_3_included_in_rate": 4,
"extra_guest_4_rate": 0.0,
"guest_4_included_in_rate": 4,
"extra_guest_5_rate": 0.0,
"guest_5_included_in_rate": 4,
"extra_guest_6_rate": 0.0,
"guest_6_included_in_rate": 4
},
{
"rate": 90.50,
"start": "2024-10-18",
"end": "2024-10-19",
"extra_adult_rate": 0.0,
"adults_included_in_rate": 4,
"extra_child_rate": 0.0,
"children_included_in_rate": 4,
"extra_guest_3_rate": 0.0,
"guest_3_included_in_rate": 4,
"extra_guest_4_rate": 0.0,
"guest_4_included_in_rate": 4,
"extra_guest_5_rate": 0.0,
"guest_5_included_in_rate": 4,
"extra_guest_6_rate": 0.0,
"guest_6_included_in_rate": 4
}
],
"success": true,
"response_errors": []
}
Response Errors
200
response_errors (list of strings)
- The start date is after the end date
- Rates must be greater than 0
- The query cannot contain dates before today
- extra_adult_rate should be greater than 0 or omitted
401
The credentials supplied are incorrect or you do not have access to this resource
500
Something went wrong (Internal Server Error)
503
Server in maintenance mode
Response Error Example
>curl -X POST https://availabilityexchange.com/gateway/setrates
--user username:accesskey
-H 'Content-Type: application/json'
-d '{
"unit_group_id": 18128,
"business_id": 16609,
"rates": [
{
"rate": 65.50,
"start": "2024-10-15",
"end": "2024-10-13",
"extra_adult_rate": 10.0,
"adults_included_in_rate": 2
},
]
}
RESPONSE:
{
"unit_group_id": 18128,
"business_id": 16609,
"rates": [
...
],
"success": false,
"response_errors": [
"The start date is after the end date"
]
}
