Skip to content

Update an existing rate plan

PUT
/api/managing-entity/{managingEntityIdentifier}/extranet/rate-plan/{ratePlanIdentifier}
curl --request PUT \
--url https://api.wink.travel/api/managing-entity/d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69/extranet/rate-plan/5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'If-Match: ' \
--header 'Wink-Version: 2.0' \
--data '{ "allInclusive": false, "allInclusivePlusAlcohol": false, "arrivalDaysOfWeek": { "disabled": true, "fri": true, "mon": true, "sat": true, "sun": true, "thu": true, "tue": true, "wed": true }, "availableDaysOfWeek": { "disabled": true, "fri": true, "mon": true, "sat": true, "sun": true, "thu": true, "tue": true, "wed": true }, "breakfast": false, "brunch": false, "cancellationPolicyExceptions": { "list": [ { "cancellationPolicyIdentifier": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47", "endDate": "2026-12-31", "startDate": "2026-01-14" } ] }, "cancellationPolicyIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51", "departureDaysOfWeek": { "disabled": true, "fri": true, "mon": true, "sat": true, "sun": true, "thu": true, "tue": true, "wed": true }, "dinner": false, "earlyCheckInCharge": { "fixedAmount": { "amount": 1250, "currency": "USD" }, "percent": 0.25, "type": "PERCENTAGE" }, "enabled": false, "extraChildRateModifier": { "fixedAmount": { "amount": 1250, "currency": "USD" }, "percent": 0.25, "type": "PERCENTAGE" }, "extraPaxRateModifier": { "fixedAmount": { "amount": 1250, "currency": "USD" }, "percent": 0.25, "type": "PERCENTAGE" }, "lateCheckOutCharge": { "fixedAmount": { "amount": 1250, "currency": "USD" }, "percent": 0.25, "type": "PERCENTAGE" }, "loyaltyPointsAccrue": false, "lunch": false, "maxAdvanceBookingOffset": 180, "maxAge": 65, "maxLOS": 30, "maxTotalOccupancy": 4, "minAdvanceBookingOffset": 3, "minAge": 18, "minLOS": 1, "minTotalOccupancy": 1, "name": "Best Available Rate", "prepaid": false, "ratePlanLevelFees": [ { "descriptions": [ { "creator": "USER", "description": "This is a longer description in the specified language.", "language": "en", "md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e" } ], "fixedAmount": 450, "type": "PER_DAY" } ], "requiredDaysOfWeek": { "disabled": true, "fri": true, "mon": true, "sat": true, "sun": true, "thu": true, "tue": true, "wed": true }, "sellEndDate": "2026-12-31", "sellStartDate": "2026-01-15", "singleOccupancyRateModifier": { "fixedAmount": { "amount": 1250, "currency": "USD" }, "percent": 0.25, "type": "PERCENTAGE" }, "stayEndDate": "2026-12-31", "stayStartDate": "2026-01-15" }'

Modify an existing rate plan by its identifier for the given property. Allows updates to meal inclusions, availability windows, occupancy restrictions, pricing modifiers, and cancellation policies. Requires INVENTORY:WRITE on the managing entity. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.

managingEntityIdentifier
required
string
""

The unique identifier of the property that owns the rate plan to be updated.

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

The unique identifier of the rate plan to update.

Example
5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73
If-Match
string
""

The rate plan’s last-seen version, for optimistic concurrency. Optional; when present a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (“3”), W/“3”, or *.

Wink-Version
string
default: 2.0.0
Allowed values: 2.0

Updated rate plan fields including meal inclusions, availability windows, occupancy restrictions, pricing modifiers, and cancellation policies

Media typeapplication/json
object
allInclusive
required

Everything included except alcohol

boolean
Example
false
allInclusivePlusAlcohol
required

Everything included with alcohol

boolean
Example
false
arrivalDaysOfWeek

Days of the week on which guests are allowed to check in. If null, arrivals are permitted on any day.

object
disabled

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

boolean
Example
true
fri

Set to true to enable Friday.

boolean
Example
true
mon

Set to true to enable Monday.

boolean
Example
true
sat

Set to true to enable Saturday.

boolean
Example
true
sun

Set to true to enable Sunday.

boolean
Example
true
thu

Set to true to enable Thursday.

boolean
Example
true
tue

Set to true to enable Tuesday.

boolean
Example
true
wed

Set to true to enable Wednesday.

boolean
Example
true
Example
{
"disabled": true,
"fri": true,
"mon": true,
"sat": true,
"sun": true,
"thu": true,
"tue": true,
"wed": true
}
availableDaysOfWeek

Days of the week when this rate plan is available for booking. If null, the rate plan is available on all days.

object
disabled

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

boolean
Example
true
fri

Set to true to enable Friday.

boolean
Example
true
mon

Set to true to enable Monday.

boolean
Example
true
sat

Set to true to enable Saturday.

boolean
Example
true
sun

Set to true to enable Sunday.

boolean
Example
true
thu

Set to true to enable Thursday.

boolean
Example
true
tue

Set to true to enable Tuesday.

boolean
Example
true
wed

Set to true to enable Wednesday.

boolean
Example
true
Example
{
"disabled": true,
"fri": true,
"mon": true,
"sat": true,
"sun": true,
"thu": true,
"tue": true,
"wed": true
}
breakfast
required

When true, indicates breakfast is included.

boolean
Example
false
brunch
required

When true, indicates brunch is included.

boolean
Example
false
cancellationPolicyExceptions

Optional overrides of the cancellation policy for specific date ranges. Allows a property to apply different cancellation terms during peak seasons, events, or special periods. Leave null for no date-specific exceptions.

object
list
required

List of cancellation policy exceptions to create or replace

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

Request payload for creating or updating a single date-range exception that overrides the default cancellation policy for a property

object
cancellationPolicyIdentifier
required

Cancellation policy identifier

string format: uuid
"" >= 1 characters
Example
b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47
endDate
required

End date for when this cancellation policy should end overriding the default cancellation policy.

string format: date
""
Example
2026-12-31
startDate
required

Start date for when this cancellation policy should start to override the default cancellation policy.

string format: date
""
Example
2026-01-14
Example
{
"cancellationPolicyIdentifier": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"endDate": "2026-12-31",
"startDate": "2026-01-14"
}
Example
{
"list": [
{
"cancellationPolicyIdentifier": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"endDate": "2026-12-31",
"startDate": "2026-01-14"
}
]
}
cancellationPolicyIdentifier
required

Unique identifier of the cancellation policy governing refunds and cancellations for this rate plan.

string format: uuid
"" >= 1 characters
Example
3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51
departureDaysOfWeek

Days of the week on which guests are allowed to check out. If null, departures are permitted on any day.

object
disabled

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

boolean
Example
true
fri

Set to true to enable Friday.

boolean
Example
true
mon

Set to true to enable Monday.

boolean
Example
true
sat

Set to true to enable Saturday.

boolean
Example
true
sun

Set to true to enable Sunday.

boolean
Example
true
thu

Set to true to enable Thursday.

boolean
Example
true
tue

Set to true to enable Tuesday.

boolean
Example
true
wed

Set to true to enable Wednesday.

boolean
Example
true
Example
{
"disabled": true,
"fri": true,
"mon": true,
"sat": true,
"sun": true,
"thu": true,
"tue": true,
"wed": true
}
dinner
required

When true, indicates dinner is included.

boolean
Example
false
earlyCheckInCharge

A pricing modifier for guests checking in early. May include a surcharge or credit. If null, no early check-in charge applies.

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

Whether rate plan is active or not.

boolean
Example
false
extraChildRateModifier

A pricing modifier applied for each additional child guest. Typically used for child discounts or family rate adjustments. Leave null for no extra child adjustment.

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

A pricing modifier applied for each additional adult guest beyond the base occupancy. For example, a per-person surcharge for extra occupants. Leave null for no extra adult adjustment.

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

A pricing modifier for guests staying late after standard checkout time. May include a surcharge or credit. If null, no late check-out charge applies.

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

When true, guests earn loyalty points toward the property’s loyalty program with this rate plan. When false, this rate plan does not accrue points.

boolean
Example
false
lunch
required

When true, indicates lunch is included.

boolean
Example
false
maxAdvanceBookingOffset

Maximum number of days in advance a guest may book this rate plan. For example, 180 allows bookings up to 6 months ahead. Leave null for no maximum advance booking window.

integer format: int32
""
Example
180
maxAge

Maximum guest age allowed for this rate plan, typically used for family or age-restricted rates. Leave null for no maximum age restriction.

integer format: int32
""
Example
65
maxLOS

Maximum consecutive nights allowed for a booking under this rate plan. For example, 30 caps bookings at 30 nights. Leave null for no maximum stay limit.

integer format: int32
""
Example
30
maxTotalOccupancy

Maximum number of guests allowed under this rate plan. Leave null for no maximum occupancy limit.

integer format: int32
""
Example
4
minAdvanceBookingOffset

Minimum number of days in advance a guest must book this rate plan. For example, 3 requires booking at least 3 days before arrival. Leave null for no minimum advance booking requirement.

integer format: int32
""
Example
3
minAge

Minimum guest age required to book this rate plan, typically used for senior discounts or adult-only rates. Leave null for no minimum age requirement.

integer format: int32
""
Example
18
minLOS

Minimum consecutive nights required for a booking under this rate plan. For example, 2 requires a minimum 2-night stay. Leave null for no minimum stay requirement.

integer format: int32
""
Example
1
minTotalOccupancy

Minimum number of guests required to qualify for this rate plan. Leave null for no minimum occupancy requirement.

integer format: int32
""
Example
1
name
required

A descriptive name for this rate plan, such as ‘Best Available Rate’, ‘Non-Refundable’, or ‘Corporate Rate’.

string
"" >= 1 characters
Example
Best Available Rate
prepaid
required

When true, indicates if the rate is a prepaid rate.

boolean
Example
false
ratePlanLevelFees

Additional fees applied to this rate plan, such as resort facilities fees, parking fees, or cleaning charges. Fees can be charged per day, per stay, per person, or combinations thereof.

Array<object>

An additional fee attached to a rate plan, such as a resort facility fee, cleaning fee, or parking fee. The fee amount and how it is charged (per day, per stay, per person, etc.) are defined per fee entry.

object
descriptions
required

Localized descriptions of this fee in multiple languages. At least one entry in English is 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
Example
SYSTEM
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
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})?$/
Example
en
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
Example
{
"creator": "USER",
"description": "This is a longer description in the specified language.",
"language": "en",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
fixedAmount
required

The fixed fee amount in the property’s local currency.

object
amount
required

Monetary amount value

number
""
Example
1250
currency
required

ISO 4217 currency code

string
"" >= 1 characters /^[A-Z]{3}$/
Example
USD
Example
450
type
required

How this fee is charged: per day, per stay, per person per day, or per person per stay.

string
""
Allowed values: PER_DAY PER_STAY PER_PERSON_PER_DAY PER_PERSON_PER_STAY
Example
PER_DAY
Example
{
"descriptions": [
{
"creator": "USER",
"description": "This is a longer description in the specified language.",
"language": "en",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"fixedAmount": 450,
"type": "PER_DAY"
}
requiredDaysOfWeek

Days of the week on which at least one night must fall within the stay. Useful for rates requiring weekend stays or specific weekday requirements. If null, no specific day-of-week stay requirements apply.

object
disabled

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

boolean
Example
true
fri

Set to true to enable Friday.

boolean
Example
true
mon

Set to true to enable Monday.

boolean
Example
true
sat

Set to true to enable Saturday.

boolean
Example
true
sun

Set to true to enable Sunday.

boolean
Example
true
thu

Set to true to enable Thursday.

boolean
Example
true
tue

Set to true to enable Tuesday.

boolean
Example
true
wed

Set to true to enable Wednesday.

boolean
Example
true
Example
{
"disabled": true,
"fri": true,
"mon": true,
"sat": true,
"sun": true,
"thu": true,
"tue": true,
"wed": true
}
sellEndDate

The date on which this rate plan is no longer available for booking. If both sellStartDate and sellEndDate are set, the rate can only be sold within that date range. Leave null for no end restriction.

string format: date
""
Example
2026-12-31
sellStartDate

The date on which this rate plan becomes available for booking. If both sellStartDate and sellEndDate are set, the rate can only be sold within that date range. Leave null for no start restriction.

string format: date
""
Example
2026-01-15
singleOccupancyRateModifier

A pricing modifier applied when a single guest books this rate plan. For example, a 10% discount for solo travelers. Leave null for no single occupancy adjustment.

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

The latest date a guest can check in to use this rate plan. If both stayStartDate and stayEndDate are set, the rate can only be used for stays within that date range. Leave null for no end restriction.

string format: date
""
Example
2026-12-31
stayStartDate

The earliest date a guest can check in to use this rate plan. If both stayStartDate and stayEndDate are set, the rate can only be used for stays within that date range. Leave null for no start restriction.

string format: date
""
Example
2026-01-15
Example
{
"allInclusive": false,
"allInclusivePlusAlcohol": false,
"arrivalDaysOfWeek": {
"disabled": true,
"fri": true,
"mon": true,
"sat": true,
"sun": true,
"thu": true,
"tue": true,
"wed": true
},
"availableDaysOfWeek": {
"disabled": true,
"fri": true,
"mon": true,
"sat": true,
"sun": true,
"thu": true,
"tue": true,
"wed": true
},
"breakfast": false,
"brunch": false,
"cancellationPolicyExceptions": {
"list": [
{
"cancellationPolicyIdentifier": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"endDate": "2026-12-31",
"startDate": "2026-01-14"
}
]
},
"cancellationPolicyIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"departureDaysOfWeek": {
"disabled": true,
"fri": true,
"mon": true,
"sat": true,
"sun": true,
"thu": true,
"tue": true,
"wed": true
},
"dinner": false,
"earlyCheckInCharge": {
"fixedAmount": {
"amount": 1250,
"currency": "USD"
},
"percent": 0.25,
"type": "PERCENTAGE"
},
"enabled": false,
"extraChildRateModifier": {
"fixedAmount": {
"amount": 1250,
"currency": "USD"
},
"percent": 0.25,
"type": "PERCENTAGE"
},
"extraPaxRateModifier": {
"fixedAmount": {
"amount": 1250,
"currency": "USD"
},
"percent": 0.25,
"type": "PERCENTAGE"
},
"lateCheckOutCharge": {
"fixedAmount": {
"amount": 1250,
"currency": "USD"
},
"percent": 0.25,
"type": "PERCENTAGE"
},
"loyaltyPointsAccrue": false,
"lunch": false,
"maxAdvanceBookingOffset": 180,
"maxAge": 65,
"maxLOS": 30,
"maxTotalOccupancy": 4,
"minAdvanceBookingOffset": 3,
"minAge": 18,
"minLOS": 1,
"minTotalOccupancy": 1,
"name": "Best Available Rate",
"prepaid": false,
"ratePlanLevelFees": [
{
"descriptions": [
{
"creator": "USER",
"description": "This is a longer description in the specified language.",
"language": "en",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"fixedAmount": 450,
"type": "PER_DAY"
}
],
"requiredDaysOfWeek": {
"disabled": true,
"fri": true,
"mon": true,
"sat": true,
"sun": true,
"thu": true,
"tue": true,
"wed": true
},
"sellEndDate": "2026-12-31",
"sellStartDate": "2026-01-15",
"singleOccupancyRateModifier": {
"fixedAmount": {
"amount": 1250,
"currency": "USD"
},
"percent": 0.25,
"type": "PERCENTAGE"
},
"stayEndDate": "2026-12-31",
"stayStartDate": "2026-01-15"
}

Rate plan updated successfully.

Media typeapplication/json
object
allInclusive
required

Everything included except alcohol

boolean
allInclusivePlusAlcohol
required

Everything included with alcohol

boolean
arrivalDaysOfWeek

Days of the week on which guests are allowed to check in. If null, arrivals are permitted on any day.

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
availableDaysOfWeek

Days of the week when this rate plan is available for booking. If null, the rate plan is available on all days.

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

When true, indicates breakfast is included.

boolean
brunch
required

When true, indicates brunch is included.

boolean
cancellationPolicy

The cancellation policy that governs refunds and cancellations for this rate plan.

object
advanceCancellationFreeOfCharge

When the cancellation policy is refundable, this flag can be set and indicates there is more rules involved than just a no-questions-asked refundable.

string
""
Allowed values: UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL UNTIL_FOURTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL ONE_DAY_BEFORE_ARRIVAL TWO_DAYS_BEFORE_ARRIVAL THREE_DAYS_BEFORE_ARRIVAL FIVE_DAYS_BEFORE_ARRIVAL SEVEN_DAYS_BEFORE_ARRIVAL FOURTEEN_DAYS_BEFORE_ARRIVAL TWENTYONE_DAYS_BEFORE_ARRIVAL THIRTY_DAYS_BEFORE_ARRIVAL FOURTY_TWO_DAYS_BEFORE_ARRIVAL SIXTY_DAYS_BEFORE_ARRIVAL
createdDate

Datetime this record was first created

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

Property this cancellation is associated with

string format: uuid
""
id
required

Unique identifier for this record.

string format: uuid
""
lastUpdate

Datetime this record was last updated

string | null format: date-time
""
noShowCharge

In case the ‘Refundable cancellation charge’ is set, a different no show charge can be applied.

string
""
Allowed values: SAME_AS_CANCELLATION_FEE ONE_HUNDRED_PERCENT_OF_TOTAL_CHARGE
nonRefundableAfterDeadlineCancellationCharge

If the guest does not honor the non-refundable deadline rule, this charge dictates what she owes after the deadline passes.

string
""
Allowed values: FIRST_NIGHT TEN_PERCENT THIRTY_PERCENT FIFTY_PERCENT SEVENTY_PERCENT ONE_HUNDRED_PERCENT
nonRefundableCancellationCharge

When the cancellation policy is non-refundable, this flag can be set and indicates there is more rules involved to calculate what the guest will owe in case of a cancellation.

string
""
Allowed values: FIRST_NIGHT TEN_PERCENT THIRTY_PERCENT FIFTY_PERCENT SEVENTY_PERCENT
nonRefundableDeadline

The non-refundable charge might can have a deadline. If that deadline passes, the guest might be charged more.

string
""
Allowed values: ONE_DAY_BEFORE_ARRIVAL TWO_DAYS_BEFORE_ARRIVAL THREE_DAYS_BEFORE_ARRIVAL FIVE_DAYS_BEFORE_ARRIVAL SEVEN_DAYS_BEFORE_ARRIVAL FOURTEEN_DAYS_BEFORE_ARRIVAL TWENTYONE_DAYS_BEFORE_ARRIVAL THIRTY_DAYS_BEFORE_ARRIVAL FOURTY_TWO_DAYS_BEFORE_ARRIVAL SIXTY_DAYS_BEFORE_ARRIVAL
policyCode
string
refundable
required

Whether this cancellation policy is refundable or not

boolean
refundableCancellationCharge

If advanceCancellationFreeOfCharge rules is not honored, this property explains what the guest will be charged.

string
""
Allowed values: FIRST_NIGHT THIRTY_PERCENT FIFTY_PERCENT SIXTY_PERCENT SEVENTY_PERCENT NINETY_PERCENT ONE_HUNDRED_PERCENT
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
""
cancellationPolicyExceptions

Optional overrides of the cancellation policy for specific date ranges. Allows a property to apply different cancellation terms during peak seasons, events, or special periods. Leave null for no date-specific exceptions.

object
list
required

List of cancellation policy exceptions

Array<object>
>= 1 items
object
cancellationPolicy
required

Cancellation policy details for this exception

object
advanceCancellationFreeOfCharge

Advance notice window within which a cancellation is free of charge

string
Allowed values: UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL UNTIL_FOURTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL ONE_DAY_BEFORE_ARRIVAL TWO_DAYS_BEFORE_ARRIVAL THREE_DAYS_BEFORE_ARRIVAL FIVE_DAYS_BEFORE_ARRIVAL SEVEN_DAYS_BEFORE_ARRIVAL FOURTEEN_DAYS_BEFORE_ARRIVAL TWENTYONE_DAYS_BEFORE_ARRIVAL THIRTY_DAYS_BEFORE_ARRIVAL FOURTY_TWO_DAYS_BEFORE_ARRIVAL SIXTY_DAYS_BEFORE_ARRIVAL
hotelIdentifier
string
id
string
noShowCharge

Fee structure applied when a guest fails to show up without cancelling

string
Allowed values: SAME_AS_CANCELLATION_FEE ONE_HUNDRED_PERCENT_OF_TOTAL_CHARGE
nonRefundableAfterDeadlineCancellationCharge

Penalty charge applied when a non-refundable booking is cancelled after the deadline

string
Allowed values: FIRST_NIGHT TEN_PERCENT THIRTY_PERCENT FIFTY_PERCENT SEVENTY_PERCENT ONE_HUNDRED_PERCENT
nonRefundableCancellationCharge

Charge applied for cancelling a non-refundable rate

string
Allowed values: FIRST_NIGHT TEN_PERCENT THIRTY_PERCENT FIFTY_PERCENT SEVENTY_PERCENT
nonRefundableDeadline

Deadline before arrival after which a booking becomes non-refundable

string
Allowed values: ONE_DAY_BEFORE_ARRIVAL TWO_DAYS_BEFORE_ARRIVAL THREE_DAYS_BEFORE_ARRIVAL FIVE_DAYS_BEFORE_ARRIVAL SEVEN_DAYS_BEFORE_ARRIVAL FOURTEEN_DAYS_BEFORE_ARRIVAL TWENTYONE_DAYS_BEFORE_ARRIVAL THIRTY_DAYS_BEFORE_ARRIVAL FOURTY_TWO_DAYS_BEFORE_ARRIVAL SIXTY_DAYS_BEFORE_ARRIVAL
refundable
boolean
refundableCancellationCharge

Charge retained when a refundable booking is cancelled

string
Allowed values: FIRST_NIGHT THIRTY_PERCENT FIFTY_PERCENT SIXTY_PERCENT SEVENTY_PERCENT NINETY_PERCENT ONE_HUNDRED_PERCENT
cancellationPolicyIdentifier
required

Cancellation policy identifier

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

End date for when this cancellation policy should end overriding the default cancellation policy.

string format: date
""
startDate
required

Start date for when this cancellation policy should start to override the default cancellation policy.

string format: date
""
createdDate

Datetime this record was first created

string | null format: date-time
""
departureDaysOfWeek

Days of the week on which guests are allowed to check out. If null, departures are permitted on any day.

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

When true, indicates dinner is included.

boolean
earlyCheckInCharge

A pricing modifier for guests checking in early. May include a surcharge or credit. If null, no early check-in charge applies.

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

Whether rate plan is active or not.

boolean
extraChildRateModifier

A pricing modifier applied for each additional child guest. Typically used for child discounts or family rate adjustments. If null, no extra child adjustment applies.

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

A pricing modifier applied for each additional adult guest beyond the base occupancy. For example, a per-person surcharge for extra occupants. If null, no extra adult adjustment applies.

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

The property (managing entity) that owns this rate plan.

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

Unique identifier for this record.

string format: uuid
"" >= 1 characters
lastUpdate

Datetime this record was last updated

string | null format: date-time
""
lateCheckOutCharge

A pricing modifier for guests staying late after standard checkout time. May include a surcharge or credit. If null, no late check-out charge applies.

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
loyaltyPointsAccrue

When true, guests earn loyalty points toward the property’s loyalty program with this rate plan. When false, this rate plan does not accrue points.

boolean
lunch
required

When true, indicates lunch is included.

boolean
maxAdvanceBookingOffset

Maximum number of days in advance a guest may book this rate plan. For example, 180 allows bookings up to 6 months ahead.

integer format: int32
""
maxAge

Maximum guest age allowed for this rate plan, typically used for family or age-restricted rates.

integer format: int32
""
maxLOS

Maximum consecutive nights allowed for a booking under this rate plan. For example, 30 caps bookings at 30 nights.

integer format: int32
""
maxTotalOccupancy

Maximum number of guests allowed under this rate plan.

integer format: int32
""
minAdvanceBookingOffset

Minimum number of days in advance a guest must book this rate plan. For example, 3 requires booking at least 3 days before arrival.

integer format: int32
""
minAge

Minimum guest age required to book this rate plan, typically used for senior discounts or adult-only rates.

integer format: int32
""
minLOS

Minimum consecutive nights required for a booking under this rate plan. For example, 2 requires a minimum 2-night stay.

integer format: int32
""
minTotalOccupancy

Minimum number of guests required to qualify for this rate plan.

integer format: int32
""
name
required

A descriptive name for this rate plan, such as ‘Best Available Rate’, ‘Non-Refundable’, or ‘Corporate Rate’.

string
"" >= 1 characters
prepaid
required

When true, indicates if the rate is a prepaid rate.

boolean
ratePlanLevelFees

Additional fees applied to this rate plan, such as resort facilities fees, parking fees, or cleaning charges. Fees can be charged per day, per stay, per person, or combinations thereof.

Array<object>

An additional fee attached to a rate plan, such as a resort facility fee, cleaning fee, or parking fee. The fee amount and how it is charged (per day, per stay, per person, etc.) are defined per fee entry.

object
descriptions
required

Localized descriptions of this fee in multiple languages. At least one entry in English is 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
""
fixedAmount
required

The fixed fee amount in the property’s local currency.

object
amount
required

Monetary amount value

number
""
currency
required

ISO 4217 currency code

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

How this fee is charged: per day, per stay, per person per day, or per person per stay.

string
""
Allowed values: PER_DAY PER_STAY PER_PERSON_PER_DAY PER_PERSON_PER_STAY
requiredDaysOfWeek

Days of the week on which at least one night must fall within the stay. Useful for rates requiring weekend stays or specific weekday requirements. If null, no specific day-of-week stay requirements apply.

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
sellEndDate

The date on which this rate plan is no longer available for booking. If both sellStartDate and sellEndDate are set, the rate can only be sold within that date range.

string format: date
""
sellStartDate

The date on which this rate plan becomes available for booking. If both sellStartDate and sellEndDate are set, the rate can only be sold within that date range.

string format: date
""
singleOccupancyRateModifier

A pricing modifier applied when a single guest books this rate plan. For example, a 10% discount for solo travelers. If null, no single occupancy adjustment applies.

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
stayEndDate

The latest date a guest can check in to use this rate plan. If both stayStartDate and stayEndDate are set, the rate can only be used for stays within that date range.

string format: date
""
stayStartDate

The earliest date a guest can check in to use this rate plan. If both stayStartDate and stayEndDate are set, the rate can only be used for stays within that date range.

string format: date
""
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
""
key
additional properties
""
Example
{
"allInclusive": false,
"allInclusivePlusAlcohol": false,
"arrivalDaysOfWeek": {
"disabled": true,
"fri": true,
"mon": true,
"sat": true,
"sun": true,
"thu": true,
"tue": true,
"wed": true
},
"availableDaysOfWeek": {
"disabled": true,
"fri": true,
"mon": true,
"sat": true,
"sun": true,
"thu": true,
"tue": true,
"wed": true
},
"breakfast": false,
"brunch": false,
"cancellationPolicy": {
"advanceCancellationFreeOfCharge": "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
"createdDate": "2026-01-14T09:30:00",
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"id": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"lastUpdate": "2026-02-03T16:45:12",
"noShowCharge": "SAME_AS_CANCELLATION_FEE",
"nonRefundableAfterDeadlineCancellationCharge": "ONE_HUNDRED_PERCENT",
"nonRefundableCancellationCharge": "SEVENTY_PERCENT",
"nonRefundableDeadline": "SEVEN_DAYS_BEFORE_ARRIVAL",
"refundable": false,
"refundableCancellationCharge": "FIFTY_PERCENT",
"version": 3
},
"cancellationPolicyExceptions": {
"list": [
{
"cancellationPolicyIdentifier": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"endDate": "2026-12-31",
"startDate": "2026-01-14"
}
]
},
"createdDate": "2026-01-14T09:30:00",
"departureDaysOfWeek": {
"disabled": true,
"fri": true,
"mon": true,
"sat": true,
"sun": true,
"thu": true,
"tue": true,
"wed": true
},
"dinner": false,
"earlyCheckInCharge": {
"fixedAmount": {
"amount": 1250,
"currency": "USD"
},
"percent": 0.25,
"type": "PERCENTAGE"
},
"enabled": false,
"extraChildRateModifier": {
"fixedAmount": {
"amount": 1250,
"currency": "USD"
},
"percent": 0.25,
"type": "PERCENTAGE"
},
"extraPaxRateModifier": {
"fixedAmount": {
"amount": 1250,
"currency": "USD"
},
"percent": 0.25,
"type": "PERCENTAGE"
},
"hotelIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"id": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"lastUpdate": "2026-02-03T16:45:12",
"lateCheckOutCharge": {
"fixedAmount": {
"amount": 1250,
"currency": "USD"
},
"percent": 0.25,
"type": "PERCENTAGE"
},
"loyaltyPointsAccrue": false,
"lunch": false,
"maxAdvanceBookingOffset": 180,
"maxAge": 65,
"maxLOS": 30,
"maxTotalOccupancy": 4,
"minAdvanceBookingOffset": 3,
"minAge": 18,
"minLOS": 1,
"minTotalOccupancy": 1,
"name": "Best Available Rate",
"prepaid": false,
"ratePlanLevelFees": [
{
"descriptions": [
{
"creator": "USER",
"description": "This is a longer description in the specified language.",
"language": "en",
"md5ContentHash": "d41d8cd98f00b204e9800998ecf8427e"
}
],
"fixedAmount": 450,
"type": "PER_DAY"
}
],
"requiredDaysOfWeek": {
"disabled": true,
"fri": true,
"mon": true,
"sat": true,
"sun": true,
"thu": true,
"tue": true,
"wed": true
},
"sellEndDate": "2026-12-31",
"sellStartDate": "2026-01-15",
"singleOccupancyRateModifier": {
"fixedAmount": {
"amount": 1250,
"currency": "USD"
},
"percent": 0.25,
"type": "PERCENTAGE"
},
"stayEndDate": "2026-12-31",
"stayStartDate": "2026-01-15",
"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
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