Compare what a budget buys
compare_inventoryRead-only
What a budget buys in 2-3 towns or cities: the share of each place's active listings within the price cap, and optionally also with parking.
Use when the user compares places by what they can afford ("2-bed flats
up to 300k in Porto or Valencia", "and with parking?"). For each place it
counts the cohort (type, sale, bedrooms), the part within `max_price`,
and, with `has_parking`, the part within budget whose listing mentions
parking. `share_pct` is that part over the place's priced cohort.
Relay the SHARES, not the counts: counts reflect how many listings Cubi
holds for each place, not the size of the market. These are asking
prices of active listings, not sale prices or valuations; say so. A
place is counted at the level in `level` (a city when the name has a city
reading). Never compute or invent a figure that is not in the result.
Args:
places: 2-3 town or city names, e.g. ["Porto", "Valencia"].
type: property types, e.g. ["apartment"].
transaction_type: "sale" (default). Rental budgets are not supported.
min_bedrooms / max_bedrooms: bedroom bounds (equal for "exactly 2").
max_price: asking-price cap in EUR.
has_parking: also count the budget cohort with parking mentioned.
lang: ISO 639-1 code for the sample listings (en/pt/es/fr/de/nl/ru).
Returns:
JSON: places[{place, level, base, within_budget, with_parking, listings}],
each cohort {count, priced, on_request, share_pct}; `listings` are up
to 3 homes from the last cohort counted, for "show me those".
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | en | |
| type | No | ||
| places | Yes | ||
| max_price | No | ||
| has_parking | No | ||
| max_bedrooms | No | ||
| min_bedrooms | No | ||
| transaction_type | No | sale |
Output Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |