# Specificaties voor onzelfstandige woningen versie 01-01-2026

#### 2. Onzelfstandige Woningen (Type B)

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

Berekent punten voor onzelfstandige woonruimten, zoals studentenkamers of kamers in een woonhuis.

**2.1 Parameters van het Root-object**

| Parameter                                                    | Type    | Beschrijving                                                                                                                        | Toegestane waarden                                   |
| ------------------------------------------------------------ | ------- | ----------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| `build_year` <mark style="color:$danger;">\*</mark>          | Integer | Bouwjaar.                                                                                                                           | bijv. `1990`                                         |
| `usable_surface_area` <mark style="color:$danger;">\*</mark> | Float   | Totale gebruiksoppervlakte van de eenheid (m²).                                                                                     | > 0                                                  |
| `corop_region` <mark style="color:$danger;">\*</mark>        | String  | Naam van de COROP-regio (kleine letters).                                                                                           | Zie COROP-lijst in §2.3                              |
| `woz_value`                                                  | Float   | WOZ-waarde van de gehele eenheid (€).                                                                                               | ≥ 0                                                  |
| `avg_woz_perm2_percorop_ref_year`                            | Object  | Kaart van gemiddelde WOZ/m² per COROP-regio. Indien ontbrekend of sleutel niet gevonden, wordt Rubriek 11 standaard op 10 pt gezet. | bijv. `{"greater amsterdam": 5500}`                  |
| `energy_label`                                               | String  | Energielabel.                                                                                                                       | `A++++` ... `G`, `""`                                |
| `energy_index`                                               | Float   | Energieindex (gebruikt als er geen label is).                                                                                       | ≥ 0                                                  |
| `monument`                                                   | String  | Monumentstatus. **Andere waarden dan Type A.**                                                                                      | `rijksmonument`, `gemeentelijk`, `provinciaal`, `""` |
| `care_home`                                                  | Boolean | Aanwijzing als zorgwoning — vermenigvuldigt subtotaal R1–R11 met 1,35.                                                              | `true`, `false`                                      |
| `doorbell_video`                                             | Boolean | Videodeurbel (+0,25 pt).                                                                                                            | `true`, `false`                                      |
| `private_charging_station`                                   | Boolean | Privélaadpaal voor elektrische voertuigen (+2,0 pt).                                                                                | `true`, `false`                                      |
| `contract_date`                                              | String  | Ingangsdatum huurcontract. Beïnvloedt monumentpunten (vóór/na juli 2024).                                                           | `JJJJ-MM-DD`                                         |
| `pts_7_handicap`                                             | Float   | Vooraf berekende punten voor gehandicaptenaanpassingen (Rubriek 7).                                                                 | ≥ 0                                                  |
| `deduction_small_area`                                       | Boolean | Activeert aftrek van -4 pt als privékamer < 8 m².                                                                                   | `true`, `false`                                      |
| `deduction_landlord_access`                                  | Boolean | Aftrek van -4 pt: verhuurder heeft toegang via de ruimte.                                                                           | `true`, `false`                                      |
| `deduction_small_window`                                     | Boolean | Aftrek van -4 pt: raamoppervlak te klein.                                                                                           | `true`, `false`                                      |
| `deduction_high_window`                                      | Boolean | Aftrek van -4 pt: onderkant raamkozijn te hoog.                                                                                     | `true`, `false`                                      |
| `rooms`                                                      | List    | Lijst van Kamer-objecten.                                                                                                           | —                                                    |
| `other_spaces`                                               | List    | Lijst van Overige Ruimte-objecten.                                                                                                  | —                                                    |
| `kitchen`                                                    | List    | Lijst van Keuken-objecten.                                                                                                          | —                                                    |
| `sanitary`                                                   | List    | Lijst van Sanitair-objecten (badkamers/doucheruimten).                                                                              | —                                                    |
| `toilet`                                                     | List    | Lijst van Toilet-objecten (zelfstandige toiletruimten).                                                                             | —                                                    |
| `outdoor`                                                    | List    | Lijst van Buitenruimte-objecten.                                                                                                    | —                                                    |
| `parking`                                                    | List    | Lijst van Parkeer-objecten.                                                                                                         | —                                                    |

***

**2.2 Geneste Objecten (Type B)**

> **Opmerking over deelveldem:**
>
> * `shared_addresses` = aantal afzonderlijke woningadressen dat deze ruimte deelt (over gebouwen/adressen heen).
> * `shared_spaces` = aantal eenheden op **hetzelfde** adres dat deze ruimte deelt.

**`rooms` (Lijst)**

*Privékamers (Vertrekken — geteld voor Rubriek 1).*

| Veld                | Type    | Beschrijving                                                              |
| ------------------- | ------- | ------------------------------------------------------------------------- |
| `surface_area`      | Float   | Oppervlakte in m²                                                         |
| `units_with_access` | Integer | Hoeveel eenheden deze kamer delen. `1` = privé.                           |
| `shared_spaces`     | Integer | Eenheden op dit adres die de kamer delen.                                 |
| `heated`            | Boolean | Is de ruimte verwarmd?                                                    |
| `cooled`            | Boolean | Is de ruimte gekoeld?                                                     |
| `open_kitchen`      | Boolean | Kamer bevat een open keuken (+2 extra verwarmingspunten indien verwarmd). |

**Voorbeeld 1: Privé studentenkamer (verwarmd)**

```json
{
  "surface_area": 18.0,
  "heated": true,
  "cooled": false,
  "units_with_access": 1,
  "open_kitchen": false
}
```

**Voorbeeld 2: Gedeelde woonkamer (4 personen)**

```json
{
  "surface_area": 30.0,
  "heated": true,
  "units_with_access": 4,
  "open_kitchen": true
}
```

***

**`other_spaces` (Lijst)**

*Overige ruimten (geteld voor Rubriek 2 à 0,75 pt/m²).*

| Veld                    | Type    | Beschrijving                                                            |
| ----------------------- | ------- | ----------------------------------------------------------------------- |
| `surface_area`          | Float   | Oppervlakte in m²                                                       |
| `units_with_access`     | Integer | Eenheden met toegang.                                                   |
| `shared_addresses`      | Integer | Adressen die deze ruimte delen.                                         |
| `shared_spaces`         | Integer | Eenheden op dit adres die de ruimte delen.                              |
| `heated`                | Boolean | Is de ruimte verwarmd?                                                  |
| `cooled`                | Boolean | Is de ruimte gekoeld?                                                   |
| `attic_no_fixed_stairs` | Boolean | Zolder alleen bereikbaar via een vlizotrap — geeft een aftrek van 5 pt. |

***

**`kitchen` (Lijst)**

*Gedeelde of privékeuken.*

| Veld                                                       | Type    | Beschrijving                                                                                               |
| ---------------------------------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------- |
| `countertop_length` <mark style="color:$danger;">\*</mark> | Float   | Lengte in meters. `< 1m` = 0 pt, `≥ 1m` = 4 pt, `≥ 2m` = 7 pt, `≥ 3m` = 10 pt, `≥ 5m + 8 eenheden` = 13 pt |
| `shared_addresses`                                         | Integer | Adressen die deze keuken delen.                                                                            |
| `shared_spaces`                                            | Integer | Eenheden op dit adres die de keuken delen.                                                                 |
| `features` <mark style="color:$danger;">\*</mark>          | Object  | Keukenvoorzieningen (Booleans). Zie onderstaande tabel.                                                    |

**Keukenvoorzieningen-object (Type B)** *Alle waarden zijn Booleans, tenzij anders aangegeven.*

| Voorziening            |   Type  |
| ---------------------- | :-----: |
| `extractor_hood`       | Boolean |
| `induction_hob`        | Boolean |
| `ceramic_hob`          | Boolean |
| `gas_hob`              | Boolean |
| `fridge`               | Boolean |
| `freezer`              | Boolean |
| `oven_electric`        | Boolean |
| `oven_gas`             | Boolean |
| `microwave`            | Boolean |
| `dishwasher`           | Boolean |
| `extra_cupboards_60cm` | Integer |
| `single_lever_tap`     | Boolean |
| `thermostatic_tap`     | Boolean |
| `boiling_water_tap`    | Boolean |

**Voorbeeld 1: Gedeelde keuken (4 personen, basisvoorzieningen)**

```json
{
  "countertop_length": 2.5,
  "shared_spaces": 4,
  "features": {
    "gas_hob": true,
    "fridge": true,
    "dishwasher": false,
    "single_lever_tap": true
  }
}
```

**Voorbeeld 2: Privékitchenette (in kamer, inductie)**

```json
{
  "countertop_length": 1.5,
  "shared_spaces": 1,
  "features": {
    "induction_hob": true,
    "fridge": true,
    "boiling_water_tap": false,
    "extra_cupboards_60cm": 0
  }
}
```

***

**`sanitary` (Lijst)**

*Badkamers / doucheruimten.*

| Veld                                              | Type    | Beschrijving                                                          |
| ------------------------------------------------- | ------- | --------------------------------------------------------------------- |
| `type`  <mark style="color:$danger;">\*</mark>    | String  | Type wasvoorziening. `shower`, `bath`, `bath_shower`, `none`          |
| `shared_addresses`                                | Integer | Adressen die deze badkamer delen.                                     |
| `shared_spaces`                                   | Integer | Eenheden op dit adres die de badkamer delen.                          |
| `has_toilet`                                      | Boolean | Bevat een toilet? (+2,0 pt standaard, +2,75 pt indien hangtoilet)     |
| `wall_hung_toilet`                                | Boolean | Is het toilet een hangtoilet? (alleen relevant als `has_toilet=true`) |
| `basin`                                           | Boolean | Heeft een enkele wastafel? (+1,0 pt)                                  |
| `multi_basin`                                     | Boolean | Heeft een meerpersoonswastafel? (+1,5 pt)                             |
| `features` <mark style="color:$danger;">\*</mark> | Object  | Sanitaire voorzieningen (Booleans). Zie onderstaande tabel.           |

**Sanitaire voorzieningen-object (Type B)** *Alle waarden zijn Booleans, tenzij anders aangegeven.* *Extra voorzienigingspunten zijn gemaximeerd op de basispunten van de wasvoorziening.*

| Voorziening        |   Type  |
| ------------------ | :-----: |
| `bubble_bath`      | Boolean |
| `shower_wall`      | Boolean |
| `towel_radiator`   | Boolean |
| `built_in_cabinet` | Boolean |
| `cabinet_count`    | Integer |
| `sockets`          | Integer |
| `single_lever_tap` | Boolean |
| `thermostatic_tap` | Boolean |

**Voorbeeld 1: Gedeelde doucheruimte**

```json
{
  "type": "shower",
  "shared_spaces": 3,
  "has_toilet": false,
  "features": {
    "thermostatic_tap": true,
    "shower_wall": false
  }
}
```

**Voorbeeld 2: Privé en-suite badkamer (bad + douche)**

```json
{
  "type": "bath_shower",
  "shared_spaces": 1,
  "has_toilet": true,
  "wall_hung_toilet": true,
  "basin": true,
  "features": {
    "towel_radiator": true,
    "bubble_bath": true,
    "sockets": 1
  }
}
```

***

**`toilet` (Lijst)**

*Afzonderlijke toiletruimten (niet binnen een badkamer).*

| Veld               | Type    | Beschrijving                                   |
| ------------------ | ------- | ---------------------------------------------- |
| `shared_addresses` | Integer | Adressen die dit toilet delen.                 |
| `shared_spaces`    | Integer | Eenheden op dit adres die het toilet delen.    |
| `wall_hung`        | Boolean | Hangtoilet (+3,75 pt) vs. standaard (+3,0 pt). |

**Voorbeeld 1: Gedeeld toilet op de gang**

```json
{
  "wall_hung": false,
  "shared_spaces": 4
}
```

**Voorbeeld 2: Privé hangtoilet**

```json
{
  "wall_hung": true,
  "shared_spaces": 1
}
```

***

**`outdoor` (Lijst)**

*Tuinen, balkons, terrassen.*

| Veld               | Type    | Beschrijving                               |
| ------------------ | ------- | ------------------------------------------ |
| `surface_area`     | Float   | Oppervlakte in m²                          |
| `shared_addresses` | Integer | Adressen die deze buitenruimte delen.      |
| `shared_spaces`    | Integer | Eenheden op dit adres die de ruimte delen. |

**Voorbeeld 1: Gedeeld terras**

```json
{
  "surface_area": 20.0,
  "shared_spaces": 4
}
```

**Voorbeeld 2: Privébalkon**

```json
{
  "surface_area": 4.0,
  "shared_spaces": 1
}
```

***

**`parking` (Lijst)**

*Parkeerplaatsen.*

| Veld                                          | Type    | Beschrijving                                                                 |
| --------------------------------------------- | ------- | ---------------------------------------------------------------------------- |
| `type` <mark style="color:$danger;">\*</mark> | String  | `garage` (9 pt), `covered` (6 pt), `open` (4 pt)                             |
| `shared_addresses`                            | Integer | Adressen die deze parkeerplaats delen.                                       |
| `shared_spaces`                               | Integer | Eenheden op dit adres die de ruimte delen.                                   |
| `charging_station`                            | Boolean | Heeft een laadpaal voor elektrische voertuigen (+2 pt ÷ `shared_addresses`). |

**Voorbeeld 1: Overdekte gedeelde parkeerplaats**

```json
{
  "type": "covered",
  "shared_spaces": 10,
  "charging_station": false
}
```

**Voorbeeld 2: Privégarageplek (elektrisch)**

```json
{
  "type": "garage",
  "shared_spaces": 1,
  "charging_station": true
}
```

***

**2.3 COROP-regio's (kleine letters)**

```
`oost-groningen`  `delfzijl en omgeving`  `overig groningen`  `noord-friesland`
`zuidwest-friesland`  `zuidoost-friesland`  `noord-drenthe`  `zuidoost-drenthe`
`zuidwest-drenthe`  `noord-overijssel`  `zuidwest-overijssel`  `twente`  `veluwe`  `achterhoek`
`arnhem/nijmegen`  `zuidwest-gelderland`  `utrecht`  `kop van noord-holland`
`alkmaar en omgeving`  `ijmond`  `agglomeratie haarlem`  `zaanstreek`  `groot-amsterdam`
`het gooi en vechtstreek`  `agglomeratie leiden en bollenstreek`  `agglomeratie 's-gravenhage`
`delft en westland`  `oost-zuid-holland`  `groot-rijnmond`  `zuidoost-zuid-holland`
`zeeuwsch-vlaanderen`  `overig zeeland`  `west-noord-brabant`  `midden-noord-brabant`
`noordoost-noord-brabant`  `zuidoost-noord-brabant`  `noord-limburg`  `midden-limburg`
`zuid-limburg`  `flevoland`
```

***

**2.4 Voorbeeld JSON (Type B)**

```json
{
  "build_year": 1998,
  "woz_value": 180000,
  "usable_surface_area": 25.0,
  "corop_region": "greater amsterdam",
  "avg_woz_perm2_percorop_ref_year": {
    "greater amsterdam": 5500
  },
  "energy_label": "C",
  "energy_index": 0,
  "monument": "",
  "care_home": false,
  "doorbell_video": false,
  "private_charging_station": false,
  "contract_date": "2024-06-01",
  "pts_7_handicap": 0.0,
  "deduction_small_area": false,
  "deduction_landlord_access": false,
  "deduction_small_window": false,
  "deduction_high_window": false,
  "rooms": [
    {
      "surface_area": 15.0,
      "units_with_access": 1,
      "shared_spaces": 1,
      "heated": true,
      "cooled": false,
      "open_kitchen": false
    }
  ],
  "other_spaces": [
    {
      "surface_area": 6.0,
      "shared_addresses": 1,
      "shared_spaces": 1,
      "units_with_access": 1,
      "heated": false,
      "cooled": false,
      "attic_no_fixed_stairs": false
    }
  ],
  "kitchen": [
    {
      "countertop_length": 2.0,
      "shared_addresses": 1,
      "shared_spaces": 4,
      "features": {
        "extractor_hood": true,
        "induction_hob": false,
        "ceramic_hob": true,
        "gas_hob": false,
        "fridge": true,
        "freezer": false,
        "oven_electric": true,
        "oven_gas": false,
        "microwave": false,
        "dishwasher": false,
        "extra_cupboards_60cm": 1,
        "single_lever_tap": true,
        "thermostatic_tap": false,
        "boiling_water_tap": false
      }
    }
  ],
  "sanitary": [
    {
      "type": "shower",
      "shared_addresses": 1,
      "shared_spaces": 4,
      "has_toilet": true,
      "wall_hung_toilet": false,
      "basin": true,
      "multi_basin": false,
      "features": {
        "bubble_bath": false,
        "shower_wall": true,
        "towel_radiator": false,
        "built_in_cabinet": false,
        "cabinet_count": 0,
        "sockets": 1,
        "single_lever_tap": true,
        "thermostatic_tap": false
      }
    }
  ],
  "toilet": [
    {
      "shared_addresses": 1,
      "shared_spaces": 4,
      "wall_hung": false
    }
  ],
  "outdoor": [
    {
      "surface_area": 10.0,
      "shared_addresses": 1,
      "shared_spaces": 4
    }
  ],
  "parking": [
    {
      "type": "covered",
      "shared_addresses": 1,
      "shared_spaces": 4,
      "charging_station": false
    }
  ]
}
```


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.altum.ai/financieren/wws-punten-api/specificaties-voor-onzelfstandige-woningen-versie-01-01-2026.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
