Returns detailed information for one or many properties.
Supports standard filtering, sorting, and selection.
| Name | Required | Type | Description |
|---|---|---|---|
| api_key | Yes | UUID v4 | Your API key for authorization |
| country_abbreviation | No | String | A country abbreviation |
| province_abbreviation | No | String | A province abbreviation within the country |
| city | No | String | A city within the province |
| community | No | String | A community within the city |
| address | No | String | An exact address within the city, for a single property. Needs country_abbreviation, province_abbreviation and city as well. For partial addresses or typos use the search endpoint instead. |
| polygon | No | Polygon filter string | Get results inside a polygon. |
| bbox_ne_lat | No | Float | Northeast latitude for a bounding box. All four bbox values are required together. |
| bbox_ne_lng | No | Float | Northeast longitude for a bounding box. All four bbox values are required together. |
| bbox_sw_lat | No | Float | Southwest latitude for a bounding box. All four bbox values are required together. |
| bbox_sw_lng | No | Float | Southwest longitude for a bounding box. All four bbox values are required together. |
| results_per_page | No | Integer | Number of results per page. Maximum 1000. |
| select | No | String - see selecting | The fields to return - address and property_id are always selected |
| page | No | Integer | The page number to retrieve results from, starting at 1 |
Type declarations are available at the bottom of this page.
| Name | Type | Description |
|---|---|---|
| cache_hit | Boolean | Indicates if the response was a cache hit |
| cost_cents | Integer | Cost of the request in cents, for the current page of results |
| data | Array<Property> | Array of Property objects containing the requested property data |
| error | String | Details about the error. Empty if no error |
| pagination | Pagination | Contains pagination info like current page and total pages |
| price_quote | Boolean | Indicates whether the response is a price quote |
| result_total | Integer | The total number of results |
| time_ms | Integer | Time taken for the request to complete in milliseconds |
| ui_info | UiInfo | Useful metadata to create user interfaces |
Each property contains fields chosen via select. Over 400 fields are available.
See the Fields documentation for the full list.
Metadata for building UIs:
| Name | Type | Description |
|---|---|---|
| address_link | String | URL to property details page |
| city_link | String | URL to city information page |
| community_link | String | URL to community information page |
| province_abbreviation_link | String | URL to province/state information page |
| country_abbreviation_link | String | URL to country information page |
Pagination info for the results:
| Name | Type | Description |
|---|---|---|
| current_page | Integer | Current page number (1-based) |
| has_next_page | Boolean | Whether there are more results available |
| has_previous_page | Boolean | Whether there are previous results available |
| page_total | Integer | Total number of pages available |
Select the programming language you want to display the code examples in.
curl -X GET "https://api.houski.ca/properties?api_key=YOUR_API_KEY&city=calgary&community=riverbend&country_abbreviation=ca&page=1&province_abbreviation=ab&results_per_page=3&select=bedroom,den,estimate_list_price"
const houski_get_properties = async (): Promise<PropertiesResponse> => {
// You must copy the PropertiesResponse type declarations from the
// Houski API documentation to strongly type the response
const url = new URL('https://api.houski.ca/properties');
url.searchParams.set('api_key', 'YOUR_API_KEY');
url.searchParams.set('city', 'calgary');
url.searchParams.set('community', 'riverbend');
url.searchParams.set('country_abbreviation', 'ca');
url.searchParams.set('page', '1');
url.searchParams.set('province_abbreviation', 'ab');
url.searchParams.set('results_per_page', '3');
url.searchParams.set('select', 'bedroom,den,estimate_list_price');
const response = await fetch(url);
const data = await response.json();
return data;
}
(async () => {
let data: PropertiesResponse = await houski_get_properties();
// Log the response
console.log(data);
})();
{
"cache_hit": false,
"cost_cents": 0.959999978542328,
"data": [
{
"address": "125 Riverview Court SE",
"bedroom": 3,
"den": 0,
"estimate_list_price": 693053,
"property_id": "1003b80b5086a07"
},
{
"address": "61 Rivergreen Crescent SE",
"bedroom": 3,
"den": 0,
"estimate_list_price": 664453,
"property_id": "1004738a9262a70d"
},
{
"address": "197 River Rock Place SE",
"bedroom": 3,
"den": 1,
"estimate_list_price": 683362,
"property_id": "1016148ae2680e16"
}
],
"error": "",
"pagination": {
"current_page": 1,
"has_next_page": true,
"has_previous_page": false,
"page_total": 1187
},
"price_quote": false,
"result_total": 3560,
"time_ms": 44,
"ui_info": {
"city": "Calgary",
"city_id": "6ec95b53075d062c",
"city_link": "ca/ab/calgary",
"city_slug": "calgary",
"community": "Riverbend",
"community_id": "f5c930e9ed9a38e4",
"community_link": "ca/ab/calgary/riverbend",
"community_slug": "riverbend",
"country": "Canada",
"country_abbreviation": "CA",
"country_abbreviation_id": "9ace2b6431b7f1be",
"country_abbreviation_link": "ca",
"country_slug": "canada",
"province": "Alberta",
"province_abbreviation": "AB",
"province_abbreviation_id": "aae1f05a0f89d2c7",
"province_abbreviation_link": "ca/ab",
"province_slug": "alberta"
}
}
interface PropertiesResponse {
cache_hit: boolean;
cost_cents: number;
data: Property[];
error: string;
pagination: Pagination;
price_quote: boolean;
result_total: number;
time_ms: number;
ui_info: UiInfo;
}
interface UiInfo {
address_link?: string | null;
address_slug?: string | null;
address?: string | null;
city_id?: string | null;
city_link?: string | null;
city_slug?: string | null;
city?: string | null;
community_id?: string | null;
community_link?: string | null;
community_slug?: string | null;
community?: string | null;
country_abbreviation_id?: string | null;
country_abbreviation?: string | null;
country_slug?: string | null;
country?: string | null;
parent_address?: string | null;
parent_property_id?: string | null;
property_id?: string | null;
province_abbreviation_id?: string | null;
province_abbreviation_link?: string | null;
country_abbreviation_link?: string | null;
province_abbreviation?: string | null;
province_slug?: string | null;
province?: string | null;
}
interface Pagination {
current_page: number;
has_next_page: boolean;
has_previous_page: boolean;
page_total: number;
}
interface Property {
estimate_city_population?: number | null;
city_id?: string | null;
community_id?: string | null;
country_abbreviation_id?: string | null;
list_price_vs_estimate?: number | null;
assessment_vs_estimate?: number | null;
country_abbreviation_link?: string | null;
province_abbreviation_link?: string | null;
city_link?: string | null;
community_link?: string | null;
demographic_age_average_of_the_population?: number | null;
demographic_age_median_of_the_population?: number | null;
demographic_municipal_population_density_sq_km?: number | null;
demographic_employment_income_percent?: number | null;
demographic_employment_insurance_benefit_percent?: number | null;
demographic_covid_19_government_income_support_and_benefit_percent?: number | null;
demographic_language_most_spoken_first?: string | null;
demographic_language_most_spoken_second?: string | null;
demographic_language_most_spoken_third?: string | null;
demographic_language_most_spoken_fourth?: string | null;
demographic_language_most_spoken_fifth?: string | null;
demographic_language_most_spoken_first_percent?: number | null;
demographic_language_most_spoken_second_percent?: number | null;
demographic_language_most_spoken_third_percent?: number | null;
demographic_language_most_spoken_fourth_percent?: number | null;
demographic_language_most_spoken_fifth_percent?: number | null;
demographic_municipal_population?: number | null;
demographic_municipal_population_male_percent?: number | null;
demographic_municipal_population_female_percent?: number | null;
demographic_dwellings_occupied_percent?: number | null;
demographic_income_median_pre_tax?: number | null;
demographic_income_median_after_tax?: number | null;
demographic_income_average_pre_tax?: number | null;
demographic_income_average_after_tax?: number | null;
demographic_median_covid_19_emergency_and_recovery_benefits?: number | null;
demographic_age_0_to_4_years_percent?: number | null;
demographic_age_5_to_9_years_percent?: number | null;
demographic_age_10_to_14_years_percent?: number | null;
demographic_age_15_to_19_years_percent?: number | null;
demographic_age_20_to_24_years_percent?: number | null;
demographic_age_25_to_29_years_percent?: number | null;
demographic_age_30_to_34_years_percent?: number | null;
demographic_age_35_to_39_years_percent?: number | null;
demographic_age_40_to_44_years_percent?: number | null;
demographic_age_45_to_49_years_percent?: number | null;
demographic_age_50_to_54_years_percent?: number | null;
demographic_age_55_to_59_years_percent?: number | null;
demographic_age_60_to_64_years_percent?: number | null;
demographic_age_65_to_69_years_percent?: number | null;
demographic_age_70_to_74_years_percent?: number | null;
demographic_age_75_to_79_years_percent?: number | null;
demographic_age_80_to_84_years_percent?: number | null;
demographic_age_85_to_89_years_percent?: number | null;
demographic_age_90_to_94_years_percent?: number | null;
demographic_age_95_to_99_years_percent?: number | null;
demographic_age_100_years_and_over_percent?: number | null;
demographic_household_size_1_person_percent?: number | null;
demographic_household_size_2_persons_percent?: number | null;
demographic_household_size_3_persons_percent?: number | null;
demographic_household_size_4_persons_percent?: number | null;
demographic_household_size_5_or_more_persons_percent?: number | null;
demographic_household_type_family_with_children_percent?: number | null;
demographic_household_type_family_without_children_percent?: number | null;
demographic_household_type_single_with_children_percent?: number | null;
demographic_household_type_single_without_children_percent?: number | null;
demographic_marital_status_married_percent?: number | null;
demographic_marital_status_common_law_percent?: number | null;
demographic_marital_status_single_percent?: number | null;
demographic_income_under_10000_percent?: number | null;
demographic_income_10000_to_19999_percent?: number | null;
demographic_income_20000_to_29999_percent?: number | null;
demographic_income_30000_to_39999_percent?: number | null;
demographic_income_40000_to_49999_percent?: number | null;
demographic_income_50000_to_59999_percent?: number | null;
demographic_income_60000_to_69999_percent?: number | null;
demographic_income_70000_to_79999_percent?: number | null;
demographic_income_80000_to_89999_percent?: number | null;
demographic_income_90000_to_99999_percent?: number | null;
demographic_income_100000_to_149999_percent?: number | null;
demographic_income_150000_and_over_percent?: number | null;
demographic_education_level_no_certificate_diploma_or_degree_percent?: number | null;
demographic_education_level_high_school_diploma_or_equivalency_certificate_percent?: number | null;
demographic_education_level_apprenticeship_or_trades_certificate_or_diploma_percent?: number | null;
demographic_education_level_bachelors_degree_percent?: number | null;
demographic_education_level_degree_in_medicine_dentistry_veterinary_medicine_or_optometry_percent?: number | null;
demographic_education_level_masters_degree_percent?: number | null;
demographic_education_level_earned_doctorate_percent?: number | null;
demographic_education_degree_teaching_percent?: number | null;
demographic_education_degree_humanities_percent?: number | null;
demographic_education_degree_social_and_behavioral_sciences_and_law_percent?: number | null;
demographic_education_degree_business_management_and_public_administration_percent?: number | null;
demographic_education_degree_physical_and_life_sciences_and_technologies_percent?: number | null;
demographic_education_degree_mathematics_computer_and_information_sciences_percent?: number | null;
demographic_education_degree_architecture_engineering_and_related_trades_percent?: number | null;
demographic_education_degree_agriculture_natural_resources_and_conservation_percent?: number | null;
demographic_education_degree_health_and_related_fields_percent?: number | null;
demographic_education_degree_personal_protective_and_transportation_services_percent?: number | null;
demographic_employment_employed_percent?: number | null;
demographic_employment_unemployed_percent?: number | null;
demographic_employment_occupations_legislative_and_senior_management_occupations_percent?: number | null;
demographic_employment_occupations_business_finance_and_administration_occupations_percent?: number | null;
demographic_employment_occupations_natural_and_applied_sciences_and_related_occupations_percent?: number | null;
demographic_employment_occupations_health_occupations_percent?: number | null;
demographic_employment_occupations_in_education_law_and_social_community_and_government_services_percent?: number | null;
demographic_employment_occupations_in_art_culture_recreation_and_sport_percent?: number | null;
demographic_employment_occupations_sales_and_service_occupations_percent?: number | null;
demographic_employment_occupations_trades_transport_and_equipment_operators_and_related_occupations_percent?: number | null;
demographic_employment_occupations_natural_resources_agriculture_and_related_production_occupations_percent?: number | null;
demographic_employment_occupations_in_manufacturing_and_utilities_percent?: number | null;
demographic_employment_industries_agriculture_forestry_fishing_and_hunting_percent?: number | null;
demographic_employment_industries_mining_quarrying_and_oil_and_gas_extraction_percent?: number | null;
demographic_employment_industries_utilities_percent?: number | null;
demographic_employment_industries_construction_percent?: number | null;
demographic_employment_industries_manufacturing_percent?: number | null;
demographic_employment_industries_wholesale_trade_percent?: number | null;
demographic_employment_industries_retail_trade_percent?: number | null;
demographic_employment_industries_transportation_and_warehousing_percent?: number | null;
demographic_employment_industries_information_and_cultural_industries_percent?: number | null;
demographic_employment_industries_finance_and_insurance_percent?: number | null;
demographic_employment_industries_real_estate_and_rental_and_leasing_percent?: number | null;
demographic_employment_industries_professional_scientific_and_technical_services_percent?: number | null;
demographic_employment_industries_management_of_companies_and_enterprises_percent?: number | null;
demographic_employment_industries_administrative_and_support_waste_management_and_remediation_services_percent?: number | null;
demographic_employment_industries_educational_services_percent?: number | null;
demographic_employment_industries_health_care_and_social_assistance_percent?: number | null;
demographic_employment_industries_arts_entertainment_and_recreation_percent?: number | null;
demographic_employment_industries_accommodation_and_food_services_percent?: number | null;
demographic_employment_industries_other_services_percent?: number | null;
demographic_employment_industries_public_administration_percent?: number | null;
demographic_transportation_car_truck_or_van_percent?: number | null;
demographic_transportation_public_transit_percent?: number | null;
demographic_transportation_walk_percent?: number | null;
demographic_transportation_bicycle_percent?: number | null;
assessments?: Assessment[] | null;
listings_rent?: ListingRent[] | null;
listings?: Listing[] | null;
permits?: Permit[] | null;
address_link?: string | null;
address_slug?: string | null;
address?: string | null;
air_cleaner_brand?: string | null;
air_cleaner_install_year?: number | null;
air_cleaner_type?: string | null;
architecture_style?: string | null;
assessment_value?: number | null;
assessment_year?: number | null;
attic_is_functional?: boolean | null;
has_expand_listings?: boolean | null;
has_expand_listings_rent?: boolean | null;
has_expand_permits?: boolean | null;
has_expand_assessments?: boolean | null;
backs_onto?: string | null;
balcony_type_first?: string | null;
balcony_type_second?: string | null;
balcony_type_third?: string | null;
basement_ceiling_height_m?: number | null;
basement_finish?: string | null;
basement_has_crawlspace?: boolean | null;
basement_has_entrance?: boolean | null;
basement_is_walkout?: boolean | null;
basement_type?: string | null;
basement_year_last_renovated?: number | null;
bathroom_full?: number | null;
bathroom_total?: number | null;
bathroom_half?: number | null;
bathroom_year_last_renovated?: number | null;
bedroom_year_last_renovated?: number | null;
bedroom?: number | null;
bedroom_total?: number | null;
building_name?: string | null;
carport_parking_space?: number | null;
cat_allowed_by_bylaw_require_approval?: boolean | null;
cat_allowed_by_bylaw?: boolean | null;
ceiling_height_m?: number | null;
ceiling_is_vaulted?: boolean | null;
ceiling_style?: string | null;
city_slug?: string | null;
city?: string | null;
commercial_use?: string | null;
community_slug?: string | null;
community?: string | null;
community_source?: string | null;
construction_material?: string | null;
construction_year?: number | null;
converted_to_commercial_use?: boolean | null;
converted_to_residential_use?: boolean | null;
cooling_brand_first?: string | null;
cooling_install_year_first?: number | null;
cooling_type_first?: string | null;
cooling_type_second?: string | null;
country_abbreviation?: string | null;
country_slug?: string | null;
country?: string | null;
den?: number | null;
direction_facing?: string | null;
dog_allowed_by_bylaw_require_approval?: boolean | null;
dog_allowed_by_bylaw?: boolean | null;
driveway_parking_space?: number | null;
electricity_provider?: string | null;
elevator?: number | null;
estimate_list_price?: number | null;
estimate_sale_price_per_sq_m?: number | null;
estimate_monthly_electrical_cost?: number | null;
estimate_monthly_heat_cost?: number | null;
estimate_monthly_water_cost?: number | null;
estimate_political_lean?: number | null;
estimate_rent_monthly_room?: number | null;
estimate_rent_monthly_suite_basement?: number | null;
estimate_rent_monthly_suite_main?: number | null;
estimate_rent_monthly?: number | null;
estimate_sale_price?: number | null;
exterior_finish?: string | null;
exterior_year_last_renovated?: number | null;
fence_type?: string | null;
fire_suppression_type?: string | null;
fireplace?: number | null;
floor_above_ground?: number | null;
floor_below_ground?: number | null;
floor_material_type_first?: string | null;
floor_material_type_second?: string | null;
floor_plan_type?: string | null;
for_rent_by?: string | null;
for_rent_cat_allowed_by_owner?: boolean | null;
for_rent_dog_allowed_by_owner?: boolean | null;
for_rent_has_own_laundry?: boolean | null;
for_rent_has_separate_external_entrance?: boolean | null;
for_rent?: boolean | null;
for_sale_by?: string | null;
for_sale?: boolean | null;
estimate_sale_date_listed?: string | null;
estimate_sale_date_sold?: string | null;
estimate_days_on_market_until_sale?: number | null;
estimate_rent_date_listed?: string | null;
estimate_rent_date_rented?: string | null;
estimate_days_on_market_until_rented?: number | null;
foundation_type?: string | null;
fronts_onto?: string | null;
garage_240v_first?: boolean | null;
garage_240v_second?: boolean | null;
garage_floor_above_ground_first?: number | null;
garage_floor_above_ground_second?: number | null;
garage_floor_below_ground_first?: number | null;
garage_floor_below_ground_second?: number | null;
garage_heating_type_first?: string | null;
garage_heating_type_second?: string | null;
garage_parking_space_first?: number | null;
garage_parking_space_second?: number | null;
garage_tandem_first?: boolean | null;
garage_tandem_second?: boolean | null;
garage_type_first?: string | null;
garage_type_second?: string | null;
gas_provider?: string | null;
has_assigned_storage_space?: boolean | null;
has_backyard?: boolean | null;
has_frontyard?: boolean | null;
has_private_indoor_gym?: boolean | null;
has_private_indoor_hot_tub?: boolean | null;
has_private_indoor_sauna?: boolean | null;
has_private_indoor_swimming_pool?: boolean | null;
has_private_indoor_workshop?: boolean | null;
has_private_outdoor_gym?: boolean | null;
has_private_outdoor_hot_tub?: boolean | null;
has_private_outdoor_sauna?: boolean | null;
has_private_outdoor_swimming_pool?: boolean | null;
has_rv_parking?: boolean | null;
has_shared_indoor_gym?: boolean | null;
has_shared_indoor_hot_tub?: boolean | null;
has_shared_indoor_sauna?: boolean | null;
has_shared_indoor_swimming_pool?: boolean | null;
has_shared_indoor_workshop?: boolean | null;
has_shared_laundry_room?: boolean | null;
has_shared_outdoor_gym?: boolean | null;
has_shared_outdoor_hot_tub?: boolean | null;
has_shared_outdoor_sauna?: boolean | null;
has_shared_outdoor_swimming_pool?: boolean | null;
heating_brand_first?: string | null;
heating_install_year_first?: number | null;
heating_type_first?: string | null;
heating_type_second?: string | null;
humidifier_brand?: string | null;
humidifier_install_year?: number | null;
humidifier_type?: string | null;
image?: string | null;
in_cul_de_sac?: boolean | null;
interior_sq_m?: number | null;
interior_sq_m_source?: string | null;
internet_provider?: string | null;
irrigation_system_type?: string | null;
is_commercial?: boolean | null;
is_condemned?: boolean | null;
is_judicial_sale?: boolean | null;
is_residential?: boolean | null;
kitchen_appliance_brand?: string | null;
kitchen_appliance_finish?: string | null;
kitchen_countertop_material?: string | null;
kitchen_dishwasher_install_year?: number | null;
kitchen_dishwasher_type?: string | null;
kitchen_fridge_install_year?: number | null;
kitchen_fridge_type?: string | null;
kitchen_microwave_install_year?: number | null;
kitchen_microwave_type?: string | null;
kitchen_stove_heat_type?: string | null;
kitchen_stove_install_year?: number | null;
kitchen_stove_type?: string | null;
kitchen_year_last_renovated?: number | null;
land_depth_m?: number | null;
land_frontage_m?: number | null;
latitude?: number | null;
laundry_appliance_brand?: string | null;
laundry_appliance_finish?: string | null;
laundry_dryer_install_year?: number | null;
laundry_dryer_type?: string | null;
laundry_washer_install_year?: number | null;
laundry_washer_type?: string | null;
list_price?: number | null;
rent_monthly?: number | null;
living_room_year_last_renovated?: number | null;
loading_bays?: number | null;
longitude?: number | null;
maintenance_fee_include_electric?: boolean | null;
maintenance_fee_include_heat?: boolean | null;
maintenance_fee_include_water?: boolean | null;
maintenance_fee?: number | null;
need_ceiling_repair?: boolean | null;
need_cooling_repair?: boolean | null;
need_drywall_repair?: boolean | null;
need_electrical_repair?: boolean | null;
need_floor_repair?: boolean | null;
need_foundation_repair?: boolean | null;
need_heating_repair?: boolean | null;
need_mold_repair?: boolean | null;
need_paint_repair?: boolean | null;
need_plumbing_repair?: boolean | null;
need_roof_repair?: boolean | null;
need_window_repair?: boolean | null;
neighborhood_id?: string | null;
outbuilding_type_fifth?: string | null;
outbuilding_type_first?: string | null;
outbuilding_type_fourth?: string | null;
outbuilding_type_second?: string | null;
outbuilding_type_third?: string | null;
ownership_type?: string | null;
parent_address?: string | null;
parking_lot_parking_space_legal_type?: string | null;
parking_lot_parking_space?: number | null;
plumbing_pipe_material?: string | null;
postal_code?: string | null;
property_id?: string | null;
property_type?: string | null;
province_abbreviation?: string | null;
province_slug?: string | null;
province?: string | null;
roof_is_functional?: boolean | null;
roof_material_install_year?: number | null;
roof_material?: string | null;
score_air_quality?: number | null;
score_bicycle?: number | null;
score_cell_coverage?: number | null;
score_curb_appeal?: number | null;
score_earthquake?: number | null;
score_education?: number | null;
score_entertainment?: number | null;
score_family?: number | null;
score_fire?: number | null;
score_flood?: number | null;
score_food_and_drink?: number | null;
score_hurricane?: number | null;
score_internet?: number | null;
score_nature?: number | null;
score_parking?: number | null;
score_quiet?: number | null;
score_retirement?: number | null;
score_safety?: number | null;
score_shopping?: number | null;
score_smell?: number | null;
score_tornado?: number | null;
score_total?: number | null;
score_traffic?: number | null;
score_transit?: number | null;
score_walkability?: number | null;
score_water_quality?: number | null;
secondary_suite_has_own_laundry_first?: boolean | null;
secondary_suite_has_own_laundry_second?: boolean | null;
secondary_suite_has_own_laundry_third?: boolean | null;
secondary_suite_seperate_entrance_first?: boolean | null;
secondary_suite_seperate_entrance_second?: boolean | null;
secondary_suite_seperate_entrance_third?: boolean | null;
shared_bicycle_storage_type?: string | null;
shared_garage_240v_first?: boolean | null;
shared_garage_240v_second?: boolean | null;
shared_garage_floor_above_ground_first?: number | null;
shared_garage_floor_above_ground_second?: number | null;
shared_garage_floor_below_ground_first?: number | null;
shared_garage_floor_below_ground_second?: number | null;
shared_garage_heating_type_first?: string | null;
shared_garage_heating_type_second?: string | null;
shared_garage_legal_type_first?: string | null;
shared_garage_legal_type_second?: string | null;
shared_garage_parking_space_first?: number | null;
shared_garage_parking_space_second?: number | null;
shared_garage_tandem_first?: boolean | null;
shared_garage_tandem_second?: boolean | null;
shared_garage_type_first?: string | null;
shared_garage_type_second?: string | null;
summer_garbage_pickup_day?: string | null;
summer_garbage_pickup_schedule?: string | null;
summer_organic_waste_pickup_day?: string | null;
summer_organic_waste_pickup_schedule?: string | null;
summer_recycle_pickup_day?: string | null;
summer_recycle_pickup_schedule?: string | null;
view_type?: string | null;
water_heater_brand?: string | null;
water_heater_install_year?: number | null;
water_heater_type?: string | null;
water_softener_brand?: string | null;
water_softener_install_year?: number | null;
water_softener_type?: string | null;
water_provider?: string | null;
winter_garbage_pickup_day?: string | null;
winter_garbage_pickup_schedule?: string | null;
winter_organic_waste_pickup_day?: string | null;
winter_organic_waste_pickup_schedule?: string | null;
winter_recycle_pickup_day?: string | null;
winter_recycle_pickup_schedule?: string | null;
workshop_type?: string | null;
zoning?: string | null;
cash_on_cash_return?: number | null;
cap_rate?: number | null;
return_on_investment?: number | null;
is_farmland?: boolean | null;
land_area_sq_m?: number | null;
parent_property_id?: string | null;
property_taxes?: number | null;
property_taxes_year?: number | null;
province_abbreviation_id?: string | null;
score_total_percent?: number | null;
shared_parking_lot_parking_space_legal_type?: string | null;
shared_parking_lot_parking_space?: number | null;
furnished?: boolean | null;
zoning_source?: string | null;
construction_year_source?: string | null;
is_commercial_source?: string | null;
is_farmland_source?: string | null;
is_residential_source?: string | null;
land_area_sq_m_source?: string | null;
area_residential_list_price_per_sq_m?: number | null;
area_residential_rent_price_per_sq_m?: number | null;
area_commercial_list_price_per_sq_m?: number | null;
area_comparable_list_price_per_sq_m?: number | null;
area_comparable_assessment_value_per_sq_m?: number | null;
area_comparable_property_tax_per_sq_m?: number | null;
secondary_suite_type_first?: string | null;
secondary_suite_type_second?: string | null;
secondary_suite_type_third?: string | null;
postal_code_source?: string | null;
}
interface Assessment {
property_id: string;
expand_assessment_year: number;
expand_assessment_value: number;
}
interface Listing {
property_id: string;
expand_listing_date: string;
expand_listing_event: string;
expand_estimate_list_price: number;
}
interface ListingRent {
property_id: string;
expand_listing_rent_date: string;
expand_listing_rent_event: string;
expand_estimate_rent_monthly: number;
expand_for_rent_what_is: string;
}
interface Permit {
property_id: string;
expand_permit_id: string;
expand_permit_application_date: string;
expand_permit_type: string;
expand_permit_content: string;
}