Product management
ReferenceProduct management

createFeeSet mutation

Creates a fee set that can be associated with rate plans. Fees defined at the rate-plan level are included in the price that travelers see when booking and are either paid in advance for Expedia Collect bookings or upon arrival for Hotel Collect bookings. These fees include

  • Extra guest fees (extra person fees)
  • Service fees per person or per stay

This mutation does not create mandatory and optional fees at a property level; those are created using the Property API. Property-level fees are not included in the price that travelers pay when booking and are collected upon arrival or during a traveler’s stay. These include

  • Mandatory fees, such as resort or cleaning fees
  • Optional fees that only apply to guests who make use of specific facilities and services, such as parking or spa fees

And you cannot define optional fees that are defined at the unit level, such as surcharges for extra beds or wifi fees. Use the createUnit mutation or updateUnit mutation to define these fees.

Syntax

1mutation {
3}

Examples

1mutation {
2 createFeeSet(
3 input: {
4 clientMutationId: "some-id"
5 name: "FeeSet_property_01"
6 propertyId: "1234"
7 businessModel: AGENCY
8 fees: [
9 {
10 name: "per-stay-service-fee-01"
11 type: "SERVICE"
12 scope: "ACCOMMODATION"
13 charges: [
14 {
15 duration: NIGHT,
16 flatAmount: {
17 amount: 12,
18 currencyCode: "USD"
19 }
20 }
21 ]
22 taxable: true
23 variesByLengthOfStay: false
24 }
25 ]
26 }
27 ) {
28 clientMutationId
29 feeSet {
30 id
31 name
32 businessModel
33 fees {
34 name
35 type
36 charges {
37 duration
38 percentage
39 flatAmount {
40 amount
41 currencyCode
42 }
43 }
44 ageCategory
45 restrictions {
46 dateRange {
47 from
48 to
49 }
50 extraGuestRange {
51 min
52 max
53 }
54 rangeOfNight {
55 min
56 max
57 }
58 }
59 taxable
60 variesByLengthOfStay
61 }
62 }
63 }
64}

Arguments

NameDescription

input

Required.
Type: CreateFeeSetInput

Types


Name
Type
Boolean
Boolean

The Boolean scalar type represents true or false.

CreateFeeSetInput
InputObject

Input parameters for creating a fee set.

FieldDescription
businessModelNot nullable.

Business model used by the property. If the property uses ETP and manages net rates, specify MERCHANT (Expedia Collect) here. If the property uses ETP and manages sell rates, and if the rate plan's business model is Hotel Collect, specify AGENCY (Hotel Collect) here.

Type: FeeBusinessModel
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.

Parameters that define how the fee is applied.

Type: Array of non nullable FeeInput
nameNot nullable.

Fee set name.

Type: String
propertyIdNot nullable.

ID of the property to which the fee set belongs.

Type: ID
CreateFeeSetPayload
Object

Fee set defined for the property.

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

Scalar representing an arbitrary-precision and scale decimal number, serialized as a string.

Fee
Object

Details about a fee.

FieldDescription
ageCategory

Age category to which the fee applies.

Type: FeeAgeCategory
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
variesByLengthOfStay

Whether the fee changes based on length of stay.

Type: Boolean
FeeAgeCategory
Enum

Age category values.

NameDescription
ADULT
CHILD_A
CHILD_B
CHILD_C
CHILD_D
INFANT
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.

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.

Type: FeeAgeCategory
categoryNot nullable.

Fee category (Guest or Service).

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
variesByLengthOfStay

Whether the fee changes based on length of stay.

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.

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
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
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.