> For the complete documentation index, see [llms.txt](https://docs.altum.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.altum.ai/english/financing/wws-points-api/specifications-for-independent-home-version-01-01-2026.md).

# Specifications for independent home version 01-01-2026

The following information describes the inputs required for each rule in the WWS calculation according to the 01-01-2026 rules. This ensures correct and consistent data entry into the API for accurate

### 1. Independent Homes (Type A)

**Endpoint:** <mark style="color:green;">`POST`</mark> `https://api.altum.ai/wws/01012026`

{% hint style="info" %}
&#x20;<mark style="color:orange;">\*</mark> <mark style="color:$info;">:</mark>  means this feature is mandatory; otherwise, it is optional.
{% endhint %}

#### 1.1 Root Object Parameters

<table><thead><tr><th>Parameter</th><th width="105.39996337890625">Type</th><th>Description</th><th>Allowed Values</th></tr></thead><tbody><tr><td><code>house_type</code> <mark style="color:orange;">*</mark></td><td>String</td><td>Type of the dwelling.</td><td><code>Eengezinswoning</code>, <code>Meergezinswoning</code>, <code>Duplexwoning</code></td></tr><tr><td><code>build_year</code> <mark style="color:orange;">*</mark></td><td>Integer</td><td>Year of construction.</td><td>e.g., <code>1995</code>, <code>2022</code></td></tr><tr><td><code>woz_valuation_year</code> <mark style="color:orange;">*</mark></td><td>Integer</td><td>Reference year for WOZ value.</td><td><code>2024</code>, <code>2025</code>, <code>2026</code></td></tr><tr><td><code>corop_area_amsterdam_or_utrecth</code> <mark style="color:orange;">*</mark></td><td>Boolean</td><td>Is the property in Amsterdam/Utrecht COROP region?</td><td><code>true</code>, <code>false</code></td></tr><tr><td><code>woz_value</code></td><td>Float</td><td>The determined WOZ value (€).</td><td>≥ 0</td></tr><tr><td><code>usable_surface_area</code></td><td>Float</td><td>Total usable surface area (m²).</td><td>≥ 0</td></tr><tr><td><code>energy_label</code></td><td>String</td><td>Official energy label.</td><td><code>A++++</code>, <code>A+++</code>, <code>A++</code>, <code>A+</code>, <code>A</code>, <code>B</code>, <code>C</code>, <code>D</code>, <code>E</code>, <code>F</code>, <code>G</code>, <code>""</code></td></tr><tr><td><code>energy_index_existence</code></td><td>Boolean</td><td>Whether an energy index value is provided.</td><td><code>true</code>, <code>false</code></td></tr><tr><td><code>energy_index</code></td><td>Float</td><td>Energy index value (used if no label available).</td><td>≥ 0</td></tr><tr><td><code>energy_performance_compensation</code></td><td>Boolean</td><td>EPV (Energieprestatievergoeding) applies. Overrides label/index points.</td><td><code>true</code>, <code>false</code></td></tr><tr><td><code>doorbell</code></td><td>Boolean</td><td>Presence of a video doorbell (+0.25 pts).</td><td><code>true</code>, <code>false</code></td></tr><tr><td><code>care_home</code></td><td>Boolean</td><td>Is it a designated care home (Zorgwoning)? Adds 35% uplift.</td><td><code>true</code>, <code>false</code></td></tr><tr><td><code>monument</code></td><td>String</td><td>Monument status.</td><td><code>national</code>, <code>municipal</code>, <code>provincial</code>, <code>""</code></td></tr><tr><td><code>contract_start_date</code></td><td>String</td><td>Lease start date (ISO 8601). Affects monument point calculation (pre/post July 2024).</td><td><code>YYYY-MM-DD</code></td></tr><tr><td><code>disability_costs</code></td><td>Float</td><td>Net investment costs for disability adaptations (€). 1 pt per €332.</td><td>≥ 0</td></tr><tr><td><code>rooms</code></td><td>List</td><td>List of Room objects. See §1.2 Rooms.</td><td>—</td></tr><tr><td><code>kitchen</code></td><td>List</td><td>List of Kitchen objects. See §1.2 Kitchen.</td><td>—</td></tr><tr><td><code>sanitary</code></td><td>List</td><td>List of Sanitary objects. See §1.2 Sanitary.</td><td>—</td></tr><tr><td><code>toilet</code></td><td>List</td><td>List of Toilet objects. See §1.2 Toilet.</td><td>—</td></tr><tr><td><code>outdoor</code></td><td>List</td><td>List of Outdoor objects. See §1.2 Outdoor. No entry = -5 pts penalty.</td><td>—</td></tr><tr><td><code>parking</code></td><td>List</td><td>List of Parking objects. See §1.2 Parking.</td><td>—</td></tr></tbody></table>

#### 1.2 Nested Objects

**`rooms` (List)**

*Living rooms, bedrooms, hallways, storage spaces, attics, etc.*

<table><thead><tr><th width="284.20001220703125">Field</th><th width="137.79998779296875">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>type_of_room</code> <mark style="color:orange;">*</mark></td><td>String</td><td><code>room</code> (living/bedroom counts as vertrek) or <code>other</code> (storage/hall counts as overige ruimte)</td></tr><tr><td><code>surface_area</code> </td><td>Float</td><td>Area in m²</td></tr><tr><td><code>shared_addresses</code> </td><td>Integer</td><td>Number of dwellings sharing this space</td></tr><tr><td><code>heated</code></td><td>Boolean</td><td>Is the room heated? (+2 pts for vertrek, +1 pt for overige ruimte)</td></tr><tr><td><code>cooled</code></td><td>Boolean</td><td>Is the room cooled? (+1 pt, only for vertrekken, capped at 2 pts total)</td></tr><tr><td><code>attic_without_fixed_staircase</code></td><td>Boolean</td><td>Attic accessible by ladder only — applies a 5 pt deduction on that space</td></tr></tbody></table>

**Example 1: A standard heated living room**

```
{
  "type_of_room": "room",
  "surface_area": 35.5,
  "heated": true,
  "cooled": false
}
```

**Example 2: An unheated storage attic**

```
{
  "type_of_room": "other",
  "surface_area": 12.0,
  "heated": false,
  "cooled": false,
  "attic_without_fixed_staircase": true
}
```

**`kitchen` (List)**

*Kitchen spaces. Points based on countertop length + features.*

<table><thead><tr><th>Field</th><th width="163.4000244140625">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>type_of_room</code> <mark style="color:orange;">*</mark></td><td>String</td><td><code>room</code> or <code>other</code></td></tr><tr><td><code>surface_area</code></td><td>Float</td><td>Area in m²</td></tr><tr><td><code>countertop_length</code> <mark style="color:orange;">*</mark></td><td>Float</td><td>Countertop length in meters. <code>&#x3C; 1m</code> = 0 pts, <code>≥ 1m</code> = 4 pts, <code>≥ 2m</code> = 7 pts</td></tr><tr><td><code>shared_addresses</code></td><td>Integer</td><td>Number of dwellings sharing this kitchen</td></tr><tr><td><code>open_kitchen</code></td><td>Boolean</td><td>Kitchen is in open connection (>50% wall) with adjacent room</td></tr><tr><td><code>heated</code></td><td>Boolean</td><td>Is the kitchen heated?</td></tr><tr><td><code>cooled</code></td><td>Boolean</td><td>Is the kitchen cooled?</td></tr><tr><td><code>kitchen_features</code> <mark style="color:orange;">*</mark></td><td>Object</td><td>Kitchen feature counts. See table below.</td></tr></tbody></table>

**Kitchen Features Object (Type A)** *All values are Integers (0 = absent, 1 = present, or specific count).* *Extra feature points are capped at the base countertop points.*

| Feature                                        |   Type  |
| ---------------------------------------------- | :-----: |
| `extractor_system`                             | Integer |
| `induction_hob`                                | Integer |
| `ceramic_hob`                                  | Integer |
| `gas_hob`                                      | Integer |
| `refrigerator`                                 | Integer |
| `freezer`                                      | Integer |
| `oven_electric`                                | Integer |
| `oven_gas`                                     | Integer |
| `microwave`                                    | Integer |
| `dishwasher`                                   | Integer |
| `extra_cupboard_space_per_60cm`                | Integer |
| `one_hand_mixer_tap`                           | Integer |
| `one_hand_mixer_tap_with_boiling_function`     | Integer |
| `thermostatic_mixer_tap`                       | Integer |
| `thermostatic_mixer_tap_with_boiling_function` | Integer |

**Example 1: Basic Kitchen (Short counter, gas hob)**

```
{
  "type_of_room": "room",
  "surface_area": 8.0,
  "countertop_length": 1.8,
  "kitchen_features": {
    "gas_hob": 1,
    "extractor_system": 1,
    "dishwasher": 0,
    "refrigerator": 0
  }
}
```

**Example 2: Luxury Kitchen (Long counter, Quooker, Induction)**

```
{
  "type_of_room": "room",
  "surface_area": 15.0,
  "countertop_length": 3.5,
  "kitchen_features": {
    "induction_hob": 1,
    "dishwasher": 1,
    "refrigerator": 1,
    "one_hand_mixer_tap_with_boiling_function": 1,
    "extra_cupboard_space_per_60cm": 2
  }
}
```

**`sanitary` (List)**

*Bathrooms. Updated for 2026 rules — toilet location is now specified explicitly.*

| Field                                                     | Type    | Description                                                            |
| --------------------------------------------------------- | ------- | ---------------------------------------------------------------------- |
| `type_of_room` <mark style="color:orange;">\*</mark>      | String  | `room` or `other`                                                      |
| `surface_area`                                            | Float   | Area in m²                                                             |
| `shared_addresses`                                        | Integer | Number of dwellings sharing this bathroom                              |
| `heated`                                                  | Boolean | Is the bathroom heated?                                                |
| `cooled`                                                  | Boolean | Is the bathroom cooled?                                                |
| `shower_facility` <mark style="color:orange;">\*</mark>   | String  | Type of wash facility.                                                 |
| `toilet_in_bathroom`                                      | Boolean | Standard toilet located inside the bathroom (+2.0 pts)                 |
| `wall_hung_toilet_in_bathroom`                            | Boolean | Wall-hung toilet inside the bathroom (+2.75 pts)                       |
| `toilet_in_separate_room`                                 | Boolean | Standard toilet in a separate room within the sanitary area (+3.0 pts) |
| `wall_hung_toilet_in_separate_room`                       | Boolean | Wall-hung toilet in a separate room (+3.75 pts)                        |
| `is_bathroom`                                             | Boolean | Whether this space is a bathroom. Affects washbasin point caps.        |
| `sanitary_features` <mark style="color:orange;">\*</mark> | Object  | Sanitary feature counts. See table below.                              |

**Sanitary Features Object (Type A)** *All values are Integers.* *Extra feature points are capped at the shower/bath base points.*

| Feature                         |      Type     |
| ------------------------------- | :-----------: |
| `washbasin`                     |    Integer    |
| `multi_person_washbasin`        |    Integer    |
| `cupboard_space`                | Boolean (0/1) |
| `power_outlet`                  |    Integer    |
| `build_in_cupboard`             |    Integer    |
| `complete_separation_of_shower` |    Integer    |
| `bath_with_bubble_function`     |    Integer    |
| `one_hand_mixer_tap`            |    Integer    |
| `thermostatic_mixer_tap`        |    Integer    |
| `towel_radiator`                |    Integer    |

**Example 1: Standard Bathroom (Shower + Sink)**

```
{
  "type_of_room": "other",
  "surface_area": 4.5,
  "shower_facility": "shower",
  "toilet": 0,
  "sanitary_features": {
    "washbasin": 1,
    "thermostatic_mixer_tap": 1,
    "towel_radiator": 0
  }
}
```

**Example 2: Full Bathroom (Bath, Toilet, Double Sink)**

```
{
  "type_of_room": "other",
  "surface_area": 9.0,
  "shower_facility": "bath",
  "toilet": 1,
  "sanitary_features": {
    "wall_hung_toilet": 1,
    "multi_person_washbasin": 1,
    "towel_radiator": 1,
    "bath_with_bubble_function": 1
  }
}
```

**`toilet` (List)**

*Separate toilet rooms (standalone, not inside a bathroom).*

<table><thead><tr><th width="149">Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>type_of_room</code> <mark style="color:orange;">*</mark></td><td>String</td><td><code>room</code> or <code>other</code></td></tr><tr><td><code>surface_area</code></td><td>Float</td><td>Area in m²</td></tr><tr><td><code>shared_addresses</code></td><td>Integer</td><td>Number of dwellings sharing this toilet</td></tr><tr><td><code>heated</code></td><td>Boolean</td><td>Is the room heated?</td></tr><tr><td><code>cooled</code></td><td>Boolean</td><td>Is the room cooled?</td></tr><tr><td><code>wall_hung_toilet</code></td><td>Boolean</td><td>Wall-hung toilet (+3.75 pts) vs standard (+3.0 pts)</td></tr><tr><td><code>washbasin</code></td><td>Integer</td><td>Count of washbasins (+1.0 pt each)</td></tr></tbody></table>

**Example 1: Standard Toilet**

```
{
  "type_of_room": "other",
  "surface_area": 1.2,
  "wall_hung_toilet": false,
  "washbasin": 0
}
```

**Example 2: Modern Toilet with Fountain**

```
{
  "type_of_room": "other",
  "surface_area": 1.5,
  "wall_hung_toilet": true,
  "washbasin": 1
}
```

**`outdoor` (List)**

*Gardens, balconies, terraces. No outdoor space = -5 pts penalty.*

<table><thead><tr><th width="209.800048828125">Field</th><th width="145.79998779296875">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>surface_area</code></td><td>Float</td><td>Area in m²</td></tr><tr><td><code>shared_addresses</code></td><td>Integer</td><td>Number of dwellings sharing this outdoor space</td></tr></tbody></table>

**Example 1: Small Balcony**

```
{
  "surface_area": 6.5
}
```

**Example 2: Large Garden**

```
{
  "surface_area": 45.0
}
```

**`parking` (List)**

*Shared or private parking spaces.*

| Field              | Type    | Description                                                                    |
| ------------------ | ------- | ------------------------------------------------------------------------------ |
| `parking_type`     | Integer | `1` = Garage/Indoor (9 pts), `2` = Carport/Covered (6 pts), `3` = Open (4 pts) |
| `surface_area`     | Float   | Area in m²                                                                     |
| `shared_addresses` | Integer | Number of dwellings sharing this parking space                                 |
| `charging_station` | Boolean | Has EV charging point (+2 pts)                                                 |

**Example 1: Private Garage with Charger**

```
{
  "parking_type": 1,
  "charging_station": true
}
```

**Example 2: Carport**

```
{
  "parking_type": 2,
  "charging_station": false
}
```

#### 1.3 Example JSON (Type A)

```json
{
  "house_type": "Meergezinswoning",
  "build_year": 2005,
  "woz_valuation_year": 2024,
  "woz_value": 250000,
  "energy_label": "B",
  "energy_index_existence": false,
  "energy_index": 0,
  "energy_performance_compensation": false,
  "corop_area_amsterdam_or_utrecth": false,
  "usable_surface_area": 75.0,
  "contract_start_date": "2024-01-15",
  "monument": "",
  "care_home": false,
  "doorbell": true,
  "disability_costs": 0,
  "disabled_people": 0,
  "rooms": [
    {
      "type_of_room": "room",
      "surface_area": 20.5,
      "shared_addresses": 1,
      "heated": true,
      "cooled": false,
      "attic_without_fixed_staircase": false
    },
    {
      "type_of_room": "other",
      "surface_area": 8.0,
      "shared_addresses": 1,
      "heated": false,
      "cooled": false,
      "attic_without_fixed_staircase": false
    }
  ],
  "kitchen": [
    {
      "type_of_room": "room",
      "open_kitchen": false,
      "surface_area": 12.0,
      "countertop_length": 2.5,
      "shared_addresses": 1,
      "heated": true,
      "cooled": false,
      "kitchen_features": {
        "extractor_system": 1,
        "induction_hob": 1,
        "ceramic_hob": 0,
        "gas_hob": 0,
        "refrigerator": 1,
        "freezer": 0,
        "oven_electric": 1,
        "oven_gas": 0,
        "microwave": 1,
        "dishwasher": 1,
        "extra_cupboard_space_per_60cm": 2,
        "one_hand_mixer_tap": 0,
        "one_hand_mixer_tap_with_boiling_function": 1,
        "thermostatic_mixer_tap": 0,
        "thermostatic_mixer_tap_with_boiling_function": 0
      }
    }
  ],
  "sanitary": [
    {
      "type_of_room": "other",
      "surface_area": 5.0,
      "heated": false,
      "cooled": false,
      "shower_facility": "shower",
      "toilet_in_bathroom": true,
      "wall_hung_toilet_in_bathroom": false,
      "toilet_in_separate_room": false,
      "wall_hung_toilet_in_separate_room": false,
      "is_bathroom": true,
      "shared_addresses": 1,
      "sanitary_features": {
        "washbasin": 1,
        "multi_person_washbasin": 0,
        "cupboard_space": 0,
        "power_outlet": 1,
        "build_in_cupboard": 0,
        "complete_separation_of_shower": 0,
        "bath_with_bubble_function": 0,
        "one_hand_mixer_tap": 1,
        "thermostatic_mixer_tap": 0,
        "towel_radiator": 0
      }
    }
  ],
  "toilet": [
    {
      "type_of_room": "other",
      "surface_area": 2.0,
      "heated": false,
      "cooled": false,
      "wall_hung_toilet": true,
      "washbasin": 1,
      "shared_addresses": 1
    }
  ],
  "outdoor": [
    {
      "surface_area": 20.0,
      "shared_addresses": 1
    }
  ],
  "parking": [
    {
      "parking_type": 2,
      "surface_area": 15.0,
      "shared_addresses": 1,
      "charging_station": true
    }
  ]
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.altum.ai/english/financing/wws-points-api/specifications-for-independent-home-version-01-01-2026.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
