Skip to content

Search

POST
/api/managing-entity/{managingEntityIdentifier}/extranet/sales/inventory/grid
curl --request POST \
--url https://api.wink.travel/api/managing-entity/d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69/extranet/sales/inventory/grid \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Wink-Version: 2.0' \
--data null

Returns a paged, filtered and sorted page of inventory for the given property based on the supplied grid State (paging, sorting and filter criteria) in the request body.

managingEntityIdentifier
required
string
""

The property ID to retrieve inventory grid for

Example
d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69
Wink-Version
string
default: 2.0.0
Allowed values: 2.0

Filter grid by state request body

Media typeapplication/json

Pagination, sorting, filtering, and grouping state used to query a paged result set.

object
filter

Descriptors used for filtering result set

object
filters

Descriptors used for filtering the result set

Array<object>

A single field-level filter criterion that specifies what to match and how to compare it.

object
field
required

Field name to filter on

string
"" >= 1 characters
Example
hotel.name
ignoreCase

Make filter comparison case insensitive. Default: Case sensitive

boolean
Example
true
operator
required

Filter operator to use on field

string
""
Allowed values: neq eq contains doesnotcontain isnull isnotnull isempty isnotempty startswith endswith gte lte gt lt in nin
Example
startsWith
value

Value to filter dataset against

""
Example
Happy Res
Example
{
"field": "hotel.name",
"ignoreCase": true,
"operator": "startsWith",
"value": "Happy Res"
}
logic

Whether to filter inclusively or exclusively

string
""
Allowed values: and or
Example
and
Example
{
"filters": [
{
"field": "hotel.name",
"ignoreCase": true,
"operator": "startsWith",
"value": "Happy Res"
}
],
"logic": "and"
}
group

Descriptors to group result sets by.

Array<object>
""

Descriptor that defines how a result set should be grouped, including sort direction and optional aggregate calculations.

object
aggregates

Primitive aggregate data points

Array<object>

Descriptor that defines an aggregate function to apply to a specific field in a grouped result set.

object
aggregate

Aggregate function

string
""
Allowed values: count sum average min max
Example
count
field

Field to run aggregate function on

string
""
Example
hotel.bookings
Example
{
"aggregate": "count",
"field": "hotel.bookings"
}
dir

Group sort direction

string
""
Allowed values: asc desc
Example
asc
field

Field to group data set on

string
""
Example
createdDate
Example
{
"aggregates": [
{
"aggregate": "count",
"field": "hotel.bookings"
}
],
"dir": "asc",
"field": "createdDate"
}
skip

Number of records to be skipped by the pager.

integer format: int32
0
Example
0
sort

Descriptors used for sorting result set.

Array<object>
""

Descriptor that defines the sort direction and field for ordering a result set.

object
dir

Descriptors used for sorting result set

string
""
Allowed values: asc desc
Example
asc
field

Data set field to sort on

string
""
Example
hotel.name
Example
{
"dir": "asc",
"field": "hotel.name"
}
take

Number of records to take.

integer format: int32
default: 30 >= 1 <= 180
Example
10
Example
{
"filter": {
"filters": [
{
"field": "hotel.name",
"ignoreCase": true,
"operator": "startsWith",
"value": "Happy Res"
}
],
"logic": "and"
},
"group": [
{
"aggregates": [
{
"aggregate": "count",
"field": "hotel.bookings"
}
],
"dir": "asc",
"field": "createdDate"
}
],
"skip": 0,
"sort": [
{
"dir": "asc",
"field": "hotel.name"
}
],
"take": 10
}

Paginated inventory records matching the supplied filter criteria

Media typeapplication/json

Owned pagination envelope: a page of content plus flat page metadata.

object
content

The elements on this page.

Array<object>
""

Lightweight projection of a bookable inventory item, used by consumers outside the inventory module.

object
address
required

Defaults to property address.

object
address1

Address line 1

string
""
address2

Address line 2

string
""
city

City name

string
""
country

Country

string
""
countryCode

Country

string
"" /^[A-Z]{2}$/
county

County

string
""
fullAddress

Address 1, Address 2, City, State, Postal / Zip code, Country

string
""
postalCode

Postal / zip code

string
""
state

State

string
""
bookable
required

Whether inventory can be booked

boolean
default: true
commissionable
required

Whether this is commissionable or not

boolean
createdDate

Datetime this record was first created

string | null format: date-time
""
enabled
required

Whether this inventory is enabled or not

boolean
default: true
id

Unique identifier for this record.

string format: uuid
""
image
required

Main image of inventory

object
angle

Media angle

string
""
attribution

Whether image has attribution properties

Array<object>
""
object
name
required

Name of contributor

string
"" >= 1 characters
url

URL to contributor

string format: uri
""
category

Supported OTA specification PIC code. See OTA geoname data

string
""
descriptions

Localized media captions to give user some context about where this media was taken.

Array<object>
""

Foundation class for storing multi-language content (names and descriptions) with content change detection throughout the Wink Platform.

object
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
hashMismatch
boolean
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
md5ContentHash

The md5 hash of the name, description and language.

string
""
name
required

Use as title or short text description

string
""
height
required

Media height in pixels.

integer format: int32
"" >= 1
identifier
required

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
isLandscape

True if media width is greater or equal to height

boolean
lifestyleType

Associate this media with a specific lifestyle type. A user searching and filtering inventory based on lifestyles can be shown relevant media first.

string
""
Allowed values: LIFESTYLE_HEALTH_FITNESS LIFESTYLE_RELAX LIFESTYLE_ADULT_ONLY LIFESTYLE_ADVENTURE LIFESTYLE_BUSINESS LIFESTYLE_LGBT LIFESTYLE_SINGLE_PARENT LIFESTYLE_SOLO_FEMALE LIFESTYLE_BEAUTY LIFESTYLE_FOODIE LIFESTYLE_FAMILY LIFESTYLE_ROMANCE LIFESTYLE_COUPLE LIFESTYLE_SOLO LIFESTYLE_BACKPACKER LIFESTYLE_SHOPPING LIFESTYLE_SPORTS LIFESTYLE_MOUNTAIN LIFESTYLE_BEACH LIFESTYLE_CITY LIFESTYLE_COUNTRY LIFESTYLE_CULTURE LIFESTYLE_ECO
multimediaIdentifier
required

Document identifier

string format: uuid
"" >= 1 characters
published

Instead of deleting the media, choose to un-publish it instead for later re-use. Could be you keep seasonal images of the property.

boolean
sort
required

Sort allows you to control how you want to sort this record in a list of media records.

integer format: int32
default: 999
source
required

Currently ONLY using Cloudinary to store all image / video assets.

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

string
""
Allowed values: IMAGE VIDEO AUDIO RAW
width
required

Media width in pixels.

integer format: int32
"" >= 1
inventoryIdentifier
required

Inventory type identifier

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

Name of inventory as hotel is seeing it

string
"" >= 1 characters
inventoryNameInEnglish
required

Name of inventory as traveler is seeing it

string
"" >= 1 characters
inventoryType
required

Inventory type

string
""
Allowed values: GUEST_ROOM ADD_ON MEETING_ROOM RESTAURANT SPA ATTRACTION PLACE ACTIVITY
lastUpdate

Datetime this record was last updated

string | null format: date-time
""
location
required

Location

object
coordinates
Array<number>
type
string
x
number format: double
y
number format: double
lowestDisplayPrice

Best price of the room type or facility ancillary in platform currency

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

Best price of the room type or facility ancillary

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

Level of expensiveness.

string
default: THREE
Allowed values: HALF ONE ONE_HALF TWO TWO_HALF THREE THREE_HALF FOUR FOUR_HALF FIVE
quantity
required

Quantity

integer format: int32
0
salesChannel
required

Parent sales channel

object
blacklisted
required

A way to blacklist a specific channel a property doesn’t want to send blocking to.

boolean
channelDisabled

System override by supplier to disable channel. E.g. Platform disables supplier.

boolean
commission

Amount of sales commission earned through this channel and all its children [unless configured at the child level].

number format: float
"" <= 1
createdDate

Datetime this record was first created

string | null format: date-time
""
enabled

Flag the supplier can use to enable / disable this channel

boolean
default: true
id
required

Unique identifier for this record.

string format: uuid
"" >= 1 characters
lastUpdate

Datetime this record was last updated

string | null format: date-time
""
ownerIdentifier

A specific identifier for the company / corporation / travel agency that is retrieving the rates

string format: uuid
""
ownerName

Name of the owner / affiliate. Hotel booking customization when it’s the booking customization.

string
""
percentDiscount

Percent discount on this channel and all its children [unless configured at the child level].

number format: float
"" <= 1
rateModifierBundles

Promotion bundles for this channel

Array<object>

A lightweight projection of a promotion bundle containing the full set of qualifying conditions and metadata.

object
aggregatedItemDescriptions
Array<object>

Simplified localized description containing text content and its language code.

object
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
hashMismatch
boolean
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
md5ContentHash

The md5 hash of the name, description and language.

string
""
createdDate

Datetime this record was first created

string | null format: date-time
""
descriptions

Optional bundle-level descriptions. When populated, these replace the aggregated item descriptions in offerDetails.

Array<object>
""

Simplified localized description containing text content and its language code.

object
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
hashMismatch
boolean
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
md5ContentHash

The md5 hash of the name, description and language.

string
""
effectiveDescriptions
Array<object>

Simplified localized description containing text content and its language code.

object
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
hashMismatch
boolean
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
md5ContentHash

The md5 hash of the name, description and language.

string
""
enabled
required

Whether this promotion ancillary is enabled or not.

boolean
default: true
hasFixedDiscountModifier
boolean
hasPercentDiscountModifier
boolean
hotelIdentifier
required

Hotel identifier.

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

Unique identifier for this record.

string format: uuid
"" >= 1 characters
isValid
boolean
items
required
Array<object>
>= 1 items

Promotions that go together to make up this ancillary.

object
addOnIdentifiers
Array<string>
advanceBookingRateQualifier

Restrict promotion to users who want to book in advance.

object
maxAdvanceBookingOffset

Maximum days in advance of stay start date when the booking may be made. Set to 0 for no maximum.

integer format: int32
""
minAdvanceBookingOffset

Minimum days in advance of stay start date when the booking must be made. Set to 0 for no minimum.

integer format: int32
""
arrivalDaysOfWeekRateQualifier

Restrict promotion to specific days of the week the guest is arriving.

object
daysOfWeek
required

The days of the week when this rate is available for guests to arrive on

object
disabled

Convenience property to quickly determine if this existing object has any active days enabled.

boolean
fri

Set to true to enable Friday.

boolean
mon

Set to true to enable Monday.

boolean
sat

Set to true to enable Saturday.

boolean
sun

Set to true to enable Sunday.

boolean
thu

Set to true to enable Thursday.

boolean
tue

Set to true to enable Tuesday.

boolean
wed

Set to true to enable Wednesday.

boolean
availableDaysOfWeekRateQualifier

Restrict promotion to specific days of the week the promotion is available.

object
daysOfWeek
required

The days of the week when this rate is available for booking

object
disabled

Convenience property to quickly determine if this existing object has any active days enabled.

boolean
fri

Set to true to enable Friday.

boolean
mon

Set to true to enable Monday.

boolean
sat

Set to true to enable Saturday.

boolean
sun

Set to true to enable Sunday.

boolean
thu

Set to true to enable Thursday.

boolean
tue

Set to true to enable Tuesday.

boolean
wed

Set to true to enable Wednesday.

boolean
blackoutDates
Array<object>

A date range during which a promotion is not available (blackout period).

object
effectiveDate
required

Start date when the promotion is not available (inclusive).

string format: date
""
expireDate
required

End date when the promotion is not available (inclusive).

string format: date
""
cityRateQualifiers
Array<object>

Qualifier that restricts a promotion to guests whose IP geolocation resolves to a specific city.

object
city
required

City details (obtained via geonames) to restrict the promotion by guest location.

object
cityName
required

City name

string
"" >= 1 characters
continentCode
required

Continent code

string
"" >= 1 characters
continentName
required

Continent name

string
"" >= 1 characters
countryIsoCode
required

Country ISO code

string
"" >= 1 characters /^[A-Z]{2}$/
countryName
required

Country name

string
"" >= 1 characters
geoNameId
required

GeoNameLightweight identifiers taken from https://geonames.org.

string
"" >= 1 characters
localeCode
required

Locale code

string
"" >= 1 characters /^[a-z]{2}(-[A-Z]{2})?$/
subDivision1Code

Sub-division 1 code

string
""
subDivision1Name

Sub-division 1 name

string
""
subDivision2Code

Sub-division 2 code

string
""
subDivision2Name

Sub-division 2 name

string
""
timezone
required

Timezone

string
"" >= 1 characters
continentRateQualifiers
Array<object>

Qualifier that restricts a promotion to guests whose IP geolocation resolves to a specific continent.

object
continent
required

Two-letter continent code (e.g. NA, EU, AS)

string
"" >= 1 characters
countryRateQualifiers
Array<object>

Qualifier that restricts a promotion to guests whose IP geolocation resolves to a specific country.

object
country
required

Country (obtained via geonames) to restrict the promotion by guest location.

object
continentCode

Continent code (two-letter ISO)

string
""
continentName

Continent name

string
""
countryIsoCode

Country ISO 3166-1 alpha-2 code

string
"" /^[A-Z]{2}$/
countryName

Country name

string
""
geoNameId

GeoNames identifier

string
""
createdDate

Datetime this record was first created

string | null format: date-time
""
departureDaysOfWeekRateQualifier

Restrict promotion to specific days of the week the guest is departing.

object
daysOfWeek
required

The days of the week when the guest is allowed to depart

object
disabled

Convenience property to quickly determine if this existing object has any active days enabled.

boolean
fri

Set to true to enable Friday.

boolean
mon

Set to true to enable Monday.

boolean
sat

Set to true to enable Saturday.

boolean
sun

Set to true to enable Sunday.

boolean
thu

Set to true to enable Thursday.

boolean
tue

Set to true to enable Tuesday.

boolean
wed

Set to true to enable Wednesday.

boolean
descriptions
required
Array<object>
>= 1 items

Simplified localized description containing text content and its language code.

object
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
hashMismatch
boolean
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
md5ContentHash

The md5 hash of the name, description and language.

string
""
enabled
required

Whether this promotion is enabled or not.

boolean
default: true
geoLocationRateQualifiers
Array<object>

Qualifier that restricts a promotion to guests within a circular geographic area defined by a center point and radius.

object
latitude
required

Latitude of the center point for the geo-location radius check.

number format: double
""
longitude
required

Longitude of the center point for the geo-location radius check.

number format: double
""
radiusInKilometers
required

Radius in kilometers around the center point within which the guest must be located.

integer format: int32
""
hotelIdentifier
required

Unique identifier of the property this promotion belongs to.

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

Unique identifier for this record.

string format: uuid
"" >= 1 characters
ipRangeRateQualifiers
Array<object>

Qualifier that restricts a promotion to guests whose IP address falls within a specified IPv4 range.

object
endIPRange
required

Ending IP address of the range (inclusive).

string
"" >= 1 characters
startIPRange
required

Starting IP address of the range (inclusive).

string
"" >= 1 characters
lastMinuteRateQualifier

Restrict promotion to users who want to book a room close to the date.

object
seconds
required

Number of seconds before the arrival date when the promotion becomes active (last-minute bookings).

integer format: int64
""
lastUpdate

Datetime this record was last updated

string | null format: date-time
""
lengthOfStayRateQualifier

Restrict promotion to users who want to stay a certain number of days.

object
maxLOS
required

Maximum number of nights. Set to 0 for no maximum.

integer format: int32
""
minLOS
required

Minimum number of nights for promotion to apply. Set to 0 for no minimum.

integer format: int32
""
masterRateIdentifiers
Array<string>
modifier
required

The discount or premium amount and its type (fixed or percentage).

object
fixedAmount

A localized amount, always non-negative. Direction (surcharge vs. discount) is determined by which field this charge is assigned to, not the sign of this value.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

A fraction between 0 and 1 (inclusive) representing a percentage of the total stay amount for an early check-in or late check-out, e.g. 0.25 for 25%. Direction (surcharge vs. discount) is determined by which field this charge is assigned to, not the sign of this value.

number format: float
"" <= 1
type
required

When the type is FIXED, fixedAmount is required. When the type is PERCENTAGE, percent is required.

string
""
Allowed values: FIXED PERCENTAGE
name
required

Internal name of promotion.

string
"" >= 1 characters
prepayRateQualifier

Restrict promotion to either prepaid / non-prepaid rates.

object
prepay
required

True to apply only to prepaid rates, false to apply only to pay-at-property rates.

boolean
pricingType
required

This determines whether this discount should be applied per night, per stay or per person - per night

string
""
Allowed values: PER_STAY PER_DAY PER_NIGHT PER_USE PER_HOUR PER_PERSON PER_PERSON_PER_NIGHT PER_PERSON_PER_HOUR PER_ADULT PER_ADULT_PER_NIGHT PER_ADULT_PER_HOUR PER_CHILD PER_CHILD_PER_NIGHT PER_CHILD_PER_HOUR
promotionRateQualifiers
Array<object>

Qualifier that restricts a promotion to guests who enter a specific promotional code at checkout.

object
promotion
required

Promo code that guests must enter to access this promotion.

string
"" >= 1 characters
ratePlanIdentifiers
Array<string>
refundableRateQualifier

Restrict promotion to either refundable / non-refundable rates.

object
refundable
required

True to apply only to refundable rates, false to apply only to non-refundable rates.

boolean
requiredDaysOfWeekRateQualifier

Restrict promotion to specific days of the week the guest has to stay.

object
daysOfWeek
required

The days of the week the user has to stay on to get this rate

object
disabled

Convenience property to quickly determine if this existing object has any active days enabled.

boolean
fri

Set to true to enable Friday.

boolean
mon

Set to true to enable Monday.

boolean
sat

Set to true to enable Saturday.

boolean
sun

Set to true to enable Sunday.

boolean
thu

Set to true to enable Thursday.

boolean
tue

Set to true to enable Tuesday.

boolean
wed

Set to true to enable Wednesday.

boolean
roomRangeRateQualifier

Restrict promotion by restricting to how many rooms the user wants.

object
maxRooms

Maximum number of rooms in the booking. Leave null or 0 for no upper limit.

integer format: int32
""
minRooms
required

Minimum number of rooms in the booking for this promotion to apply.

integer format: int32
"" >= 1
sellDateRateQualifiers
Array<object>

Qualifier that restricts a promotion to bookings made within a specific date window.

object
effectiveDate
required

Promotion is available when the booking is made on or after this date (inclusive).

string format: date
""
expireDate
required

Promotion is available when the booking is made on or before this date (inclusive).

string format: date
""
stayDateRateQualifiers
Array<object>

Rate qualifier that restricts a promotion to guests whose stay falls within a specific date range.

object
effectiveDate
required

Promotion applies when guest’s stay starts on or after this date (inclusive).

string format: date
""
expireDate
required

Promotion applies when guest’s stay starts on or before this date (inclusive).

string format: date
""
timezoneRateQualifiers
Array<object>

Qualifier that restricts a promotion to guests whose system timezone matches the specified IANA timezone name.

object
timezone
required

IANA timezone name of the booker’s location (e.g. Asia/Bangkok).

string
"" >= 1 characters
type
required

Set whether you want the price to go up or down when the rules of this promotion have been satisfied.

string
""
Allowed values: PREMIUM DISCOUNT
version

Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.

integer | null format: int64
""
lastUpdate

Datetime this record was last updated

string | null format: date-time
""
modifierOverride

Optional: override the combined discount of all bundle items with a single fixed or percentage amount.

object
fixedAmount

A localized amount, always non-negative. Direction (surcharge vs. discount) is determined by which field this charge is assigned to, not the sign of this value.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

A fraction between 0 and 1 (inclusive) representing a percentage of the total stay amount for an early check-in or late check-out, e.g. 0.25 for 25%. Direction (surcharge vs. discount) is determined by which field this charge is assigned to, not the sign of this value.

number format: float
"" <= 1
type
required

When the type is FIXED, fixedAmount is required. When the type is PERCENTAGE, percent is required.

string
""
Allowed values: FIXED PERCENTAGE
name
required

Internal name of promotion ancillary.

string
"" >= 1 characters
pricingType

Determines whether this discount should be applied per night, per stay or per person - per night; Required if amount override is not null

string
""
Allowed values: PER_STAY PER_DAY PER_NIGHT PER_USE PER_HOUR PER_PERSON PER_PERSON_PER_NIGHT PER_PERSON_PER_HOUR PER_ADULT PER_ADULT_PER_NIGHT PER_ADULT_PER_HOUR PER_CHILD PER_CHILD_PER_NIGHT PER_CHILD_PER_HOUR
type

Required if manual override modifier is not null

string
""
Allowed values: PREMIUM DISCOUNT
version

Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.

integer | null format: int64
""
rateModifiers

Promotions for this channel

Array<object>

A lightweight projection of a special rate (promotion) containing all qualifying conditions and metadata.

object
addOnIdentifiers
Array<string>
advanceBookingRateQualifier

Restrict promotion to users who want to book in advance.

object
maxAdvanceBookingOffset

Maximum days in advance of stay start date when the booking may be made. Set to 0 for no maximum.

integer format: int32
""
minAdvanceBookingOffset

Minimum days in advance of stay start date when the booking must be made. Set to 0 for no minimum.

integer format: int32
""
arrivalDaysOfWeekRateQualifier

Restrict promotion to specific days of the week the guest is arriving.

object
daysOfWeek
required

The days of the week when this rate is available for guests to arrive on

object
disabled

Convenience property to quickly determine if this existing object has any active days enabled.

boolean
fri

Set to true to enable Friday.

boolean
mon

Set to true to enable Monday.

boolean
sat

Set to true to enable Saturday.

boolean
sun

Set to true to enable Sunday.

boolean
thu

Set to true to enable Thursday.

boolean
tue

Set to true to enable Tuesday.

boolean
wed

Set to true to enable Wednesday.

boolean
availableDaysOfWeekRateQualifier

Restrict promotion to specific days of the week the promotion is available.

object
daysOfWeek
required

The days of the week when this rate is available for booking

object
disabled

Convenience property to quickly determine if this existing object has any active days enabled.

boolean
fri

Set to true to enable Friday.

boolean
mon

Set to true to enable Monday.

boolean
sat

Set to true to enable Saturday.

boolean
sun

Set to true to enable Sunday.

boolean
thu

Set to true to enable Thursday.

boolean
tue

Set to true to enable Tuesday.

boolean
wed

Set to true to enable Wednesday.

boolean
blackoutDates
Array<object>

A date range during which a promotion is not available (blackout period).

object
effectiveDate
required

Start date when the promotion is not available (inclusive).

string format: date
""
expireDate
required

End date when the promotion is not available (inclusive).

string format: date
""
cityRateQualifiers
Array<object>

Qualifier that restricts a promotion to guests whose IP geolocation resolves to a specific city.

object
city
required

City details (obtained via geonames) to restrict the promotion by guest location.

object
cityName
required

City name

string
"" >= 1 characters
continentCode
required

Continent code

string
"" >= 1 characters
continentName
required

Continent name

string
"" >= 1 characters
countryIsoCode
required

Country ISO code

string
"" >= 1 characters /^[A-Z]{2}$/
countryName
required

Country name

string
"" >= 1 characters
geoNameId
required

GeoNameLightweight identifiers taken from https://geonames.org.

string
"" >= 1 characters
localeCode
required

Locale code

string
"" >= 1 characters /^[a-z]{2}(-[A-Z]{2})?$/
subDivision1Code

Sub-division 1 code

string
""
subDivision1Name

Sub-division 1 name

string
""
subDivision2Code

Sub-division 2 code

string
""
subDivision2Name

Sub-division 2 name

string
""
timezone
required

Timezone

string
"" >= 1 characters
continentRateQualifiers
Array<object>

Qualifier that restricts a promotion to guests whose IP geolocation resolves to a specific continent.

object
continent
required

Two-letter continent code (e.g. NA, EU, AS)

string
"" >= 1 characters
countryRateQualifiers
Array<object>

Qualifier that restricts a promotion to guests whose IP geolocation resolves to a specific country.

object
country
required

Country (obtained via geonames) to restrict the promotion by guest location.

object
continentCode

Continent code (two-letter ISO)

string
""
continentName

Continent name

string
""
countryIsoCode

Country ISO 3166-1 alpha-2 code

string
"" /^[A-Z]{2}$/
countryName

Country name

string
""
geoNameId

GeoNames identifier

string
""
createdDate

Datetime this record was first created

string | null format: date-time
""
departureDaysOfWeekRateQualifier

Restrict promotion to specific days of the week the guest is departing.

object
daysOfWeek
required

The days of the week when the guest is allowed to depart

object
disabled

Convenience property to quickly determine if this existing object has any active days enabled.

boolean
fri

Set to true to enable Friday.

boolean
mon

Set to true to enable Monday.

boolean
sat

Set to true to enable Saturday.

boolean
sun

Set to true to enable Sunday.

boolean
thu

Set to true to enable Thursday.

boolean
tue

Set to true to enable Tuesday.

boolean
wed

Set to true to enable Wednesday.

boolean
descriptions
required
Array<object>
>= 1 items

Simplified localized description containing text content and its language code.

object
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
hashMismatch
boolean
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
md5ContentHash

The md5 hash of the name, description and language.

string
""
enabled
required

Whether this promotion is enabled or not.

boolean
default: true
geoLocationRateQualifiers
Array<object>

Qualifier that restricts a promotion to guests within a circular geographic area defined by a center point and radius.

object
latitude
required

Latitude of the center point for the geo-location radius check.

number format: double
""
longitude
required

Longitude of the center point for the geo-location radius check.

number format: double
""
radiusInKilometers
required

Radius in kilometers around the center point within which the guest must be located.

integer format: int32
""
hotelIdentifier
required

Unique identifier of the property this promotion belongs to.

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

Unique identifier for this record.

string format: uuid
"" >= 1 characters
ipRangeRateQualifiers
Array<object>

Qualifier that restricts a promotion to guests whose IP address falls within a specified IPv4 range.

object
endIPRange
required

Ending IP address of the range (inclusive).

string
"" >= 1 characters
startIPRange
required

Starting IP address of the range (inclusive).

string
"" >= 1 characters
lastMinuteRateQualifier

Restrict promotion to users who want to book a room close to the date.

object
seconds
required

Number of seconds before the arrival date when the promotion becomes active (last-minute bookings).

integer format: int64
""
lastUpdate

Datetime this record was last updated

string | null format: date-time
""
lengthOfStayRateQualifier

Restrict promotion to users who want to stay a certain number of days.

object
maxLOS
required

Maximum number of nights. Set to 0 for no maximum.

integer format: int32
""
minLOS
required

Minimum number of nights for promotion to apply. Set to 0 for no minimum.

integer format: int32
""
masterRateIdentifiers
Array<string>
modifier
required

The discount or premium amount and its type (fixed or percentage).

object
fixedAmount

A localized amount, always non-negative. Direction (surcharge vs. discount) is determined by which field this charge is assigned to, not the sign of this value.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

A fraction between 0 and 1 (inclusive) representing a percentage of the total stay amount for an early check-in or late check-out, e.g. 0.25 for 25%. Direction (surcharge vs. discount) is determined by which field this charge is assigned to, not the sign of this value.

number format: float
"" <= 1
type
required

When the type is FIXED, fixedAmount is required. When the type is PERCENTAGE, percent is required.

string
""
Allowed values: FIXED PERCENTAGE
name
required

Internal name of promotion.

string
"" >= 1 characters
prepayRateQualifier

Restrict promotion to either prepaid / non-prepaid rates.

object
prepay
required

True to apply only to prepaid rates, false to apply only to pay-at-property rates.

boolean
pricingType
required

This determines whether this discount should be applied per night, per stay or per person - per night

string
""
Allowed values: PER_STAY PER_DAY PER_NIGHT PER_USE PER_HOUR PER_PERSON PER_PERSON_PER_NIGHT PER_PERSON_PER_HOUR PER_ADULT PER_ADULT_PER_NIGHT PER_ADULT_PER_HOUR PER_CHILD PER_CHILD_PER_NIGHT PER_CHILD_PER_HOUR
promotionRateQualifiers
Array<object>

Qualifier that restricts a promotion to guests who enter a specific promotional code at checkout.

object
promotion
required

Promo code that guests must enter to access this promotion.

string
"" >= 1 characters
ratePlanIdentifiers
Array<string>
refundableRateQualifier

Restrict promotion to either refundable / non-refundable rates.

object
refundable
required

True to apply only to refundable rates, false to apply only to non-refundable rates.

boolean
requiredDaysOfWeekRateQualifier

Restrict promotion to specific days of the week the guest has to stay.

object
daysOfWeek
required

The days of the week the user has to stay on to get this rate

object
disabled

Convenience property to quickly determine if this existing object has any active days enabled.

boolean
fri

Set to true to enable Friday.

boolean
mon

Set to true to enable Monday.

boolean
sat

Set to true to enable Saturday.

boolean
sun

Set to true to enable Sunday.

boolean
thu

Set to true to enable Thursday.

boolean
tue

Set to true to enable Tuesday.

boolean
wed

Set to true to enable Wednesday.

boolean
roomRangeRateQualifier

Restrict promotion by restricting to how many rooms the user wants.

object
maxRooms

Maximum number of rooms in the booking. Leave null or 0 for no upper limit.

integer format: int32
""
minRooms
required

Minimum number of rooms in the booking for this promotion to apply.

integer format: int32
"" >= 1
sellDateRateQualifiers
Array<object>

Qualifier that restricts a promotion to bookings made within a specific date window.

object
effectiveDate
required

Promotion is available when the booking is made on or after this date (inclusive).

string format: date
""
expireDate
required

Promotion is available when the booking is made on or before this date (inclusive).

string format: date
""
stayDateRateQualifiers
Array<object>

Rate qualifier that restricts a promotion to guests whose stay falls within a specific date range.

object
effectiveDate
required

Promotion applies when guest’s stay starts on or after this date (inclusive).

string format: date
""
expireDate
required

Promotion applies when guest’s stay starts on or before this date (inclusive).

string format: date
""
timezoneRateQualifiers
Array<object>

Qualifier that restricts a promotion to guests whose system timezone matches the specified IANA timezone name.

object
timezone
required

IANA timezone name of the booker’s location (e.g. Asia/Bangkok).

string
"" >= 1 characters
type
required

Set whether you want the price to go up or down when the rules of this promotion have been satisfied.

string
""
Allowed values: PREMIUM DISCOUNT
version

Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.

integer | null format: int64
""
selfAcquires

Whether the sales channel is a self-acquiring entity.

boolean
subType
required

What type of segment of channel is this.

string
""
Allowed values: TRIP_PAY FACILITATOR DIRECT APPLICATION HOTEL TRAVELIKO CORPORATE TRAVEL_AGENT INFLUENCER BLOGGER DESTINATION CHANNEL_MANAGER PROPERTY_MANAGEMENT_SYSTEM CENTRAL_RESERVATION_SYSTEM GOOGLE_HOTEL_API MANAGEMENT_COMPANY CHAIN BRAND EVENT_ORGANIZER OTHER
supplierIdentifier
required

Channel is owned by this supplier identifier.

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

Name of property / supplier that owns this channel

string
"" >= 1 characters
version

Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.

integer | null format: int64
""
version

Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.

integer | null format: int64
""
first

Whether this is the first page.

boolean
last

Whether this is the last page.

boolean
number

Zero-based index of this page.

integer format: int32
""
numberOfElements

Number of elements on this page.

integer format: int32
""
size

The requested page size.

integer format: int32
""
totalElements

Total number of elements across all pages.

integer format: int64
""
totalPages

Total number of pages for the current page size.

integer format: int32
""
Example
{
"content": [
{
"address": {
"city": {
"country": {
"continent": "AS",
"countryCode": "TH",
"geoNameId": "1605651",
"name": "Thailand"
},
"geoNameId": "1609350",
"name": "Bangkok"
},
"countryCode": "TH",
"line1": "9 Thanon Krung Thonburi",
"postalCode": "10600",
"state": "Bangkok"
},
"bookable": true,
"commissionable": true,
"createdDate": "2026-01-14T09:30:00",
"enabled": true,
"id": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"image": {
"descriptions": [
{
"description": "Spacious deluxe room with panoramic city views",
"language": "en",
"title": "Deluxe City View Room"
}
],
"identifier": "the-siam-residences/deluxe-room-city-view",
"isLandscape": true,
"multimediaIdentifier": "2b4d6f8a-0c2e-4a6b-8d0f-2c4e6a8b0d2f",
"published": true,
"sort": 10,
"type": "IMAGE"
},
"inventoryIdentifier": "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
"inventoryName": "Deluxe Room with City View",
"inventoryNameInEnglish": "Deluxe City View Room",
"inventoryType": "GUEST_ROOM",
"lastUpdate": "2026-03-10T14:15:00",
"location": {
"coordinates": [
100.5581533,
13.7370197
],
"type": "Point"
},
"lowestDisplayPrice": {
"amount": 125,
"currency": "USD"
},
"lowestPrice": {
"amount": 4500,
"currency": "THB"
},
"pricePoint": "THREE",
"quantity": 50,
"salesChannel": {
"channelDisabled": false,
"enabled": true,
"identifier": "7a0c5d9e-2f6b-4c1a-8e4d-3b9f1a0c6d52",
"ownerIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"ownerName": "The Siam Residences",
"subType": "DIRECT",
"supplierIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"supplierName": "The Siam Residences, Bangkok"
}
}
],
"first": true,
"last": false,
"number": 0,
"numberOfElements": 20,
"size": 20,
"totalElements": 1234,
"totalPages": 62
}

Bad Request — missing or invalid request parameter or body

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

Unauthorized — authentication is required or the session has expired

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

Forbidden — authenticated but lacking the required permission or scope

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

Not Found — the requested resource does not exist

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

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

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

Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version

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

Unsupported Media Type — use application/json

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

Internal Server Error — an unexpected failure occurred on the server

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

Service Unavailable — a downstream dependency is unreachable

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