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

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"
}