---
title: "Full valuation of a parcel"
description: "Every part in one response: figures, dcf, discount_rate, direct_cap, land_value, yield_on_cost, rents, sensitivity and the assumptions used. Prefer a single part when you need only one."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.aireon.ch/llms.txt
> Use this file to discover all available pages before exploring further.

Path: revenoo API › Valuation

`GET /api/valuation/{egrid}`

Every part in one response: figures, dcf, discount_rate, direct_cap, land_value, yield_on_cost, rents, sensitivity and the assumptions used. Prefer a single part when you need only one.

## Path parameters

- `egrid` (`getRevenooValuation.path.egrid`; string, required): Swiss parcel identifier: "CH" followed by 12 characters. Spaces are ignored, letters may be lower case.
  - pattern `^[Cc][Hh][0-9A-Za-z]{12}$`

## Code samples

### cURL

```bash
curl --request GET \
  --url https://revenoo.aireon.ch/api/valuation/CH427777450687
```

### TypeScript

```typescript
const url = 'https://revenoo.aireon.ch/api/valuation/CH427777450687';
const options = {method: 'GET'};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://revenoo.aireon.ch/api/valuation/CH427777450687"

response = requests.get(url)

print(response.text)
```

## Responses

### 200

The valuation.

#### Example

```json
{
  "api_version": "2.0.0",
  "valuation_date": "2026-11-03",
  "parcel": {
    "egrid": "CH427777450687",
    "address": "Hausmattweg 1",
    "zip": "4663",
    "municipality": "Aarburg",
    "bfs_number": 4271,
    "canton": "AG",
    "zone": "Wohnzone W3",
    "lat": 47.322534,
    "lng": 7.898823,
    "land_area_m2": 2276,
    "buildable_gfa_m2": 1707,
    "rentable_area_m2": 1366
  },
  "data": {
    "market_data": "missing",
    "market_data_date": null,
    "municipality_rent_per_m2_year": null,
    "zurich_reference_rent_per_m2_year": null
  },
  "links": {
    "app": "https://revenoo.aireon.ch/?lat=47.322534&lng=7.898823&parcel_id=CH427777450687",
    "docs": "https://revenoo.aireon.ch/api/openapi.json"
  },
  "figures": {
    "dcf_value": 16464966,
    "dcf_value_per_m2_nia": 12053,
    "discount_rate_real_pct": 2.1,
    "direct_cap_value": 11570111,
    "dcf_implied_cap_rate_pct": 2.3919,
    "land_value_yield_on_cost": 2431836,
    "land_value_yield_on_cost_per_m2_nia": 1780,
    "land_value_dcf": 6462216,
    "land_value_static": 7269027,
    "land_value_static_implied_irr_pct": 10.3364,
    "net_yield_after_capex_pct": 2.073,
    "gross_yield_pct": 2.8093,
    "noi_after_capex": 341318,
    "gross_potential_rent": 462554,
    "units_total": 22,
    "dcf_value_at_rate_minus_30bp": 19123494,
    "dcf_value_at_rate_plus_30bp": 14470148,
    "asking_price": null
  },
  "dcf": {
    "dcf_value": 16464966,
    "pv_cash_flows": 3525722,
    "terminal_value": 16253251,
    "net_terminal_value": 15928186,
    "pv_terminal_value": 12939244,
    "exit_noi": 341318,
    "discount_rate_pct": 2.1,
    "implied_cap_rate_pct": 2.3919,
    "cash_flows": [
      {
        "year": 1,
        "gross_potential_rent": 462554,
        "vacancy_loss": 64757,
        "effective_gross_income": 397796,
        "operating_expenses": 50881,
        "maintenance": 15403,
        "capex_reserve": 0,
        "net_cash_flow": 331512,
        "discount_factor": 0.989663,
        "present_value": 328085
      },
      {
        "year": 2,
        "gross_potential_rent": 462554,
        "vacancy_loss": 13877,
        "effective_gross_income": 448677,
        "operating_expenses": 28910,
        "maintenance": 15403,
        "capex_reserve": 0,
        "net_cash_flow": 404364,
        "discount_factor": 0.969307,
        "present_value": 391953
      },
      {
        "year": 3,
        "gross_potential_rent": 462554,
        "vacancy_loss": 13877,
        "effective_gross_income": 448677,
        "operating_expenses": 28910,
        "maintenance": 15403,
        "capex_reserve": 0,
        "net_cash_flow": 404364,
        "discount_factor": 0.94937,
        "present_value": 383891
      },
      {
        "year": 4,
        "gross_potential_rent": 462554,
        "vacancy_loss": 13877,
        "effective_gross_income": 448677,
        "operating_expenses": 28910,
        "maintenance": 19797,
        "capex_reserve": 0,
        "net_cash_flow": 399970,
        "discount_factor": 0.929844,
        "present_value": 371910
      },
      {
        "year": 5,
        "gross_potential_rent": 462554,
        "vacancy_loss": 13877,
        "effective_gross_income": 448677,
        "operating_expenses": 28910,
        "maintenance": 19797,
        "capex_reserve": 0,
        "net_cash_flow": 399970,
        "discount_factor": 0.910719,
        "present_value": 364260
      },
      {
        "year": 6,
        "gross_potential_rent": 462554,
        "vacancy_loss": 13877,
        "effective_gross_income": 448677,
        "operating_expenses": 28910,
        "maintenance": 25949,
        "capex_reserve": 0,
        "net_cash_flow": 393818,
        "discount_factor": 0.891987,
        "present_value": 351281
      },
      {
        "year": 7,
        "gross_potential_rent": 462554,
        "vacancy_loss": 13877,
        "effective_gross_income": 448677,
        "operating_expenses": 28910,
        "maintenance": 25949,
        "capex_reserve": 0,
        "net_cash_flow": 393818,
        "discount_factor": 0.87364,
        "present_value": 344055
      },
      {
        "year": 8,
        "gross_potential_rent": 462554,
        "vacancy_loss": 13877,
        "effective_gross_income": 448677,
        "operating_expenses": 28910,
        "maintenance": 25949,
        "capex_reserve": 0,
        "net_cash_flow": 393818,
        "discount_factor": 0.855671,
        "present_value": 336979
      },
      {
        "year": 9,
        "gross_potential_rent": 462554,
        "vacancy_loss": 13877,
        "effective_gross_income": 448677,
        "operating_expenses": 28910,
        "maintenance": 25949,
        "capex_reserve": 0,
        "net_cash_flow": 393818,
        "discount_factor": 0.838072,
        "present_value": 330048
      },
      {
        "year": 10,
        "gross_potential_rent": 462554,
        "vacancy_loss": 13877,
        "effective_gross_income": 448677,
        "operating_expenses": 28910,
        "maintenance": 25949,
        "capex_reserve": 0,
        "net_cash_flow": 393818,
        "discount_factor": 0.820834,
        "present_value": 323259
      }
    ],
    "method": "Explicit DCF: the net cash flow of each forecast year plus the terminal value (exit NOI ÷ exit cap rate, less sale costs), discounted at the discount rate.",
    "sources": [
      {
        "source": "rics_dcf",
        "title": "RICS, Discounted cash flow valuations (practice information, 2023)",
        "paragraphs": "§2.8, §4.51–4.53, §4.59, §4.62–4.63, §4.65, §5.11"
      }
    ]
  },
  "discount_rate": {
    "real_rate_pct": 2.1,
    "nominal_rate_pct": 3.121,
    "applied_rate_pct": 2.1,
    "inflation_pct": 1,
    "macro_rate_source": "zurich_baseline",
    "build_up": {
      "baseline_rate_zurich_pct": 2.1,
      "macro_rate_pct": 2.1,
      "macro_premium_pct": 0,
      "micro_premium_pct": 0,
      "usage_premium_pct": 0,
      "condition_premium_pct": 0,
      "special_premium_pct": 0,
      "micro_rating": "average",
      "usage_rating": "residential",
      "condition_rating": "new"
    },
    "method": "Build-up: the macro rate (the municipality's rent level against Zürich, applied to the Zürich baseline rate) plus macro, micro, usage, condition and special premiums, in real terms.",
    "sources": [
      {
        "source": "rics_dcf",
        "title": "RICS, Discounted cash flow valuations (practice information, 2023)",
        "paragraphs": "§4.66, §4.71, §5.10–5.11, §5.14–5.15"
      }
    ]
  },
  "direct_cap": {
    "direct_cap_value": 11570111,
    "noi_convention": "after_capex",
    "stabilized_noi": 341318,
    "noi_factor_pct": 73.79,
    "cap_rate_pct": 2.95,
    "bridge": {
      "gross_potential_rent": 462554,
      "vacancy_loss": 13877,
      "effective_gross_income": 448677,
      "operating_expenses": 28910,
      "maintenance": 25949,
      "capex_reserve": 52500
    },
    "difference_to_dcf": 4894855,
    "method": "Implicit income capitalization: stabilized NOI divided by the capitalization rate.",
    "sources": [
      {
        "source": "rics_dcf",
        "title": "RICS, Discounted cash flow valuations (practice information, 2023)",
        "paragraphs": "§2.7–2.10, glossary \"Capitalisation rate\", Appendix A"
      }
    ]
  },
  "land_value": {
    "gross_development_value": 16464966,
    "yield_on_cost": {
      "land_value": 2431836,
      "per_m2_land": 1068,
      "per_m2_nia": 1780,
      "target_initial_yield_on_cost_pct": 5,
      "income_basis": "gross_rent",
      "annual_income": 462554,
      "max_total_development_cost": 9251071,
      "method": "Land value at which the initial yield on cost (annual income on completion ÷ total development cost incl. finance) meets the target.",
      "sources": [
        {
          "source": "rics_development",
          "title": "RICS, Valuation of development property (1st ed., 2019)",
          "paragraphs": "B2.2.3.4, B2.2.2"
        }
      ]
    },
    "dcf": {
      "land_value": 6462216,
      "per_m2_land": 2839,
      "per_m2_nia": 4731,
      "target_rate_of_return_pct": 15,
      "pv_ndv": 12200882,
      "pv_development_costs": 5577110,
      "method": "Residual land value, discounted cash flow application: the land price at which the monthly development cash flow has an NPV of zero at the target rate of return (a project IRR before finance).",
      "sources": [
        {
          "source": "rics_development",
          "title": "RICS, Valuation of development property (1st ed., 2019)",
          "paragraphs": "§6.2, Appendix B1, §7.2.4"
        }
      ]
    },
    "static": {
      "land_value": 7269027,
      "per_m2_land": 3194,
      "per_m2_nia": 5321,
      "developers_profit_pct": 10,
      "finance_rate_pct": 3,
      "implied_irr_pct": 10.3364,
      "method": "Residual land value, basic application: NDV less development costs, finance and developer's profit, discounted for the development period.",
      "sources": [
        {
          "source": "rics_development",
          "title": "RICS, Valuation of development property (1st ed., 2019)",
          "paragraphs": "§6.3, Appendix B2"
        }
      ]
    },
    "development_costs": {
      "net_development_value": 16135666,
      "construction_costs": 5464000,
      "professional_fees": 655680,
      "contingency": 273200,
      "development_costs": 6392880,
      "development_period_months": 24
    }
  },
  "yield_on_cost": {
    "land_value": 2431836,
    "per_m2_land": 1068,
    "per_m2_nia": 1780,
    "target_initial_yield_on_cost_pct": 5,
    "income_basis": "gross_rent",
    "annual_income": 462554,
    "income": {
      "gross_potential_rent": 462554,
      "noi_before_capex": 393818,
      "noi_after_capex": 341318
    },
    "max_total_development_cost": 9251071,
    "development_costs": {
      "construction_cost_per_m2_nia": 4000,
      "construction_costs": 5464000,
      "professional_fees": 655680,
      "contingency": 273200,
      "letting_expenses": 21971,
      "finance_rate_pct": 3,
      "development_period_months": 24,
      "finance_on_development_costs": 191786
    },
    "available_at_completion": 2644434,
    "finance_on_land": 151801,
    "available_for_land": 2492632,
    "site_acquisition_costs": 60796,
    "at_asking_price": null,
    "sensitivity": {
      "rows": "target_yield_on_cost_pct",
      "columns": "construction_cost_per_m2_nia",
      "row_values": [
        4,
        4.5,
        5,
        5.5,
        6
      ],
      "column_values": [
        3600,
        3800,
        4000,
        4200,
        4400
      ],
      "cells": [
        [
          5164201,
          4861436,
          4558671,
          4255906,
          3953141
        ],
        [
          3982626,
          3679861,
          3377096,
          3074331,
          2771567
        ],
        [
          3037366,
          2734601,
          2431836,
          2129072,
          1826307
        ],
        [
          2263972,
          1961207,
          1658442,
          1355677,
          1052912
        ],
        [
          1619476,
          1316712,
          1013947,
          711182,
          408417
        ]
      ],
      "current": {
        "row": 2,
        "column": 2
      }
    },
    "method": "Initial yield on cost: the annual income on completion of letting over the total development cost (land, its acquisition costs, construction, professional fees, contingency, letting expenses and finance on all of them). Read backwards at the target yield it caps the total development cost, and the land value is what the other costs leave. It values the land for development to the parcel's buildable area, not the property that stands on it today.",
    "sources": [
      {
        "source": "rics_development",
        "title": "RICS, Valuation of development property (1st ed., 2019)",
        "paragraphs": "B2.2.3.4, B2.2.2, B1.2.6.2"
      }
    ]
  },
  "rents": {
    "gross_potential_rent": 462554,
    "rent_per_m2_year": 282,
    "distributions": [
      {
        "unit_type": "Studio",
        "basis": "per_m2_year",
        "p10": 220,
        "average": 300,
        "p90": 400,
        "percentile": 80,
        "adopted": 361,
        "source": null
      },
      {
        "unit_type": "2 Rooms",
        "basis": "per_m2_year",
        "p10": 185,
        "average": 250,
        "p90": 330,
        "percentile": 80,
        "adopted": 299,
        "source": null
      },
      {
        "unit_type": "3 Rooms",
        "basis": "per_m2_year",
        "p10": 165,
        "average": 220,
        "p90": 290,
        "percentile": 80,
        "adopted": 263,
        "source": null
      },
      {
        "unit_type": "4 Rooms",
        "basis": "per_m2_year",
        "p10": 150,
        "average": 200,
        "p90": 265,
        "percentile": 80,
        "adopted": 240,
        "source": null
      },
      {
        "unit_type": "5 Rooms",
        "basis": "per_m2_year",
        "p10": 135,
        "average": 180,
        "p90": 240,
        "percentile": 80,
        "adopted": 217,
        "source": null
      },
      {
        "unit_type": "Indoor Parking",
        "basis": "per_unit_month",
        "p10": 130,
        "average": 130,
        "p90": 130,
        "percentile": 80,
        "adopted": 130,
        "source": null
      }
    ],
    "unit_mix": [
      {
        "unit_type": "2 Rooms",
        "units": 13,
        "area_m2": 702.7,
        "rent_basis": "per_m2_year",
        "rent_per_m2_year": 299,
        "rent_per_unit_month": null,
        "vacancy_pct": 3
      },
      {
        "unit_type": "3 Rooms",
        "units": 9,
        "area_m2": 663.3,
        "rent_basis": "per_m2_year",
        "rent_per_m2_year": 263,
        "rent_per_unit_month": null,
        "vacancy_pct": 3
      },
      {
        "unit_type": "Indoor Parking",
        "units": 50,
        "area_m2": 0,
        "rent_basis": "per_unit_month",
        "rent_per_m2_year": null,
        "rent_per_unit_month": 130,
        "vacancy_pct": 3
      }
    ],
    "method": "Market rent per unit type from the municipality's asking rents; the adopted rent is a percentile of a log-normal fit to P10 and P90 (revenoo's method). GPR sums the adopted rents over the unit mix.",
    "sources": [
      {
        "source": "rics_dcf",
        "title": "RICS, Discounted cash flow valuations (practice information, 2023)",
        "paragraphs": "glossary \"Market rent (MR)\", §4.14–4.16, §4.30"
      },
      {
        "source": "ivs_104",
        "title": "IVS 104 Bases of value",
        "paragraphs": "§40.1"
      }
    ]
  },
  "sensitivity": {
    "dcf_rent_vs_discount_rate": {
      "rows": "rent_change_pct",
      "columns": "discount_rate_pct",
      "row_values": [
        -10,
        -5,
        0,
        5,
        10
      ],
      "column_values": [
        1.5,
        1.8,
        2.1,
        2.4,
        2.7
      ],
      "cells": [
        [
          20559545,
          17211145,
          14818469,
          13023133,
          11626035
        ],
        [
          21701742,
          18167320,
          15641717,
          13746641,
          12271926
        ],
        [
          22843939,
          19123494,
          16464966,
          14470148,
          12917817
        ],
        [
          23986136,
          20079669,
          17288214,
          15193655,
          13563708
        ],
        [
          25128333,
          21035844,
          18111462,
          15917163,
          14209599
        ]
      ],
      "current": {
        "row": 2,
        "column": 2
      }
    },
    "dcf_rent_vs_exit_cap_rate": {
      "rows": "rent_change_pct",
      "columns": "exit_cap_rate_pct",
      "row_values": [
        -10,
        -5,
        0,
        5,
        10
      ],
      "column_values": [
        1.5,
        1.8,
        2.1,
        2.4,
        2.7
      ],
      "cells": [
        [
          19476597,
          16759356,
          14818469,
          13362804,
          12230620
        ],
        [
          20558630,
          17690431,
          15641717,
          14105182,
          12910099
        ],
        [
          21640663,
          18621506,
          16464966,
          14847560,
          13589578
        ],
        [
          22722696,
          19552582,
          17288214,
          15589938,
          14269057
        ],
        [
          23804730,
          20483657,
          18111462,
          16332316,
          14948536
        ]
      ],
      "current": {
        "row": 2,
        "column": 2
      }
    },
    "direct_cap_noi_factor_vs_cap_rate": {
      "rows": "noi_factor_pct",
      "columns": "cap_rate_pct",
      "row_values": [
        67.79,
        70.79,
        73.79,
        76.79,
        79.79
      ],
      "column_values": [
        2.35,
        2.65,
        2.95,
        3.25,
        3.55
      ],
      "cells": [
        [
          13343194,
          11832644,
          10629324,
          9648156,
          8832819
        ],
        [
          13933688,
          12356289,
          11099718,
          10075128,
          9223709
        ],
        [
          14524182,
          12879935,
          11570111,
          10502101,
          9614599
        ],
        [
          15114676,
          13403581,
          12040505,
          10929073,
          10005490
        ],
        [
          15705170,
          13927226,
          12510898,
          11356046,
          10396380
        ]
      ],
      "current": {
        "row": 2,
        "column": 2
      }
    },
    "land_value_yield_on_cost": {
      "rows": "target_yield_on_cost_pct",
      "columns": "construction_cost_per_m2_nia",
      "row_values": [
        4,
        4.5,
        5,
        5.5,
        6
      ],
      "column_values": [
        3600,
        3800,
        4000,
        4200,
        4400
      ],
      "cells": [
        [
          5164201,
          4861436,
          4558671,
          4255906,
          3953141
        ],
        [
          3982626,
          3679861,
          3377096,
          3074331,
          2771567
        ],
        [
          3037366,
          2734601,
          2431836,
          2129072,
          1826307
        ],
        [
          2263972,
          1961207,
          1658442,
          1355677,
          1052912
        ],
        [
          1619476,
          1316712,
          1013947,
          711182,
          408417
        ]
      ],
      "current": {
        "row": 2,
        "column": 2
      }
    },
    "land_value_dcf_rate_vs_construction_cost": {
      "rows": "target_rate_of_return_pct",
      "columns": "construction_cost_per_m2_nia",
      "row_values": [
        10,
        12.5,
        15,
        20,
        25
      ],
      "column_values": [
        3600,
        3800,
        4000,
        4200,
        4400
      ],
      "cells": [
        [
          7899331,
          7615404,
          7331478,
          7047551,
          6763624
        ],
        [
          7437124,
          7159285,
          6881447,
          6603609,
          6325771
        ],
        [
          7006325,
          6734271,
          6462216,
          6190162,
          5918108
        ],
        [
          6228393,
          5967080,
          5705767,
          5444454,
          5183142
        ],
        [
          5547050,
          5295500,
          5043949,
          4792399,
          4540849
        ]
      ],
      "current": {
        "row": 2,
        "column": 2
      }
    },
    "land_value_dcf_period_vs_gdv": {
      "rows": "development_period_months",
      "columns": "gross_development_value",
      "row_values": [
        12,
        18,
        24,
        30,
        36
      ],
      "column_values": [
        14818469,
        15641717,
        16464966,
        17288214,
        18111462
      ],
      "cells": [
        [
          6499222,
          7183661,
          7868101,
          8552541,
          9236980
        ],
        [
          5861834,
          6500077,
          7138321,
          7776564,
          8414807
        ],
        [
          5271887,
          5867052,
          6462216,
          7057381,
          7652546
        ],
        [
          4726029,
          5281023,
          5836017,
          6391012,
          6946006
        ],
        [
          4221144,
          4738678,
          5256213,
          5773748,
          6291283
        ]
      ],
      "current": {
        "row": 2,
        "column": 2
      }
    },
    "land_value_static": {
      "rows": "construction_cost_per_m2_nia",
      "columns": "gross_development_value",
      "row_values": [
        3600,
        3800,
        4000,
        4200,
        4400
      ],
      "column_values": [
        14818469,
        15641717,
        16464966,
        17288214,
        18111462
      ],
      "cells": [
        [
          6542124,
          7208340,
          7874557,
          8540773,
          9206989
        ],
        [
          6239359,
          6905576,
          7571792,
          8238008,
          8904224
        ],
        [
          5936594,
          6602811,
          7269027,
          7935243,
          8601459
        ],
        [
          5633830,
          6300046,
          6966262,
          7632478,
          8298694
        ],
        [
          5331065,
          5997281,
          6663497,
          7329713,
          7995930
        ]
      ],
      "current": {
        "row": 2,
        "column": 2
      }
    },
    "method": "Two-way sensitivity: each cell is the value with the two inputs moved and all others unchanged; `current` marks the base case. `rows` and `columns` name the two inputs; their values are in the unit the name ends in, rates in percent.",
    "sources": [
      {
        "source": "rics_dcf",
        "title": "RICS, Discounted cash flow valuations (practice information, 2023)",
        "paragraphs": "glossary \"Sensitivity analysis/testing\", Appendix B"
      }
    ]
  },
  "assumptions": {
    "asking_land_price": null,
    "rentable_area_m2": 1366,
    "residential_rent_per_m2_year": 281.52,
    "vacancy_pct": 3,
    "discount_rate_real_pct": 2.1,
    "macro_premium_pct": 0,
    "micro_rating": "average",
    "micro_premium_bp": null,
    "usage_rating": "residential",
    "condition_rating": "new",
    "special_premium_pct": 0,
    "inflation_pct": 1,
    "forecast_years": 10,
    "rent_growth_real_pct": 0,
    "discount_timing": "mid_year",
    "exit_cap_rate_pct": null,
    "exit_sale_costs_pct": 2,
    "lease_up": true,
    "initial_occupancy_pct": 75,
    "lease_up_months": 12,
    "cap_rate_pct": 2.95,
    "noi_convention": "after_capex",
    "gdv_source": "dcf",
    "gdv_manual": 0,
    "construction_cost_per_m2_nia": 4000,
    "professional_fees_pct": 12,
    "contingency_pct": 5,
    "sale_costs_pct": 2,
    "site_acquisition_costs_pct": 2.5,
    "development_period_months": 24,
    "target_irr_pct": 15,
    "finance_rate_pct": 3,
    "developers_profit_pct": 10,
    "target_yield_on_cost_pct": 5,
    "yield_on_cost_basis": "gross_rent"
  }
}
```

- `api_version` (`getRevenooValuation.response.200.api_version`; string, required)
- `valuation_date` (`getRevenooValuation.response.200.valuation_date`; string, required)
  - format `date`
- `parcel` (`getRevenooValuation.response.200.parcel`; object, required): The parcel: EGRID, address, municipality, BFS number, canton, zone, coordinates and areas.
- `data` (`getRevenooValuation.response.200.data`; object, required): Provenance: market data status and date, municipal and Zürich reference rents.
- `links` (`getRevenooValuation.response.200.links`; object, required): `app` opens this valuation in revenoo; `docs` is this document.
- `assumptions` (`getRevenooValuation.response.200.assumptions`; object, required): Assumptions you can change. Omitted keys keep the defaults the response reports.
  - `asking_land_price` (`getRevenooValuation.response.200.assumptions.asking_land_price`; number | null, optional): Asking price of the land. When set, the response appraises it: project IRR, profit on cost and on value, initial yield on cost.
    - min 0; max 100000000000
  - `rentable_area_m2` (`getRevenooValuation.response.200.assumptions.rentable_area_m2`; number, optional): Rentable area (NIA) in m². The unit mix is rescaled to it.
    - min 1; max 10000000
  - `residential_rent_per_m2_year` (`getRevenooValuation.response.200.assumptions.residential_rent_per_m2_year`; number, optional): Rent per m² NIA and year for every apartment row of the unit mix (parking keeps its own rent).
    - min 0; max 5000
  - `vacancy_pct` (`getRevenooValuation.response.200.assumptions.vacancy_pct`; number, optional): Stabilized vacancy, in percent of GPR, applied to every row of the unit mix.
    - min 0; max 100
  - `discount_rate_real_pct` (`getRevenooValuation.response.200.assumptions.discount_rate_real_pct`; number, optional): Real discount rate in percent. Setting it enters the macro rate at this value and resets the premiums to zero; premium assumptions sent with it add to it.
    - min 0; max 30
  - `macro_premium_pct` (`getRevenooValuation.response.200.assumptions.macro_premium_pct`; number, optional): Macro premium added to the macro rate, in percent.
    - min -10; max 10
  - `micro_rating` (`getRevenooValuation.response.200.assumptions.micro_rating`; string, optional): Micro location grade, which sets the micro premium.
    - one of `"good"`, `"average"`, `"weak"`
  - `micro_premium_bp` (`getRevenooValuation.response.200.assumptions.micro_premium_bp`; number | null, optional): Micro premium in basis points; replaces the micro rating while set (e.g. from proove). null returns to the rating.
    - min -500; max 500
  - `usage_rating` (`getRevenooValuation.response.200.assumptions.usage_rating`; string, optional): Use of the property, which sets the usage premium.
    - one of `"residential"`, `"office"`, `"retail"`, `"commercial"`
  - `condition_rating` (`getRevenooValuation.response.200.assumptions.condition_rating`; string, optional): Condition of the building, which sets the condition premium.
    - one of `"new"`, `"like_new"`, `"normal_condition"`, `"minor_renovation_needed"`, `"major_renovation_needed"`
  - `special_premium_pct` (`getRevenooValuation.response.200.assumptions.special_premium_pct`; number, optional): Special premium for risks no other factor covers, in percent.
    - min -10; max 10
  - `inflation_pct` (`getRevenooValuation.response.200.assumptions.inflation_pct`; number, optional): Expected inflation in percent; real rate plus inflation gives the nominal rate, shown for reference (the cash flows are real).
    - min -5; max 20
  - `forecast_years` (`getRevenooValuation.response.200.assumptions.forecast_years`; integer, optional): Explicit forecast period in years (RICS §4.65: markets often default to about ten).
    - min 1; max 50
  - `rent_growth_real_pct` (`getRevenooValuation.response.200.assumptions.rent_growth_real_pct`; number, optional): Real rent growth per year, in percent. Must stay below the real discount rate.
    - min -10; max 10
  - `discount_timing` (`getRevenooValuation.response.200.assumptions.discount_timing`; string, optional): Discount each year from its middle or its end.
    - one of `"mid_year"`, `"end_year"`
  - `exit_cap_rate_pct` (`getRevenooValuation.response.200.assumptions.exit_cap_rate_pct`; number | null, optional): Exit capitalization rate in percent. null lets it follow the discount rate (RICS §4.59 with no real growth).
    - min 0.1; max 30
  - `exit_sale_costs_pct` (`getRevenooValuation.response.200.assumptions.exit_sale_costs_pct`; number, optional): Sale costs deducted from the terminal value, in percent (RICS §4.63).
    - min 0; max 20
  - `lease_up` (`getRevenooValuation.response.200.assumptions.lease_up`; boolean, optional): Model a lease-up: occupancy rises from the initial level to stabilized over the lease-up months.
  - `initial_occupancy_pct` (`getRevenooValuation.response.200.assumptions.initial_occupancy_pct`; number, optional): Occupancy at the start of the lease-up, in percent.
    - min 0; max 100
  - `lease_up_months` (`getRevenooValuation.response.200.assumptions.lease_up_months`; integer, optional): Months until stabilized occupancy.
    - min 0; max 60
  - `cap_rate_pct` (`getRevenooValuation.response.200.assumptions.cap_rate_pct`; number, optional): Capitalization rate in percent: direct cap value = stabilized NOI ÷ cap rate.
    - min 0.1; max 30
  - `noi_convention` (`getRevenooValuation.response.200.assumptions.noi_convention`; string, optional): Which NOI is capitalized.
    - one of `"after_capex"`, `"before_capex"`, `"custom_factor"`
  - `gdv_source` (`getRevenooValuation.response.200.assumptions.gdv_source`; string, optional): Where the gross development value (GDV) comes from.
    - one of `"dcf"`, `"direct_cap"`, `"manual"`
  - `gdv_manual` (`getRevenooValuation.response.200.assumptions.gdv_manual`; number, optional): GDV amount when gdv_source is manual.
    - min 0; max 100000000000
  - `construction_cost_per_m2_nia` (`getRevenooValuation.response.200.assumptions.construction_cost_per_m2_nia`; number, optional): Construction costs per m² NIA.
    - min 0; max 50000
  - `professional_fees_pct` (`getRevenooValuation.response.200.assumptions.professional_fees_pct`; number, optional): Professional fees, in percent of construction costs (RICS B1.2.6).
    - min 0; max 50
  - `contingency_pct` (`getRevenooValuation.response.200.assumptions.contingency_pct`; number, optional): Contingency, in percent of construction costs (RICS B1.2.5).
    - min 0; max 50
  - `sale_costs_pct` (`getRevenooValuation.response.200.assumptions.sale_costs_pct`; number, optional): Sale costs, in percent of GDV (GDV less sale costs is the NDV).
    - min 0; max 20
  - `site_acquisition_costs_pct` (`getRevenooValuation.response.200.assumptions.site_acquisition_costs_pct`; number, optional): Site acquisition costs, in percent of the land price (RICS B1.2.2).
    - min 0; max 20
  - `development_period_months` (`getRevenooValuation.response.200.assumptions.development_period_months`; integer, optional): Development period from land purchase to completion, in months.
    - min 1; max 240
  - `target_irr_pct` (`getRevenooValuation.response.200.assumptions.target_irr_pct`; number, optional): Target rate of return of the DCF application: a project IRR before finance, real (RICS §6.2.4, §7.2.4).
    - min 0; max 100
  - `finance_rate_pct` (`getRevenooValuation.response.200.assumptions.finance_rate_pct`; number, optional): Cost of finance per year, on 100% of land and building costs (RICS B2.2.2).
    - min 0; max 30
  - `developers_profit_pct` (`getRevenooValuation.response.200.assumptions.developers_profit_pct`; number, optional): Developer's profit, in percent of GDV (RICS B2.2.3).
    - min 0; max 100
  - `target_yield_on_cost_pct` (`getRevenooValuation.response.200.assumptions.target_yield_on_cost_pct`; number, optional): Target initial yield on cost: annual income over total development cost, in percent (RICS B2.2.3.4).
    - min 0.1; max 50
  - `yield_on_cost_basis` (`getRevenooValuation.response.200.assumptions.yield_on_cost_basis`; string, optional): The annual income the yield on cost is read on: GPR, or NOI before or after the capex reserve.
    - one of `"gross_rent"`, `"noi_before_capex"`, `"noi_after_capex"`
- `figures` (`getRevenooValuation.response.200.figures`; object, optional): The key figures.
  - `dcf_value` (`getRevenooValuation.response.200.figures.dcf_value`; number | null, optional): Market value by explicit DCF: PV of the net cash flows plus PV of the terminal value.
  - `dcf_value_per_m2_nia` (`getRevenooValuation.response.200.figures.dcf_value_per_m2_nia`; number | null, optional): DCF value per m² of rentable area (NIA).
  - `discount_rate_real_pct` (`getRevenooValuation.response.200.figures.discount_rate_real_pct`; number | null, optional): Real discount rate, built up from the macro rate (municipal rent level against Zürich) and five premiums.
  - `direct_cap_value` (`getRevenooValuation.response.200.figures.direct_cap_value`; number | null, optional): Direct cap value: stabilized NOI ÷ capitalization rate.
  - `dcf_implied_cap_rate_pct` (`getRevenooValuation.response.200.figures.dcf_implied_cap_rate_pct`; number | null, optional): Stabilized NOI ÷ DCF value.
  - `land_value_yield_on_cost` (`getRevenooValuation.response.200.figures.land_value_yield_on_cost`; number | null, optional): Residual land value at which the initial yield on cost meets its target.
  - `land_value_yield_on_cost_per_m2_nia` (`getRevenooValuation.response.200.figures.land_value_yield_on_cost_per_m2_nia`; number | null, optional): The same per m² NIA.
  - `land_value_dcf` (`getRevenooValuation.response.200.figures.land_value_dcf`; number | null, optional): Residual land value, DCF application: NPV 0 at the target rate of return.
  - `land_value_static` (`getRevenooValuation.response.200.figures.land_value_static`; number | null, optional): Residual land value, basic (static) application: after finance and developer's profit.
  - `land_value_static_implied_irr_pct` (`getRevenooValuation.response.200.figures.land_value_static_implied_irr_pct`; number | null, optional): Project IRR the static land value implies.
  - `net_yield_after_capex_pct` (`getRevenooValuation.response.200.figures.net_yield_after_capex_pct`; number | null, optional): NOI after the capex reserve ÷ DCF value.
  - `gross_yield_pct` (`getRevenooValuation.response.200.figures.gross_yield_pct`; number | null, optional): GPR ÷ DCF value.
  - `noi_after_capex` (`getRevenooValuation.response.200.figures.noi_after_capex`; number | null, optional): Stabilized net operating income after the capex reserve.
  - `gross_potential_rent` (`getRevenooValuation.response.200.figures.gross_potential_rent`; number | null, optional): Gross potential rent of the unit mix per year.
  - `units_total` (`getRevenooValuation.response.200.figures.units_total`; number | null, optional): Apartments in the unit mix.
  - `dcf_value_at_rate_minus_30bp` (`getRevenooValuation.response.200.figures.dcf_value_at_rate_minus_30bp`; number | null, optional): DCF value with the discount rate 30 bp lower.
  - `dcf_value_at_rate_plus_30bp` (`getRevenooValuation.response.200.figures.dcf_value_at_rate_plus_30bp`; number | null, optional): DCF value with the discount rate 30 bp higher.
  - `asking_price` (`getRevenooValuation.response.200.figures.asking_price`; object | null, optional): Appraisal of asking_land_price when set: project IRR, profit on cost and on value, initial yield on cost. Null otherwise.
- `dcf` (`getRevenooValuation.response.200.dcf`; object | null, optional)
- `discount_rate` (`getRevenooValuation.response.200.discount_rate`; object, optional)
- `direct_cap` (`getRevenooValuation.response.200.direct_cap`; object | null, optional)
- `land_value` (`getRevenooValuation.response.200.land_value`; object | null, optional)
- `yield_on_cost` (`getRevenooValuation.response.200.yield_on_cost`; object | null, optional)
- `rents` (`getRevenooValuation.response.200.rents`; object, optional)
- `sensitivity` (`getRevenooValuation.response.200.sensitivity`; object, optional)

### 400

Invalid EGRID or assumptions. `details` lists each invalid assumption.

#### Example

```json
{
  "error": "string",
  "details": null
}
```

- `error` (`getRevenooValuation.response.400.error`; string, required)
- `details` (`getRevenooValuation.response.400.details`; unknown, optional): For invalid assumptions: one { key, message } per problem.

### 404

No parcel with this EGRID, or an unknown part.

#### Example

```json
{
  "error": "string",
  "details": null
}
```

- `error` (`getRevenooValuation.response.404.error`; string, required)
- `details` (`getRevenooValuation.response.404.details`; unknown, optional): For invalid assumptions: one { key, message } per problem.

### 429

Too many uncached requests from this client; retry after the Retry-After seconds.

#### Example

```json
{
  "error": "string",
  "details": null
}
```

- `error` (`getRevenooValuation.response.429.error`; string, required)
- `details` (`getRevenooValuation.response.429.details`; unknown, optional): For invalid assumptions: one { key, message } per problem.

### 502

The data service (RES) failed.

#### Example

```json
{
  "error": "string",
  "details": null
}
```

- `error` (`getRevenooValuation.response.502.error`; string, required)
- `details` (`getRevenooValuation.response.502.details`; unknown, optional): For invalid assumptions: one { key, message } per problem.

### 503

The data service is not configured.

#### Example

```json
{
  "error": "string",
  "details": null
}
```

- `error` (`getRevenooValuation.response.503.error`; string, required)
- `details` (`getRevenooValuation.response.503.details`; unknown, optional): For invalid assumptions: one { key, message } per problem.


Source: https://docs.aireon.ch/revenoo/get-revenoo-valuation/index.md
