# create_fees

Create one or more additional property fees on a building or unit type. All fees in a single call must share the same
entity. Mandatory fees (Cleaning Fee, Security Deposit, Extra Person Fee) are seeded automatically when the entity is
created and cannot be added here — update them with `update_fees` instead.

<!-- INPUT_BLOCK_START -->

## Input

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `entityType` | `EntityType` | Yes | Property fees can only be configured at the building or unit type level — units inherit from their unit type. - [EntityType](#entitytype) |
| `entityId` | `string` | Yes | The ID of the building or unit type to create fees on |
| `fees` | `Fee[]` | Yes | Array of fees to create on the entity - [Fee](#fee) |

### Fee

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `feeNameId` | `string` | Yes | The ID of the fee name (use list_fee_names to discover). Only `additional` fee names can be created — mandatory fees (Cleaning Fee, Security Deposit, Extra Person Fee) are seeded automatically and must be updated, not created. |
| `basis` | `Basis` | Yes | How the fee is calculated - [Basis](#basis) |
| `cost` | `number` | No | Fee amount in the entity currency (minor units). Required unless `percentage` is supplied. |
| `percentage` | `number` | No | Percentage of rent — only valid when basis is `rent-percentage`. |
| `guestThreshold` | `number` | No | Guest count above which the fee applies (e.g. for extra-person fees). |

### EntityType

| Value | Description |
| --- | --- |
| `UNIT_TYPE` | A unit type grouping multiple units |
| `BUILDING` | A building containing unit types and units |

### Basis

| Value | Description |
| --- | --- |
| `FLAT` | Flat rate per stay |
| `NIGHTS` | Flat rate per night |
| `PEOPLE` | Flat rate per person |
| `PERSON_NIGHTS` | Flat rate per person per night |
| `RENT_PERCENTAGE` | Percentage of rent |

<!-- INPUT_BLOCK_END -->

<!-- OUTPUT_BLOCK_START -->

## Output

| Field | Type | Description |
| --- | --- | --- |
| `content` | `ContentItem[]` | Array of content items returned by the tool - [ContentItem](#contentitem) |
| `isError` | `boolean` | Whether the tool execution resulted in an error |

### ContentItem

| Field | Type | Description |
| --- | --- | --- |
| `type` | `'text'` | Content type (currently only 'text' is supported) |
| `text` | `string` | The text content to display |

<!-- OUTPUT_BLOCK_END -->
