How to Check Room Availability and Pricing
Before creating a booking, you must first check room availability for a specific property and then confirm the final pricing. These two steps ensure that the room is available and that the rate is locked in before you proceed to the booking stage.
Step 1: Check Room Availability
Endpoint
GET {{api_host}}/resorts/api/v2/properties/availability
Required Headers
| Header | Value | Required |
|---|
x-api-key | Your API key | Yes |
x-correlation-id | Unique correlation identifier | Yes |
Query Parameters
| Parameter | Type | Required | Description |
|---|
propertyid | string | Yes | The property ID from the search results |
checkin | string | Yes | Check-in date in YYYY-MM-DD format |
checkout | string | Yes | Check-out date in YYYY-MM-DD format |
currency | string | Yes | Three-letter ISO 4217 currency code |
recommendationid | string | Yes | The recommendation ID from the search results |
Example Request
GET {{apihost}}/resorts/api/v2/properties/availability?propertyid=RST-98765&checkin=2026-04-01&checkout=2026-04-07¤cy=USD&recommendation_id=rec-abc123
Example Response
JSON
{
"status": 200,
"data": [
{
"checkin_date": "2026-04-01",
"checkout_date": "2026-04-07",
"token": "tkn-xyz789",
"base_rate": 245,
"taxesandfees": 38.5,
"total_rate": 1710,
"kitchen_type": "full",
"max_occupancy": 6,
"room_name": "Oceanview Two-Bedroom Suite",
"recommendation_id": "rec-abc123",
"published_price": 1850
},
{
"checkin_date": "2026-04-01",
"checkout_date": "2026-04-07",
"token": "tkn-def456",
"base_rate": 195,
"taxesandfees": 30.75,
"total_rate": 1365,
"kitchen_type": "partial",
"max_occupancy": 4,
"room_name": "Garden View One-Bedroom",
"recommendation_id": "rec-abc123",
"published_price": 1500
}
]
}
Response Fields
| Field | Type | Description |
|---|
checkindate | string | Check-in date |
checkoutdate | string | Check-out date |
token | string | Room-specific token. Required for the pricing and booking steps. |
baserate | number | Nightly base rate |
taxesandfees | number | Total taxes and fees for the stay |
totalrate | number | Total cost for the entire stay |
kitchentype | string | Type of kitchen: "full", "partial", or "mini" |
maxoccupancy | number | Maximum number of guests the room accommodates |
roomname | string | Display name of the room type |
recommendationid | string | Recommendation identifier carried forward from search |
published_price | number | Original published rack rate |
Important Notes
- Each room in the response has its own
token. Save the token for the specific room the user selects — it is required for the pricing confirmation step. - Availability results are real-time but not held. Another guest could book the room between your availability check and your booking attempt. Always proceed to pricing confirmation promptly.
Step 2: Confirm Pricing
After the user selects a room, confirm the final pricing before creating a booking.
Endpoint
GET {{api_host}}/resorts/api/v2/properties/price
Required Headers
| Header | Value | Required |
|---|
x-api-key | Your API key | Yes |
x-correlation-id | Unique correlation identifier | Yes |
Query Parameters
| Parameter | Type | Required | Description |
|---|
checkin | string | Yes | Check-in date in YYYY-MM-DD format |
checkout | string | Yes | Check-out date in YYYY-MM-DD format |
propertyid | string | Yes | The property ID |
currency | string | Yes | Three-letter ISO 4217 currency code |
recommendationid | string | Yes | The recommendation ID from search |
token | string | Yes | The room-specific token from the availability response |
Example Request
GET {{apihost}}/resorts/api/v2/properties/price?checkin=2026-04-01&checkout=2026-04-07&propertyid=RST-98765¤cy=USD&recommendation_id=rec-abc123&token=tkn-xyz789
Example Response
JSON
{
"status": 200,
"data": {
"sessionId": "sess-001234",
"propertyId": "RST-98765",
"availability": [
{
"checkInDate": "2026-04-01",
"checkOutDate": "2026-04-07",
"baseRate": 245,
"taxesAndFees": 38.5,
"totalRate": 1710,
"currency": "USD",
"roomName": "Oceanview Two-Bedroom Suite",
"token": "tkn-xyz789",
"recommendationId": "rec-abc123",
"publishedPrice": 1850
}
]
}
}
Response Fields
| Field | Type | Description |
|---|
sessionId | string | Session identifier for this pricing confirmation |
propertyId | string | The property ID |
availability[].checkInDate | string | Check-in date |
availability[].checkOutDate | string | Check-out date |
availability[].baseRate | number | Confirmed nightly base rate |
availability[].taxesAndFees | number | Confirmed taxes and fees |
availability[].totalRate | number | Confirmed total rate for the stay |
availability[].currency | string | Currency code |
availability[].roomName | string | Room type name |
availability[].token | string | Room token |
availability[].recommendationId | string | Recommendation identifier |
availability[].publishedPrice | number | Published rack rate |
Important Notes
- Field naming convention — The pricing endpoint returns fields in camelCase (e.g.,
checkInDate, baseRate), unlike the availability endpoint which uses snakecase (e.g., checkindate, base_rate). Account for this difference in your integration. - Use the confirmed
totalRate — The pricing response reflects the final, confirmed rate. Always use this value (not the earlier availability or search rate) when creating the booking. If the total_rate in your booking request does not match, the API returns a 400 error.
Typical Flow
- Search — Find resort properties by destination and dates.
- Availability — Check which rooms are available at a specific property.
- Price — Confirm the final rate for the selected room.
- Book — Create a hold using the confirmed rate and token.