Skip to content

Update daily rates

PUT
/api/managing-entity/{managingEntityIdentifier}/channel-manager/property/{propertyIdentifier}/master-rate/{masterRateIdentifier}
curl --request PUT \
--url https://integrations.wink.travel/api/managing-entity/d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69/channel-manager/property/e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18/master-rate/5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Wink-Version: 2.0' \
--data '{ "amount": 450, "closedOnArrival": false, "closedOnDeparture": false, "currencyCode": "THB", "endDate": "2026-02-28", "extraChildRateModifier": { "percent": 0.5, "type": "PERCENTAGE" }, "extraPaxRateModifier": { "fixedAmount": { "amount": 35, "currency": "THB" }, "type": "FIXED" }, "master": true, "maxLengthOfStay": 30, "maxOccupancy": 4, "minLengthOfStay": 2, "minOccupancy": 1, "quantity": 5, "singleOccupancyRateModifier": { "percent": 0.1, "type": "PERCENTAGE" }, "startDate": "2026-02-15" }'

Bulk-updates daily price, availability and stay restrictions for the given property and master rate over a date range; amount is optional, so the call can adjust quantity alone, and currency defaults to the property’s currency when omitted.

managingEntityIdentifier
required
string

Rate provider (channel-manager account) identifier (UUID)

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

Property identifier (UUID)

Example
e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18
masterRateIdentifier
required
string

Master rate identifier (UUID)

Example
5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73
Wink-Version
string
default: 2.0.0
Allowed values: 2.0
Media typeapplication/json

Request body for bulk-updating daily rates and availability for a master rate over a date range

object
amount

Updated daily rate amount (optional; omit to preserve current amounts)

number
Example
450
closedOnArrival

Whether to close the rate on arrival dates

boolean
Example
false
closedOnDeparture

Whether to close the rate on departure dates

boolean
Example
false
currencyCode

Currency code for rate amount (optional; defaults to property currency)

string
Example
THB
endDate
required

End date for rate update range (inclusive)

string format: date
Example
2026-02-28
extraChildRateModifier

Extra child rate modifier (JSON representation of VariableCharge, optional)

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
Example
1250
currency
required

ISO 4217 currency code

string
>= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
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
Example
0.25
type
required

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

string
Allowed values: FIXED PERCENTAGE
Example
PERCENTAGE
Example
{
"percent": 0.5,
"type": "PERCENTAGE"
}
extraPaxRateModifier

Extra occupant rate modifier (JSON representation of VariableCharge, optional)

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
Example
1250
currency
required

ISO 4217 currency code

string
>= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
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
Example
0.25
type
required

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

string
Allowed values: FIXED PERCENTAGE
Example
PERCENTAGE
Example
{
"fixedAmount": {
"amount": 35,
"currency": "THB"
},
"type": "FIXED"
}
master

Whether to update this as a master rate

boolean
Example
true
maxLengthOfStay

Maximum length of stay limit in nights (optional)

integer format: int32
Example
30
maxOccupancy

Maximum occupancy limit (optional)

integer format: int32
Example
4
minLengthOfStay

Minimum length of stay requirement in nights (optional)

integer format: int32
Example
2
minOccupancy

Minimum occupancy requirement (optional)

integer format: int32
Example
1
quantity

Available quantity/inventory for each date in range (optional)

integer format: int32
Example
5
singleOccupancyRateModifier

Single occupancy rate modifier (JSON representation of VariableCharge, optional)

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
Example
1250
currency
required

ISO 4217 currency code

string
>= 1 characters /^[A-Z]{3}$/
Example
USD
Example
{
"amount": 1250,
"currency": "USD"
}
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
Example
0.25
type
required

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

string
Allowed values: FIXED PERCENTAGE
Example
PERCENTAGE
Example
{
"percent": 0.1,
"type": "PERCENTAGE"
}
startDate
required

Start date for rate update range (inclusive)

string format: date
Example
2026-02-15
Example
{
"amount": 450,
"closedOnArrival": false,
"closedOnDeparture": false,
"currencyCode": "THB",
"endDate": "2026-02-28",
"extraChildRateModifier": {
"percent": 0.5,
"type": "PERCENTAGE"
},
"extraPaxRateModifier": {
"fixedAmount": {
"amount": 35,
"currency": "THB"
},
"type": "FIXED"
},
"master": true,
"maxLengthOfStay": 30,
"maxOccupancy": 4,
"minLengthOfStay": 2,
"minOccupancy": 1,
"quantity": 5,
"singleOccupancyRateModifier": {
"percent": 0.1,
"type": "PERCENTAGE"
},
"startDate": "2026-02-15"
}

Updated daily rates for every date in the requested range

Media typeapplication/json
Array<object>

A single daily rate entry for a master rate, including availability, stay restrictions, and optional occupancy modifiers

object
amount
required

Daily rate amount

number
closedOnArrival
required

Whether the rate is closed on arrival

boolean
closedOnDeparture
required

Whether the rate is closed on departure

boolean
currencyCode
required

Currency code for rate amount

string
>= 1 characters
date
required

Date for this daily rate

string format: date
extraChildRateModifier

Extra child rate modifier (JSON representation of VariableCharge)

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
extraPaxRateModifier

Extra occupant rate modifier (JSON representation of VariableCharge)

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
guestRoomIdentifier
required

Guest room (room type) identifier

string format: uuid
>= 1 characters
identifier

Daily rate identifier

string format: uuid
master
required

Whether this is a master (template) rate

boolean
maxLengthOfStay

Maximum length of stay (in nights) for this date

integer format: int32
maxOccupancy

Maximum occupancy allowed for this date

integer format: int32
minLengthOfStay

Minimum length of stay (in nights) for this date

integer format: int32
minOccupancy

Minimum occupancy required for this date

integer format: int32
propertyIdentifier
required

Property identifier

string format: uuid
>= 1 characters
quantity

Available quantity/inventory on this date

integer format: int32
ratePlanIdentifier
required

Rate plan identifier

string format: uuid
>= 1 characters
roomRateIdentifier
required

Master rate identifier

string format: uuid
>= 1 characters
singleOccupancyRateModifier

Single occupancy rate modifier (JSON representation of VariableCharge)

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
Example
[
{
"amount": 450,
"closedOnArrival": false,
"closedOnDeparture": false,
"currencyCode": "THB",
"date": "2026-02-15",
"guestRoomIdentifier": "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
"identifier": "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
"master": true,
"maxLengthOfStay": 30,
"maxOccupancy": 4,
"minLengthOfStay": 2,
"minOccupancy": 1,
"propertyIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"quantity": 5,
"ratePlanIdentifier": "7a0c5d9e-2f6b-4c1a-8e4d-3b9f1a0c6d52",
"roomRateIdentifier": "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
}
]

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
Examplegenerated
{
"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
Examplegenerated
{
"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
Examplegenerated
{
"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
Examplegenerated
{
"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
Examplegenerated
{
"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
Examplegenerated
{
"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
Examplegenerated
{
"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
Examplegenerated
{
"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
Examplegenerated
{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}