Skip to content

Rate calendar

POST
/api/public/{managingEntityIdentifier}/inventory/period
curl --request POST \
--url 'https://api.wink.travel/api/public/d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69/inventory/period?customizationIdentifier=2c5b9e3a-7f1d-4a8c-b6e2-0d4f1a9b3c72' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Wink-Version: 2.0' \
--data '{ "periodInDays": 5, "adults": 2, "language": "en", "currency": "USD" }'

Return the best available rate for every check-in/check-out date-range combination for a property.

managingEntityIdentifier
required
string
""

Managing entity identifier

Example
d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69
customizationIdentifier
string
""

Booking engine customization identifier; when omitted the managing entity’s default configuration is used

Example
2c5b9e3a-7f1d-4a8c-b6e2-0d4f1a9b3c72
Wink-Version
string
default: 2.0.0
Allowed values: 2.0

Rate calendar request containing the hotel identifier and the date range to calculate best available rates for each night

Media type application/json
object
hotelIdentifier
required

The property to query for.

string
"" >= 1 characters
startDate
required

Start of period.

string format: date
""
periodInDays

The period to query within.

integer format: int32
default: 5 >= 2 <= 30
adults

The period to query within.

integer format: int32
default: 2 >= 1 <= 10
language
required

The language to display room type name.

string
default: en >= 1 characters
currency

The currency to display prices in.

string
default: USD >= 3 characters <= 3 characters
ratePlanNameMatchesRegEx

A regular expression to apply to the rate plan name

string
""
Example
{
"periodInDays": 5,
"adults": 2,
"language": "en",
"currency": "USD"
}

OK

Media type application/json

Aggregate response containing best available rates for a property across a date range period.

object
hotelIdentifier
required

The property to query for.

string
"" >= 1 characters
name
required

The property name.

string
"" >= 1 characters
adults
required

The actual amount of adults as determined by the hotel’s policy

integer format: int32
""
internetIncluded

Utilify flag to verify whether this property has internet

boolean
parkingIncluded

Utilify flag to verify whether this property has parking

boolean
list
required
Array<object>

List of rates for requested period.

object
room
required

The room type.

object
identifier
required

Unique record identifier

string format: uuid
"" >= 1 characters
name
required

Internal name of inventory.

string
"" >= 1 characters
maxOccupancy
required

Maximum number of guest allowed in a room type.

integer format: int32
default: 2 >= 1
startDate
required

SimpleDateTimeItinerary startDate

string format: date
""
endDate
required

SimpleDateTimeItinerary endDate

string format: date
""
roomNights
required

Number of nights the guests will be staying

integer format: int32
""
available
required

Utilify flag to verify whether this rate is available

boolean
refundable
required

Utilify flag to verify whether this rate is refundable

boolean
breakfastIncluded
required

Utilify flag to verify whether this rate is includes breakfast

boolean
price
object
userSpecifiedCurrencyTotal

Total amount with any extra charges included

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
sourceTotal

Source total amount with any extra charges included

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
{
"hotelIdentifier": "the-siam-residences",
"name": "The Siam Residences",
"adults": 2,
"children": 0,
"internetIncluded": true,
"parkingIncluded": false,
"list": [
{
"room": {
"identifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"name": "Deluxe Garden View Room",
"maxOccupancy": 2
},
"adults": 2,
"children": 0,
"startDate": "2026-01-14",
"endDate": "2026-01-17",
"roomNights": 3,
"available": true,
"refundable": true,
"breakfastIncluded": false,
"price": {
"userSpecifiedCurrencyTotal": {
"amount": 450,
"currency": "USD"
},
"sourceTotal": {
"amount": 15750,
"currency": "THB"
}
}
}
]
}

Bad Request — missing or invalid request parameter or body

Media type application/problem+json
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
key
additional properties
""
Example

Unauthorized — authentication is required or the session has expired

Media type application/problem+json
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
key
additional properties
""
Example

Forbidden — authenticated but lacking the required permission or scope

Media type application/problem+json
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
key
additional properties
""
Example

Not Found — the requested resource does not exist

Media type application/problem+json
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
key
additional properties
""
Example

Method Not Allowed — the HTTP verb is not supported on this endpoint

Media type application/problem+json
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
key
additional properties
""
Example

Unsupported Media Type — use application/json

Media type application/problem+json
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
key
additional properties
""
Example

Internal Server Error — an unexpected failure occurred on the server

Media type application/problem+json
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
key
additional properties
""
Example

Service Unavailable — a downstream dependency is unreachable

Media type application/problem+json
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
key
additional properties
""
Example