Product management
ReferenceProduct management

replaceFeeSet mutation

This mutation is offered as part of the product management capability, which is available to pilot partners only. If you are interested in adopting this capability, contact your Technical Account Manager.

Updates a fee set.

Note: When updating a fee set, all parameters (full payload) must be specified; this mutation is a full overlay.

Syntax

1mutation {
3}

Examples

1mutation {
2 replaceFeeSet(
3 input: {
4 clientMutationId: "sfg5jd-6dj-d12-po"
5 id: "450015502"
6 name: "fee-set523"
7 propertyId: "12293874"
8 businessModel: MERCHANT
9 variesByLengthOfStay: false
10 fees: [
11 {
12 category: "GUEST_FEE_PER_GUEST"
13 charges: [{ duration: NIGHT, type: PERCENTAGE, percentage: "10" }]
14 ageCategory: "ADULT"
15 restrictions: {
16 extraGuestRange: { min: 1, max: 1 }
17 dateRange: { from: "2025-01-01", to: "2079-06-06" }
18 }
19 taxable: false
20 }
21 {
22 category: "GUEST_FEE_PER_GUEST"
23 charges: [{ duration: NIGHT, type: FLAT_AMOUNT, flatAmount: "25" }]
24 ageCategory: "CHILD_A"
25 restrictions: {
26 extraGuestRange: { min: 1, max: 1 }
27 dateRange: { from: "2025-01-01", to: "2079-06-06" }
28 }
29 taxable: false
30 }
31 {
32 category: "SERVICE_FEE_PER_GUEST"
33 charges: [
34 {
35 duration: NIGHT
36 type: FLAT_AMOUNT
37 flatAmount: "0"
38 percentage: null
39 }
40 {
41 duration: STAY
42 type: FLAT_AMOUNT
43 flatAmount: "20"
44 percentage: nul
46 }
47 ]
48 ageCategory: "ADULT"
49 restrictions: {
50 extraGuestRange: { min: 1, max: 1 }
51 dateRange: { from: "2025-08-01", to: "2079-06-06" }
52 }
53 taxable: false
54 }
55 {
56 category: "SERVICE_FEE_PER_GUEST"
57 charges: [
58 {
59 duration: NIGHT
60 type: FLAT_AMOUNT
61 flatAmount: "10
62 percentage: null
63 }
64 {
65 duration: STAY
66 type: FLAT_AMOUNT
67 flatAmount: "0"
68 percentage: null
69 }
70 ]
71 ageCategory: "CHILD_A"
72 restrictions: {
73 extraGuestRange: { min: 1, max: 1 }
74 dateRange: { from: "2025-08-01", to: "2079-06-06" }
75 }
76 taxable: false
77 }
78 {
79 category: "SERVICE_FEE_PER_ACCOMMODATION"
80 charges: [
81 { duration: NIGHT, type: FLAT_AMOUNT, flatAmount: "10" }
82 { duration: STAY, type: FLAT_AMOUNT, flatAmount: "0" }
83 { duration: STAY, type: PERCENTAGE, percentage: "5" }
84 ]
85 taxable: false
86 }
87 ]
88 }
89 ) {
90 clientMutationId
91 feeSet {
92 id
93 name
94 businessModel
95 variesByLengthOfStay
96 fees {
97 category
98 charges {
99 duration
100 percentage
101 flatAmount
102 }
103 ageCategory
104 restrictions {
105 dateRange {
106 from
107 to
108 }
109 extraGuestRange {
110 min
111 max
112 }
113 }
114 taxable
115 }
116 }
117 }
118}

Arguments

NameDescription

input

Required.
Type: ReplaceFeeSetInput

Types


Name
Type
Boolean
Boolean

The Boolean scalar type represents true or false.

CurrencyCode
CurrencyCode

Scalar that represents the three-letter currency code defined by the ISO 4217 standard.

Date
Date

Scalar that represents a date string compliant with the RFC 3339 profile of the ISO 8601 standard.

Decimal
Decimal

A type represending a signed decimal number (supporting up to two decimal places), which is serialized as a string.

Fee
Object

Details about a fee.

FieldDescription
ageCategory

Age category to which the fee applies.

Type: String
categoryNot nullable.

Fee category.

Type: String
chargesNot nullable.

Amount, type, and duration of the fee.

Type: Array of non nullable FeeCharge
restrictions

Restrictions applied to the fee (dates or extra guests).

Type: FeeRestrictions
taxable

Whether the fee is taxable.

Type: Boolean
FeeBusinessModel
Enum

Values for the property's business model.

NameDescription
AGENCY
MERCHANT
FeeCharge
Object

Amount, type, and duration of the fee.

FieldDescription
durationNot nullable.

Duration of time to which the fee is applied.

Type: FeeChargeDuration
flatAmount

Amount of the fee if applied as a flat amount.

Type: Money
percentage

Percentage of the rental amount if the fee is applied as a percentage.

Type: Decimal
typeNot nullable.

How the fee is applied (flat amount or percentage).

Type: FeeChargeType
FeeChargeDuration
Enum

Duration of time to which the fee is applied.

NameDescription
NIGHT
STAY
FeeChargeInput
InputObject

Amount, type, and duration of the fee. Note that when a fee's category is SERVICE_FEE_PER_ACCOMMODATION, all charges must be specified, even if the value is 0.

FieldDescription
durationNot nullable.

Duration of time to which the fee is applied.

Type: FeeChargeDuration
flatAmount

Amount of the fee if applied as a flat amount.

Type: Decimal
percentage

Percentage of the rental amount if the fee is applied as a percentage.

Type: Decimal
typeNot nullable.

How the fee is applied (flat amount or percentage).

Type: FeeChargeType
FeeChargeType
Enum

How the fee is applied (flat amount or percentage).

NameDescription
FLAT_AMOUNT
PERCENTAGE
FeeDateRange
Object

Date range when the fee is applied.

FieldDescription
fromNot nullable.

Start date of the date range.

Type: Date
to

End date of the date range.

Type: Date
FeeDateRangeInput
InputObject

Date range when the fee is applied.

FieldDescription
fromNot nullable.

Start date of the date range.

Type: Date
to

End date of the date range.

Type: Date
FeeInput
InputObject

Details about a fee.

FieldDescription
ageCategory

Age category to which the fee applies. Only applies if category is set to GUEST_FEE_PER_GUEST or SERVICE_FEE_PER_GUEST.

Type: String
categoryNot nullable.

Fee category (Guest or Service). Allowed values include GUEST_FEE_PER_GUEST, SERVICE_FEE_PER_GUEST, and SERVICE_FEE_PER_ACCOMMODATION.

Type: String
chargesNot nullable.

Amount, type, and duration of the fee.

Type: Array of non nullable FeeChargeInput
restrictions

Restrictions applied to the fee (dates or extra guests).

Type: FeeRestrictionsInput
taxable

Whether the fee is taxable.

Type: Boolean
FeeRestrictions
Object

Restrictions applied to the fee (dates or extra guests).

FieldDescription
dateRange

Date range restriction

Type: FeeDateRange
extraGuestRange

Number of guests (minimum and maximum) that are restricted.

Type: IntRange
FeeRestrictionsInput
InputObject

Restrictions applied to the fee (dates or extra guests).

FieldDescription
dateRange

Start and end dates that define the date range that is restricted.

Type: FeeDateRangeInput
extraGuestRange

Number of guests (minimum and maximum) that are restricted. Only supported when category:GUEST_FEE_PER_GUEST.

Type: IntRangeInput
FeeSet
Object

Details and fees that make up the fee set.

FieldDescription
businessModelNot nullable.

Business model used by the property.

Type: FeeBusinessModel
feesNot nullable.

One or more fees included in the fee set.

Type: Array of non nullable Fee
idNot nullable.

Fee set ID.

Type: ID
nameNot nullable.

Fee set name.

Type: String
variesByLengthOfStay

Whether the fee changes based on length of stay.

Type: Boolean
ID
ID

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Int
Int

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

IntRange
Object

Range of integers.

FieldDescription
maxNot nullable.

Maximum integer value.

Type: Int
minNot nullable.

Minimum integer value.

Type: Int
IntRangeInput
InputObject

Range of integers.

FieldDescription
maxNot nullable.

Maximum integer value.

Type: Int
minNot nullable.

Minimum integer value.

Type: Int
Money
Object

Monetary amount value and its currency code.

FieldDescription
amountNot nullable.

Monetary amount value. The scale of the amount varies according to the currency or any rate conversion that may have been applied.

Type: Decimal
currencyCodeNot nullable.

Currency code.

Type: CurrencyCode
ReplaceFeeSetInput
InputObject

Details to update a fee set.

FieldDescription
clientMutationId

Partner's transaction ID that uniquely identifies the request, which can be used to associate requests and responses for troubleshooting purposes. This ID must be unique across requests and cannot be reused. However, if a request needs to be retried, such as because it failed or timed out, the ID provided in the original request should be used. The ID can be in any format as long as it uniquely identifies the request.

Type: String
feesNot nullable.

One or more fees to include in the fee set.

Type: Array of non nullable FeeInput
idNot nullable.

Fee set ID to update.

Type: ID
nameNot nullable.

Fee set name.

Type: String
propertyIdNot nullable.

ID of the property to which the fee set belongs.

Type: ID
ReplaceFeeSetPayload
Object

Details about the fee set after it is updated.

FieldDescription
clientMutationId

Partner's transaction ID that identifies the request, which can be used to correlate with partner's transaction logs. This ID must be unique across requests and cannot be reused.

Type: String
feeSetNot nullable.

Details about the fee set.

Type: FeeSet
String
String

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.