Skip to content

Copy item

POST
/api/managing-entity/{managingEntityIdentifier}/studio/transactional-list/{listIdentifier}/items/{itemType}/{hotelIdentifier}/{itemIdentifier}
curl --request POST \
--url https://api.wink.travel/api/managing-entity/d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69/studio/transactional-list/3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51/items/GUEST_ROOM/e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18/8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Wink-Version: 2.0' \
--data '{ "targetListIdentifier": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47" }'

Duplicates an item into a target CURATED list, leaving the original item in place on the source list.

managingEntityIdentifier
required
string

Managing entity identifier that owns the lists.

Example

d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69
listIdentifier
required
string

Source list identifier.

Example

3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51
itemType
required

Type of sellable inventory that can be published and sold through the platform

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

What kind of item.

Example

GUEST_ROOM
hotelIdentifier
required
string

The hotel the item belongs to.

Example

e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18
itemIdentifier
required
string

Item identifier: master rate id (GUEST_ROOM) or add-on id (ADD_ON).

Example

8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29
Wink-Version
string
default: 2.0.0
Allowed values: 2.0

Target list identifier into which the item should be copied

Media typeapplication/json

Request to copy or move an item to a target curated transactional list.

object
targetListIdentifier
required

Target list identifier to copy or move the item to.

string format: uuid

Example

b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47

Example

{
"targetListIdentifier": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
}

The target list, with the copied item appended.

Media typeapplication/json

Lightweight projection of a transactional list used in listings and event payloads, containing all display and configuration fields without audit metadata

object
animate

Generate an animated GIF from multiple images instead of a static grid (requires at least 2 images)

boolean
animateDelay

Delay between animation frames in milliseconds; -1 disables animation

integer format: int32
default: -1
createdDate

Datetime this record was first created

string | null format: date-time
criteria

Saved-search filter criteria; present for SEARCH lists only

object
aggregateReviewRating

Filter on aggregate review score the hotel has

integer format: int32
architecturalStyles

Supported OTA specification ARC code. See OTA geoname data

Array<string>
cities

City filter

Array<string>
continents

Continent filter

Array<string>
countries

Country filter

Array<string>
hotelCategories

Supported OTA specification PCT code. See OTA geoname data

Array<string>
hotelStars

Filter on number of stars the hotel has.

integer format: int32
inventoryName

Regex expression filter matching on inventory name

string
inventoryTypes

Filter on inventory types

Array<string>
Allowed values: GUEST_ROOM ADD_ON MEETING_ROOM RESTAURANT SPA ATTRACTION PLACE ACTIVITY
lifestyles

Filter on lifestyles

Array<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
locationCategories

Supported OTA specification LOC code. See OTA geoname data

Array<string>
name

Name of dynamic list for when user want to persist it

string
nearPoint

Find hotels close to certain location

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

Control how you want the search results sorted. Options are:

  • 1: Inventory name
  • 2: Price: High to low
  • 3: Price: Low to high
  • 4: Commission: High to low
  • 5: Commission: Low to high
  • 6: Discount: High to low
  • 7: Discount: Low to high
string
propertyName

A literal, case-insensitive part of the property name, not a regular expression: The Siam matches The Siam Guest House.

string
radiusInMeters

Use this in conjunction with nearPoint. Control the distance from point we are searching for.

integer format: int64
0
segmentCategories

Supported OTA specification SEG code. See OTA geoname data

Array<string>
showChildFriendly

Filter on child-friendly hotels

boolean
showDirectOnly

Filter on direct inventory

boolean
showEcoFriendly

Filter on eco-friendly hotels

boolean
showPetFriendly

Filter on pet-friendly hotels

boolean
showPopular

Filter on hotel that has had a certain amount of bookings

boolean
customizationIdentifier
required

Customization configuration identifier

string format: uuid
>= 1 characters
descriptions
required

Localized title and description of the list (at least one entry in English required)

Array<object>
>= 1 items <= 2147483647 items

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
id

Unique identifier for this record.

string format: uuid
items
required

Embedded inventory items, in display order; populated for CURATED lists only, empty otherwise

Array<object>

One inventory item embedded on a curated transactional list; its position in the items array is its display order.

object
item
required

The snapshotted sales channel inventory item

object
commissionable
required

Whether this is commissionable or not

boolean
enabled
required

Whether this inventory is enabled or not

boolean
default: true
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
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
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
reference

What this entry sells: the item type, its identifier and its hotel. It addresses the item on the list.

object
hotelIdentifier
required

The hotel the item belongs to.

string format: uuid
itemIdentifier
required

Master rate id (GUEST_ROOM), add-on id (ADD_ON), venue id (venue types) or the hotel id (HOTEL).

string format: uuid
itemType
required

What kind of item.

string
Allowed values: HOTEL GUEST_ROOM MEETING_ROOM RESTAURANT SPA ADD_ON ATTRACTION ACTIVITY PLACE
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.

arrivalDaysOfWeekRateQualifier

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

availableDaysOfWeekRateQualifier

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

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.

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.

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.

masterRateIdentifiers
Array<string>
modifier
required

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

name
required

Internal name of promotion.

string
>= 1 characters
prepayRateQualifier

Restrict promotion to either prepaid / non-prepaid rates.

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.

requiredDaysOfWeekRateQualifier

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

roomRangeRateQualifier

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

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.

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.

arrivalDaysOfWeekRateQualifier

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

availableDaysOfWeekRateQualifier

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

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.

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.

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.

masterRateIdentifiers
Array<string>
modifier
required

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

name
required

Internal name of promotion.

string
>= 1 characters
prepayRateQualifier

Restrict promotion to either prepaid / non-prepaid rates.

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.

requiredDaysOfWeekRateQualifier

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

roomRangeRateQualifier

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

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
status

Availability status of this item; defaults to ACTIVE

string
default: ACTIVE
Allowed values: ACTIVE INACTIVE REMOVED
keywords

Keywords and metadata tags for SEO and filtering

Array<string>
kind

Distinguishes the auto-created favorites list from any other curated list; present for CURATED lists only

string | null
Allowed values: FAVORITE NORMAL
lastUpdate

Datetime this record was last updated

string | null format: date-time
lookup

The ranked destination this list displays inventory from; present for RANKED lists only

object
cityName

Name of the closest city where this lookup entry is located

string
countryCode

ISO 3166-1 alpha-2 country code

string
countryName

Country name where this lookup entry is located

string
createdDate

Datetime this record was first created

string | null format: date-time
id

Unique identifier for this record.

string format: uuid
languageCode

Language code for the lookup name (ISO 639-1 format)

string
lastUpdate

Datetime this record was last updated

string | null format: date-time
location
required

Geo-location

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

Lowercase version of the name, used for regex-based search operations. Extranet surfaces only.

string
name

Human-readable name of the lookup entry

string
origin

Whether this is the primary/original lookup entry for this resource (true) or a variant like an alternate language or name (false). Extranet surfaces only.

boolean
ownerIdentifier

Identifier of the owner (supplier) that created or manages this lookup entry. Extranet surfaces only — not serialized on public or partner endpoints.

string format: uuid
ownerName

Name of the owner (supplier) that created this lookup entry

string
ownerType

Type of owner that created this lookup (TRAVELIKO for platform-managed entries, HOTEL for supplier-created entries). Extranet surfaces only.

string
Allowed values: TRAVELIKO HOTEL
sort

Platform-specific sort order (lower values sort first: CITY=1, ISLAND=2, HOTEL=3, others vary). Extranet surfaces only.

integer format: int32
subCountryName

State or province where this lookup entry is located

string
subSubCountryName

County or district where this lookup entry is located

string
type

Type of lookup (CITY, HOTEL, ACTIVITY, SPA, RESTAURANT, ATTRACTION, ISLAND, COUNTRY, PLACE, MEETING_ROOM)

string
Allowed values: CITY ISLAND HOTEL SPA MEETING_ROOM RESTAURANT ATTRACTION ACTIVITY PLACE COUNTRY
typeIdentifier

Unique identifier for the lookup type resource (e.g., hotel ID, city geoname ID)

string format: uuid
urlName

URL-friendly slug that uniquely identifies this lookup within its type and location

string
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
name
required

Descriptive name of this list for seller use only

string
>= 1 characters
sellerIdentifier
required

Managing entity (account owner) identifier

string format: uuid
>= 1 characters
sort

Badge type and sort order for display on web component (MEMBER, BEST_VALUE, TOP_RATED, etc.)

string
Allowed values: RECOMMENDED PRICE_LOW_TO_HIGH PRICE_HIGH_TO_LOW ECO STAR_RATING_LOW_TO_HIGH STAR_RATING_HIGH_TO_LOW
source
required

What this list is backed by: a curated set of embedded items, a saved search, or a ranked destination

string
Allowed values: CURATED SEARCH RANKED
status
required

Current status of the list (ACTIVE, INACTIVE, ARCHIVED)

string
default: ACTIVE
Allowed values: ACTIVE INACTIVE REMOVED
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

Example

{
"animate": false,
"animateDelay": 500,
"createdDate": "2026-01-14T09:30:00",
"criteria": {
"aggregateReviewRating": 8,
"architecturalStyles": 7,
"cities": [
"1609350"
],
"continents": [
"AS"
],
"countries": [
"1605651"
],
"hotelCategories": 1,
"hotelStars": 5,
"inventoryName": "Deluxe Suite",
"inventoryTypes": [
"GUEST_ROOM"
],
"locationCategories": 1701,
"name": "Bangkok Luxury Hotels",
"primaryOrderBy": "4",
"propertyName": "The Siam",
"radiusInMeters": 5000,
"segmentCategories": 7,
"showChildFriendly": false,
"showDirectOnly": false,
"showEcoFriendly": false,
"showPetFriendly": false,
"showPopular": false
},
"customizationIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"descriptions": [
{
"creator": "USER",
"description": "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
"language": "en",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
"name": "Deluxe River View Suite"
}
],
"id": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"items": [
{
"item": {
"commissionable": true,
"enabled": true,
"image": "https://res.cloudinary.com/wink/image/upload/v1/property/the-siam-residences.jpg",
"inventoryIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"inventoryNameInEnglish": "The Siam Residences, Bangkok",
"inventoryType": "GUEST_ROOM",
"location": {
"coordinates": [
100.5581533,
13.7370197
],
"type": "POINT"
},
"lowestDisplayPrice": 450,
"lowestPrice": 450,
"pricePoint": "THREE",
"reference": {
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"itemIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"itemType": "GUEST_ROOM"
},
"salesChannel": {
"blacklisted": false,
"channelDisabled": false,
"commission": 0.2,
"createdDate": "2026-01-14T09:30:00",
"enabled": true,
"id": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"lastUpdate": "2026-02-03T16:45:12",
"ownerIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"ownerName": "The Siam Residences",
"percentDiscount": 0.15,
"rateModifierBundles": [
{
"aggregatedItemDescriptions": [
{
"creator": "USER",
"description": "This is a longer description in the specified language.",
"language": "en",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"createdDate": "2026-01-14T09:30:00",
"descriptions": [
{
"creator": "USER",
"description": "This is a longer description in the specified language.",
"language": "en",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"effectiveDescriptions": [
{
"creator": "USER",
"description": "This is a longer description in the specified language.",
"language": "en",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"enabled": true,
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"id": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"items": [
{
"addOnIdentifiers": [
"880e8400-e29b-41d4-a716-446655440333"
],
"blackoutDates": [
{
"effectiveDate": "2026-04-13",
"expireDate": "2026-04-15"
}
],
"cityRateQualifiers": [
{
"city": {
"countryCode": "TH",
"geoNameId": "1609350",
"latitude": 13.7563,
"longitude": 100.5018,
"name": "Bangkok"
}
}
],
"continentRateQualifiers": [
{
"continent": "NA"
}
],
"countryRateQualifiers": [
{
"country": {
"continentCode": "AS",
"geoNameId": "1609350",
"isoAlpha2": "TH",
"isoAlpha3": "THA",
"name": "Thailand"
}
}
],
"createdDate": "2026-01-14T09:30:00",
"descriptions": [
{
"creator": "USER",
"description": "This is a longer description in the specified language.",
"language": "en",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"enabled": true,
"geoLocationRateQualifiers": [
{
"latitude": 13.7563,
"longitude": 100.5018,
"radiusInKilometers": 50
}
],
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"id": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"ipRangeRateQualifiers": [
{
"endIPRange": "192.168.1.255",
"startIPRange": "192.168.1.0"
}
],
"lastUpdate": "2026-02-03T16:45:12",
"masterRateIdentifiers": [
"770e8400-e29b-41d4-a716-446655440222"
],
"name": "Early bird",
"pricingType": "PER_PERSON_PER_NIGHT",
"promotionRateQualifiers": [
{
"promotion": "EARLYBIRD2026"
}
],
"ratePlanIdentifiers": [
"990e8400-e29b-41d4-a716-446655440444"
],
"sellDateRateQualifiers": [
{
"effectiveDate": "2026-05-01",
"expireDate": "2026-08-31"
}
],
"stayDateRateQualifiers": [
{
"effectiveDate": "2026-06-01",
"expireDate": "2026-08-31"
}
],
"timezoneRateQualifiers": [
{
"timezone": "Asia/Bangkok"
}
],
"type": "DISCOUNT",
"version": 3
}
],
"lastUpdate": "2026-02-03T16:45:12",
"name": "Early bird - Long Term",
"pricingType": "PER_NIGHT",
"type": "DISCOUNT",
"version": 3
}
],
"rateModifiers": [
{
"addOnIdentifiers": [
"880e8400-e29b-41d4-a716-446655440333"
],
"blackoutDates": [
{
"effectiveDate": "2026-04-13",
"expireDate": "2026-04-15"
}
],
"cityRateQualifiers": [
{
"city": {
"countryCode": "TH",
"geoNameId": "1609350",
"latitude": 13.7563,
"longitude": 100.5018,
"name": "Bangkok"
}
}
],
"continentRateQualifiers": [
{
"continent": "NA"
}
],
"countryRateQualifiers": [
{
"country": {
"continentCode": "AS",
"geoNameId": "1609350",
"isoAlpha2": "TH",
"isoAlpha3": "THA",
"name": "Thailand"
}
}
],
"createdDate": "2026-01-14T09:30:00",
"descriptions": [
{
"creator": "USER",
"description": "This is a longer description in the specified language.",
"language": "en",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"enabled": true,
"geoLocationRateQualifiers": [
{
"latitude": 13.7563,
"longitude": 100.5018,
"radiusInKilometers": 50
}
],
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"id": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"ipRangeRateQualifiers": [
{
"endIPRange": "192.168.1.255",
"startIPRange": "192.168.1.0"
}
],
"lastUpdate": "2026-02-03T16:45:12",
"masterRateIdentifiers": [
"770e8400-e29b-41d4-a716-446655440222"
],
"name": "Early bird",
"pricingType": "PER_PERSON_PER_NIGHT",
"promotionRateQualifiers": [
{
"promotion": "EARLYBIRD2026"
}
],
"ratePlanIdentifiers": [
"990e8400-e29b-41d4-a716-446655440444"
],
"sellDateRateQualifiers": [
{
"effectiveDate": "2026-05-01",
"expireDate": "2026-08-31"
}
],
"stayDateRateQualifiers": [
{
"effectiveDate": "2026-06-01",
"expireDate": "2026-08-31"
}
],
"timezoneRateQualifiers": [
{
"timezone": "Asia/Bangkok"
}
],
"type": "DISCOUNT",
"version": 3
}
],
"selfAcquires": false,
"subType": "DIRECT",
"supplierIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"supplierName": "The Siam Residences, Bangkok",
"version": 3
}
},
"status": "ACTIVE"
}
],
"keywords": [
"bangkok",
"luxury"
],
"kind": "NORMAL",
"lastUpdate": "2026-02-03T16:45:12",
"lookup": {
"cityName": "Bangkok",
"countryCode": "TH",
"countryName": "Thailand",
"id": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"languageCode": "en",
"location": {
"coordinates": [
100.5581533,
13.7370197
],
"type": "Point"
},
"name": "The Siam Residences",
"ownerName": "The Siam Residences",
"subCountryName": "Bangkok",
"subSubCountryName": "Khlong San District",
"type": "HOTEL",
"typeIdentifier": "a1f3c9d2-7e4b-4a0c-8d5e-2b9f1a6c3e78",
"urlName": "the-siam-residences-bangkok-thailand"
},
"name": "Luxury Bangkok Properties",
"sellerIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"sort": "MEMBER",
"source": "CURATED",
"status": "ACTIVE",
"version": 3
}

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

Example generated

{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

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

Example generated

{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

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

Example generated

{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

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

Example generated

{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

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

Example generated

{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

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

Example generated

{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

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

Example generated

{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

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

Example generated

{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

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

Example generated

{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}