Skip to content

Bulk update rates for date range

PUT
/api/managing-entity/{managingEntityIdentifier}/extranet/master-rate/{masterRateIdentifier}/rate/bulk
curl --request PUT \
--url https://api.wink.travel/api/managing-entity/d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69/extranet/master-rate/5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73/rate/bulk \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Wink-Version: 2.0' \
--data null

Apply uniform rate and availability changes across all days in a date range for a single master rate. Use this to quickly update nightly rate, availability limits, and occupancy restrictions across multiple dates.

managingEntityIdentifier
required
string
""

Property identifier (managing entity UUID) owning the rates to update

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

Master rate identifier (room type + rate plan) to bulk update

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

Uniform rate and availability changes to apply across all days in the specified date range for this master rate

Media typeapplication/json

Bulk rate update request to apply consistent changes to a date range for one master rate

object
closedOnArrival
required

Whether guests cannot check in during this date range (Closed on Arrival)

boolean
Example
false
closedOnDeparture
required

Whether guests cannot check out during this date range (Closed on Departure)

boolean
Example
false
endDate
required

End date (inclusive) for the bulk rate update

string format: date
""
Example
2026-01-31
extraChildRateModifier

Rate modifier for extra child guests during this date range

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": 1250,
"currency": "USD"
},
"percent": 0.25,
"type": "PERCENTAGE"
}
extraPaxRateModifier

Rate modifier for extra adult guests during this date range

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": 1250,
"currency": "USD"
},
"percent": 0.25,
"type": "PERCENTAGE"
}
master
required

Whether the rate is available for booking during this date range

boolean
default: true
Example
true
maxLengthOfStay

Maximum length of stay (in days) allowed for arrivals within this date range. Omit to keep current maximum unchanged.

integer format: int32
""
Example
30
minLengthOfStay

Minimum length of stay (in days) required for arrivals within this date range. Omit to keep current minimum unchanged.

integer format: int32
""
Example
2
numberOfUnits

Number of available rooms for each day in this date range. Omit to keep current inventory unchanged.

integer format: int32
""
Example
8
rate

Nightly rate amount for this date range. Omit to keep current rate unchanged.

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

Source of the rate update. Use NONE for property-managed rates, or specify channel manager identifier

string
default: NONE
Example
NONE
singleOccupancyRateModifier

Rate modifier for single occupancy bookings during this date range

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": 1250,
"currency": "USD"
},
"percent": 0.25,
"type": "PERCENTAGE"
}
startDate
required

Start date (inclusive) for the bulk rate update

string format: date
""
Example
2026-01-14
Example
{
"closedOnArrival": false,
"closedOnDeparture": false,
"endDate": "2026-01-31",
"extraChildRateModifier": {
"fixedAmount": {
"amount": 1250,
"currency": "USD"
},
"percent": 0.25,
"type": "PERCENTAGE"
},
"extraPaxRateModifier": {
"fixedAmount": {
"amount": 1250,
"currency": "USD"
},
"percent": 0.25,
"type": "PERCENTAGE"
},
"master": true,
"maxLengthOfStay": 30,
"minLengthOfStay": 2,
"numberOfUnits": 8,
"rate": {
"amount": 1250,
"currency": "USD"
},
"rateSource": "NONE",
"singleOccupancyRateModifier": {
"fixedAmount": {
"amount": 1250,
"currency": "USD"
},
"percent": 0.25,
"type": "PERCENTAGE"
},
"startDate": "2026-01-14"
}

All daily rates in the date range updated uniformly; returns the updated Rate documents

Media typeapplication/json
Array<object>

Lightweight projection of a single rate date, used by consumers outside the rate module.

object
available
boolean
closedOnArrival
required

Whether guests cannot check in on this date (Closed on Arrival)

boolean
closedOnDeparture
required

Whether guests cannot check out on this date (Closed on Departure)

boolean
currencyCode
required

ISO 4217 currency code for this rate

string
"" /^[A-Z]{3}$/
day

Day of the month (1-31)

integer format: int32
""
extraChildRateModifier

Rate modifier (fixed amount or percentage) for extra child guests

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

Rate modifier (fixed amount or percentage) for extra adult guests

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 for this rate

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

Property identifier that owns this daily rate

string format: uuid
"" >= 1 characters
id

Unique document identifier (UUID)

string format: uuid
""
master
required

Whether this rate is available for booking on this date

boolean
default: true
maxLengthOfStay

Maximum length of stay (in days) allowed for guests arriving on this date. -1 means no maximum.

integer format: int32
default: -1
minLengthOfStay

Minimum length of stay (in days) required for guests arriving on this date. -1 means no minimum.

integer format: int32
default: -1
month

Month of the year (1-12)

integer format: int32
""
quantity

Number of available rooms for this date

integer format: int32
0
rate
required

Nightly rate amount in the specified currency

number
""
ratePlanIdentifier
required

Rate plan identifier for pricing controls and restrictions

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

Source of the rate update. NONE indicates property-managed rates; other values indicate channel manager origins.

string
default: NONE >= 1 characters
singleOccupancyRateModifier

Rate modifier (fixed amount or percentage) for single occupancy bookings

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
year

Year in ISO format

integer format: int32
""
Example
[
{
"closedOnArrival": false,
"closedOnDeparture": false,
"currencyCode": "THB",
"day": 14,
"extraChildRateModifier": {
"percent": 0.15,
"type": "PERCENTAGE"
},
"extraPaxRateModifier": {
"percent": 0.25,
"type": "PERCENTAGE"
},
"guestRoomIdentifier": "4b7e2c9a-6f1d-4a0b-8c3e-5d2f9b1a7c84",
"hotelIdentifier": "7d4f2a1b-3e8c-4b0d-a5f9-1c2e6b4d8f07",
"id": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"master": true,
"maxLengthOfStay": 30,
"minLengthOfStay": 2,
"month": 1,
"quantity": 9,
"rate": 4500,
"ratePlanIdentifier": "9a2d5e8c-1f4b-4c7a-b3e6-2d0f8a5c3e91",
"rateSource": "NONE",
"singleOccupancyRateModifier": {
"percent": 0.8,
"type": "PERCENTAGE"
},
"year": 2026
}
]

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