---
title: "Create additional fee on listing level"
method: POST
path: "/additional-fees/listing/{listingId}"
tags: ["AdditionalFees"]
---

# Create additional fee on listing level

`POST /additional-fees/listing/{listingId}`

## Path parameters

- `listingId` string, required

## Request body

- object — When configuring the platform and sources fields, user discretion should be taken to choose platforms or sources that are integrated to the account/listing
  - `name` string, required — Define an internal name for your additional fee
  - `type` 'ADDITIONAL_BED' | 'AIR_CONDITIONING' | 'EARLY_CHECK_IN' | 'LATE_CHECK_IN' | 'BABY_BED' | 'CLEANING' | 'CLUB_CARD' | 'CONCIERGE' | 'EARLY_CHECKOUT' | 'LATE_CHECKOUT' | 'DEPOSIT' | 'ELECTRICITY' | 'FOOD' | 'HEATING' | 'INTERNET' | 'LAUNDRY' | 'LINENS' | 'TOWELS' | 'MANAGEMENT' | 'OIL' | 'PARKING' | 'PET' | 'POOL' | 'POOL_HEATING' | 'RESORT' | 'SERVICE' | 'TOILETRIES' | 'TOUR' | 'TRANSPORTATION' | 'CAR_RENTAL' | 'WATER' | 'WOOD' | 'TRANSFER' | 'HOUSEKEEPING' | 'INSURANCE' | 'COMMUNITY' | 'CREDIT_CARD_PROCESSING_FEE' | 'DAMAGE_WAIVER' | 'VIP_SERVICES' | 'PAYMENT_FEE' | 'ADDITIONAL_CHARGE' | 'MISCELLANEOUS' | 'SHIPPING' | 'VALET' | 'ACTIVITIES' | 'FLIGHTS' | 'GIFT_BASKET' | 'SPA' | 'CHEF' | 'MEET_AND_GREET' | 'DOCK_FEE' | 'UTILITY_FEE' | 'HOT_TUB' | 'BOOKING_FEE' | 'BREAKFAST' | 'BEVERAGE' | 'MEAL' | 'WELLNESS' | 'MINIBAR' | 'BUSINESS_CENTER' | 'WIFI' | 'GUEST_SERVICE' | 'COMMISSION_CHARGE' | 'EQUIPMENT_RENTAL' | 'RESERVATION_FEE' | 'DAMAGE_CHARGE' | 'HOMEOWNERS_ASSOCIATION' | 'GOLF_CART_RENTAL' | 'GUESTY_BASIC_TRAVEL_COVERAGE' | 'GUESTY_EXTENDED_TRAVEL_COVERAGE', required — Additional fee type. !!! Not all additional fee types can be synced with channels. If you select the additional fee type which cannot be synced with channels, and 'isSyncToSupportedChannelsEnabled' is [true] you will receive a validation error. GUESTY_BASIC_TRAVEL_COVERAGE and GUESTY_EXTENDED_TRAVEL_COVERAGE can't be synced with channels. This fee types are relevant only to users who purchased Guesty’s Travel Insurance Product and can only be defined as an upsell for guests to purchase.
  - `value` integer, required — 1. Must be bigger than 0, 2. When 'isPercentage' is 'true' then must be smaller or equal to 100
  - `isPercentage` boolean, required — Sets wether 'value' should be a fixed amount or percentage
  - `targetFee` 'PAYOUT' | 'CLEANING_FEE' | 'ACCOMMODATION_FARE' — 1. The fee to use for the additional fee amount calculation when 'isPercentage' is 'true', 2. required when 'isPercentage' is 'true'
  - `multiplier` 'PER_NIGHT' | 'PER_GUEST' | 'PER_GUEST_PER_NIGHT' | 'PER_STAY' — 1. Specifies the factor by which the 'value' will be multiplied in the additional fee amount calculation when 'isPercentage' is 'false'. 2. This is required when 'isPercentage' is 'false'.
  - `isSyncToSupportedChannelsEnabled` boolean — 1. Sync fee to account or listing settings and all future reservations for supported booking channels. !!! Not all additional fee types can be synced with channels. If you select the additional fee type which cannot be synced with channels, and 'isSyncToSupportedChannelsEnabled' is [true] you will receive a validation error
  - `isAutomated` boolean — 1. Indicates if there are booking channels in which the additional fee should be added automatically to reservations once the reservation arrives in Guesty, 2. if set to 'true', you must configure at least one of 'allSources', 'automationSources', 'allPlatforms', 'automationPlatforms', 'allRUSources', 'RUSources'
  - `allPlatforms` boolean — 1. If 'true' then the additional fee will be added to all future reservations in Guesty for all booking channels, 2. can not be 'true' when 'isAutomated' is 'false', 3. can not be 'true' when 'automationPlatforms' is not empty
  - `automationPlatforms` string[] — 1. Additional fee will be added to future reservations in Guesty for specified booking channels, 2. can not contain values when 'isAutomated' is 'false', 3. can not contain values when 'allPlatforms' is 'true'
  - `allSources` boolean — 1. if 'true' then the additional fee will be added to all future reservations for all manual sources, 2. can not be 'true' when 'isAutomated' is 'false', 3. can not be 'true' when 'automationSources' is not empty
  - `automationSources` string[] — 1. additional fee will be added to future reservations in Guesty for specified manual sources, 2. can not contain values when 'isAutomated' is 'false', 3. can not contain values when 'allSources' is 'true'
  - `allRUSources` boolean — 1. If 'true' then the additional fee will be added to all future rentals united reservations in Guesty for all rentals united booking channels, 2. can not be 'true' when 'isAutomated' is 'false' 3. can not be 'true' when 'RUSources' is not empty, 4. when 'true' then 'rentalsUnited' must be included in 'automationPlatforms' or 'allPlatforms' must be 'true'
  - `RUSources` string[] — 1. Additional fee will be added to future rentals united reservations in Guesty for specified rentals united booking channels, 2. can not contain values when 'isAutomated' is 'false', 3. can not contain values when 'allRUSources' is 'true', 4. when not empty then 'rentalsUnited' must be included in 'automationPlatforms' or 'allPlatforms' must be 'true'
  - `isDeducted` boolean — [Beta] isDeducted must be [false] without isBundled being [true] when either isSyncToSupportedChannelsEnabled, isAutomated are [true].
  - `isBundled` boolean — [Beta] Bundle as part of accommodation fare
  - `deductedConfiguration` object — [Beta] Deduct the fee amount from accommodation fare once the reservation is confirmed per manual source/channel configuration
    - `isApplyToAll` boolean — [Beta] Deduct the fee amount from accommodation fare once the reservation is confirmed for all reservations
    - `sources` string[] — [Beta] Deduct the fee amount from accommodation fare once the reservation is confirmed for reservations from specific manual sources. Will be not counted when "isApplyToAll" is "true"
    - `channels` string[] — [Beta] Deduct the fee amount from accommodation fare once the reservation is confirmed for reservations from specific channels. Will be not counted when "isApplyToAll" is "true"
  - `channelConfigurations` object[] — [Beta] Settings overrides per channel
    - `channel` string, required — [Beta] Channel name
    - `isEnabled` boolean — [Beta] Is sync to channel enabled
    - `type` string — [Beta] Fee Type in the channel
    - `value` number, required — [Beta] 1. Must be bigger than 0, 2. When 'isPercentage' is 'true' then must be smaller or equal to 100
    - `isPercentage` boolean, required — [Beta] Sets whether 'value' should be a fixed amount or percentage
    - `multiplier` 'PER_NIGHT' | 'PER_GUEST' | 'PER_GUEST_PER_NIGHT' | 'PER_STAY' — [Beta] 1. Sets the factor by which the 'value' will be multiplied in the additional fee amount calculation when 'isPercentage' is 'false', 2. Its required when 'isPercentage' is 'false'
    - `targetFee` 'PAYOUT' | 'CLEANING_FEE' | 'ACCOMMODATION_FARE' — [Beta] 1. The fee to use for the additional fee amount calculation when 'isPercentage' is 'true', 2. It's required when 'isPercentage' is 'true'
    - `isBundled` boolean — [Beta] Include fee in the accommodation fare
    - `conditions` union[] — [Beta] Conditions
      - union
        - object — [Beta] Fee type exclusion condition
          - `type` 'feeTypeExclusion', required — [Beta] Condition type
          - `value` string[], required — [Beta] List of fee types. When one of the fee types is present in the reservation, the additional fee will not be applied
        - object — [Beta] Date range condition
          - `type` 'dateRange', required — [Beta] Condition type
          - `value` object[], required
            - `from` string, date, required — [Beta] Date in the YYYY-MM-DD ISO 8601 format
            - `to` string, date, required — [Beta] Date in the YYYY-MM-DD ISO 8601. format
          - `overrides` object, required — [Beta] Overrides the additional fee value when the condition is met
            - `value` number, required
    - `isOverrideConditions` boolean — [Beta] Override group/root conditions. When "true" will use conditions from this configuration only, otherwise will use conditions from group/root configuration. Currently, it can be used only for a Booking engine
  - `sourcesConfigurations` object[] — [Beta] Settings overrides per groups of manual sources
    - `sources` string[], required
    - `type` 'ADDITIONAL_BED' | 'AIR_CONDITIONING' | 'EARLY_CHECK_IN' | 'LATE_CHECK_IN' | 'BABY_BED' | 'CLEANING' | 'CLUB_CARD' | 'CONCIERGE' | 'EARLY_CHECKOUT' | 'LATE_CHECKOUT' | 'DEPOSIT' | 'ELECTRICITY' | 'FOOD' | 'HEATING' | 'INTERNET' | 'LAUNDRY' | 'LINENS' | 'TOWELS' | 'MANAGEMENT' | 'OIL' | 'PARKING' | 'PET' | 'POOL' | 'POOL_HEATING' | 'RESORT' | 'SERVICE' | 'TOILETRIES' | 'TOUR' | 'TRANSPORTATION' | 'CAR_RENTAL' | 'WATER' | 'WOOD' | 'TRANSFER' | 'HOUSEKEEPING' | 'INSURANCE' | 'COMMUNITY' | 'CREDIT_CARD_PROCESSING_FEE' | 'DAMAGE_WAIVER' | 'VIP_SERVICES' | 'PAYMENT_FEE' | 'ADDITIONAL_CHARGE' | 'MISCELLANEOUS' | 'SHIPPING' | 'VALET' | 'ACTIVITIES' | 'FLIGHTS' | 'GIFT_BASKET' | 'SPA' | 'CHEF' | 'MEET_AND_GREET' | 'DOCK_FEE' | 'UTILITY_FEE' | 'HOT_TUB' | 'BOOKING_FEE' | 'BREAKFAST' | 'BEVERAGE' | 'MEAL' | 'WELLNESS' | 'MINIBAR' | 'BUSINESS_CENTER' | 'WIFI' | 'GUEST_SERVICE' | 'COMMISSION_CHARGE' | 'EQUIPMENT_RENTAL' | 'RESERVATION_FEE' | 'DAMAGE_CHARGE' | 'HOMEOWNERS_ASSOCIATION' | 'GOLF_CART_RENTAL' | 'GUESTY_BASIC_TRAVEL_COVERAGE' | 'GUESTY_EXTENDED_TRAVEL_COVERAGE' — [Beta] Fee type
    - `isPercentage` boolean, required — [Beta] Sets whether 'value' should be a fixed amount or percentage
    - `value` number, required — [Beta] 1. Must be bigger than 0, 2. When 'isPercentage' is 'true' then must be smaller or equal to 100
    - `multiplier` 'PER_NIGHT' | 'PER_GUEST' | 'PER_GUEST_PER_NIGHT' | 'PER_STAY' — [Beta] 1. Specifies the factor by which the 'value' will be multiplied in the additional fee amount calculation when 'isPercentage' is 'false'. 2. This is required when 'isPercentage' is 'false'.
    - `targetFee` 'PAYOUT' | 'CLEANING_FEE' | 'ACCOMMODATION_FARE' — [Beta] 1. The fee to use for the additional fee amount calculation when 'isPercentage' is 'true', 2. It's required when 'isPercentage' is 'true'
    - `isBundled` boolean — [Beta] Include fee in the accommodation fare
    - `conditions` union[] — [Beta] Conditions
      - union
        - object — [Beta] Fee type exclusion condition
          - `type` 'feeTypeExclusion', required — [Beta] Condition type
          - `value` string[], required — [Beta] List of fee types. When one of the fee types is present in the reservation, the additional fee will not be applied
        - object — [Beta] Date range condition
          - `type` 'dateRange', required — [Beta] Condition type
          - `value` object[], required
            - `from` string, date, required — [Beta] Date in the YYYY-MM-DD ISO 8601 format
            - `to` string, date, required — [Beta] Date in the YYYY-MM-DD ISO 8601. format
          - `overrides` object, required — [Beta] Overrides the additional fee value when the condition is met
            - `value` number, required
    - `isOverrideConditions` boolean — [Beta] Override group/root conditions. When "true" will use conditions from this configuration only, otherwise will use conditions from group/root configuration
  - `isUpsell` boolean — [Beta] Upsell fee on the booking website
  - `upsell` object — [Beta] Upsell fee on the booking website settings.
    - `description` string — [Beta] Description. It can contain links in markdown format like [My link title](https://example.com). Max length validation counts only link title.
    - `images` object[] — [Beta] Image associated with this upsell. Currently, only one image is allowed. The default image will be used when it's not defined.
      - `url` string, required — [Beta] Image URL. URL should contain only content with image MIME type and should be less than 25MB in size.
      - `fileName` string — [Beta] Image file name
  - `conditions` union[] — [Beta] Conditions
    - union
      - object — [Beta] Fee type exclusion condition
        - `type` 'feeTypeExclusion', required — [Beta] Condition type
        - `value` string[], required — [Beta] List of fee types. When one of the fee types is present in the reservation, the additional fee will not be applied
      - object — [Beta] Date range condition
        - `type` 'dateRange', required — [Beta] Condition type
        - `value` object[], required
          - `from` string, date, required — [Beta] Date in the YYYY-MM-DD ISO 8601 format
          - `to` string, date, required — [Beta] Date in the YYYY-MM-DD ISO 8601. format
        - `overrides` object, required — [Beta] Overrides the additional fee value when the condition is met
          - `value` number, required

## Response `201`

created additional fee item in account level

## Other responses

- `400` — Invalid input

---

[API](https://skmtc.net/guesty/apis/guesty-open-api.md) · [All operations](https://skmtc.net/guesty/apis/guesty-open-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/guesty/guesty-open-api/versions/7c62644070f2/schema)
