Unit Extras
Returns extra fee configuration for units in the inventory
Overview
The Retrieve Unit Extras endpoint returns extra-fee configuration for one or more units in the inventory. This includes both system-defined fees (for example, cleaning fees, booking fees, pool heat fees) and supplier-configured extras (optional or mandatory) that may apply during quoting and reservation creation.
Extras returned by this endpoint represent the supplier’s configured fee rules, not a finalized charge total. Some extras may be conditional (for example, only applicable for certain stay lengths, charged per day, per guest, or limited to bookable/effective date windows). Partners should treat this endpoint as a source for “what extras could apply” and “how they are defined,” and then rely on quoting endpoints to calculate the final totals for a specific reservation request.
This endpoint is commonly used to:
- Display optional add-ons during checkout (e.g., BBQ rental, mid-stay cleaning, breakfast packs)
- Identify mandatory fees that must always be included in guest-facing totals
- Map fee taxonomy for reporting and accounting (type, code, description, value_type)
- Pre-validate integration logic around taxes applied to extras (applicable_taxes)
By design, extras are rule-driven and configuration-heavy. Correct interpretation is critical to preventing price mismatches, missing mandatory charges, and downstream booking failures due to omitted required extras.
Related Supplier Configuration (Optional Context)
Extras returned by this endpoint are configured and maintained by the supplier in the CiiRUS system. Supplier configuration controls which extras exist, whether they are mandatory, how they are calculated (flat/daily/percentage), which stay/guest/date rules apply, and which taxes apply.
- Reservation extras setup
- Cleaning and housekeeping fees
- Reservation fee setup
- Pool heat configuration and settings
- Tax rules for extras and fees
Endpoints Available
| Method | Endpoint | Description |
|---|---|---|
| GET | v2024.07.31/unit_extras | Retrieve extras and fee configurations for units in the inventory. |
| GET | v2024.07.31/unit_extras/{unit_id} | Retrieve extras and fee configuration for a unit in the inventory. |
Path Parameters
| Path Parameter | Required / Optional | Description |
|---|---|---|
| {unit_id} | Required | Unique Identifier for a unit in the inventory. |
Query String Parameters
| Parameter | Required / Optional | Description | Data Type |
|---|---|---|---|
| page | Optional | The page to be shown (defaults to 1). | int |
| page_size | Optional | Limits the number of returned results (defaults to 25). | int |
| last_unit_update_date | Optional | Only return units that have been modified after the specified date. | date-time |
| last_reservation_update_date | Optional | Only returns units that have received a booking or calendar sync after the specified date. | date-time |
| last_agent_module_property_update_date | Optional | Only return units that have had their agent module property configuration modified after the specified date. | date-time |
| last_agent_module_agent_update_date | Optional | Only return units that have had their agent module agent configuration modified after the specified date. | date-time |
| unit_id | Optional | The unique identifier for a unit in the inventory. | int |
| unit_ids | Optional | The unique identifiers for multiple units in the inventory. | array |
| management_company_user_id | Optional | The unique identifier for a supplier. | int |
| management_company_user_ids | Optional | The unique Identifiers for multiple suppliers. | array |
| enabled | Optional | Use only enabled or disabled units. | boolean |
| deleted | Optional | Only show properties that are deleted or not deleted. | boolean |
| display_on_website | Optional | Only show properties that are enabled for the management company's website. | boolean |
| allocation_on_arrival | Optional | Return the allocation on arrival object. | boolean |
| allocation_on_arrival_unit | Optional | Return units that are the representative unit in their group. | boolean |
| channel | Optional | Restrict results to a specific channel's configuration context. Leave empty for default/general extras. | string |
| listing_id | Optional | Lookup a unit by its channel-specific listing ID. | string |
| retrieve_all_extras | Optional | When true, attempts to return the full set of configured extras (including optional extras), not just commonly applied/system-level extras. | boolean |
| include_extras_without_value | Optional | When true, includes extras with a configured value of 0. This could be useful for integrations that must display the full configured catalog even when the current charge is zero. | boolean |
- Allowed values for
channel:allbdcvrboairbnb
How to Interpret Extras (Important)Extras are configuration-driven and may return different field sets depending on how the supplier created the fee.
Recommneded evaluation order for each extra:
- Identify pricing behavior using
"type"and"value_type"- Apply eligibility rules (
"stay_duration","guest_quanity") when present- Apply date scoping rules when
"date_range_apply"istrue(evaluate"date_restrictions")- Apply age pricing rules when
"age_bands_apply"istrue(evaluate"age_bands"and any restirction overrides)- Apply taxes by mapping
"applicable_taxes"lables to your tax/totals model (do not treat them as amounts)Do not assume missing fields mean
"false"or"0"— absence usually means the supplier did not configure that rule for this extra.
Response Definition
| Response Item | Description | Data Type |
|---|---|---|
"unit_extras" | The primary result set. Each array element represents a single unit’s extra-fee configuration under the requested integration context. A unit may return an "extras" array, an "error" object, or both. | array |
"paging" | Paging metadata used to navigate through large result sets when multiple units are returned. | object |
"unit_extras" Object
"unit_extras" Object| Response Item | Description | Data Type |
|---|---|---|
"unit_id" | The unique identifier for the unit to which this extra configuration belongs. This is the same canonical unit identifier used across endpoints (/units, /unit_details, /unit_quotes, etc.) and should be treated as the primary join key for associating extras with the correct unit. | int |
"management_company_user_id" | The supplier (property manager) identifier that owns or manages this unit. This matters in multi-supplier inventories because extras are supplier-defined and access is scoped by enabled connections and supplier relationships. | int |
"extras" | The list of extra-fee definitions configured for this unit under the requested context. Each entry describes how the fee is identified, whether it is mandatory, how it is calculated (flat/daily/percentage), and what rule constraints may apply, if any (stay duration, per day, per guest, date windows, etc.). | array |
"error" | Optional informational error object returned when extras cannot be produced or the unit is not actionable under the current integration context (for example, deleted units or disabled supplier connections). Units with an error should generally be excluded from booking and pricing flows. | object |
"error" Object
"error" Object| Response Item | Description | Data Type |
|---|---|---|
"message" | Human-readable error message describing why extras could not be returned for the unit (for example: the unit is deleted, the supplier connection is not enabled, etc.). Partners should not attempt assume extras when this is present; instead, exclude the unit from booking flows or surface a controlled message internally. | string |
"extras" Object
"extras" ObjectExtras are polymorphic: different extra types and configurations legitimately return different field sets. Do not treat missing fields as an API defect — treat them as not configured / not applicable for this extra.
Base Identification & Classification (what is this extra?)
Response Item | Description | Data Type |
|---|---|---|
| The classification of the extra. This drives interpretation and downstream mapping in partner systems. Treat this as the primary classifier for how the charge behaves and how it should display in UI and financial breakdowns. See valid type values. | string |
| Unique identifier for the extra when the extra is a supplier-defined record (commonly present on | int |
| Supplier-defined short code for the extra (common for custom extras). Partners should store and display this where appropriate and use it as a stable identifier for mapping the same configured extra across channels and time. Not all built-in fee types have a | string |
| Supplier-defined description for the extra (common for custom extras). This is typically the best UI label for optional/mandatory extras. Built-in fee types may omit | string |
| Indicates whether the extra is mandatory. When | boolean |
| A reporting-oriented classification used internally for analytics and financial categorization. Useful if your system needs to bucket fees for dashboards or reconciliation, but should not be treated as a pricing driver. | string |
| Classifies the fee for pass-through/vendor workflows (when the extra represents something paid to a third party). This may influence how suppliers allocate the extra across management company/vendor/owner amounts. | string |
| Optional classification identifier used for insurance-related extras. When present, it indicates the extra may map to an insurance product/configuration on the supplier side. | int |
Pricing Model (how is the amount calculated?)
| Response Item | Description | Data Type |
|---|---|---|
"value_type" | Defines how the value should be interpreted: "flat" (one-time per stay), "daily" (per night / per day, commonly paired with "per_day": true), or "percentage" (rate-like value applied against a base amount determined by system rules). This is the key field that determines how to calculate or display the fee during the quoting logic. | string |
"value" | The configured amount for the extra, expressed using 10⁸ fixed-point format (e.g., 5500000000 represents 55.00). Interpretation depends on "value_type": for "flat" it is a one-time charge; for "daily" it is a per-day amount; for "percentage" it represents a percent value (e.g., 300000000 = 3.00%). | int |
"minimum_value" | Optional minimum floor for daily-priced extras ("value_type": "daily"). When present, the computed daily total ("value" * number_of_nights, in 10⁸ fixed-point) must not be less than this amount. If the daily calculation is lower, "minimum_value" becomes the effective charge. This is commonly used to enforce “$X minimum” even when the stay is short. | int |
"per_day" | When true, indicates the extra is applied per day/night of the stay. This often appears alongside "value_type": "daily" but may also appear for certain configurable extras where daily application is enabled. | boolean |
"per_guest" | When true, indicates the extra is applied per guest (often in addition to other constraints). If enabled, you should expect guest quantity rules ("guest_quantity") to define the valid range. | boolean |
Applicability Rules (when does it apply?)
| Response Item | Description | Data Type |
|---|---|---|
"guest_quantity" | Defines the guest-count constraints for when the extra applies. When present, the extra is intended to apply only if the reservation’s guest count falls within the specified range. This is most relevant for per-guest extras or extras that only apply above a certain occupancy threshold. | object |
"stay_duration" | Defines the stay-length constraints for when the extra applies. This is commonly used for fees that only apply to stays within a minimum/maximum night range (for example: “BBQ 1–3 nights” vs “BBQ 4–7 nights”). When present, treat it as eligibility logic for whether the fee should be offered/applied. | object |
"date_range_apply" | When true, indicates that date-based restriction rules exist and must be evaluated (see "date_restrictions"). This is used for seasonal extras, limited-time offers, or date-scoped applicability windows. | boolean |
"date_restrictions" | An array that defines the date restrictions and pricing rules. | array |
Age Band Pricing (only present when enabled)
| Response Item | Description | Data Type |
|---|---|---|
"age_bands_apply" | When true, indicates that age-based pricing rules apply to this extra. This is commonly used for extras tied to guest age (for example: tickets, passes, or age-based insurance add-ons). | boolean |
"age_bands" | The base set of age pricing bands for the extra. Each entry defines an age range and its associated price. Additional overrides may also appear inside "date_restrictions"."age_bands" when date-based rule blocks are used. | array |
Tax Mapping (what taxes apply?)
| Response Item | Description | Data Type |
|---|---|---|
"applicable_taxes" | A list of tax names that apply to this extra when tax rules are configured by the supplier. This list can be empty (or not returned) depending on supplier tax configuration and the fee type. Partners should treat these as tax identifiers (labels) that can be cross-referenced with tax setup in the supplier’s configuration and/or downstream quote responses, not as computed tax amounts. | array[string] |
Financial Allocation (where does the money go?)
These fields are returned when the supplier has configured allocation splits for the extra.
| Response Item | Description | Data Type |
|---|---|---|
"value_management_company" | The portion of the extra allocated to the management company (supplier), expressed in fixed-point format. When present, this is often the amount the supplier retains from the charge. | int |
"value_owner" | The portion of the extra allocated to the property owner (if applicable), expressed in fixed-point format. This may be used for extras where owner revenue share exists. | int |
"value_to_vendor" | The portion of the extra intended to be paid to a vendor/third party, expressed in fixed-point format. Common for pass-through services (for example: damage protection providers). | int |
"value_to_supplier" | The portion of the extra intended to be paid to the supplier (in scenarios where the extra represents supplier retention). When present, treat it as an explicit allocation component rather than re-deriving totals. | int |
"guest_quantity" Object
"guest_quantity" Object| Response Item | Description | Data Type |
|---|---|---|
"minimum" | Minimum guest count for which the extra is eligible/applicable. For example, if "minimum" = 3, the extra should not apply to reservations with 1–2 guests. | int |
"maximum" | Maximum guest count for which the extra is eligible/applicable. If very large, it may represent no practical upper bound under supplier configuration. | int |
"stay_duration" Object
"stay_duration" Object| Response Item | Description | Data Type |
|---|---|---|
"minimum" | Minimum length of stay (nights) for which the extra is eligible/applicable. Often used to enforce minimum-night thresholds for extras like pool heat or certain equipment rentals. | int |
"maximum" | Maximum length of stay (nights) for which the extra is eligible/applicable. Often used to support tiered extras (1–3 nights vs 4–7 nights), or to disallow extras on long stays. | int |
"age_bands" Object
"age_bands" Object| Response Item | Description | Data Type |
|---|---|---|
"age_range" | The age range this pricing band applies to. Guests whose age falls within this start/end boundary should use the associated "age_price". | object |
"age_price" | The price for this age band, expressed using 10⁸ fixed-point format. How this price is applied (flat/per-guest/etc.) depends on the broader extra configuration (for example, "per_guest"). | int |
"age_range" Object
"age_range" Object| Response Item | Description | Data Type |
|---|---|---|
"start" | Inclusive minimum guest age for which this pricing band applies. Any guest whose age is greater than or equal to this value is eligible for this band. | int |
"end" | Inclusive maximum guest age for which this pricing band applies. Any guest whose age is less than or equal to this value is eligible for this band. Together with "start", this defines the full valid age window for the pricing rule. | int |
Interpretation NoteAge bands are evaluated per guest when
"age_bands_apply": true. If a guest's age does not fall into any defined range, the extra should be trated as not applicable for that guest unless otherwise specified by the supplier.
"date_restrictions" Object
"date_restrictions" ObjectEach entry represents one rule block that can constrain when the extra can be selected and/or when it applies during the stay.
| Response Item | Description | Data Type |
|---|---|---|
"bookable_dates" | Date window(s) controlling when the extra can be booked/selected. This is typically evaluated against the booking action date and/or the reservation creation timing, depending on the supplier's configuration. If the current context falls outside this window, the extra should not be offered. | array |
"effective_dates" | Date window(s) controlling when the extra applies during the stay. This is typically evaluated against the reservation stay dates. If the stay does not intersect the effective window (or does not satisfy "full_stay" rules), the extra may not apply. | array |
"age_bands" | Optional age-band overrides that apply specifically within this restriction block. When present, these values should take precedence over top-level "age_bands" for stays/reservations governed by this restriction. | array |
"full_stay" | When true, indicates the restriction must cover the full stay window for the extra to be valid (not just overlap). When false, partial overlap rules may be allowed depending on supplier behavior. This is critical for avoiding incorrect eligibility assumptions. | boolean |
"bookable_dates" and "effective_dates" Objects
"bookable_dates" and "effective_dates" Objects| Response Item | Description | Data Type |
|---|---|---|
"start" | The start date of the "bookable_dates" or "effective_dates" in ISO format. | string |
"end" | The end date of the "bookable_dates" or "effective_dates" in ISO format. | string |
Key Behavioral Difference
"bookable_dates"→ When the guest is allowed to select or add the extra"effective_dates"→ When the extra is applied and charged during the stayThese two ranges may differ. For example, an extra may be bookable year-round, but only charged during a seasonal window, or vice versa.
"paging" Object
"paging" Object| Response Item | Description | Data Type |
|---|---|---|
"next_page_url" | A URL that can be used to retrieve the next page of supplier results, if additional pages exist. | string |
"previous_page_url" | A URL that can be used to retrieve the previous page of supplier results, if applicable. | string |
"total_page_count" | The total number of available pages for the current request. | int |
"page" | The current page number being returned. | int |
"page_size" | The number of records being included per page. | int |
Sample Request
curl --location 'https://api.ciiruspartners.com/v2024.07.31/unit_extras?page_size=5&management_company_user_id=42330' \
--header 'Authorization: Basic {APIUsername:APIPassword}'Sample Response
{
"unit_extras": [
{
"unit_id": 219264,
"management_company_user_id": 42330,
"extras": [
{
"value_type": "flat",
"type": "booking_fee",
"value": 300000000,
"applicable_taxes": [
"tax_one",
"tax_two"
]
},
{
"value_type": "flat",
"type": "cleaning_fee",
"stay_duration": {
"minimum": 1,
"maximum": 9999
},
"value": 20000000000,
"applicable_taxes": [
"tax_one",
"tax_two"
]
},
{
"value_type": "daily",
"type": "pool_heat_fee",
"stay_duration": {
"minimum": 7
},
"value": 2500000000,
"applicable_taxes": [
"tax_one",
"tax_two"
]
},
{
"value_type": "flat",
"type": "security_deposit",
"value": 5000000000
},
{
"value_type": "percentage",
"type": "mandatory_extra",
"id": 7417,
"code": "Fee1",
"description": "Example Fee 1",
"mandatory": true,
"value": 300000000,
"applicable_taxes": [
"tax_one",
"tax_two",
"tax_three"
]
},
{
"value_type": "daily",
"type": "mandatory_extra",
"id": 7418,
"code": "Fee2",
"description": "Example Fee 2",
"mandatory": true,
"per_day": true,
"value": 1000000000,
"value_management_company": 1000000000,
"applicable_taxes": [
"tax_one",
"tax_two",
"tax_three"
]
},
{
"value_type": "daily",
"type": "mandatory_extra",
"id": 7421,
"code": "Fee5",
"description": "Example Fee 5",
"mandatory": true,
"per_day": true,
"value": 500000000,
"value_management_company": 500000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "flat",
"type": "mandatory_extra",
"id": 21728,
"code": "ADI",
"description": "Accidental Damage Insurance",
"mandatory": true,
"value": 7500000000,
"value_management_company": 7500000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "flat",
"type": "mandatory_extra",
"id": 25011,
"code": "CP-STD",
"description": "Property Protection Fee",
"mandatory": true,
"value": 6500000000,
"value_management_company": 6500000000,
"value_to_vendor": 5200000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "flat",
"type": "optional_extra",
"id": 27980,
"code": "BOAT",
"description": "BOAT COVER",
"value": 5000000000,
"value_management_company": 5000000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "flat",
"type": "optional_extra",
"id": 38187,
"code": "Fee7",
"description": "Fixed Per Guest",
"per_guest": true,
"value": 1000000000,
"value_management_company": 1000000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "daily",
"type": "optional_extra",
"id": 87289,
"code": "TEST",
"description": "TESTING",
"age_bands": [
{
"age_range": {
"start": 18,
"end": 88
},
"age_price": 1000000000
}
],
"date_range_apply": true,
"date_restrictions": [
{
"bookable_dates": [
{
"start": "2026-01-16T00:00:00",
"end": "2029-12-31T00:00:00"
}
],
"effective_dates": [
{
"start": "2026-01-15T00:00:00",
"end": "2029-12-31T00:00:00"
}
],
"age_bands": [
{
"age_range": {
"start": 18,
"end": 88
},
"age_price": 1000000000
}
],
"full_stay": false
}
],
"guest_quantity": {
"minimum": 1,
"maximum": 20
},
"stay_duration": {
"minimum": 1,
"maximum": 500
},
"per_day": true,
"minimum_value": 1000000000,
"value": 500000000,
"value_management_company": 500000000,
"applicable_taxes": [
"tax_one",
"tax_two",
"tax_three"
]
}
]
},
{
"unit_id": 219265,
"management_company_user_id": 42330,
"extras": [
{
"value_type": "daily",
"type": "pool_heat_fee",
"stay_duration": {
"minimum": 7
},
"value": 2142857142,
"applicable_taxes": [
"tax_one",
"tax_two"
]
},
{
"value_type": "percentage",
"type": "mandatory_extra",
"id": 7417,
"code": "Fee1",
"description": "Example Fee 1",
"mandatory": true,
"value": 300000000,
"applicable_taxes": [
"tax_one",
"tax_two",
"tax_three"
]
},
{
"value_type": "daily",
"type": "mandatory_extra",
"id": 7418,
"code": "Fee2",
"description": "Example Fee 2",
"mandatory": true,
"per_day": true,
"value": 1000000000,
"value_management_company": 1000000000,
"applicable_taxes": [
"tax_one",
"tax_two",
"tax_three"
]
},
{
"value_type": "flat",
"type": "mandatory_extra",
"id": 7419,
"code": "Fee3",
"description": "Example Fee 3",
"mandatory": true,
"value": 1000000000,
"value_management_company": 1000000000,
"applicable_taxes": [
"tax_one",
"tax_two",
"tax_three"
]
},
{
"value_type": "flat",
"type": "mandatory_extra",
"id": 7422,
"code": "Fee6",
"description": "Fee Example 6",
"mandatory": true,
"value": 500000000,
"value_management_company": 500000000,
"applicable_taxes": [
"tax_one",
"tax_two",
"tax_three"
]
},
{
"value_type": "flat",
"type": "mandatory_extra",
"id": 21728,
"code": "ADI",
"description": "Accidental Damage Insurance",
"mandatory": true,
"value": 7500000000,
"value_management_company": 7500000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "daily",
"type": "mandatory_extra",
"id": 24651,
"code": "DAY",
"description": "Daily Amount Fee Example",
"mandatory": true,
"per_day": true,
"value": 1750000000,
"value_management_company": 1700000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "flat",
"type": "mandatory_extra",
"id": 25011,
"code": "CP-STD",
"description": "Property Protection Fee",
"mandatory": true,
"value": 6500000000,
"value_management_company": 6500000000,
"value_to_vendor": 5200000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "flat",
"type": "optional_extra",
"id": 27980,
"code": "BOAT",
"description": "BOAT COVER",
"value": 5000000000,
"value_management_company": 5000000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "flat",
"type": "optional_extra",
"id": 38187,
"code": "Fee7",
"description": "Fixed Per Guest",
"per_guest": true,
"value": 1000000000,
"value_management_company": 1000000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "daily",
"type": "optional_extra",
"id": 87289,
"code": "TEST",
"description": "TESTING",
"age_bands": [
{
"age_range": {
"start": 18,
"end": 88
},
"age_price": 1000000000
}
],
"date_range_apply": true,
"date_restrictions": [
{
"bookable_dates": [
{
"start": "2026-01-16T00:00:00",
"end": "2029-12-31T00:00:00"
}
],
"effective_dates": [
{
"start": "2026-01-15T00:00:00",
"end": "2029-12-31T00:00:00"
}
],
"age_bands": [
{
"age_range": {
"start": 18,
"end": 88
},
"age_price": 1000000000
}
],
"full_stay": false
}
],
"guest_quantity": {
"minimum": 1,
"maximum": 20
},
"stay_duration": {
"minimum": 1,
"maximum": 500
},
"per_day": true,
"minimum_value": 1000000000,
"value": 500000000,
"value_management_company": 500000000,
"applicable_taxes": [
"tax_one",
"tax_two",
"tax_three"
]
}
]
},
{
"unit_id": 219266,
"management_company_user_id": 42330,
"extras": [
{
"value_type": "percentage",
"type": "booking_fee",
"value": 1000000000,
"applicable_taxes": [
"tax_one",
"tax_two"
]
},
{
"value_type": "flat",
"type": "cleaning_fee",
"stay_duration": {
"minimum": 1,
"maximum": 99
},
"value": 10000000000,
"applicable_taxes": [
"tax_one",
"tax_two"
]
},
{
"value_type": "daily",
"type": "pool_heat_fee",
"stay_duration": {
"minimum": 7
},
"value": 2142857142,
"applicable_taxes": [
"tax_one",
"tax_two"
]
},
{
"value_type": "percentage",
"type": "mandatory_extra",
"id": 7417,
"code": "Fee1",
"description": "Example Fee 1",
"mandatory": true,
"value": 300000000,
"applicable_taxes": [
"tax_one",
"tax_two",
"tax_three"
]
},
{
"value_type": "daily",
"type": "mandatory_extra",
"id": 7418,
"code": "Fee2",
"description": "Example Fee 2",
"mandatory": true,
"per_day": true,
"value": 1000000000,
"value_management_company": 1000000000,
"applicable_taxes": [
"tax_one",
"tax_two",
"tax_three"
]
},
{
"value_type": "flat",
"type": "mandatory_extra",
"id": 7419,
"code": "Fee3",
"description": "Example Fee 3",
"mandatory": true,
"value": 1000000000,
"value_management_company": 1000000000,
"applicable_taxes": [
"tax_one",
"tax_two",
"tax_three"
]
},
{
"value_type": "flat",
"type": "mandatory_extra",
"id": 21728,
"code": "ADI",
"description": "Accidental Damage Insurance",
"mandatory": true,
"value": 7500000000,
"value_management_company": 7500000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "daily",
"type": "mandatory_extra",
"id": 24651,
"code": "DAY",
"description": "Daily Amount Fee Example",
"mandatory": true,
"per_day": true,
"value": 1750000000,
"value_management_company": 1700000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "flat",
"type": "mandatory_extra",
"id": 25011,
"code": "CP-STD",
"description": "Property Protection Fee",
"mandatory": true,
"value": 6500000000,
"value_management_company": 6500000000,
"value_to_vendor": 5200000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "flat",
"type": "optional_extra",
"id": 27980,
"code": "BOAT",
"description": "BOAT COVER",
"value": 5000000000,
"value_management_company": 5000000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "flat",
"type": "optional_extra",
"id": 38187,
"code": "Fee7",
"description": "Fixed Per Guest",
"per_guest": true,
"value": 1000000000,
"value_management_company": 1000000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "daily",
"type": "optional_extra",
"id": 87289,
"code": "TEST",
"description": "TESTING",
"age_bands": [
{
"age_range": {
"start": 18,
"end": 88
},
"age_price": 1000000000
}
],
"date_range_apply": true,
"date_restrictions": [
{
"bookable_dates": [
{
"start": "2026-01-16T00:00:00",
"end": "2029-12-31T00:00:00"
}
],
"effective_dates": [
{
"start": "2026-01-15T00:00:00",
"end": "2029-12-31T00:00:00"
}
],
"age_bands": [
{
"age_range": {
"start": 18,
"end": 88
},
"age_price": 1000000000
}
],
"full_stay": false
}
],
"guest_quantity": {
"minimum": 1,
"maximum": 20
},
"stay_duration": {
"minimum": 1,
"maximum": 500
},
"per_day": true,
"minimum_value": 1000000000,
"value": 500000000,
"value_management_company": 500000000,
"applicable_taxes": [
"tax_one",
"tax_two",
"tax_three"
]
}
],
"error": {
"message": "Property supplier has not enabled this property connection."
}
},
{
"unit_id": 219267,
"management_company_user_id": 42330,
"extras": [
{
"value_type": "percentage",
"type": "booking_fee",
"value": 500000000,
"applicable_taxes": [
"tax_one",
"tax_two"
]
},
{
"value_type": "flat",
"type": "cleaning_fee",
"stay_duration": {
"minimum": 1,
"maximum": 9999
},
"value": 18000000000,
"applicable_taxes": [
"tax_one",
"tax_two"
]
},
{
"value_type": "daily",
"type": "pool_heat_fee",
"stay_duration": {
"minimum": 7
},
"value": 2142857142,
"applicable_taxes": [
"tax_one",
"tax_two"
]
},
{
"value_type": "percentage",
"type": "mandatory_extra",
"id": 7417,
"code": "Fee1",
"description": "Example Fee 1",
"mandatory": true,
"value": 300000000,
"applicable_taxes": [
"tax_one",
"tax_two",
"tax_three"
]
},
{
"value_type": "daily",
"type": "mandatory_extra",
"id": 7418,
"code": "Fee2",
"description": "Example Fee 2",
"mandatory": true,
"per_day": true,
"value": 1000000000,
"value_management_company": 1000000000,
"applicable_taxes": [
"tax_one",
"tax_two",
"tax_three"
]
},
{
"value_type": "flat",
"type": "mandatory_extra",
"id": 7419,
"code": "Fee3",
"description": "Example Fee 3",
"mandatory": true,
"value": 1000000000,
"value_management_company": 1000000000,
"applicable_taxes": [
"tax_one",
"tax_two",
"tax_three"
]
},
{
"value_type": "flat",
"type": "mandatory_extra",
"id": 21728,
"code": "ADI",
"description": "Accidental Damage Insurance",
"mandatory": true,
"value": 7500000000,
"value_management_company": 7500000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "daily",
"type": "mandatory_extra",
"id": 24651,
"code": "DAY",
"description": "Daily Amount Fee Example",
"mandatory": true,
"per_day": true,
"value": 1750000000,
"value_management_company": 1700000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "flat",
"type": "mandatory_extra",
"id": 25011,
"code": "CP-STD",
"description": "Property Protection Fee",
"mandatory": true,
"value": 6500000000,
"value_management_company": 6500000000,
"value_to_vendor": 5200000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "flat",
"type": "optional_extra",
"id": 27980,
"code": "BOAT",
"description": "BOAT COVER",
"value": 5000000000,
"value_management_company": 5000000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "flat",
"type": "optional_extra",
"id": 38187,
"code": "Fee7",
"description": "Fixed Per Guest",
"per_guest": true,
"value": 1000000000,
"value_management_company": 1000000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "daily",
"type": "optional_extra",
"id": 87289,
"code": "TEST",
"description": "TESTING",
"age_bands": [
{
"age_range": {
"start": 18,
"end": 88
},
"age_price": 1000000000
}
],
"date_range_apply": true,
"date_restrictions": [
{
"bookable_dates": [
{
"start": "2026-01-16T00:00:00",
"end": "2029-12-31T00:00:00"
}
],
"effective_dates": [
{
"start": "2026-01-15T00:00:00",
"end": "2029-12-31T00:00:00"
}
],
"age_bands": [
{
"age_range": {
"start": 18,
"end": 88
},
"age_price": 1000000000
}
],
"full_stay": false
}
],
"guest_quantity": {
"minimum": 1,
"maximum": 20
},
"stay_duration": {
"minimum": 1,
"maximum": 500
},
"per_day": true,
"minimum_value": 1000000000,
"value": 500000000,
"value_management_company": 500000000,
"applicable_taxes": [
"tax_one",
"tax_two",
"tax_three"
]
}
],
"error": {
"message": "Property supplier has not enabled this property connection."
}
},
{
"unit_id": 219268,
"management_company_user_id": 42330,
"extras": [
{
"value_type": "flat",
"type": "cleaning_fee",
"stay_duration": {
"minimum": 1,
"maximum": 5
},
"value": 15000000000,
"applicable_taxes": [
"tax_one",
"tax_two"
]
},
{
"value_type": "daily",
"type": "pool_heat_fee",
"stay_duration": {
"minimum": 7
},
"value": 2142857142,
"applicable_taxes": [
"tax_one",
"tax_two"
]
},
{
"value_type": "percentage",
"type": "mandatory_extra",
"id": 7417,
"code": "Fee1",
"description": "Example Fee 1",
"mandatory": true,
"value": 300000000,
"applicable_taxes": [
"tax_one",
"tax_two",
"tax_three"
]
},
{
"value_type": "daily",
"type": "mandatory_extra",
"id": 7418,
"code": "Fee2",
"description": "Example Fee 2",
"mandatory": true,
"per_day": true,
"value": 1000000000,
"value_management_company": 1000000000,
"applicable_taxes": [
"tax_one",
"tax_two",
"tax_three"
]
},
{
"value_type": "flat",
"type": "mandatory_extra",
"id": 7419,
"code": "Fee3",
"description": "Example Fee 3",
"mandatory": true,
"value": 1000000000,
"value_management_company": 1000000000,
"applicable_taxes": [
"tax_one",
"tax_two",
"tax_three"
]
},
{
"value_type": "flat",
"type": "mandatory_extra",
"id": 21728,
"code": "ADI",
"description": "Accidental Damage Insurance",
"mandatory": true,
"value": 7500000000,
"value_management_company": 7500000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "daily",
"type": "mandatory_extra",
"id": 24651,
"code": "DAY",
"description": "Daily Amount Fee Example",
"mandatory": true,
"per_day": true,
"value": 1750000000,
"value_management_company": 1700000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "flat",
"type": "mandatory_extra",
"id": 25011,
"code": "CP-STD",
"description": "Property Protection Fee",
"mandatory": true,
"value": 6500000000,
"value_management_company": 6500000000,
"value_to_vendor": 5200000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "flat",
"type": "optional_extra",
"id": 27980,
"code": "BOAT",
"description": "BOAT COVER",
"value": 5000000000,
"value_management_company": 5000000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "flat",
"type": "optional_extra",
"id": 38187,
"code": "Fee7",
"description": "Fixed Per Guest",
"per_guest": true,
"value": 1000000000,
"value_management_company": 1000000000,
"applicable_taxes": [
"tax_three"
]
},
{
"value_type": "daily",
"type": "optional_extra",
"id": 87289,
"code": "TEST",
"description": "TESTING",
"age_bands": [
{
"age_range": {
"start": 18,
"end": 88
},
"age_price": 1000000000
}
],
"date_range_apply": true,
"date_restrictions": [
{
"bookable_dates": [
{
"start": "2026-01-16T00:00:00",
"end": "2029-12-31T00:00:00"
}
],
"effective_dates": [
{
"start": "2026-01-15T00:00:00",
"end": "2029-12-31T00:00:00"
}
],
"age_bands": [
{
"age_range": {
"start": 18,
"end": 88
},
"age_price": 1000000000
}
],
"full_stay": false
}
],
"guest_quantity": {
"minimum": 1,
"maximum": 20
},
"stay_duration": {
"minimum": 1,
"maximum": 500
},
"per_day": true,
"minimum_value": 1000000000,
"value": 500000000,
"value_management_company": 500000000,
"applicable_taxes": [
"tax_one",
"tax_two",
"tax_three"
]
}
],
"error": {
"message": "Property supplier has not enabled this property connection."
}
}
],
"paging": {
"next_page_url": "https://api.ciiruspartners.com/v2024.07.31/unit_extras?page=2&page_size=5&management_company_user_id=42330",
"total_page_count": 6,
"page": 1,
"page_size": 5
}
}Updated 18 days ago
