diff --git a/harness/epc_prediction_corpus.py b/harness/epc_prediction_corpus.py index e52311e7..6b1761e8 100644 --- a/harness/epc_prediction_corpus.py +++ b/harness/epc_prediction_corpus.py @@ -13,6 +13,7 @@ not. Layout: `//.json` + `/_index.json`. from __future__ import annotations +import hashlib import json from datetime import date from pathlib import Path @@ -21,6 +22,10 @@ from typing import Any, Optional from datatypes.epc.domain.mapper import EpcPropertyDataMapper from domain.epc_prediction.comparable_properties import Comparable +# Identifying free-text fields blanked when freezing a payload into the committed +# fixture (postcode is kept — it is coarse open data and the cohort key). +_PII_BLANK_FIELDS = ("address_line_2", "address_line_3", "post_town") + def load_corpus(corpus_dir: Path) -> list[list[Comparable]]: """Load every postcode cohort under `corpus_dir`. Returns one list of @@ -61,6 +66,33 @@ def _load_cohort( return cohort +def stable_hash(prefix: str, value: str) -> str: + """A short, deterministic, one-way token for a free-text identifier. Stable + across re-lodgements of the same address (normalised first), so dedup still + collapses them — but the plaintext address never lands in the repo.""" + digest = hashlib.sha1(value.strip().upper().encode()).hexdigest()[:12] + return f"{prefix}-{digest}" + + +def anonymise_payload(raw: dict[str, Any]) -> dict[str, Any]: + """De-identify a cert payload for the committed fixture: hash the street + address (`address_line_1`) and certificate number into stable tokens, blank + the other free-text address lines, and keep everything else — postcode, + registration date, SAP version, lodged figures, and all component fields — + untouched (gov data is OGL; only the direct identifiers are removed).""" + out = dict(raw) + address = raw.get("address_line_1") + if address: + out["address_line_1"] = stable_hash("addr", str(address)) + cert = raw.get("certificate_number") + if cert: + out["certificate_number"] = stable_hash("cert", str(cert)) + for blank_field in _PII_BLANK_FIELDS: + if blank_field in out: + out[blank_field] = "" + return out + + def _address(raw: dict[str, Any]) -> Optional[str]: value = raw.get("address_line_1") return str(value).strip().upper() if value else None diff --git a/scripts/build_epc_prediction_fixture.py b/scripts/build_epc_prediction_fixture.py new file mode 100644 index 00000000..f1b83c7a --- /dev/null +++ b/scripts/build_epc_prediction_fixture.py @@ -0,0 +1,94 @@ +"""Freeze a small, anonymised EPC Prediction fixture for the Tier-1 gate (ADR-0030). + +Curates a deterministic subset of the local scratch corpus +(`/tmp/epc_prediction_corpus`, gitignored) into a committed fixture under +`tests/fixtures/epc_prediction/`. Selection keeps postcodes that can actually be +scored — at least one SAP 10.2 target plus a second distinct address to predict +it from. Every payload is run through `anonymise_payload` first, so the street +address + certificate number become opaque tokens and no plaintext address lands +in the repo (postcode + component data are open gov data and kept). + +The committed fixture is the deterministic basis for the ratcheting gate; the +large scratch corpus stays local for iteration + the offline battle-test. + +USAGE +----- + PYTHONPATH=. python scripts/build_epc_prediction_fixture.py + +Source: $EPC_PREDICTION_CORPUS (default /tmp/epc_prediction_corpus). +""" + +from __future__ import annotations + +import json +import os +from pathlib import Path +from typing import Any + +from harness.epc_prediction_corpus import anonymise_payload, stable_hash + +SOURCE = Path(os.environ.get("EPC_PREDICTION_CORPUS", "/tmp/epc_prediction_corpus")) +FIXTURE = Path("tests/fixtures/epc_prediction") + +_SAP_10_2 = "10.2" +_MAX_POSTCODES = 15 # keep the committed fixture small +_MAX_COHORT = 25 # cap certs per postcode to bound repo size + + +def _load_payloads( + postcode: str, certs: list[str] +) -> list[tuple[str, dict[str, Any]]]: + """The `(source cert number, payload)` pairs for a postcode — the cert + number lives in the index/filename, not the cached payload.""" + payloads: list[tuple[str, dict[str, Any]]] = [] + for cert in certs: + path = SOURCE / postcode / f"{cert}.json" + if path.exists(): + payloads.append((cert, json.loads(path.read_text()))) + return payloads + + +def _qualifies(payloads: list[tuple[str, dict[str, Any]]]) -> bool: + """A postcode is usable iff it has ≥1 SAP 10.2 cert (a valid target) and ≥2 + distinct addresses (so the target has at least one neighbour to predict it).""" + has_target = any( + str(p.get("sap_version")) == _SAP_10_2 for _, p in payloads + ) + addresses = { + str(p.get("address_line_1", "")).strip().upper() for _, p in payloads + } + return has_target and len(addresses) >= 2 + + +def main() -> None: + index: dict[str, list[str]] = json.loads( + (SOURCE / "_index.json").read_text() + ) + fixture_index: dict[str, list[str]] = {} + total_certs = 0 + for postcode, certs in index.items(): + if len(fixture_index) >= _MAX_POSTCODES: + break + payloads = _load_payloads(postcode, certs) + if not _qualifies(payloads): + continue + kept: list[str] = [] + for cert, raw in payloads[:_MAX_COHORT]: + cert_token = stable_hash("cert", cert) + anon = anonymise_payload(raw) + out = FIXTURE / postcode / f"{cert_token}.json" + out.parent.mkdir(parents=True, exist_ok=True) + out.write_text(json.dumps(anon)) + kept.append(cert_token) + fixture_index[postcode] = kept + total_certs += len(kept) + (FIXTURE / "_index.json").parent.mkdir(parents=True, exist_ok=True) + (FIXTURE / "_index.json").write_text(json.dumps(fixture_index, indent=2)) + print( + f"wrote {len(fixture_index)} postcodes / {total_certs} anonymised certs " + f"to {FIXTURE}" + ) + + +if __name__ == "__main__": + main() diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-01f1488000e8.json b/tests/fixtures/epc_prediction/BD24JG/cert-01f1488000e8.json new file mode 100644 index 00000000..2affb8f5 --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-01f1488000e8.json @@ -0,0 +1 @@ +{"uprn": 100051188804, "roofs": [{"description": {"value": "Pitched, limited insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Flat, limited insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Cavity wall, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": {"value": "Low energy lighting in 31% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "BD2 4JG", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2017-03-12 16:32:09.000000", "door_count": 1, "glazed_area": 1, "glazing_gap": 12, "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 8360}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-e1b46141f9be", "assessment_type": "RdSAP", "completion_date": "2017-03-12", "inspection_date": "2017-03-04", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 113, "transaction_type": 13, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2017-03-12", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 310, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.55, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 48.92, "quantity": "square metres"}, "party_wall_length": {"value": 6.1, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 15.09, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.55, "quantity": "metres"}, "total_floor_area": {"value": 48.92, "quantity": "square metres"}, "party_wall_length": {"value": 6.1, "quantity": "metres"}, "heat_loss_perimeter": {"value": 22.14, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "E", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}, {"identifier": "Extension", "wall_dry_lined": "N", "wall_thickness": 310, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.55, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 15.51, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 2, "heat_loss_perimeter": {"value": 11.45, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "E", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 31, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 1263, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 7.0, "energy_rating_average": 60, "energy_rating_current": 53, "lighting_cost_current": {"value": 116, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer and room thermostat", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 726, "currency": "GBP"}, "hot_water_cost_current": {"value": 126, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 43, "currency": "GBP"}, "indicative_cost": "\u00a3850 - \u00a31,500", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 55, "environmental_impact_rating": 46}, {"sequence": 2, "typical_saving": {"value": 267, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 55}, {"sequence": 3, "typical_saving": {"value": 61, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 58}, {"sequence": 4, "typical_saving": {"value": 40, "currency": "GBP"}, "indicative_cost": "\u00a345", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 59}, {"sequence": 5, "typical_saving": {"value": 43, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 61}, {"sequence": 6, "typical_saving": {"value": 100, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 65}, {"sequence": 7, "typical_saving": {"value": 35, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 67}, {"sequence": 8, "typical_saving": {"value": 45, "currency": "GBP"}, "indicative_cost": "\u00a31,000 - \u00a31,400", "improvement_type": "O3", "improvement_details": {"improvement_number": 56}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 69}, {"sequence": 9, "typical_saving": {"value": 259, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 81, "environmental_impact_rating": 76}], "co2_emissions_potential": 3.0, "energy_rating_potential": 81, "lighting_cost_potential": {"value": 69, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 53, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 64, "environmental_impact_rating": 58}, {"sequence": 2, "typical_saving": {"value": 147, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 71, "environmental_impact_rating": 64}], "hot_water_cost_potential": {"value": 77, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2277, "impact_of_loft_insulation": -2671, "impact_of_cavity_insulation": -5353, "space_heating_existing_dwelling": 21713}, "energy_consumption_current": 351, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "9.0.0", "energy_consumption_potential": 147, "environmental_impact_current": 45, "fixed_lighting_outlets_count": 13, "current_energy_efficiency_band": "E", "environmental_impact_potential": 76, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 62, "low_energy_fixed_lighting_outlets_count": 4} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-15c0ce8ea563.json b/tests/fixtures/epc_prediction/BD24JG/cert-15c0ce8ea563.json new file mode 100644 index 00000000..a8327c0d --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-15c0ce8ea563.json @@ -0,0 +1 @@ +{"uprn": 100051188806, "roofs": [{"description": "Pitched, 150 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Pitched, insulated (assumed)", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": "Cavity wall, filled cavity", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, insulated (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Excellent lighting efficiency", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "BD2 4JG", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2026-05-14 10:01:10", "door_count": 1, "region_code": 3, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_outlet_type": 1}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 18119}], "immersion_heating_type": "NA", "secondary_heating_type": 605, "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "orientation": 8, "window_type": 1, "glazing_type": 2, "window_width": 1.8, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 6, "window_type": 1, "glazing_type": 2, "window_width": 0.6, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 2, "window_type": 1, "glazing_type": 2, "window_width": 0.6, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 6, "window_type": 1, "glazing_type": 2, "window_width": 0.9, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 4, "window_type": 1, "glazing_type": 2, "window_width": 1.4, "window_height": 1.9, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 6, "window_type": 1, "glazing_type": 2, "window_width": 0.5, "window_height": 0.8, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 8, "window_type": 1, "glazing_type": 2, "window_width": 0.8, "window_height": 1.2, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 8, "window_type": 1, "glazing_type": 2, "window_width": 1.7, "window_height": 1.2, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 4, "window_type": 1, "glazing_type": 2, "window_width": 0.8, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 6, "window_type": 1, "glazing_type": 2, "window_width": 0.7, "window_height": 0.8, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 6, "window_type": 1, "glazing_type": 2, "window_width": 0.8, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Semi-detached house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-71d676a70392", "assessment_type": "RdSAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 110, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 6, "registration_date": "2026-05-14", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "extract_fans_count": 2, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 350, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.35, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 42.9, "quantity": "square metres"}, "party_wall_length": {"value": 7.5, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 14.7, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.45, "quantity": "metres"}, "total_floor_area": {"value": 42, "quantity": "square metres"}, "party_wall_length": {"value": 7.5, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.7, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.35, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 25, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 15, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "L", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 6, "heating_cost_current": {"value": 1232, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.7, "energy_rating_average": 60, "energy_rating_current": 71, "lighting_cost_current": {"value": 66, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 1133, "currency": "GBP"}, "hot_water_cost_current": {"value": 197, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 92, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 99, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 71}, {"sequence": 2, "typical_saving": {"value": 217, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 72}], "co2_emissions_potential": 3.3, "energy_rating_potential": 77, "lighting_cost_potential": {"value": 66, "currency": "GBP"}, "schema_version_original": "21.0.1", "hot_water_cost_potential": {"value": 197, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2371.22, "space_heating_existing_dwelling": 11639.95}, "draughtproofed_door_count": 0, "energy_consumption_current": 185, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0344", "energy_consumption_potential": 160, "environmental_impact_current": 69, "current_energy_efficiency_band": "C", "environmental_impact_potential": 72, "led_fixed_lighting_bulbs_count": 25, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 34, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-1ef220911b4b.json b/tests/fixtures/epc_prediction/BD24JG/cert-1ef220911b4b.json new file mode 100644 index 00000000..5b92932e --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-1ef220911b4b.json @@ -0,0 +1 @@ +{"uprn": 100051188796, "roofs": [{"description": {"value": "Pitched, 100 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": {"value": "Cavity wall, filled cavity", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 44% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "BD2 4JG", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2016-01-27 21:05:37.000000", "door_count": 4, "glazed_area": 1, "glazing_gap": "16+", "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2111, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10233}], "immersion_heating_type": "NA", "secondary_heating_type": 609, "has_fixed_air_conditioning": "false"}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-fa3c3713e0d1", "assessment_type": "RdSAP", "completion_date": "2016-01-21", "inspection_date": "2016-01-21", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 85, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2016-01-21", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, mains gas", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 320, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.53, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 43.22, "quantity": "square metres"}, "party_wall_length": {"value": 7.47, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 19.95, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.42, "quantity": "metres"}, "total_floor_area": {"value": 42.13, "quantity": "square metres"}, "party_wall_length": {"value": 7.47, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.75, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "B", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "100mm", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 44, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 699, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.8, "energy_rating_average": 60, "energy_rating_current": 66, "lighting_cost_current": {"value": 87, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "TRVs and bypass", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 625, "currency": "GBP"}, "hot_water_cost_current": {"value": 112, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 48, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 64}, {"sequence": 2, "typical_saving": {"value": 26, "currency": "GBP"}, "indicative_cost": "\u00a325", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 65}, {"sequence": 3, "typical_saving": {"value": 32, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 67}, {"sequence": 4, "typical_saving": {"value": 36, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 69}, {"sequence": 5, "typical_saving": {"value": 256, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 81, "environmental_impact_rating": 78}], "co2_emissions_potential": 2.3, "energy_rating_potential": 81, "lighting_cost_potential": {"value": 56, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 76, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2154, "impact_of_loft_insulation": -463, "space_heating_existing_dwelling": 10482}, "energy_consumption_current": 254, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": 9.92, "energy_consumption_potential": 150, "environmental_impact_current": 62, "fixed_lighting_outlets_count": 9, "current_energy_efficiency_band": "D", "environmental_impact_potential": 78, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 45, "low_energy_fixed_lighting_outlets_count": 4} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-208c5dfbaee2.json b/tests/fixtures/epc_prediction/BD24JG/cert-208c5dfbaee2.json new file mode 100644 index 00000000..04e31146 --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-208c5dfbaee2.json @@ -0,0 +1 @@ +{"uprn": null, "roofs": [{"description": {"value": "(another dwelling above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Cavity wall, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "BD2 4JG", "hot_water": {"description": {"value": "Community scheme", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2022-12-08 19:42:07.375926", "door_count": 0, "glazed_area": 1, "glazing_gap": "16+", "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 0, "water_heating_code": 901, "water_heating_fuel": 20, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 0, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 20, "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2307, "main_heating_category": 6, "main_heating_fraction": 1, "sap_main_heating_code": 301, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 1, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "", "country_code": "EAW", "main_heating": [{"description": {"value": "Community scheme", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Ground-floor flat", "language": "1"}, "language_code": 1, "property_type": 2, "address_line_1": "addr-061d4c5bd46f", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2022-12-08", "inspection_date": "2022-08-22", "extensions_count": 0, "measurement_type": 1, "sap_flat_details": {"level": 1, "top_storey": "Y", "flat_location": 0, "heat_loss_corridor": 1, "unheated_corridor_length": {"value": 0, "quantity": "metres"}}, "total_floor_area": 12, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 1, "pvc_window_frames": "true", "registration_date": "2022-12-08", "sap_energy_source": {"mains_gas": "N", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 3, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 11.6, "quantity": "square metres"}, "party_wall_length": {"value": 6.8, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 6.8, "quantity": "metres"}}], "wall_insulation_type": 5, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 1, "heating_cost_current": {"value": 190, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 1.5, "energy_rating_average": 60, "energy_rating_current": 64, "lighting_cost_current": {"value": 13, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Flat rate charging, TRVs", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 172, "currency": "GBP"}, "hot_water_cost_current": {"value": 184, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 18, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 68}], "co2_emissions_potential": 1.4, "energy_rating_potential": 65, "lighting_cost_potential": {"value": 13, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 184, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3118, "impact_of_cavity_insulation": -389, "space_heating_existing_dwelling": 1379}, "energy_consumption_current": 721, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "v94.0.1.1", "energy_consumption_potential": 673, "environmental_impact_current": 65, "fixed_lighting_outlets_count": 1, "current_energy_efficiency_band": "D", "environmental_impact_potential": 68, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "D", "co2_emissions_current_per_floor_area": 127, "low_energy_fixed_lighting_outlets_count": 1} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-496b8c226d26.json b/tests/fixtures/epc_prediction/BD24JG/cert-496b8c226d26.json new file mode 100644 index 00000000..482a7bd1 --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-496b8c226d26.json @@ -0,0 +1 @@ +{"uprn": 100051188801, "roofs": [{"description": "Pitched, 270 mm loft insulation", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, {"description": "Roof room(s), no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": "High performance glazing", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Excellent lighting efficiency", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "BD2 4JG", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "psv_count": 0, "built_form": 2, "created_at": "2026-03-11 15:26:10", "door_count": 1, "region_code": 10, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "shower_outlets": [{"shower_outlet": {"shower_wwhrs": 1, "shower_outlet_type": 1}}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "N", "heat_emitter_type": 1, "emitter_temperature": 1, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 104, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "orientation": 5, "window_type": 1, "glazing_type": 13, "window_width": {"value": 0.8, "quantity": "m"}, "window_height": {"value": 0.5, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 5, "window_type": 1, "glazing_type": 13, "window_width": {"value": 0.8, "quantity": "m"}, "window_height": {"value": 0.5, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 13, "window_width": {"value": 0.8, "quantity": "m"}, "window_height": {"value": 0.5, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 13, "window_width": {"value": 0.8, "quantity": "m"}, "window_height": {"value": 0.5, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 13, "window_width": {"value": 0.8, "quantity": "m"}, "window_height": {"value": 0.5, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Semi-detached bungalow", "language_code": 1, "pressure_test": 4, "property_type": 1, "address_line_1": "addr-2cd29fa7a7e8", "assessment_type": "RdSAP", "completion_date": "2026-03-11", "inspection_date": "2025-05-23", "extensions_count": 0, "measurement_type": 2, "open_flues_count": 0, "total_floor_area": 95, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "other_flues_count": 0, "registration_date": "2026-03-11", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "true"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "closed_flues_count": 0, "extract_fans_count": 0, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "sap_room_in_roof": {"floor_area": 33, "room_in_roof_type_1": {"gable_wall_type_1": 0, "gable_wall_type_2": 0, "gable_wall_length_1": 3, "gable_wall_length_2": 3}, "construction_age_band": "B"}, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.3, "floor_insulation": 1, "total_floor_area": 70, "party_wall_length": 10, "floor_construction": 2, "heat_loss_perimeter": 32}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "270mm", "wall_insulation_thickness": "NI"}], "boilers_flues_count": 0, "open_chimneys_count": 0, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 1431, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.9, "energy_rating_average": 60, "energy_rating_current": 60, "lighting_cost_current": {"value": 83, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "blocked_chimneys_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 1083, "currency": "GBP"}, "hot_water_cost_current": {"value": 218, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "schema_version_current": "LIG-21.0", "suggested_improvements": [{"sequence": 1, "typical_saving": 232, "indicative_cost": "\u00a3900 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 61}, {"sequence": 2, "typical_saving": 116, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 65}, {"sequence": 3, "typical_saving": 267, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 67}], "co2_emissions_potential": 3.6, "energy_rating_potential": 77, "lighting_cost_potential": {"value": 83, "currency": "GBP"}, "schema_version_original": "LIG-21.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": 64, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 66, "environmental_impact_rating": 63}}], "hot_water_cost_potential": {"value": 219, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2680.87, "space_heating_existing_dwelling": 16596.26}, "draughtproofed_door_count": 1, "energy_consumption_current": 283, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "10.2.2.0", "energy_consumption_potential": 203, "environmental_impact_current": 54, "cfl_fixed_lighting_bulbs_count": 0, "current_energy_efficiency_band": "D", "environmental_impact_potential": 67, "led_fixed_lighting_bulbs_count": 10, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 52, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-4cce4c3fb33b.json b/tests/fixtures/epc_prediction/BD24JG/cert-4cce4c3fb33b.json new file mode 100644 index 00000000..da4c01cf --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-4cce4c3fb33b.json @@ -0,0 +1 @@ +{"uprn": 100051188769, "roofs": [{"description": {"value": "(another dwelling above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Cavity wall, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "BD2 4JG", "hot_water": {"description": {"value": "Community scheme", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2022-12-08 19:42:08.076708", "door_count": 0, "glazed_area": 1, "glazing_gap": "16+", "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 0, "water_heating_code": 901, "water_heating_fuel": 20, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 0, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 20, "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2307, "main_heating_category": 6, "main_heating_fraction": 1, "sap_main_heating_code": 301, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 1, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Address Matched", "country_code": "EAW", "main_heating": [{"description": {"value": "Community scheme", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Ground-floor flat", "language": "1"}, "language_code": 1, "property_type": 2, "address_line_1": "addr-c852674705d6", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2022-12-08", "inspection_date": "2022-08-22", "extensions_count": 0, "measurement_type": 1, "sap_flat_details": {"level": 1, "top_storey": "Y", "flat_location": 0, "heat_loss_corridor": 1, "unheated_corridor_length": {"value": 0, "quantity": "metres"}}, "total_floor_area": 9, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 1, "pvc_window_frames": "true", "registration_date": "2022-12-08", "sap_energy_source": {"mains_gas": "N", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 3, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 9.2, "quantity": "square metres"}, "party_wall_length": {"value": 8.7, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 3.3, "quantity": "metres"}}], "wall_insulation_type": 5, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 1, "heating_cost_current": {"value": 139, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 1.2, "energy_rating_average": 60, "energy_rating_current": 67, "lighting_cost_current": {"value": 12, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Flat rate charging, TRVs", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 139, "currency": "GBP"}, "hot_water_cost_current": {"value": 184, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "co2_emissions_potential": 1.2, "energy_rating_potential": 67, "lighting_cost_potential": {"value": 12, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 184, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3118, "impact_of_cavity_insulation": -53, "space_heating_existing_dwelling": 510}, "energy_consumption_current": 736, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "v94.0.1.1", "energy_consumption_potential": 736, "environmental_impact_current": 71, "fixed_lighting_outlets_count": 1, "current_energy_efficiency_band": "D", "environmental_impact_potential": 71, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "D", "co2_emissions_current_per_floor_area": 130, "low_energy_fixed_lighting_outlets_count": 1} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-5e427854bd6d.json b/tests/fixtures/epc_prediction/BD24JG/cert-5e427854bd6d.json new file mode 100644 index 00000000..51f0e8ad --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-5e427854bd6d.json @@ -0,0 +1 @@ +{"uprn": 100051188788, "roofs": [{"description": "Pitched, 150 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Low energy lighting in 56% of fixed outlets", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "BD2 4JG", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2019-11-06 11:29:06.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 16977}], "immersion_heating_type": "NA", "secondary_heating_type": 605, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-19.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-06301fe1082f", "assessment_type": "RdSAP", "completion_date": "2019-11-06", "inspection_date": "2019-11-06", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 84, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2019-11-06", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.59, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 42.61, "quantity": "square metres"}, "party_wall_length": {"value": 7.44, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 19.56, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.39, "quantity": "metres"}, "total_floor_area": {"value": 41.81, "quantity": "square metres"}, "party_wall_length": {"value": 7.44, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.68, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 56, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 797, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.6, "energy_rating_average": 60, "energy_rating_current": 61, "lighting_cost_current": {"value": 92, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and room thermostat", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 574, "currency": "GBP"}, "hot_water_cost_current": {"value": 89, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 138, "currency": "GBP"}, "indicative_cost": "1,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 62}, {"sequence": 2, "typical_saving": {"value": 60, "currency": "GBP"}, "indicative_cost": "1,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 65}, {"sequence": 3, "typical_saving": {"value": 25, "currency": "GBP"}, "indicative_cost": 20, "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 66}, {"sequence": 4, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": 450, "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 67}, {"sequence": 5, "typical_saving": {"value": 28, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 69}, {"sequence": 6, "typical_saving": {"value": 293, "currency": "GBP"}, "indicative_cost": "5,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 82, "environmental_impact_rating": 78}], "co2_emissions_potential": 2.2, "energy_rating_potential": 82, "lighting_cost_potential": {"value": 63, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 75, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 69, "environmental_impact_rating": 66}}], "hot_water_cost_potential": {"value": 61, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2004, "impact_of_loft_insulation": -251, "impact_of_cavity_insulation": -2830, "space_heating_existing_dwelling": 13821}, "energy_consumption_current": 308, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.02r06", "energy_consumption_potential": 147, "environmental_impact_current": 54, "fixed_lighting_outlets_count": 9, "current_energy_efficiency_band": "D", "environmental_impact_potential": 78, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 54, "low_energy_fixed_lighting_outlets_count": 5} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-5f4d37dacdf8.json b/tests/fixtures/epc_prediction/BD24JG/cert-5f4d37dacdf8.json new file mode 100644 index 00000000..7ff50b54 --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-5f4d37dacdf8.json @@ -0,0 +1 @@ +{"uprn": 100051188777, "roofs": [{"description": {"value": "Pitched, 75 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": {"value": "Cavity wall, filled cavity", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "No low energy lighting", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "postcode": "BD2 4JG", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2018-01-19 18:01:32.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17761}], "immersion_heating_type": "NA", "secondary_heating_type": 691, "has_fixed_air_conditioning": "false"}, "sap_version": 9.93, "schema_type": "RdSAP-Schema-18.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Detached bungalow", "language": "1"}, "language_code": 1, "property_type": 1, "address_line_1": "addr-8c5a09dbfff3", "assessment_type": "RdSAP", "completion_date": "2018-01-19", "inspection_date": "2018-01-19", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 77, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2018-01-19", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.58, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 76.69, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 2, "heat_loss_perimeter": {"value": 36.2, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "75mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 0, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 757, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.0, "energy_rating_average": 60, "energy_rating_current": 59, "lighting_cost_current": {"value": 108, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 603, "currency": "GBP"}, "hot_water_cost_current": {"value": 98, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 63, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 60}, {"sequence": 2, "typical_saving": {"value": 99, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 65}, {"sequence": 3, "typical_saving": {"value": 46, "currency": "GBP"}, "indicative_cost": "\u00a330", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 67}, {"sequence": 4, "typical_saving": {"value": 31, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 69}, {"sequence": 5, "typical_saving": {"value": 269, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 80, "environmental_impact_rating": 79}], "co2_emissions_potential": 2.1, "energy_rating_potential": 80, "lighting_cost_potential": {"value": 54, "currency": "GBP"}, "schema_version_original": "LIG-18.0", "hot_water_cost_potential": {"value": 68, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2109, "impact_of_loft_insulation": -1120, "space_heating_existing_dwelling": 11458}, "energy_consumption_current": 300, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.0.0", "energy_consumption_potential": 152, "environmental_impact_current": 57, "fixed_lighting_outlets_count": 6, "windows_transmission_details": {"u_value": 2.6, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 79, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 53, "low_energy_fixed_lighting_outlets_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-6439eb9f1504.json b/tests/fixtures/epc_prediction/BD24JG/cert-6439eb9f1504.json new file mode 100644 index 00000000..78fe91c4 --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-6439eb9f1504.json @@ -0,0 +1 @@ +{"uprn": 100051188809, "roofs": [{"description": "Pitched, 300 mm loft insulation", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, {"description": "Pitched, insulated (assumed)", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": "Cavity wall, filled cavity", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, insulated (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Excellent lighting efficiency", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "BD2 4JG", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2025-11-18 11:36:14", "door_count": 2, "region_code": 3, "report_type": 2, "sap_heating": {"number_baths": 2, "cylinder_size": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_outlet_type": 1}, {"shower_wwhrs": 1, "shower_outlet_type": 1}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17905}], "immersion_heating_type": "NA", "secondary_heating_type": 613, "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "orientation": 7, "window_type": 1, "glazing_type": 2, "window_width": 1.8, "window_height": 1.7, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 2, "window_width": 0.4, "window_height": 1.7, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 5, "window_type": 1, "glazing_type": 2, "window_width": 0.4, "window_height": 1.7, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 0.9, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 3, "window_type": 1, "glazing_type": 2, "window_width": 2, "window_height": 1.15, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 3, "window_type": 1, "glazing_type": 2, "window_width": 0.6, "window_height": 0.2, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 5, "window_type": 1, "glazing_type": 2, "window_width": 0.65, "window_height": 0.9, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 7, "window_type": 1, "glazing_type": 2, "window_width": 0.95, "window_height": 1.2, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 7, "window_type": 1, "glazing_type": 2, "window_width": 1.7, "window_height": 1.2, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 0.85, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 0.8, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 3, "window_type": 1, "glazing_type": 2, "window_width": 0.95, "window_height": 1.2, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Semi-detached house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-9cca6092af08", "assessment_type": "RdSAP", "completion_date": "2025-11-18", "inspection_date": "2025-11-18", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 104, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 6, "registration_date": "2025-11-18", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "extract_fans_count": 2, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.35, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 41.97, "quantity": "square metres"}, "party_wall_length": {"value": 7.5, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 13.8, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.45, "quantity": "metres"}, "total_floor_area": {"value": 41.25, "quantity": "square metres"}, "party_wall_length": {"value": 7.5, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.5, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.35, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 20.35, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 12.9, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "L", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 6, "heating_cost_current": {"value": 1040, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.6, "energy_rating_average": 60, "energy_rating_current": 71, "lighting_cost_current": {"value": 63, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and room thermostat", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 911, "currency": "GBP"}, "hot_water_cost_current": {"value": 211, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 81, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 71}, {"sequence": 2, "typical_saving": {"value": 48, "currency": "GBP"}, "indicative_cost": "\u00a3220 - \u00a3250", "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 72}, {"sequence": 3, "typical_saving": {"value": 220, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 73}], "co2_emissions_potential": 3.1, "energy_rating_potential": 78, "lighting_cost_potential": {"value": 63, "currency": "GBP"}, "schema_version_original": "21.0.1", "hot_water_cost_potential": {"value": 211, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2724.96, "space_heating_existing_dwelling": 12042.48}, "draughtproofed_door_count": 2, "energy_consumption_current": 189, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0328", "energy_consumption_potential": 156, "environmental_impact_current": 69, "current_energy_efficiency_band": "C", "environmental_impact_potential": 73, "led_fixed_lighting_bulbs_count": 22, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 35, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-75aa70bdd22a.json b/tests/fixtures/epc_prediction/BD24JG/cert-75aa70bdd22a.json new file mode 100644 index 00000000..1c831f14 --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-75aa70bdd22a.json @@ -0,0 +1 @@ +{"uprn": 100051188771, "roofs": [{"description": {"value": "Pitched, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Roof room(s), insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Cavity wall, filled cavity", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": {"value": "Cavity wall, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Low energy lighting in 56% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "BD2 4JG", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2016-10-11 22:08:04.000000", "door_count": 1, "glazed_area": 1, "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 15030}], "immersion_heating_type": "NA", "secondary_heating_type": 605, "has_fixed_air_conditioning": "false"}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Detached bungalow", "language": "1"}, "language_code": 1, "property_type": 1, "address_line_1": "addr-451c57bcc5b2", "assessment_type": "RdSAP", "completion_date": "2016-10-11", "inspection_date": "2016-10-11", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 130, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2016-10-11", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, mains gas", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 340, "floor_heat_loss": 7, "sap_room_in_roof": {"floor_area": {"value": 48.83, "quantity": "square metres"}, "insulation": 0, "roof_room_connected": "N", "construction_age_band": "K", "roof_insulation_thickness": "ND"}, "roof_construction": 5, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.38, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 73.75, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 2, "heat_loss_perimeter": {"value": 31.95, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}, {"identifier": "Extension", "wall_dry_lined": "N", "wall_thickness": 330, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.77, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 7.55, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 2, "heat_loss_perimeter": {"value": 8.15, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "K", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 56, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 956, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 5.3, "energy_rating_average": 60, "energy_rating_current": 67, "lighting_cost_current": {"value": 107, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 884, "currency": "GBP"}, "hot_water_cost_current": {"value": 115, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 77, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 64}, {"sequence": 2, "typical_saving": {"value": 27, "currency": "GBP"}, "indicative_cost": "\u00a380", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 65}, {"sequence": 3, "typical_saving": {"value": 36, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 66}, {"sequence": 4, "typical_saving": {"value": 258, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 73}], "co2_emissions_potential": 3.7, "energy_rating_potential": 79, "lighting_cost_potential": {"value": 74, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 79, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2303, "impact_of_loft_insulation": -2494, "space_heating_existing_dwelling": 15601}, "energy_consumption_current": 229, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.0.0.0", "energy_consumption_potential": 161, "environmental_impact_current": 61, "fixed_lighting_outlets_count": 36, "windows_transmission_details": {"u_value": 2, "data_source": 2, "solar_transmittance": 0.72}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 73, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 40, "low_energy_fixed_lighting_outlets_count": 20} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-7e61d706db57.json b/tests/fixtures/epc_prediction/BD24JG/cert-7e61d706db57.json new file mode 100644 index 00000000..3ea4c639 --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-7e61d706db57.json @@ -0,0 +1 @@ +{"uprn": 100051188779, "roofs": [{"description": {"value": "Pitched, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Roof room(s), insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Cavity wall, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 67% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "BD2 4JG", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2017-08-24 10:02:11.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": 12, "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 9, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 456}], "immersion_heating_type": "NA", "secondary_heating_type": 631, "has_fixed_air_conditioning": "false"}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.1", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Detached bungalow", "language": "1"}, "language_code": 1, "property_type": 1, "address_line_1": "addr-19177dfd3556", "assessment_type": "RdSAP", "completion_date": "2017-08-24", "inspection_date": "2017-08-21", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 102, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 6, "pvc_window_frames": "true", "registration_date": "2017-08-24", "sap_energy_source": {"mains_gas": "Y", "meter_type": 1, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, dual fuel (mineral and wood)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 340, "floor_heat_loss": 7, "sap_room_in_roof": {"floor_area": {"value": 34.5, "quantity": "square metres"}, "insulation": "AB", "roof_room_connected": "N", "construction_age_band": "I"}, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.53, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 67.54, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 2, "heat_loss_perimeter": {"value": 36.3, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 67, "solar_water_heating": "N", "habitable_room_count": 6, "heating_cost_current": {"value": 1313, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 7.3, "energy_rating_average": 60, "energy_rating_current": 47, "lighting_cost_current": {"value": 96, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 909, "currency": "GBP"}, "hot_water_cost_current": {"value": 131, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 193, "currency": "GBP"}, "indicative_cost": "1,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 54, "environmental_impact_rating": 46}, {"sequence": 2, "typical_saving": {"value": 89, "currency": "GBP"}, "indicative_cost": "1,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 57, "environmental_impact_rating": 50}, {"sequence": 3, "typical_saving": {"value": 20, "currency": "GBP"}, "indicative_cost": 20, "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 57, "environmental_impact_rating": 50}, {"sequence": 4, "typical_saving": {"value": 150, "currency": "GBP"}, "indicative_cost": "3,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 56}, {"sequence": 5, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": 900, "improvement_type": "T2", "improvement_details": {"improvement_number": 50}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 57}, {"sequence": 6, "typical_saving": {"value": 276, "currency": "GBP"}, "indicative_cost": "8,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 66}], "co2_emissions_potential": 4, "energy_rating_potential": 73, "lighting_cost_potential": {"value": 72, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 36, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 55, "environmental_impact_rating": 48}, {"sequence": 2, "typical_saving": {"value": 12, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 58, "environmental_impact_rating": 85}, {"sequence": 3, "typical_saving": {"value": 349, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 69, "environmental_impact_rating": 61}], "hot_water_cost_potential": {"value": 78, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2244, "impact_of_loft_insulation": -2821, "impact_of_cavity_insulation": -3193, "space_heating_existing_dwelling": 18705}, "energy_consumption_current": 390, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.0.x", "energy_consumption_potential": 207, "environmental_impact_current": 40, "fixed_lighting_outlets_count": 12, "current_energy_efficiency_band": "E", "environmental_impact_potential": 66, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 72, "low_energy_fixed_lighting_outlets_count": 8} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-8d1b1e15063c.json b/tests/fixtures/epc_prediction/BD24JG/cert-8d1b1e15063c.json new file mode 100644 index 00000000..c3f9ff9c --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-8d1b1e15063c.json @@ -0,0 +1 @@ +{"uprn": 100051188796, "roofs": [{"description": "Pitched, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Cavity wall, filled cavity", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": "Low energy lighting in 96% of fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "BD2 4JG", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2024-09-27 12:25:43", "door_count": 2, "glazed_area": 4, "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17815}], "immersion_heating_type": "NA", "secondary_heating_type": 609, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "sap_windows": [{"orientation": 8, "window_area": {"value": 3.8, "quantity": "square metres"}, "window_type": 1, "glazing_type": 2, "window_location": 0}, {"orientation": 2, "window_area": {"value": 0.86, "quantity": "square metres"}, "window_type": 1, "glazing_type": 2, "window_location": 0}, {"orientation": 6, "window_area": {"value": 0.86, "quantity": "square metres"}, "window_type": 1, "glazing_type": 2, "window_location": 0}, {"orientation": 2, "window_area": {"value": 0.75, "quantity": "square metres"}, "window_type": 1, "glazing_type": 2, "window_location": 0}, {"orientation": 4, "window_area": {"value": 3.72, "quantity": "square metres"}, "window_type": 1, "glazing_type": 2, "window_location": 0}, {"orientation": 8, "window_area": {"value": 2.22, "quantity": "square metres"}, "window_type": 1, "glazing_type": 2, "window_location": 0}, {"orientation": 8, "window_area": {"value": 1.04, "quantity": "square metres"}, "window_type": 1, "glazing_type": 2, "window_location": 0}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 4, "window_area": {"value": 1.13, "quantity": "square metres"}, "window_type": 1, "glazing_type": 3, "window_location": 0}, {"orientation": 2, "window_area": {"value": 1.16, "quantity": "square metres"}, "window_type": 1, "glazing_type": 2, "window_location": 0}], "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-69295bb50950", "assessment_type": "RdSAP", "completion_date": "2024-09-27", "inspection_date": "2024-09-26", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 85, "transaction_type": 13, "conservatory_type": 2, "heated_room_count": 4, "registration_date": "2024-09-27", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 310, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.51, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 42.83, "quantity": "square metres"}, "party_wall_length": {"value": 7.41, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 19.67, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 41.89, "quantity": "square metres"}, "party_wall_length": {"value": 7.44, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.7, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 96, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1294, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.2, "energy_rating_average": 60, "energy_rating_current": 64, "lighting_cost_current": {"value": 110, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": "ND", "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 1204, "currency": "GBP"}, "hot_water_cost_current": {"value": 185, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 90, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 61}, {"sequence": 2, "typical_saving": {"value": 58, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 63}, {"sequence": 3, "typical_saving": {"value": 478, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 72}], "co2_emissions_potential": 2.8, "energy_rating_potential": 77, "lighting_cost_potential": {"value": 110, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 127, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2149, "impact_of_loft_insulation": -4006, "space_heating_existing_dwelling": 13158}, "energy_consumption_current": 278, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0002", "energy_consumption_potential": 188, "environmental_impact_current": 58, "fixed_lighting_outlets_count": 24, "current_energy_efficiency_band": "D", "environmental_impact_potential": 72, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 49, "low_energy_fixed_lighting_outlets_count": 23} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-cc1c722822ba.json b/tests/fixtures/epc_prediction/BD24JG/cert-cc1c722822ba.json new file mode 100644 index 00000000..f3c8e06b --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-cc1c722822ba.json @@ -0,0 +1 @@ +{"uprn": 100051188776, "roofs": [{"description": {"value": "Pitched, 300 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 33% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "BD2 4JG", "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 2, "created_at": "2020-11-09 13:33:38.628056", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 4, "water_heating_code": 903, "water_heating_fuel": 29, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 29, "heat_emitter_type": 0, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "sap_main_heating_code": 691, "mcs_installed_heat_pump": "false", "main_heating_data_source": 2}], "immersion_heating_type": 2, "secondary_heating_type": 691, "cylinder_insulation_type": 2, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-ca2014d2cc3b", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2020-11-09", "inspection_date": "2020-10-22", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 78, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2020-11-09", "sap_energy_source": {"mains_gas": "N", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 375, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 39.2, "quantity": "square metres"}, "party_wall_length": {"value": 7.4, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 18, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.3, "quantity": "metres"}, "total_floor_area": {"value": 39.2, "quantity": "square metres"}, "party_wall_length": {"value": 7.4, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 33, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1868, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 6.9, "energy_rating_average": 60, "energy_rating_current": 24, "lighting_cost_current": {"value": 106, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 613, "currency": "GBP"}, "hot_water_cost_current": {"value": 520, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 715, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 42, "environmental_impact_rating": 49}, {"sequence": 2, "typical_saving": {"value": 122, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 46, "environmental_impact_rating": 52}, {"sequence": 3, "typical_saving": {"value": 72, "currency": "GBP"}, "indicative_cost": "\u00a315 - \u00a330", "improvement_type": "C", "improvement_details": {"improvement_number": 2}, "improvement_category": 5, "energy_performance_rating": 48, "environmental_impact_rating": 54}, {"sequence": 4, "typical_saving": {"value": 25, "currency": "GBP"}, "indicative_cost": "\u00a330", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 49, "environmental_impact_rating": 55}, {"sequence": 5, "typical_saving": {"value": 691, "currency": "GBP"}, "indicative_cost": "\u00a32,000 - \u00a33,000", "improvement_type": "L2", "improvement_details": {"improvement_number": 61}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 54}, {"sequence": 6, "typical_saving": {"value": 66, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 59}, {"sequence": 7, "typical_saving": {"value": 329, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 69}], "co2_emissions_potential": 3.1, "energy_rating_potential": 86, "lighting_cost_potential": {"value": 71, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 892, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 74, "environmental_impact_rating": 92}, {"sequence": 2, "typical_saving": {"value": 798, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 75, "environmental_impact_rating": 78}], "hot_water_cost_potential": {"value": 119, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2783, "impact_of_solid_wall_insulation": -3826, "space_heating_existing_dwelling": 9987}, "energy_consumption_current": 522, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "v94.0.1.1", "energy_consumption_potential": 231, "environmental_impact_current": 35, "fixed_lighting_outlets_count": 9, "current_energy_efficiency_band": "F", "environmental_impact_potential": 69, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 88, "low_energy_fixed_lighting_outlets_count": 3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-d1396ff56fec.json b/tests/fixtures/epc_prediction/BD24JG/cert-d1396ff56fec.json new file mode 100644 index 00000000..5448c4e1 --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-d1396ff56fec.json @@ -0,0 +1 @@ +{"uprn": 100051188778, "roofs": [{"description": "Pitched, 200 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, filled cavity", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in 50% of fixed outlets", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "BD2 4JG", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2023-10-09 14:37:20", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2103, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 15502}], "immersion_heating_type": "NA", "secondary_heating_type": 691, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-d9d75cc590cc", "assessment_type": "RdSAP", "completion_date": "2023-10-09", "inspection_date": "2023-10-09", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 84, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2023-10-09", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, electric", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.53, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 42.62, "quantity": "square metres"}, "party_wall_length": {"value": 7.43, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 19.83, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.41, "quantity": "metres"}, "total_floor_area": {"value": 41.42, "quantity": "square metres"}, "party_wall_length": {"value": 7.41, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.59, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "D", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 50, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1622, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.7, "energy_rating_average": 60, "energy_rating_current": 64, "lighting_cost_current": {"value": 199, "currency": "GBP"}, "main_heating_controls": [{"description": "Room thermostat only", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 1388, "currency": "GBP"}, "hot_water_cost_current": {"value": 256, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 167, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 66}, {"sequence": 2, "typical_saving": {"value": 55, "currency": "GBP"}, "indicative_cost": "\u00a330", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 67}, {"sequence": 3, "typical_saving": {"value": 78, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 15}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 68}, {"sequence": 4, "typical_saving": {"value": 83, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 70}, {"sequence": 5, "typical_saving": {"value": 613, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 81, "environmental_impact_rating": 79}], "co2_emissions_potential": 2.1, "energy_rating_potential": 81, "lighting_cost_potential": {"value": 133, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 174, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2144, "space_heating_existing_dwelling": 10475}, "energy_consumption_current": 253, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0001", "energy_consumption_potential": 142, "environmental_impact_current": 63, "fixed_lighting_outlets_count": 12, "current_energy_efficiency_band": "D", "environmental_impact_potential": 79, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 44, "low_energy_fixed_lighting_outlets_count": 6} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-d7e3196e1a0c.json b/tests/fixtures/epc_prediction/BD24JG/cert-d7e3196e1a0c.json new file mode 100644 index 00000000..c530bf29 --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-d7e3196e1a0c.json @@ -0,0 +1 @@ +{"uprn": 100051188793, "roofs": [{"description": "Pitched, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Low energy lighting in 29% of fixed outlets", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "BD2 4JG", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2017-06-01 22:29:54.000000", "door_count": 1, "glazed_area": 1, "glazing_gap": 12, "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 15029}], "immersion_heating_type": "NA", "secondary_heating_type": 601, "has_fixed_air_conditioning": "false"}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.1", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached bungalow", "language_code": 1, "property_type": 1, "address_line_1": "addr-f4700d42e823", "assessment_type": "RdSAP", "completion_date": "2017-06-01", "inspection_date": "2017-06-01", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 77, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2017-06-01", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 330, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 76.98, "quantity": "square metres"}, "party_wall_length": {"value": 7.47, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 29.31, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 29, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1040, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 5.7, "energy_rating_average": 60, "energy_rating_current": 50, "lighting_cost_current": {"value": 90, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 867, "currency": "GBP"}, "hot_water_cost_current": {"value": 102, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 60, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 119, "currency": "GBP"}, "indicative_cost": "1,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 55, "environmental_impact_rating": 48}, {"sequence": 2, "typical_saving": {"value": 59, "currency": "GBP"}, "indicative_cost": "1,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 57, "environmental_impact_rating": 50}, {"sequence": 3, "typical_saving": {"value": 32, "currency": "GBP"}, "indicative_cost": 25, "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 58, "environmental_impact_rating": 51}, {"sequence": 4, "typical_saving": {"value": 33, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 59, "environmental_impact_rating": 53}, {"sequence": 5, "typical_saving": {"value": 259, "currency": "GBP"}, "indicative_cost": "8,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 62}], "co2_emissions_potential": 3.6, "energy_rating_potential": 70, "lighting_cost_potential": {"value": 52, "currency": "GBP"}, "schema_version_original": "LIG-17.1", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 21, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 55, "environmental_impact_rating": 48}}], "hot_water_cost_potential": {"value": 69, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2080, "impact_of_loft_insulation": -6650, "impact_of_cavity_insulation": -2482, "space_heating_existing_dwelling": 18255}, "energy_consumption_current": 417, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.11r11", "energy_consumption_potential": 262, "environmental_impact_current": 43, "fixed_lighting_outlets_count": 7, "current_energy_efficiency_band": "E", "environmental_impact_potential": 62, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 74, "low_energy_fixed_lighting_outlets_count": 2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-dcb2c6ff3317.json b/tests/fixtures/epc_prediction/BD24JG/cert-dcb2c6ff3317.json new file mode 100644 index 00000000..74d36bdd --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-dcb2c6ff3317.json @@ -0,0 +1 @@ +{"uprn": 100051188775, "roofs": [{"description": {"value": "Pitched, 200 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Cavity wall, filled cavity", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 33% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "BD2 4JG", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2019-06-01 10:01:13.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": 12, "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 3, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 102, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "secondary_heating_type": 691, "cylinder_insulation_type": 2, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.93, "schema_type": "RdSAP-Schema-18.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Detached bungalow", "language": "1"}, "language_code": 1, "property_type": 1, "address_line_1": "addr-9c8c74cac5a8", "assessment_type": "RdSAP", "completion_date": "2019-06-01", "inspection_date": "2019-05-31", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 77, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2019-06-01", "sap_energy_source": {"mains_gas": "Y", "meter_type": 3, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 310, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.54, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 76.66, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 2, "heat_loss_perimeter": {"value": 36.2, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 33, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 742, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.3, "energy_rating_average": 60, "energy_rating_current": 58, "lighting_cost_current": {"value": 95, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer and room thermostat", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 625, "currency": "GBP"}, "hot_water_cost_current": {"value": 160, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 106, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 60}, {"sequence": 2, "typical_saving": {"value": 14, "currency": "GBP"}, "indicative_cost": "\u00a315 - \u00a330", "improvement_type": "C", "improvement_details": {"improvement_number": 2}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 61}, {"sequence": 3, "typical_saving": {"value": 32, "currency": "GBP"}, "indicative_cost": "\u00a320", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 62}, {"sequence": 4, "typical_saving": {"value": 31, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 63}, {"sequence": 5, "typical_saving": {"value": 47, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 66}, {"sequence": 6, "typical_saving": {"value": 283, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 76}], "co2_emissions_potential": 2.3, "energy_rating_potential": 78, "lighting_cost_potential": {"value": 57, "currency": "GBP"}, "schema_version_original": "LIG-18.0", "hot_water_cost_potential": {"value": 83, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3237, "space_heating_existing_dwelling": 10612}, "energy_consumption_current": 317, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.0.0", "energy_consumption_potential": 167, "environmental_impact_current": 54, "fixed_lighting_outlets_count": 6, "windows_transmission_details": {"u_value": 2.8, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 76, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 56, "low_energy_fixed_lighting_outlets_count": 2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-e648d6164f10.json b/tests/fixtures/epc_prediction/BD24JG/cert-e648d6164f10.json new file mode 100644 index 00000000..e484ae2f --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-e648d6164f10.json @@ -0,0 +1 @@ +{"uprn": 100051188798, "roofs": [{"description": {"value": "Pitched, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Cavity wall, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": {"value": "Low energy lighting in 56% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "BD2 4JG", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2018-07-21 21:26:45.000000", "door_count": 2, "glazed_area": 2, "glazing_gap": "16+", "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 1, "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 16262}], "immersion_heating_type": "NA", "secondary_heating_type": 691, "has_fixed_air_conditioning": "false"}, "sap_version": 9.93, "schema_type": "RdSAP-Schema-18.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-d2b01bebd871", "assessment_type": "RdSAP", "completion_date": "2018-07-21", "inspection_date": "2018-07-20", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 86, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2018-07-21", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 250, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.54, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 43.37, "quantity": "square metres"}, "party_wall_length": {"value": 7.54, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 19.96, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.44, "quantity": "metres"}, "total_floor_area": {"value": 42.29, "quantity": "square metres"}, "party_wall_length": {"value": 7.54, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.76, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 56, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1034, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 5.3, "energy_rating_average": 60, "energy_rating_current": 52, "lighting_cost_current": {"value": 87, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 844, "currency": "GBP"}, "hot_water_cost_current": {"value": 99, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 136, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 58, "environmental_impact_rating": 54}, {"sequence": 2, "typical_saving": {"value": 58, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 60, "environmental_impact_rating": 56}, {"sequence": 3, "typical_saving": {"value": 23, "currency": "GBP"}, "indicative_cost": "\u00a320", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 61, "environmental_impact_rating": 57}, {"sequence": 4, "typical_saving": {"value": 31, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 59}, {"sequence": 5, "typical_saving": {"value": 276, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 68}], "co2_emissions_potential": 3.3, "energy_rating_potential": 72, "lighting_cost_potential": {"value": 60, "currency": "GBP"}, "schema_version_original": "LIG-18.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 70, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 60, "environmental_impact_rating": 57}}], "hot_water_cost_potential": {"value": 69, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2156, "impact_of_loft_insulation": -3753, "impact_of_cavity_insulation": -2612, "space_heating_existing_dwelling": 16379}, "energy_consumption_current": 354, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.0.0", "energy_consumption_potential": 215, "environmental_impact_current": 48, "fixed_lighting_outlets_count": 9, "windows_transmission_details": {"u_value": 2.6, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "E", "environmental_impact_potential": 68, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 62, "low_energy_fixed_lighting_outlets_count": 5} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-e8c34b2323e0.json b/tests/fixtures/epc_prediction/BD24JG/cert-e8c34b2323e0.json new file mode 100644 index 00000000..29d014e8 --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-e8c34b2323e0.json @@ -0,0 +1 @@ +{"uprn": 100051188789, "roofs": [{"description": {"value": "Pitched, 100 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 15% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "postcode": "BD2 4JG", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 1, "created_at": "2017-07-04 18:14:05.000000", "door_count": 2, "glazed_area": 1, "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 3, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 117, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "secondary_heating_type": 691, "cylinder_insulation_type": 2, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.1", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Detached bungalow", "language": "1"}, "language_code": 1, "property_type": 1, "address_line_1": "addr-8c2aed30f5eb", "assessment_type": "RdSAP", "completion_date": "2017-07-04", "inspection_date": "2017-07-04", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 85, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "false", "registration_date": "2017-07-04", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 310, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.52, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 85.47, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 2, "heat_loss_perimeter": {"value": 37.22, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "100mm", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 15, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1304, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 7.3, "energy_rating_average": 60, "energy_rating_current": 39, "lighting_cost_current": {"value": 105, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer and room thermostat", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 587, "currency": "GBP"}, "hot_water_cost_current": {"value": 225, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 56, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 41, "environmental_impact_rating": 37}, {"sequence": 2, "typical_saving": {"value": 408, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 55, "environmental_impact_rating": 50}, {"sequence": 3, "typical_saving": {"value": 131, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 60, "environmental_impact_rating": 56}, {"sequence": 4, "typical_saving": {"value": 21, "currency": "GBP"}, "indicative_cost": "\u00a315 - \u00a330", "improvement_type": "C", "improvement_details": {"improvement_number": 2}, "improvement_category": 5, "energy_performance_rating": 61, "environmental_impact_rating": 57}, {"sequence": 5, "typical_saving": {"value": 38, "currency": "GBP"}, "indicative_cost": "\u00a385", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 58}, {"sequence": 6, "typical_saving": {"value": 38, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 60}, {"sequence": 7, "typical_saving": {"value": 176, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 69}, {"sequence": 8, "typical_saving": {"value": 45, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 72}, {"sequence": 9, "typical_saving": {"value": 259, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 82, "environmental_impact_rating": 81}], "co2_emissions_potential": 2.0, "energy_rating_potential": 82, "lighting_cost_potential": {"value": 57, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 143, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 69, "environmental_impact_rating": 91}, {"sequence": 2, "typical_saving": {"value": 162, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 71, "environmental_impact_rating": 74}, {"sequence": 3, "typical_saving": {"value": 263, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 73, "environmental_impact_rating": 69}], "hot_water_cost_potential": {"value": 76, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3301, "impact_of_loft_insulation": -778, "impact_of_solid_wall_insulation": -5622, "space_heating_existing_dwelling": 16421}, "energy_consumption_current": 484, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.0.0.0", "energy_consumption_potential": 130, "environmental_impact_current": 35, "fixed_lighting_outlets_count": 20, "windows_transmission_details": {"u_value": 3.1, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "E", "environmental_impact_potential": 81, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 85, "low_energy_fixed_lighting_outlets_count": 3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-eb71d39605ae.json b/tests/fixtures/epc_prediction/BD24JG/cert-eb71d39605ae.json new file mode 100644 index 00000000..f5bde3c9 --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-eb71d39605ae.json @@ -0,0 +1 @@ +{"uprn": 100051188787, "roofs": [{"description": "Pitched, 150 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Roof room(s), insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, filled cavity", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "BD2 4JG", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2020-11-03 12:48:44.825032", "door_count": 0, "glazed_area": 1, "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 15706}], "immersion_heating_type": "NA", "secondary_heating_type": 605, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-20faa35ec410", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2020-11-03", "inspection_date": "2020-11-03", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 123, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2020-11-03", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "sap_room_in_roof": {"floor_area": 42.06, "insulation": "AB", "roof_room_connected": "N", "construction_age_band": "K"}, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.54, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 80.45, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 36.8, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "D", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 806, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.6, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 87, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 701, "currency": "GBP"}, "hot_water_cost_current": {"value": 106, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 105, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 69}, {"sequence": 2, "typical_saving": {"value": 31, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 70}, {"sequence": 3, "typical_saving": {"value": 312, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 82, "environmental_impact_rating": 77}], "co2_emissions_potential": 3.0, "energy_rating_potential": 82, "lighting_cost_potential": {"value": 87, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 75, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2293, "impact_of_loft_insulation": -250, "space_heating_existing_dwelling": 13843}, "energy_consumption_current": 215, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.06r0007", "energy_consumption_potential": 138, "environmental_impact_current": 64, "fixed_lighting_outlets_count": 23, "current_energy_efficiency_band": "C", "environmental_impact_potential": 77, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 38, "low_energy_fixed_lighting_outlets_count": 23} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-eed1ed76757a.json b/tests/fixtures/epc_prediction/BD24JG/cert-eed1ed76757a.json new file mode 100644 index 00000000..b9cb4260 --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-eed1ed76757a.json @@ -0,0 +1 @@ +{"uprn": 100051188776, "roofs": [{"description": {"value": "Pitched, 300 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Cavity wall, filled cavity", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 36% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "BD2 4JG", "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 2, "created_at": "2022-10-19 15:06:41.338855", "door_count": 2, "glazed_area": 1, "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 903, "water_heating_fuel": 29, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 29, "heat_emitter_type": 0, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "sap_main_heating_code": 691, "main_heating_data_source": 2}], "immersion_heating_type": 2, "cylinder_insulation_type": 2, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 12}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-ca2014d2cc3b", "assessment_type": "RdSAP", "completion_date": "2022-10-19", "inspection_date": "2022-10-19", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 78, "transaction_type": 13, "conservatory_type": 1, "heated_room_count": 2, "pvc_window_frames": "false", "registration_date": "2022-10-19", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Portable electric heaters (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.1, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 39.2, "quantity": "square metres"}, "party_wall_length": {"value": 7, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 37.5, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.1, "quantity": "metres"}, "total_floor_area": {"value": 39.2, "quantity": "square metres"}, "party_wall_length": {"value": 7, "quantity": "metres"}, "heat_loss_perimeter": {"value": 40.5, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 36, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 2059, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 7.6, "energy_rating_average": 60, "energy_rating_current": 20, "lighting_cost_current": {"value": 109, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 542, "currency": "GBP"}, "hot_water_cost_current": {"value": 662, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 30, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 219, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 24, "environmental_impact_rating": 35}, {"sequence": 2, "typical_saving": {"value": 178, "currency": "GBP"}, "indicative_cost": "\u00a315 - \u00a330", "improvement_type": "C", "improvement_details": {"improvement_number": 2}, "improvement_category": 5, "energy_performance_rating": 28, "environmental_impact_rating": 38}, {"sequence": 3, "typical_saving": {"value": 38, "currency": "GBP"}, "indicative_cost": "\u00a380 - \u00a3120", "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 29, "environmental_impact_rating": 38}, {"sequence": 4, "typical_saving": {"value": 26, "currency": "GBP"}, "indicative_cost": "\u00a345", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 29, "environmental_impact_rating": 39}, {"sequence": 5, "typical_saving": {"value": 1662, "currency": "GBP"}, "indicative_cost": "\u00a33,000 - \u00a37,000", "improvement_type": "T", "improvement_details": {"improvement_number": 29}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 64}, {"sequence": 6, "typical_saving": {"value": 33, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 67}, {"sequence": 7, "typical_saving": {"value": 324, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 81, "environmental_impact_rating": 77}], "co2_emissions_potential": 2.3, "energy_rating_potential": 81, "lighting_cost_potential": {"value": 66, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 1423, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 65, "environmental_impact_rating": 95}, {"sequence": 2, "typical_saving": {"value": 1165, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 62, "environmental_impact_rating": 66}, {"sequence": 3, "typical_saving": {"value": 1748, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 69, "environmental_impact_rating": 62}], "hot_water_cost_potential": {"value": 67, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3407, "space_heating_existing_dwelling": 10593}, "energy_consumption_current": 570, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.1.0", "energy_consumption_potential": 163, "environmental_impact_current": 31, "fixed_lighting_outlets_count": 14, "windows_transmission_details": {"u_value": 3.1, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "G", "environmental_impact_potential": 77, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 96, "low_energy_fixed_lighting_outlets_count": 5} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-f089b44ae169.json b/tests/fixtures/epc_prediction/BD24JG/cert-f089b44ae169.json new file mode 100644 index 00000000..4fe01762 --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-f089b44ae169.json @@ -0,0 +1 @@ +{"uprn": 100051188769, "roofs": [{"description": {"value": "Pitched, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Roof room(s), no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Cavity wall, filled cavity", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 38% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "BD2 4JG", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2019-03-07 06:02:10.000000", "door_count": 3, "glazed_area": 1, "glazing_gap": 12, "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17115}], "immersion_heating_type": "NA", "secondary_heating_type": 691, "has_fixed_air_conditioning": "false"}, "sap_version": 9.93, "schema_type": "RdSAP-Schema-18.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Detached bungalow", "language": "1"}, "language_code": 1, "property_type": 1, "address_line_1": "addr-5db000b9a26f", "assessment_type": "RdSAP", "completion_date": "2019-03-07", "inspection_date": "2019-03-01", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 113, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 6, "pvc_window_frames": "true", "registration_date": "2019-03-07", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 320, "floor_heat_loss": 7, "sap_room_in_roof": {"floor_area": 28.82, "insulation": "AB", "roof_room_connected": "N", "construction_age_band": "D"}, "roof_construction": 5, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.58, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 76.3, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 30.3, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "D", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 285, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.3, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 7.41, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 2, "heat_loss_perimeter": {"value": 8.3, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "D", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 38, "solar_water_heating": "N", "habitable_room_count": 6, "heating_cost_current": {"value": 1509, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 7.6, "energy_rating_average": 60, "energy_rating_current": 45, "lighting_cost_current": {"value": 122, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 1022, "currency": "GBP"}, "hot_water_cost_current": {"value": 89, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 35, "currency": "GBP"}, "indicative_cost": "\u00a3850 - \u00a31,500", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 46, "environmental_impact_rating": 42}, {"sequence": 2, "typical_saving": {"value": 361, "currency": "GBP"}, "indicative_cost": "\u00a31,500 - \u00a32,700", "improvement_type": "A3", "improvement_details": {"improvement_number": 46}, "improvement_category": 5, "energy_performance_rating": 58, "environmental_impact_rating": 53}, {"sequence": 3, "typical_saving": {"value": 98, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 61, "environmental_impact_rating": 57}, {"sequence": 4, "typical_saving": {"value": 40, "currency": "GBP"}, "indicative_cost": "\u00a350", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 58}, {"sequence": 5, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 59}, {"sequence": 6, "typical_saving": {"value": 283, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 67}], "co2_emissions_potential": 4.1, "energy_rating_potential": 71, "lighting_cost_potential": {"value": 75, "currency": "GBP"}, "schema_version_original": "LIG-18.0", "hot_water_cost_potential": {"value": 60, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2022, "impact_of_loft_insulation": -4001, "space_heating_existing_dwelling": 24936}, "energy_consumption_current": 385, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "v93.0.1.1", "energy_consumption_potential": 205, "environmental_impact_current": 41, "fixed_lighting_outlets_count": 16, "current_energy_efficiency_band": "E", "environmental_impact_potential": 67, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 67, "low_energy_fixed_lighting_outlets_count": 6} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-f326c2524ab3.json b/tests/fixtures/epc_prediction/BD24JG/cert-f326c2524ab3.json new file mode 100644 index 00000000..d110ad70 --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-f326c2524ab3.json @@ -0,0 +1 @@ +{"uprn": 100051188797, "roofs": [{"description": {"value": "Pitched, 270 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Cavity wall, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": {"value": "Low energy lighting in 25% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "BD2 4JG", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 2, "created_at": "2016-06-07 14:30:52.000000", "door_count": 2, "glazed_area": 1, "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 1, "fan_flue_present": "N", "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 605}], "immersion_heating_type": "NA", "secondary_heating_type": 601, "cylinder_insulation_type": 2, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached bungalow", "language": "1"}, "language_code": 1, "property_type": 1, "address_line_1": "addr-9ec458ba9728", "assessment_type": "RdSAP", "completion_date": "2016-06-07", "inspection_date": "2016-06-07", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 77, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "false", "registration_date": "2016-06-07", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, mains gas", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 330, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.45, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 77.4, "quantity": "square metres"}, "party_wall_length": {"value": 7.47, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 29.01, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "270mm", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 25, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 964, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 5.7, "energy_rating_average": 60, "energy_rating_current": 50, "lighting_cost_current": {"value": 91, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer and room thermostat", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 1, "open_fireplaces_count": 1, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 553, "currency": "GBP"}, "hot_water_cost_current": {"value": 211, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 164, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 56, "environmental_impact_rating": 49}, {"sequence": 2, "typical_saving": {"value": 90, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 60, "environmental_impact_rating": 54}, {"sequence": 3, "typical_saving": {"value": 18, "currency": "GBP"}, "indicative_cost": "\u00a315 - \u00a330", "improvement_type": "C", "improvement_details": {"improvement_number": 2}, "improvement_category": 5, "energy_performance_rating": 60, "environmental_impact_rating": 54}, {"sequence": 4, "typical_saving": {"value": 31, "currency": "GBP"}, "indicative_cost": "\u00a330", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 55}, {"sequence": 5, "typical_saving": {"value": 38, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 57}, {"sequence": 6, "typical_saving": {"value": 202, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 68}, {"sequence": 7, "typical_saving": {"value": 43, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 71}, {"sequence": 8, "typical_saving": {"value": 256, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 83, "environmental_impact_rating": 80}], "co2_emissions_potential": 1.9, "energy_rating_potential": 83, "lighting_cost_potential": {"value": 52, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 32, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 58, "environmental_impact_rating": 51}, {"sequence": 2, "typical_saving": {"value": 85, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 64, "environmental_impact_rating": 91}, {"sequence": 3, "typical_saving": {"value": 52, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 63, "environmental_impact_rating": 72}, {"sequence": 4, "typical_saving": {"value": 226, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 72, "environmental_impact_rating": 67}], "hot_water_cost_potential": {"value": 75, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3011, "impact_of_cavity_insulation": -2437, "space_heating_existing_dwelling": 12589}, "energy_consumption_current": 416, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": 9.92, "energy_consumption_potential": 138, "environmental_impact_current": 43, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "E", "environmental_impact_potential": 80, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 73, "low_energy_fixed_lighting_outlets_count": 2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-f3aae3d2c3c9.json b/tests/fixtures/epc_prediction/BD24JG/cert-f3aae3d2c3c9.json new file mode 100644 index 00000000..fc699e15 --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-f3aae3d2c3c9.json @@ -0,0 +1 @@ +{"uprn": 100051188774, "roofs": [{"description": {"value": "Pitched, 250 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Cavity wall, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": {"value": "Low energy lighting in 80% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "BD2 4JG", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2016-06-13 16:31:07.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 15200}], "immersion_heating_type": "NA", "secondary_heating_type": 691, "has_fixed_air_conditioning": "false"}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-e89e8f5b061d", "assessment_type": "RdSAP", "completion_date": "2016-06-13", "inspection_date": "2016-06-13", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 85, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2016-06-13", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.54, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 42.9, "quantity": "square metres"}, "party_wall_length": {"value": 7.45, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 19.85, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.42, "quantity": "metres"}, "total_floor_area": {"value": 41.86, "quantity": "square metres"}, "party_wall_length": {"value": 7.45, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.69, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "250mm", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 80, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 874, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.3, "energy_rating_average": 60, "energy_rating_current": 60, "lighting_cost_current": {"value": 67, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 588, "currency": "GBP"}, "hot_water_cost_current": {"value": 112, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 230, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 67}, {"sequence": 2, "typical_saving": {"value": 55, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 70}, {"sequence": 3, "typical_saving": {"value": 37, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 72}, {"sequence": 4, "typical_saving": {"value": 256, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 82, "environmental_impact_rating": 81}], "co2_emissions_potential": 2.0, "energy_rating_potential": 82, "lighting_cost_potential": {"value": 67, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 45, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 70, "environmental_impact_rating": 69}}], "hot_water_cost_potential": {"value": 76, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2149, "impact_of_cavity_insulation": -3851, "space_heating_existing_dwelling": 12588}, "energy_consumption_current": 291, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.0.0.0", "energy_consumption_potential": 130, "environmental_impact_current": 57, "fixed_lighting_outlets_count": 15, "windows_transmission_details": {"u_value": 2.6, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 81, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 51, "low_energy_fixed_lighting_outlets_count": 12} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-f481cd1abc1f.json b/tests/fixtures/epc_prediction/BD24JG/cert-f481cd1abc1f.json new file mode 100644 index 00000000..2544f61c --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-f481cd1abc1f.json @@ -0,0 +1 @@ +{"uprn": 100051188780, "roofs": [{"description": "Pitched, no insulation", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"narrow_cavities": "true", "cavity_fill_recommended": "true"}, "lighting": {"description": "Excellent lighting efficiency", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "BD2 4JG", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2026-02-23 15:00:43", "door_count": 1, "region_code": 3, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 16840}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "orientation": 3, "window_type": 1, "glazing_type": 2, "window_width": 1.8, "window_height": 1.6, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 2, "window_width": 0.4, "window_height": 1.6, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 5, "window_type": 1, "glazing_type": 2, "window_width": 0.4, "window_height": 1.6, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 7, "window_type": 1, "glazing_type": 2, "window_width": 1.65, "window_height": 1.9, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 5, "window_type": 1, "glazing_type": 2, "window_width": 0.9, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 3, "window_type": 1, "glazing_type": 2, "window_width": 1, "window_height": 1.2, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 3, "window_type": 1, "glazing_type": 2, "window_width": 0.8, "window_height": 1.15, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 7, "window_type": 1, "glazing_type": 2, "window_width": 0.8, "window_height": 1.15, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 5, "window_type": 1, "glazing_type": 2, "window_width": 0.8, "window_height": 1.2, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 5, "window_type": 1, "glazing_type": 2, "window_width": 0.8, "window_height": 1.2, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Semi-detached house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-8a4e3131b9ac", "assessment_type": "RdSAP", "completion_date": "2026-02-23", "inspection_date": "2026-02-23", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 83, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2026-02-23", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "true", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "true"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "extract_fans_count": 1, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.35, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 41.97, "quantity": "square metres"}, "party_wall_length": {"value": 7.5, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 19.3, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.45, "quantity": "metres"}, "total_floor_area": {"value": 41.25, "quantity": "square metres"}, "party_wall_length": {"value": 7.5, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.5, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 5, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1224, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.0, "energy_rating_average": 60, "energy_rating_current": 63, "lighting_cost_current": {"value": 53, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 671, "currency": "GBP"}, "hot_water_cost_current": {"value": 163, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 252, "currency": "GBP"}, "indicative_cost": "\u00a3900 - \u00a31,200", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 68}, {"sequence": 2, "typical_saving": {"value": 241, "currency": "GBP"}, "indicative_cost": "\u00a3900 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 75}, {"sequence": 3, "typical_saving": {"value": 59, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 77}, {"sequence": 4, "typical_saving": {"value": 208, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 81, "environmental_impact_rating": 78}], "co2_emissions_potential": 2.1, "energy_rating_potential": 81, "lighting_cost_potential": {"value": 53, "currency": "GBP"}, "schema_version_original": "21.0.1", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 70, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 77, "environmental_impact_rating": 78}}], "hot_water_cost_potential": {"value": 163, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2185.03, "space_heating_existing_dwelling": 14512.88}, "draughtproofed_door_count": 1, "energy_consumption_current": 263, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0332", "energy_consumption_potential": 135, "environmental_impact_current": 59, "current_energy_efficiency_band": "D", "environmental_impact_potential": 78, "led_fixed_lighting_bulbs_count": 15, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 48, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/BD24JG/cert-f52356b57b37.json b/tests/fixtures/epc_prediction/BD24JG/cert-f52356b57b37.json new file mode 100644 index 00000000..507f4c45 --- /dev/null +++ b/tests/fixtures/epc_prediction/BD24JG/cert-f52356b57b37.json @@ -0,0 +1 @@ +{"uprn": 100051188786, "roofs": [{"description": {"value": "Pitched, 150 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "System built, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Partial double glazing", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "addendum": {"system_build": "true"}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "BD2 4JG", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2016-06-06 15:21:35.000000", "door_count": 2, "glazed_area": 1, "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 1, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 113, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "secondary_heating_type": 601, "has_fixed_air_conditioning": "false"}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-8549a2355945", "assessment_type": "RdSAP", "completion_date": "2016-06-06", "inspection_date": "2016-06-06", "extensions_count": 0, "measurement_type": 2, "total_floor_area": 69, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "false", "registration_date": "2016-06-06", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 8, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.2, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 40, "quantity": "square metres"}, "party_wall_length": {"value": 8, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 18, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.3, "quantity": "metres"}, "total_floor_area": {"value": 40, "quantity": "square metres"}, "party_wall_length": {"value": 8, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 728, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.8, "energy_rating_average": 60, "energy_rating_current": 62, "lighting_cost_current": {"value": 47, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 668, "currency": "GBP"}, "hot_water_cost_current": {"value": 107, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 60, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 33, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 58}, {"sequence": 2, "typical_saving": {"value": 36, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 61}, {"sequence": 3, "typical_saving": {"value": 27, "currency": "GBP"}, "indicative_cost": "\u00a33,300 - \u00a36,500", "improvement_type": "O", "improvement_details": {"improvement_number": 8}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 62}, {"sequence": 4, "typical_saving": {"value": 256, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 73}], "co2_emissions_potential": 2.5, "energy_rating_potential": 78, "lighting_cost_potential": {"value": 47, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 71, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1994, "impact_of_loft_insulation": -199, "space_heating_existing_dwelling": 11822}, "energy_consumption_current": 312, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 60, "calculation_software_version": "2.0.0.0", "energy_consumption_potential": 198, "environmental_impact_current": 56, "fixed_lighting_outlets_count": 9, "windows_transmission_details": {"u_value": 3.1, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 73, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 55, "low_energy_fixed_lighting_outlets_count": 9} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CF481ND/cert-0dd25677d889.json b/tests/fixtures/epc_prediction/CF481ND/cert-0dd25677d889.json new file mode 100644 index 00000000..73ce721b --- /dev/null +++ b/tests/fixtures/epc_prediction/CF481ND/cert-0dd25677d889.json @@ -0,0 +1 @@ +{"uprn": 100100583981, "roofs": [{"description": "Pitched, 400+ mm loft insulation", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": "High performance glazing", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "addendum": {"addendum_numbers": [15], "cavity_fill_recommended": "true"}, "lighting": {"description": "Good lighting efficiency", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "CF48 1ND", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2026-04-01 13:39:58", "door_count": 2, "region_code": 12, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "shower_outlets": [{"shower_outlet": {"shower_wwhrs": 1, "shower_outlet_type": 1}}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 1, "main_heating_data_source": 1, "main_heating_index_number": 10244}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"orientation": 5, "window_type": 1, "glazing_type": 13, "window_width": 1.14, "window_height": 0.94, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 5, "window_type": 1, "glazing_type": 13, "window_width": 1.14, "window_height": 0.94, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 3, "window_type": 1, "glazing_type": 13, "window_width": 0.27, "window_height": 0.97, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 5, "window_type": 1, "glazing_type": 13, "window_width": 0.45, "window_height": 1.15, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 5, "window_type": 1, "glazing_type": 13, "window_width": 1.47, "window_height": 1.24, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 5, "window_type": 1, "glazing_type": 13, "window_width": 0.3, "window_height": 2.06, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 5, "window_type": 1, "glazing_type": 13, "window_width": 1.44, "window_height": 1.16, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 5, "window_type": 1, "glazing_type": 13, "window_width": 1.44, "window_height": 1.16, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 1, "window_type": 1, "glazing_type": 13, "window_width": 1.47, "window_height": 0.87, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 1, "window_type": 1, "glazing_type": 13, "window_width": 0.92, "window_height": 0.86, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "WLS", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Mid-terrace house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-dced6abdeb2a", "assessment_type": "RdSAP", "completion_date": "2026-04-01", "inspection_date": "2026-03-24", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 86, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2026-04-01", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "Y", "wall_thickness": 350, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 42.9, "quantity": "square metres"}, "party_wall_length": {"value": 7.15, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 19.15, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.35, "quantity": "metres"}, "total_floor_area": {"value": 42.9, "quantity": "square metres"}, "party_wall_length": {"value": 14.3, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "400mm+", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 868, "currency": "GBP"}, "insulated_door_count": 1, "co2_emissions_current": 2.7, "energy_rating_average": 60, "energy_rating_current": 74, "lighting_cost_current": {"value": 59, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 627, "currency": "GBP"}, "hot_water_cost_current": {"value": 217, "currency": "GBP"}, "insulated_door_u_value": 1.01, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 169, "currency": "GBP"}, "indicative_cost": "\u00a3900 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 79}, {"sequence": 2, "typical_saving": {"value": 72, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 81}, {"sequence": 3, "typical_saving": {"value": 216, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 83, "environmental_impact_rating": 82}], "co2_emissions_potential": 1.9, "energy_rating_potential": 83, "lighting_cost_potential": {"value": 59, "currency": "GBP"}, "schema_version_original": "21.0.1", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 69, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 79, "environmental_impact_rating": 81}}], "hot_water_cost_potential": {"value": 217, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2617.98, "space_heating_existing_dwelling": 8483.51}, "draughtproofed_door_count": 2, "energy_consumption_current": 173, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0335", "energy_consumption_potential": 116, "environmental_impact_current": 74, "current_energy_efficiency_band": "C", "environmental_impact_potential": 82, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 31, "low_energy_fixed_lighting_bulbs_count": 9, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CF481ND/cert-3077aedcbe8b.json b/tests/fixtures/epc_prediction/CF481ND/cert-3077aedcbe8b.json new file mode 100644 index 00000000..138ab136 --- /dev/null +++ b/tests/fixtures/epc_prediction/CF481ND/cert-3077aedcbe8b.json @@ -0,0 +1 @@ +{"uprn": 100100583981, "roofs": [{"description": "Pitched, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Low energy lighting in 8% of fixed outlets", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "postcode": "CF48 1ND", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2019-09-12 21:50:28.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 12, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17507}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.93, "schema_type": "RdSAP-Schema-18.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-ef9d11b086aa", "assessment_type": "RdSAP", "completion_date": "2019-09-12", "inspection_date": "2019-09-12", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 91, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2019-09-12", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 44.1, "quantity": "square metres"}, "party_wall_length": {"value": 7, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 19.6, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 46.9, "quantity": "square metres"}, "party_wall_length": {"value": 14, "quantity": "metres"}, "heat_loss_perimeter": {"value": 13.4, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 8, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 827, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.9, "energy_rating_average": 60, "energy_rating_current": 61, "lighting_cost_current": {"value": 130, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 708, "currency": "GBP"}, "hot_water_cost_current": {"value": 90, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 91, "currency": "GBP"}, "indicative_cost": "1,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 60}, {"sequence": 2, "typical_saving": {"value": 34, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 61}, {"sequence": 3, "typical_saving": {"value": 55, "currency": "GBP"}, "indicative_cost": 60, "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 63}, {"sequence": 4, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 65}, {"sequence": 5, "typical_saving": {"value": 315, "currency": "GBP"}, "indicative_cost": "5,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 73}], "co2_emissions_potential": 2.9, "energy_rating_potential": 79, "lighting_cost_potential": {"value": 67, "currency": "GBP"}, "schema_version_original": "LIG-18.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 47, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 66, "environmental_impact_rating": 62}}], "hot_water_cost_potential": {"value": 61, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2033, "impact_of_loft_insulation": -4392, "impact_of_cavity_insulation": -2346, "space_heating_existing_dwelling": 16340}, "energy_consumption_current": 303, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "3.10r02", "energy_consumption_potential": 179, "environmental_impact_current": 55, "fixed_lighting_outlets_count": 13, "current_energy_efficiency_band": "D", "environmental_impact_potential": 73, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 53, "low_energy_fixed_lighting_outlets_count": 1} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CF481ND/cert-5aad1cfe207c.json b/tests/fixtures/epc_prediction/CF481ND/cert-5aad1cfe207c.json new file mode 100644 index 00000000..e8332108 --- /dev/null +++ b/tests/fixtures/epc_prediction/CF481ND/cert-5aad1cfe207c.json @@ -0,0 +1 @@ +{"uprn": 100100583977, "roofs": [{"description": {"value": "Pitched, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Cavity wall, filled cavity", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "No low energy lighting", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "postcode": "CF48 1ND", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 2, "created_at": "2015-10-26 15:39:49.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": 6, "region_code": 12, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 1, "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2102, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 1319}], "immersion_heating_type": "NA", "secondary_heating_type": 602, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 25}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-03087b9717bc", "assessment_type": "RdSAP", "completion_date": "2015-10-26", "inspection_date": "2015-10-26", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 86, "transaction_type": 13, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2015-10-26", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, mains gas", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.51, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 42.79, "quantity": "square metres"}, "party_wall_length": {"value": 5.66, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 20.78, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.48, "quantity": "metres"}, "total_floor_area": {"value": 42.79, "quantity": "square metres"}, "party_wall_length": {"value": 5.66, "quantity": "metres"}, "heat_loss_perimeter": {"value": 20.78, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "D", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 0, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 1239, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 7.2, "energy_rating_average": 60, "energy_rating_current": 44, "lighting_cost_current": {"value": 111, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, no room thermostat", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 796, "currency": "GBP"}, "hot_water_cost_current": {"value": 213, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 63, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 46, "environmental_impact_rating": 39}, {"sequence": 2, "typical_saving": {"value": 44, "currency": "GBP"}, "indicative_cost": "\u00a380", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 48, "environmental_impact_rating": 40}, {"sequence": 3, "typical_saving": {"value": 210, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 12}, "improvement_category": 5, "energy_performance_rating": 55, "environmental_impact_rating": 47}, {"sequence": 4, "typical_saving": {"value": 275, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 59}, {"sequence": 5, "typical_saving": {"value": 44, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 61}, {"sequence": 6, "typical_saving": {"value": 270, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 70}], "co2_emissions_potential": 3.1, "energy_rating_potential": 76, "lighting_cost_potential": {"value": 55, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 90, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 55, "environmental_impact_rating": 88}, {"sequence": 2, "typical_saving": {"value": 43, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 54, "environmental_impact_rating": 64}, {"sequence": 3, "typical_saving": {"value": 361, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 68, "environmental_impact_rating": 60}], "hot_water_cost_potential": {"value": 75, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2844, "impact_of_loft_insulation": -4674, "space_heating_existing_dwelling": 15645}, "energy_consumption_current": 477, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.0.0.0", "energy_consumption_potential": 204, "environmental_impact_current": 37, "fixed_lighting_outlets_count": 16, "current_energy_efficiency_band": "E", "environmental_impact_potential": 70, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 84, "low_energy_fixed_lighting_outlets_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CF481ND/cert-5b3816460805.json b/tests/fixtures/epc_prediction/CF481ND/cert-5b3816460805.json new file mode 100644 index 00000000..e6a07da4 --- /dev/null +++ b/tests/fixtures/epc_prediction/CF481ND/cert-5b3816460805.json @@ -0,0 +1 @@ +{"uprn": 100100583983, "roofs": [{"description": "Pitched, 300 mm loft insulation", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": "High performance glazing", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "addendum": {"addendum_numbers": [15], "cavity_fill_recommended": "true"}, "lighting": {"description": "Good lighting efficiency", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "CF48 1ND", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2026-03-25 12:15:50", "door_count": 2, "region_code": 12, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "shower_outlets": [{"shower_outlet": {"shower_wwhrs": 1, "shower_outlet_type": 1}}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 1, "main_heating_data_source": 1, "main_heating_index_number": 10244}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"orientation": 5, "window_type": 1, "glazing_type": 13, "window_width": 1.93, "window_height": 1.16, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 1, "window_type": 1, "glazing_type": 13, "window_width": 0.42, "window_height": 1.17, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 1, "window_type": 1, "glazing_type": 13, "window_width": 1.43, "window_height": 1.16, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 3, "window_type": 1, "glazing_type": 13, "window_width": 0.27, "window_height": 0.92, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 5, "window_type": 1, "glazing_type": 13, "window_width": 0.33, "window_height": 2.06, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 5, "window_type": 1, "glazing_type": 13, "window_width": 1.93, "window_height": 1.16, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 5, "window_type": 1, "glazing_type": 13, "window_width": 1.93, "window_height": 1.16, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 1, "window_type": 1, "glazing_type": 13, "window_width": 1.43, "window_height": 0.86, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 1, "window_type": 1, "glazing_type": 13, "window_width": 0.95, "window_height": 0.86, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "WLS", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Mid-terrace house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-61e62274c13e", "assessment_type": "RdSAP", "completion_date": "2026-03-25", "inspection_date": "2026-03-24", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 79, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2026-03-25", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "Y", "wall_thickness": 350, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 39.5, "quantity": "square metres"}, "party_wall_length": {"value": 7.08, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 18.78, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.33, "quantity": "metres"}, "total_floor_area": {"value": 39.5, "quantity": "square metres"}, "party_wall_length": {"value": 11.7, "quantity": "metres"}, "heat_loss_perimeter": {"value": 14.16, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 790, "currency": "GBP"}, "insulated_door_count": 1, "co2_emissions_current": 2.7, "energy_rating_average": 60, "energy_rating_current": 73, "lighting_cost_current": {"value": 55, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 574, "currency": "GBP"}, "hot_water_cost_current": {"value": 190, "currency": "GBP"}, "insulated_door_u_value": 1.01, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 154, "currency": "GBP"}, "indicative_cost": "\u00a3900 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 78}, {"sequence": 2, "typical_saving": {"value": 62, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 80}, {"sequence": 3, "typical_saving": {"value": 217, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 82, "environmental_impact_rating": 81}], "co2_emissions_potential": 1.9, "energy_rating_potential": 82, "lighting_cost_potential": {"value": 55, "currency": "GBP"}, "schema_version_original": "21.0.1", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 63, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 78, "environmental_impact_rating": 80}}], "hot_water_cost_potential": {"value": 190, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2557.36, "space_heating_existing_dwelling": 8466.63}, "draughtproofed_door_count": 2, "energy_consumption_current": 186, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0335", "energy_consumption_potential": 124, "environmental_impact_current": 73, "current_energy_efficiency_band": "C", "environmental_impact_potential": 81, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 34, "low_energy_fixed_lighting_bulbs_count": 9, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CF481ND/cert-6030fde8e888.json b/tests/fixtures/epc_prediction/CF481ND/cert-6030fde8e888.json new file mode 100644 index 00000000..87e255c1 --- /dev/null +++ b/tests/fixtures/epc_prediction/CF481ND/cert-6030fde8e888.json @@ -0,0 +1 @@ +{"uprn": 100100583980, "roofs": [{"description": {"value": "Pitched, 200 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Cavity wall, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"access_issues": "true", "high_exposure": "true"}, "lighting": {"description": {"value": "Low energy lighting in 11% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "postcode": "CF48 1ND", "hot_water": {"description": {"value": "From main system, no cylinder thermostat", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 4, "created_at": "2016-07-05 18:12:34.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 12, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 1, "fan_flue_present": "N", "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2101, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 119, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "secondary_heating_type": 601, "cylinder_insulation_type": 2, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 12}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-0a043994f6d1", "assessment_type": "RdSAP", "completion_date": "2016-07-05", "inspection_date": "2016-07-05", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 87, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 1, "pvc_window_frames": "true", "registration_date": "2016-07-05", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, mains gas", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 43.67, "quantity": "square metres"}, "party_wall_length": {"value": 7.1, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 19.4, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 43.67, "quantity": "square metres"}, "party_wall_length": {"value": 14.2, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12.3, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 11, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1011, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 7, "energy_rating_average": 60, "energy_rating_current": 46, "lighting_cost_current": {"value": 109, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "No time or thermostatic control of room temperature", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 522, "currency": "GBP"}, "hot_water_cost_current": {"value": 399, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 245, "currency": "GBP"}, "indicative_cost": "1,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 54, "environmental_impact_rating": 47}, {"sequence": 2, "typical_saving": {"value": 70, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 57, "environmental_impact_rating": 49}, {"sequence": 3, "typical_saving": {"value": 93, "currency": "GBP"}, "indicative_cost": 30, "improvement_type": "C", "improvement_details": {"improvement_number": 2}, "improvement_category": 5, "energy_performance_rating": 60, "environmental_impact_rating": 53}, {"sequence": 4, "typical_saving": {"value": 40, "currency": "GBP"}, "indicative_cost": 40, "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 61, "environmental_impact_rating": 55}, {"sequence": 5, "typical_saving": {"value": 28, "currency": "GBP"}, "indicative_cost": 400, "improvement_type": "F", "improvement_details": {"improvement_number": 4}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 56}, {"sequence": 6, "typical_saving": {"value": 143, "currency": "GBP"}, "indicative_cost": 450, "improvement_type": "G", "improvement_details": {"improvement_number": 11}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 63}, {"sequence": 7, "typical_saving": {"value": 198, "currency": "GBP"}, "indicative_cost": "3,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 72}, {"sequence": 8, "typical_saving": {"value": 44, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 75}, {"sequence": 9, "typical_saving": {"value": 277, "currency": "GBP"}, "indicative_cost": "8,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 84}], "co2_emissions_potential": 1.8, "energy_rating_potential": 86, "lighting_cost_potential": {"value": 58, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 47, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 56, "environmental_impact_rating": 49}, {"sequence": 2, "typical_saving": {"value": 87, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 68, "environmental_impact_rating": 92}, {"sequence": 3, "typical_saving": {"value": 58, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 68, "environmental_impact_rating": 76}, {"sequence": 4, "typical_saving": {"value": 218, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 75, "environmental_impact_rating": 71}], "hot_water_cost_potential": {"value": 77, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 5210, "impact_of_cavity_insulation": -3472, "space_heating_existing_dwelling": 12473}, "energy_consumption_current": 452, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.0.x", "energy_consumption_potential": 112, "environmental_impact_current": 39, "fixed_lighting_outlets_count": 9, "current_energy_efficiency_band": "E", "environmental_impact_potential": 84, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 80, "low_energy_fixed_lighting_outlets_count": 1} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CF481ND/cert-6e6d1776f8b7.json b/tests/fixtures/epc_prediction/CF481ND/cert-6e6d1776f8b7.json new file mode 100644 index 00000000..abfe745c --- /dev/null +++ b/tests/fixtures/epc_prediction/CF481ND/cert-6e6d1776f8b7.json @@ -0,0 +1 @@ +{"uprn": 100100583983, "roofs": [{"description": "Pitched, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Low energy lighting in 83% of fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "CF48 1ND", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2019-10-20 18:09:33.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 12, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10244}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-19.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-652cd7973a51", "assessment_type": "RdSAP", "completion_date": "2019-10-20", "inspection_date": "2019-10-19", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 87, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2019-10-20", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 40.6, "quantity": "square metres"}, "party_wall_length": {"value": 7.1, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 19.1, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 46.86, "quantity": "square metres"}, "party_wall_length": {"value": 14.2, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 83, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 816, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.7, "energy_rating_average": 60, "energy_rating_current": 62, "lighting_cost_current": {"value": 76, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 699, "currency": "GBP"}, "hot_water_cost_current": {"value": 101, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 85, "currency": "GBP"}, "indicative_cost": "1,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 60}, {"sequence": 2, "typical_saving": {"value": 32, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 61}, {"sequence": 3, "typical_saving": {"value": 28, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 63}, {"sequence": 4, "typical_saving": {"value": 315, "currency": "GBP"}, "indicative_cost": "5,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 72}], "co2_emissions_potential": 3.0, "energy_rating_potential": 77, "lighting_cost_potential": {"value": 76, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 44, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 67, "environmental_impact_rating": 62}}], "hot_water_cost_potential": {"value": 72, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2307, "impact_of_loft_insulation": -4368, "impact_of_cavity_insulation": -2164, "space_heating_existing_dwelling": 16017}, "energy_consumption_current": 305, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.02r04", "energy_consumption_potential": 189, "environmental_impact_current": 55, "fixed_lighting_outlets_count": 12, "current_energy_efficiency_band": "D", "environmental_impact_potential": 72, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 54, "low_energy_fixed_lighting_outlets_count": 10} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CF481ND/cert-7791c2c9073d.json b/tests/fixtures/epc_prediction/CF481ND/cert-7791c2c9073d.json new file mode 100644 index 00000000..b0e888e8 --- /dev/null +++ b/tests/fixtures/epc_prediction/CF481ND/cert-7791c2c9073d.json @@ -0,0 +1 @@ +{"uprn": 100100583979, "roofs": [{"description": "Pitched, 150 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Low energy lighting in 8% of fixed outlets", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "postcode": "CF48 1ND", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 3, "created_at": "2019-09-12 21:47:12.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 12, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17507}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.93, "schema_type": "RdSAP-Schema-18.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "End-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-8bd1c49629c4", "assessment_type": "RdSAP", "completion_date": "2019-09-12", "inspection_date": "2019-09-12", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 94, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2019-09-12", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 46.8, "quantity": "square metres"}, "party_wall_length": {"value": 6, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 21.6, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 46.8, "quantity": "square metres"}, "party_wall_length": {"value": 6, "quantity": "metres"}, "heat_loss_perimeter": {"value": 21.6, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 8, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 726, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.3, "energy_rating_average": 60, "energy_rating_current": 65, "lighting_cost_current": {"value": 132, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 551, "currency": "GBP"}, "hot_water_cost_current": {"value": 90, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 140, "currency": "GBP"}, "indicative_cost": "1,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 68}, {"sequence": 2, "typical_saving": {"value": 43, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 70}, {"sequence": 3, "typical_saving": {"value": 56, "currency": "GBP"}, "indicative_cost": 55, "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 71}, {"sequence": 4, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 73}, {"sequence": 5, "typical_saving": {"value": 315, "currency": "GBP"}, "indicative_cost": "5,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 84, "environmental_impact_rating": 82}], "co2_emissions_potential": 2.1, "energy_rating_potential": 84, "lighting_cost_potential": {"value": 69, "currency": "GBP"}, "schema_version_original": "LIG-18.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 75, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 73, "environmental_impact_rating": 72}}], "hot_water_cost_potential": {"value": 61, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2046, "impact_of_loft_insulation": -290, "impact_of_cavity_insulation": -3253, "space_heating_existing_dwelling": 14025}, "energy_consumption_current": 262, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "3.10r02", "energy_consumption_potential": 122, "environmental_impact_current": 61, "fixed_lighting_outlets_count": 12, "current_energy_efficiency_band": "D", "environmental_impact_potential": 82, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 46, "low_energy_fixed_lighting_outlets_count": 1} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CF481ND/cert-8a1b88d2a80a.json b/tests/fixtures/epc_prediction/CF481ND/cert-8a1b88d2a80a.json new file mode 100644 index 00000000..9d90caac --- /dev/null +++ b/tests/fixtures/epc_prediction/CF481ND/cert-8a1b88d2a80a.json @@ -0,0 +1 @@ +{"uprn": 100100583979, "roofs": [{"description": "Pitched, 300 mm loft insulation", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"addendum_numbers": [15], "cavity_fill_recommended": "true"}, "lighting": {"description": "Good lighting efficiency", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "CF48 1ND", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 3, "created_at": "2026-04-13 11:55:01", "door_count": 2, "region_code": 12, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "shower_outlets": [{"shower_outlet": {"shower_wwhrs": 1, "shower_outlet_type": 1}}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10244}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 2, "window_width": 0.95, "window_height": 1.11, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 2, "window_width": 0.95, "window_height": 1.17, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 2, "window_width": 0.94, "window_height": 0.88, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 2, "window_width": 0.95, "window_height": 0.87, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 2, "window_width": 0.95, "window_height": 1.11, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 5, "window_type": 1, "glazing_type": 2, "window_width": 1.43, "window_height": 1.15, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 2, "window_width": 1.6, "window_height": 1.28, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 2, "window_width": 1.54, "window_height": 1.16, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 2, "window_width": 1.94, "window_height": 1.11, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "WLS", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "End-terrace house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-1c97797d61bf", "assessment_type": "RdSAP", "completion_date": "2026-04-13", "inspection_date": "2026-04-13", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 84, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2026-04-13", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "Y", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.23, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 42.07, "quantity": "square metres"}, "party_wall_length": {"value": 5.64, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 20.56, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.23, "quantity": "metres"}, "total_floor_area": {"value": 42.07, "quantity": "square metres"}, "party_wall_length": {"value": 5.64, "quantity": "metres"}, "heat_loss_perimeter": {"value": 20.56, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1017, "currency": "GBP"}, "insulated_door_count": 1, "co2_emissions_current": 3.1, "energy_rating_average": 60, "energy_rating_current": 71, "lighting_cost_current": {"value": 56, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 739, "currency": "GBP"}, "hot_water_cost_current": {"value": 216, "currency": "GBP"}, "insulated_door_u_value": 1.1, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 201, "currency": "GBP"}, "indicative_cost": "\u00a3900 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 75}, {"sequence": 2, "typical_saving": {"value": 77, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 77}, {"sequence": 3, "typical_saving": {"value": 214, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 81, "environmental_impact_rating": 78}], "co2_emissions_potential": 2.2, "energy_rating_potential": 81, "lighting_cost_potential": {"value": 56, "currency": "GBP"}, "schema_version_original": "21.0.1", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 84, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 76, "environmental_impact_rating": 77}}], "hot_water_cost_potential": {"value": 216, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2604.35, "space_heating_existing_dwelling": 10449.03}, "draughtproofed_door_count": 2, "energy_consumption_current": 205, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0342", "energy_consumption_potential": 140, "environmental_impact_current": 69, "current_energy_efficiency_band": "C", "environmental_impact_potential": 78, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 37, "low_energy_fixed_lighting_bulbs_count": 9, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CF481ND/cert-96d09ac53f57.json b/tests/fixtures/epc_prediction/CF481ND/cert-96d09ac53f57.json new file mode 100644 index 00000000..ea8a8f68 --- /dev/null +++ b/tests/fixtures/epc_prediction/CF481ND/cert-96d09ac53f57.json @@ -0,0 +1 @@ +{"uprn": 100100583982, "roofs": [{"description": "Pitched, 200 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, filled cavity", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "To unheated space, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Mostly double glazing", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "addendum": {"high_exposure": "true", "addendum_numbers": [8]}, "lighting": {"description": "Below average lighting efficiency", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "CF48 1ND", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "psv_count": 1, "built_form": 4, "created_at": "2026-05-14 10:00:59", "door_count": 2, "region_code": 5, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_outlet_type": 2}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 1, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 15709}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "orientation": 3, "window_type": 1, "glazing_type": 5, "window_width": {"value": 0.35, "quantity": "m"}, "window_height": {"value": 0.85, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": {"value": 1.37, "quantity": "m"}, "window_height": {"value": 1.19, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": {"value": 0.47, "quantity": "m"}, "window_height": {"value": 1.16, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": {"value": 1.46, "quantity": "m"}, "window_height": {"value": 1.16, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": {"value": 1.46, "quantity": "m"}, "window_height": {"value": 1.16, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": {"value": 1.45, "quantity": "m"}, "window_height": {"value": 0.89, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": {"value": 0.95, "quantity": "m"}, "window_height": {"value": 0.87, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "WLS", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Mid-terrace house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-5b9c3a723c39", "assessment_type": "RdSAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "extensions_count": 1, "measurement_type": 1, "open_flues_count": 0, "total_floor_area": 90, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 6, "other_flues_count": 0, "registration_date": "2026-05-14", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 2, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 50}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "closed_flues_count": 1, "extract_fans_count": 0, "lzc_energy_sources": [11], "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.4, "floor_insulation": 1, "total_floor_area": 40.58, "party_wall_length": 7.3, "floor_construction": 1, "heat_loss_perimeter": 12.6}, {"floor": 1, "room_height": 2.4, "total_floor_area": 42.34, "party_wall_length": 0, "heat_loss_perimeter": 11.6}], "wall_insulation_type": 2, "construction_age_band": "E", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "floor_heat_loss": 2, "roof_construction": 4, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.4, "floor_insulation": 1, "total_floor_area": 7.3, "party_wall_length": 7.3, "floor_construction": 3, "heat_loss_perimeter": 2}], "wall_insulation_type": 2, "construction_age_band": "E", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI"}], "boilers_flues_count": 0, "open_chimneys_count": 0, "solar_water_heating": "N", "habitable_room_count": 6, "heating_cost_current": {"value": 897, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.5, "energy_rating_average": 60, "energy_rating_current": 78, "lighting_cost_current": {"value": 86, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "blocked_chimneys_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 897, "currency": "GBP"}, "hot_water_cost_current": {"value": 306, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 89, "schema_version_current": "LIG-21.0", "co2_emissions_potential": 2.5, "energy_rating_potential": 78, "lighting_cost_potential": {"value": 86, "currency": "GBP"}, "schema_version_original": "LIG-21.0", "hot_water_cost_potential": {"value": 306, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2171.71, "space_heating_existing_dwelling": 8990.87}, "draughtproofed_door_count": 2, "energy_consumption_current": 151, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 96, "calculation_software_version": "10.2.2.0", "energy_consumption_potential": 151, "environmental_impact_current": 77, "cfl_fixed_lighting_bulbs_count": 3, "current_energy_efficiency_band": "C", "environmental_impact_potential": 77, "led_fixed_lighting_bulbs_count": 6, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 28, "incandescent_fixed_lighting_bulbs_count": 2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CF481ND/cert-ca16b6a09f55.json b/tests/fixtures/epc_prediction/CF481ND/cert-ca16b6a09f55.json new file mode 100644 index 00000000..a51ad681 --- /dev/null +++ b/tests/fixtures/epc_prediction/CF481ND/cert-ca16b6a09f55.json @@ -0,0 +1 @@ +{"uprn": 100100583978, "roofs": [{"description": "Pitched, 100 mm loft insulation", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "addendum": {"high_exposure": "true", "cavity_fill_recommended": "true"}, "lighting": {"description": "Low energy lighting in 38% of fixed outlets", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "CF48 1ND", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2013-11-05 14:52:28.000000", "door_count": 2, "glazed_area": 1, "region_code": 12, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "boiler_index_number": 10328, "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "main_heating_data_source": 1}], "has_fixed_air_conditioning": "false"}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.2", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-4bab845cdd7d", "schema_version": "LIG-16.1", "assessment_type": "RdSAP", "completion_date": "2013-11-05", "inspection_date": "2013-11-05", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 82, "transaction_type": 9, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2013-11-05", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.56, "floor_insulation": 1, "total_floor_area": 41.1, "floor_construction": 1, "heat_loss_perimeter": 20.28}, {"floor": 1, "room_height": 2.56, "total_floor_area": 41.1, "heat_loss_perimeter": 20.28}], "wall_insulation_type": 4, "construction_age_band": "D", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "100mm"}], "low_energy_lighting": 38, "solar_water_heating": "N", "bedf_revision_number": 350, "habitable_room_count": 5, "heating_cost_current": {"value": 642, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.6, "energy_rating_average": 60, "energy_rating_current": 62, "lighting_cost_current": {"value": 78, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, TRVs and bypass", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 424, "currency": "GBP"}, "hot_water_cost_current": {"value": 92, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 161, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 69}, {"sequence": 2, "typical_saving": {"value": 38, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W", "improvement_details": {"improvement_number": 47}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 72}, {"sequence": 3, "typical_saving": {"value": 26, "currency": "GBP"}, "indicative_cost": "\u00a325", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 73}, {"sequence": 4, "typical_saving": {"value": 22, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 74}, {"sequence": 5, "typical_saving": {"value": 27, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 76}, {"sequence": 6, "typical_saving": {"value": 250, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 85, "environmental_impact_rating": 85}], "co2_emissions_potential": 1.2, "energy_rating_potential": 85, "lighting_cost_potential": {"value": 48, "currency": "GBP"}, "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 32, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 71, "environmental_impact_rating": 71}}], "hot_water_cost_potential": {"value": 65, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2155, "impact_of_loft_insulation": -361, "impact_of_cavity_insulation": -3811, "space_heating_existing_dwelling": 11481}, "seller_commission_report": "Y", "energy_consumption_current": 228, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.12r02", "energy_consumption_potential": 71, "environmental_impact_current": 59, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "D", "environmental_impact_potential": 85, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 44, "low_energy_fixed_lighting_outlets_count": 3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CF481ND/cert-e54dae311758.json b/tests/fixtures/epc_prediction/CF481ND/cert-e54dae311758.json new file mode 100644 index 00000000..3ddff269 --- /dev/null +++ b/tests/fixtures/epc_prediction/CF481ND/cert-e54dae311758.json @@ -0,0 +1 @@ +{"uprn": 100100583984, "roofs": [{"description": {"value": "Pitched, 200 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Cavity wall, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "CF48 1ND", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 3, "created_at": "2022-02-08 15:37:48.597913", "door_count": 2, "glazed_area": 1, "glazing_gap": 12, "region_code": 12, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 0, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17998}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "end-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-bfdede980312", "assessment_type": "RdSAP", "completion_date": "2022-02-08", "inspection_date": "2022-02-08", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 83, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2022-02-08", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "Y", "wall_thickness": 250, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.43, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 41.4, "quantity": "square metres"}, "party_wall_length": {"value": 5.61, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 20.37, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.43, "quantity": "metres"}, "total_floor_area": {"value": 41.4, "quantity": "square metres"}, "party_wall_length": {"value": 5.61, "quantity": "metres"}, "heat_loss_perimeter": {"value": 20.37, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 610, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.6, "energy_rating_average": 60, "energy_rating_current": 68, "lighting_cost_current": {"value": 70, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 494, "currency": "GBP"}, "hot_water_cost_current": {"value": 84, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 79, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 69}, {"sequence": 2, "typical_saving": {"value": 37, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 71}, {"sequence": 3, "typical_saving": {"value": 25, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 73}, {"sequence": 4, "typical_saving": {"value": 349, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 85, "environmental_impact_rating": 82}], "co2_emissions_potential": 1.8, "energy_rating_potential": 85, "lighting_cost_potential": {"value": 70, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 66, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 74, "environmental_impact_rating": 73}}], "hot_water_cost_potential": {"value": 59, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2065, "impact_of_cavity_insulation": -1960, "space_heating_existing_dwelling": 12040}, "energy_consumption_current": 249, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.1.0", "energy_consumption_potential": 124, "environmental_impact_current": 64, "fixed_lighting_outlets_count": 6, "windows_transmission_details": {"u_value": 2.8, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 82, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 44, "low_energy_fixed_lighting_outlets_count": 6} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CF481ND/cert-f5de74d7fffc.json b/tests/fixtures/epc_prediction/CF481ND/cert-f5de74d7fffc.json new file mode 100644 index 00000000..9adc30d1 --- /dev/null +++ b/tests/fixtures/epc_prediction/CF481ND/cert-f5de74d7fffc.json @@ -0,0 +1 @@ +{"uprn": 100100583982, "roofs": [{"description": "Pitched, 300+ mm loft insulation", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": "Cavity wall, filled cavity", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "lighting": {"description": "Low energy lighting in 56% of fixed outlets", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "CF48 1ND", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2014-03-22 01:03:02.000000", "door_count": 2, "glazed_area": 1, "region_code": 12, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "boiler_index_number": 15709, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "main_heating_data_source": 1}], "secondary_heating_type": 691, "has_fixed_air_conditioning": "false"}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.3", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-36ccdeec409f", "schema_version": "LIG-16.0", "assessment_type": "RdSAP", "completion_date": "2014-03-22", "inspection_date": "2014-03-17", "extensions_count": 0, "measurement_type": 2, "total_floor_area": 71, "transaction_type": 11, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2014-03-22", "restricted_access": 1, "sap_energy_source": {"main_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, electric", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 320, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.46, "floor_insulation": 1, "total_floor_area": 40.07, "floor_construction": 1, "heat_loss_perimeter": 20.38}, {"floor": 1, "room_height": 2.45, "total_floor_area": 45.14, "heat_loss_perimeter": 13.72}], "wall_insulation_type": 2, "construction_age_band": "D", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm+"}], "low_energy_lighting": 56, "solar_water_heating": "N", "bedf_revision_number": 352, "habitable_room_count": 5, "heating_cost_current": {"value": 470, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": {"value": 2.4, "quantity": "tonnes per year"}, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 64, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 422, "currency": "GBP"}, "hot_water_cost_current": {"value": 91, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 51, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W", "improvement_details": {"improvement_number": 47}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 74}, {"sequence": 2, "typical_saving": {"value": 16, "currency": "GBP"}, "indicative_cost": "\u00a320", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 74}, {"sequence": 3, "typical_saving": {"value": 28, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 76}, {"sequence": 4, "typical_saving": {"value": 258, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 85, "environmental_impact_rating": 87}], "co2_emissions_potential": {"value": 0.9, "quantity": "tonnes per year"}, "energy_rating_potential": 85, "lighting_cost_potential": {"value": 44, "currency": "GBP"}, "hot_water_cost_potential": {"value": 64, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2021, "space_heating_existing_dwelling": 6285}, "seller_commission_report": "Y", "energy_consumption_current": 175, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": 4.3, "energy_consumption_potential": 67, "environmental_impact_current": 71, "fixed_lighting_outlets_count": 9, "current_energy_efficiency_band": "C", "environmental_impact_potential": 87, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": {"value": 33, "quantity": "kg/m2 per year"}, "low_energy_fixed_lighting_outlets_count": 5} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV15QJ/cert-1b4b3d26f79c.json b/tests/fixtures/epc_prediction/CV15QJ/cert-1b4b3d26f79c.json new file mode 100644 index 00000000..3be30e43 --- /dev/null +++ b/tests/fixtures/epc_prediction/CV15QJ/cert-1b4b3d26f79c.json @@ -0,0 +1 @@ +{"uprn": 10023041043, "roofs": [{"description": "Pitched, no insulation", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": "Roof room(s), no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "(other premises below)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "lighting": {"description": "Low energy lighting in 75% of fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "CV1 5QJ", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2013-02-25 19:32:18.000000", "door_count": 1, "glazed_area": 1, "region_code": 6, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 1}, "cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "boiler_index_number": 10126, "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "main_heating_data_source": 1}], "has_fixed_air_conditioning": "false"}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.2", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Top-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-aabfa9ca8950", "schema_version": "LIG-16.1", "assessment_type": "RdSAP", "completion_date": "2013-02-25", "inspection_date": "2013-02-25", "windows_u_value": 3.1, "extensions_count": 0, "measurement_type": 1, "sap_flat_details": {"level": 3, "top_storey": "Y", "flat_location": 1, "heat_loss_corridor": 0}, "total_floor_area": 94, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2013-02-25", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 3, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "Y", "wall_thickness": 300, "floor_heat_loss": 3, "sap_room_in_roof": {"floor_area": 20.81, "insulation": 0, "roof_room_connected": "N", "construction_age_band": "A"}, "roof_construction": 5, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.76, "floor_insulation": 0, "total_floor_area": 36.61, "floor_construction": 0, "heat_loss_perimeter": 10.46}, {"floor": 1, "room_height": 2.48, "total_floor_area": 36.61, "heat_loss_perimeter": 17.46}], "wall_insulation_type": 4, "construction_age_band": "A", "wall_thickness_measured": "Y", "roof_insulation_location": 5, "roof_insulation_thickness": "NI"}], "low_energy_lighting": 75, "solar_transmittance": 0.76, "solar_water_heating": "N", "windows_data_source": 2, "bedf_revision_number": 326, "habitable_room_count": 4, "heating_cost_current": {"value": 844, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.9, "energy_rating_average": 60, "energy_rating_current": 57, "lighting_cost_current": {"value": 69, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and room thermostat", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 701, "currency": "GBP"}, "hot_water_cost_current": {"value": 92, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 114.46967742651, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 58}, {"sequence": 2, "typical_saving": {"value": 11.8685139099777, "currency": "GBP"}, "indicative_cost": "\u00a315", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 59}, {"sequence": 3, "typical_saving": {"value": 31.0103752287298, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 60}], "co2_emissions_potential": 4.0, "energy_rating_potential": 64, "lighting_cost_potential": {"value": 55, "currency": "GBP"}, "hot_water_cost_potential": {"value": 92, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2213, "impact_of_loft_insulation": -1222, "impact_of_solid_wall_insulation": -3026, "space_heating_existing_dwelling": 17592}, "seller_commission_report": "Y", "energy_consumption_current": 269, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.4.0.0", "energy_consumption_potential": 221, "environmental_impact_current": 52, "fixed_lighting_outlets_count": 12, "current_energy_efficiency_band": "D", "environmental_impact_potential": 60, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "D", "co2_emissions_current_per_floor_area": 52, "low_energy_fixed_lighting_outlets_count": 9} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV15QJ/cert-346dc8ab15a0.json b/tests/fixtures/epc_prediction/CV15QJ/cert-346dc8ab15a0.json new file mode 100644 index 00000000..b2f3796f --- /dev/null +++ b/tests/fixtures/epc_prediction/CV15QJ/cert-346dc8ab15a0.json @@ -0,0 +1 @@ +{"uprn": 10091715280, "roofs": [{"description": "Pitched, 300+ mm loft insulation", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": "Solid brick, with internal insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, insulated", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, insulated (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "CV1 5QJ", "hot_water": {"description": "From main system, plus solar", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 3, "created_at": "2013-09-19 08:03:46.000000", "door_count": 2, "glazed_area": 1, "region_code": 6, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 12, "rooms_with_mixer_shower_no_bath": 12, "rooms_with_bath_and_mixer_shower": 0}, "cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 2, "main_heating_number": 1, "main_heating_control": 2110, "main_heating_category": 2, "main_heating_fraction": 0.5, "sap_main_heating_code": 104, "main_heating_data_source": 2}, {"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "main_heating_number": 2, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 0.5, "sap_main_heating_code": 104, "main_heating_data_source": 2}], "has_fixed_air_conditioning": "false"}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.2", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and underfloor heating, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "End-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-47376e649033", "schema_version": "LIG-16.1", "assessment_type": "RdSAP", "completion_date": "2013-09-19", "inspection_date": "2013-09-17", "extensions_count": 1, "measurement_type": 2, "total_floor_area": 340, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 15, "registration_date": "2013-09-19", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 1}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lzc_energy_sources": [10], "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 330, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.44, "floor_insulation": 2, "total_floor_area": 102.37, "floor_construction": 2, "heat_loss_perimeter": 19.5}, {"floor": 1, "room_height": 2.48, "total_floor_area": 102.37, "heat_loss_perimeter": 19.5}, {"floor": 2, "room_height": 2.47, "total_floor_area": 102.37, "heat_loss_perimeter": 19.5}], "wall_insulation_type": 3, "construction_age_band": "B", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm+", "wall_insulation_thickness": "100mm", "floor_insulation_thickness": "100mm"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 330, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.47, "floor_insulation": 1, "total_floor_area": 24.33, "floor_construction": 1, "heat_loss_perimeter": 17.5}, {"floor": 1, "room_height": 2.47, "total_floor_area": 24.33, "heat_loss_perimeter": 17.5}, {"floor": 2, "room_height": 2.47, "total_floor_area": 24.33, "heat_loss_perimeter": 17.5}], "wall_insulation_type": 4, "construction_age_band": "K", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm+"}], "low_energy_lighting": 100, "solar_water_heating": "Y", "bedf_revision_number": 344, "habitable_room_count": 15, "heating_cost_current": {"value": 1157, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 6.4, "energy_rating_average": 60, "energy_rating_current": 80, "lighting_cost_current": {"value": 112, "currency": "GBP"}, "main_heating_controls": [{"description": "Time and temperature zone control", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, {"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 1157, "currency": "GBP"}, "hot_water_cost_current": {"value": 79, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 233, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 83, "environmental_impact_rating": 80}], "co2_emissions_potential": 5.5, "energy_rating_potential": 83, "lighting_cost_potential": {"value": 112, "currency": "GBP"}, "hot_water_cost_potential": {"value": 79, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2423, "space_heating_existing_dwelling": 23272}, "seller_commission_report": "Y", "energy_consumption_current": 98, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.11r01", "energy_consumption_potential": 84, "environmental_impact_current": 77, "fixed_lighting_outlets_count": 19, "current_energy_efficiency_band": "C", "environmental_impact_potential": 80, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 19, "low_energy_fixed_lighting_outlets_count": 19} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV15QJ/cert-526df35482d7.json b/tests/fixtures/epc_prediction/CV15QJ/cert-526df35482d7.json new file mode 100644 index 00000000..2d341ea4 --- /dev/null +++ b/tests/fixtures/epc_prediction/CV15QJ/cert-526df35482d7.json @@ -0,0 +1 @@ +{"uprn": 100071318864, "roofs": [{"description": {"value": "Pitched, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Pitched, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": {"value": "Cavity wall, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "CV1 5QJ", "hot_water": {"description": {"value": "From main system, plus solar", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 3, "created_at": "2024-06-05 11:10:08", "door_count": 1, "glazed_area": 1, "region_code": 6, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 12, "rooms_with_mixer_shower_no_bath": 12, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 2, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2506, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "main_heating_data_source": 1, "main_heating_index_number": 16432}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Address Matched", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and underfloor heating, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "End-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-47376e649033", "assessment_type": "RdSAP", "completion_date": "2024-06-05", "inspection_date": "2024-05-16", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 358, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 15, "registration_date": "2024-06-05", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lzc_energy_sources": [10], "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "Y", "wall_thickness": 330, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.42, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 92.22, "quantity": "square metres"}, "party_wall_length": {"value": 9.44, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 19.54, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.39, "quantity": "metres"}, "total_floor_area": {"value": 92.22, "quantity": "square metres"}, "party_wall_length": {"value": 9.44, "quantity": "metres"}, "heat_loss_perimeter": {"value": 19.54, "quantity": "metres"}}, {"floor": 2, "room_height": {"value": 2.6, "quantity": "metres"}, "total_floor_area": {"value": 92.22, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "heat_loss_perimeter": {"value": 28.98, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 340, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 27.12, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 16.74, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 27.12, "quantity": "square metres"}, "party_wall_length": 0, "heat_loss_perimeter": {"value": 16.74, "quantity": "metres"}}, {"floor": 2, "room_height": 2.55, "total_floor_area": 27.12, "party_wall_length": 0, "heat_loss_perimeter": 16.74}], "wall_insulation_type": 4, "construction_age_band": "L", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "Y", "habitable_room_count": 15, "heating_cost_current": {"value": 4137, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 9.6, "energy_rating_average": 60, "energy_rating_current": 74, "lighting_cost_current": {"value": 312, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 3559, "currency": "GBP"}, "hot_water_cost_current": {"value": 310, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 578, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 70}, {"sequence": 2, "typical_saving": {"value": 651, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 80, "environmental_impact_rating": 73}], "co2_emissions_potential": 7.4, "energy_rating_potential": 80, "lighting_cost_potential": {"value": 312, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 310, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3388, "impact_of_loft_insulation": -7391, "impact_of_solid_wall_insulation": -6108, "space_heating_existing_dwelling": 36564}, "energy_consumption_current": 152, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "v94.0.2.1", "energy_consumption_potential": 117, "environmental_impact_current": 66, "fixed_lighting_outlets_count": 34, "current_energy_efficiency_band": "C", "environmental_impact_potential": 73, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 27, "low_energy_fixed_lighting_outlets_count": 34} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV15QJ/cert-73d50930d0ac.json b/tests/fixtures/epc_prediction/CV15QJ/cert-73d50930d0ac.json new file mode 100644 index 00000000..3b5bd513 --- /dev/null +++ b/tests/fixtures/epc_prediction/CV15QJ/cert-73d50930d0ac.json @@ -0,0 +1 @@ +{"uprn": 10091715280, "roofs": [{"description": "(another dwelling above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "(another dwelling below)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "lighting": {"description": "Good lighting efficiency", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "CV1 5QJ", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "psv_count": 2, "built_form": "NR", "created_at": "2026-05-14 10:00:09", "door_count": 2, "region_code": 6, "report_type": 2, "sap_heating": {"number_baths": 0, "cylinder_size": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_outlet_type": 1}, {"shower_wwhrs": 1, "shower_outlet_type": 1}, {"shower_wwhrs": 1, "shower_outlet_type": 1}, {"shower_wwhrs": 1, "shower_outlet_type": 1}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 15871}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 1, "window_height": 2, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 1, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 3, "window_type": 1, "glazing_type": 3, "window_width": 1.25, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 3, "window_type": 1, "glazing_type": 3, "window_width": 1.25, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 1, "window_height": 1, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 7, "window_type": 1, "glazing_type": 3, "window_width": 1.25, "window_height": 1, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Mid-floor flat", "language_code": 1, "pressure_test": 4, "property_type": 2, "address_line_1": "addr-d1de8bce7cb5", "address_line_2": "", "address_line_3": "", "assessment_type": "RdSAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-12", "extensions_count": 1, "measurement_type": 1, "sap_flat_details": {"level": 2, "top_storey": "N", "storey_count": 3, "flat_location": 2, "heat_loss_corridor": 1}, "total_floor_area": 94, "transaction_type": 8, "conservatory_type": 1, "has_draught_lobby": "true", "heated_room_count": 5, "registration_date": "2026-05-14", "sap_energy_source": {"mains_gas": "Y", "meter_type": 1, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "extract_fans_count": 3, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "Y", "wall_thickness": 300, "floor_heat_loss": 6, "roof_construction": 3, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.35, "quantity": "metres"}, "total_floor_area": {"value": 81, "quantity": "square metres"}, "party_wall_length": {"value": 9, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": "ND", "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 6, "roof_construction": 3, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.3, "quantity": "metres"}, "total_floor_area": {"value": 12.5, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "heat_loss_perimeter": {"value": 10, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "K", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": "ND", "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 470, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 1.9, "energy_rating_average": 60, "energy_rating_current": 79, "lighting_cost_current": {"value": 79, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 350, "currency": "GBP"}, "hot_water_cost_current": {"value": 339, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 118, "currency": "GBP"}, "indicative_cost": "\u00a37,500 - \u00a311,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 81, "environmental_impact_rating": 84}], "co2_emissions_potential": 1.6, "energy_rating_potential": 81, "lighting_cost_potential": {"value": 79, "currency": "GBP"}, "schema_version_original": "21.0.1", "hot_water_cost_potential": {"value": 341, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3873.12, "space_heating_existing_dwelling": 3755.81}, "draughtproofed_door_count": 2, "energy_consumption_current": 114, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0344", "energy_consumption_potential": 95, "environmental_impact_current": 81, "current_energy_efficiency_band": "C", "environmental_impact_potential": 84, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 21, "low_energy_fixed_lighting_bulbs_count": 12, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV15QJ/cert-8105f351163f.json b/tests/fixtures/epc_prediction/CV15QJ/cert-8105f351163f.json new file mode 100644 index 00000000..318a9235 --- /dev/null +++ b/tests/fixtures/epc_prediction/CV15QJ/cert-8105f351163f.json @@ -0,0 +1 @@ +{"uprn": 10093945833, "roofs": [{"description": {"value": "Pitched, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Roof room(s), no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Cavity wall, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "CV1 5QJ", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2021-04-18 12:35:07.312492", "door_count": 1, "glazed_area": 1, "glazing_gap": "16+", "region_code": 6, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2102, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17815}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Top-floor flat", "language": "1"}, "language_code": 1, "property_type": 2, "address_line_1": "addr-2c1f9f08074c", "address_line_2": "", "address_line_3": "", "assessment_type": "RdSAP", "completion_date": "2021-04-18", "inspection_date": "2021-04-15", "extensions_count": 0, "measurement_type": 1, "sap_flat_details": {"level": 3, "top_storey": "Y", "flat_location": 1, "heat_loss_corridor": 0}, "total_floor_area": 94, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2021-04-18", "sap_energy_source": {"mains_gas": "Y", "meter_type": 1, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 290, "floor_heat_loss": 3, "sap_room_in_roof": {"floor_area": 33.52, "insulation": "AB", "roof_room_connected": "N", "construction_age_band": "C"}, "roof_construction": 5, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 3.12, "quantity": "metres"}, "total_floor_area": {"value": 60.45, "quantity": "square metres"}, "party_wall_length": {"value": 15.58, "quantity": "metres"}, "heat_loss_perimeter": {"value": 15.52, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1117, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 6.3, "energy_rating_average": 60, "energy_rating_current": 50, "lighting_cost_current": {"value": 86, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, no room thermostat", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 597, "currency": "GBP"}, "hot_water_cost_current": {"value": 101, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 351, "currency": "GBP"}, "indicative_cost": "\u00a31,500 - \u00a32,700", "improvement_type": "A3", "improvement_details": {"improvement_number": 46}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 57}, {"sequence": 2, "typical_saving": {"value": 60, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 60}, {"sequence": 3, "typical_saving": {"value": 109, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 12}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 66}], "co2_emissions_potential": 3.4, "energy_rating_potential": 69, "lighting_cost_potential": {"value": 86, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 31, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 67, "environmental_impact_rating": 62}}], "hot_water_cost_potential": {"value": 102, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2208, "impact_of_loft_insulation": -2210, "impact_of_cavity_insulation": -1077, "space_heating_existing_dwelling": 21166}, "energy_consumption_current": 377, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "v94.0.1.1", "energy_consumption_potential": 207, "environmental_impact_current": 42, "fixed_lighting_outlets_count": 9, "current_energy_efficiency_band": "E", "environmental_impact_potential": 66, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 67, "low_energy_fixed_lighting_outlets_count": 9} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV15QJ/cert-840682d5f191.json b/tests/fixtures/epc_prediction/CV15QJ/cert-840682d5f191.json new file mode 100644 index 00000000..90bf923f --- /dev/null +++ b/tests/fixtures/epc_prediction/CV15QJ/cert-840682d5f191.json @@ -0,0 +1 @@ +{"uprn": 10091715281, "roofs": [{"description": "Pitched, 300 mm loft insulation", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "(another dwelling below)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "lighting": {"description": "Good lighting efficiency", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "CV1 5QJ", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "psv_count": 2, "built_form": "NR", "created_at": "2026-05-14 10:01:40", "door_count": 2, "region_code": 6, "report_type": 2, "sap_heating": {"number_baths": 0, "cylinder_size": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_outlet_type": 1}, {"shower_wwhrs": 1, "shower_outlet_type": 1}, {"shower_wwhrs": 1, "shower_outlet_type": 1}, {"shower_wwhrs": 1, "shower_outlet_type": 1}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 15871}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 1, "window_height": 2, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 1, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 3, "window_type": 1, "glazing_type": 3, "window_width": 1.25, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 3, "window_type": 1, "glazing_type": 3, "window_width": 1.25, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 1, "window_height": 1, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 7, "window_type": 1, "glazing_type": 3, "window_width": 1.25, "window_height": 1, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Top-floor flat", "language_code": 1, "pressure_test": 4, "property_type": 2, "address_line_1": "addr-f373092c4df8", "address_line_2": "", "address_line_3": "", "assessment_type": "RdSAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-12", "extensions_count": 1, "measurement_type": 1, "sap_flat_details": {"level": 3, "top_storey": "Y", "storey_count": 3, "flat_location": 3, "heat_loss_corridor": 1}, "total_floor_area": 94, "transaction_type": 8, "conservatory_type": 1, "has_draught_lobby": "true", "heated_room_count": 5, "registration_date": "2026-05-14", "sap_energy_source": {"mains_gas": "Y", "meter_type": 1, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "extract_fans_count": 3, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "Y", "wall_thickness": 300, "floor_heat_loss": 6, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.35, "quantity": "metres"}, "total_floor_area": {"value": 81, "quantity": "square metres"}, "party_wall_length": {"value": 9, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 6, "roof_construction": 4, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.3, "quantity": "metres"}, "total_floor_area": {"value": 12.5, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "heat_loss_perimeter": {"value": 10, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "K", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm", "wall_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 585, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.2, "energy_rating_average": 60, "energy_rating_current": 76, "lighting_cost_current": {"value": 79, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 468, "currency": "GBP"}, "hot_water_cost_current": {"value": 337, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 115, "currency": "GBP"}, "indicative_cost": "\u00a37,500 - \u00a311,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 81}], "co2_emissions_potential": 1.9, "energy_rating_potential": 79, "lighting_cost_potential": {"value": 79, "currency": "GBP"}, "schema_version_original": "21.0.1", "hot_water_cost_potential": {"value": 339, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3873.12, "space_heating_existing_dwelling": 5145.26}, "draughtproofed_door_count": 2, "energy_consumption_current": 133, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0344", "energy_consumption_potential": 114, "environmental_impact_current": 77, "current_energy_efficiency_band": "C", "environmental_impact_potential": 81, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 24, "low_energy_fixed_lighting_bulbs_count": 12, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV15QJ/cert-f9dee3ea91ac.json b/tests/fixtures/epc_prediction/CV15QJ/cert-f9dee3ea91ac.json new file mode 100644 index 00000000..5e45efe5 --- /dev/null +++ b/tests/fixtures/epc_prediction/CV15QJ/cert-f9dee3ea91ac.json @@ -0,0 +1 @@ +{"uprn": 10091715279, "roofs": [{"description": "(another dwelling above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, insulated (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "lighting": {"description": "Good lighting efficiency", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "CV1 5QJ", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "psv_count": 2, "built_form": "NR", "created_at": "2026-05-14 09:57:46", "door_count": 2, "region_code": 6, "report_type": 2, "sap_heating": {"number_baths": 0, "cylinder_size": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_outlet_type": 1}, {"shower_wwhrs": 1, "shower_outlet_type": 1}, {"shower_wwhrs": 1, "shower_outlet_type": 1}, {"shower_wwhrs": 1, "shower_outlet_type": 1}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 15871}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 1, "window_height": 2, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 1, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 3, "window_type": 1, "glazing_type": 3, "window_width": 1.25, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 3, "window_type": 1, "glazing_type": 3, "window_width": 1.25, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 7, "window_type": 1, "glazing_type": 3, "window_width": 1, "window_height": 2, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 7, "window_type": 1, "glazing_type": 3, "window_width": 1.25, "window_height": 1, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Ground-floor flat", "language_code": 1, "pressure_test": 4, "property_type": 2, "address_line_1": "addr-d7a935fce462", "address_line_2": "", "address_line_3": "", "assessment_type": "RdSAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-12", "extensions_count": 1, "measurement_type": 1, "sap_flat_details": {"level": 1, "top_storey": "N", "storey_count": 3, "flat_location": 1, "heat_loss_corridor": 1}, "total_floor_area": 94, "transaction_type": 8, "conservatory_type": 1, "has_draught_lobby": "true", "heated_room_count": 5, "registration_date": "2026-05-14", "sap_energy_source": {"mains_gas": "Y", "meter_type": 1, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "extract_fans_count": 3, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "Y", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 3, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.35, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 81, "quantity": "square metres"}, "party_wall_length": {"value": 9, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 18, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": "ND", "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 3, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.3, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 12.5, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 10, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "K", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": "ND", "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 682, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.5, "energy_rating_average": 60, "energy_rating_current": 75, "lighting_cost_current": {"value": 77, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 520, "currency": "GBP"}, "hot_water_cost_current": {"value": 336, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 110, "currency": "GBP"}, "indicative_cost": "\u00a37,500 - \u00a311,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 78}, {"sequence": 2, "typical_saving": {"value": 50, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 79}], "co2_emissions_potential": 2.1, "energy_rating_potential": 78, "lighting_cost_potential": {"value": 77, "currency": "GBP"}, "schema_version_original": "21.0.1", "hot_water_cost_potential": {"value": 338, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3873.12, "space_heating_existing_dwelling": 6315.87}, "draughtproofed_door_count": 2, "energy_consumption_current": 148, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0344", "energy_consumption_potential": 122, "environmental_impact_current": 75, "current_energy_efficiency_band": "C", "environmental_impact_potential": 79, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 27, "low_energy_fixed_lighting_bulbs_count": 12, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV15QJ/cert-fc5fe3d2a055.json b/tests/fixtures/epc_prediction/CV15QJ/cert-fc5fe3d2a055.json new file mode 100644 index 00000000..4952df0a --- /dev/null +++ b/tests/fixtures/epc_prediction/CV15QJ/cert-fc5fe3d2a055.json @@ -0,0 +1 @@ +{"uprn": 10023041043, "roofs": [{"description": {"value": "Pitched, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Roof room(s), no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"system_build": "true"}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "CV1 5QJ", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2023-08-29 22:03:05", "door_count": 1, "glazed_area": 2, "glazing_gap": "16+", "region_code": 6, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2101, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 16946}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Top-floor flat", "language": "1"}, "language_code": 1, "property_type": 2, "address_line_1": "addr-13df2ac3f160", "assessment_type": "RdSAP", "completion_date": "2023-08-29", "inspection_date": "2023-08-27", "extensions_count": 0, "measurement_type": 1, "sap_flat_details": {"level": 3, "top_storey": "Y", "flat_location": 1, "heat_loss_corridor": 0}, "total_floor_area": 93, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2023-08-29", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 250, "floor_heat_loss": 3, "sap_room_in_roof": {"floor_area": 19.02, "insulation": "AB", "roof_room_connected": "N", "construction_age_band": "B"}, "roof_construction": 5, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.74, "quantity": "metres"}, "total_floor_area": {"value": 36.78, "quantity": "square metres"}, "party_wall_length": {"value": 14.04, "quantity": "metres"}, "heat_loss_perimeter": {"value": 10.48, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.45, "quantity": "metres"}, "total_floor_area": {"value": 36.78, "quantity": "square metres"}, "party_wall_length": {"value": 8.42, "quantity": "metres"}, "heat_loss_perimeter": {"value": 16.01, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 2434, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 5.6, "energy_rating_average": 60, "energy_rating_current": 55, "lighting_cost_current": {"value": 145, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "No time or thermostatic control of room temperature", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 1111, "currency": "GBP"}, "hot_water_cost_current": {"value": 226, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 648, "currency": "GBP"}, "indicative_cost": "\u00a31,500 - \u00a32,700", "improvement_type": "A3", "improvement_details": {"improvement_number": 46}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 58}, {"sequence": 2, "typical_saving": {"value": 459, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 68}, {"sequence": 3, "typical_saving": {"value": 216, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 11}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 72}], "co2_emissions_potential": 2.8, "energy_rating_potential": 74, "lighting_cost_potential": {"value": 145, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 226, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1962, "impact_of_loft_insulation": -1563, "impact_of_solid_wall_insulation": -3357, "space_heating_existing_dwelling": 18779}, "energy_consumption_current": 340, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "v94.0.1.1", "energy_consumption_potential": 170, "environmental_impact_current": 46, "fixed_lighting_outlets_count": 10, "current_energy_efficiency_band": "D", "environmental_impact_potential": 72, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 60, "low_energy_fixed_lighting_outlets_count": 10} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV78UG/cert-0246fdfa9718.json b/tests/fixtures/epc_prediction/CV78UG/cert-0246fdfa9718.json new file mode 100644 index 00000000..caf957e2 --- /dev/null +++ b/tests/fixtures/epc_prediction/CV78UG/cert-0246fdfa9718.json @@ -0,0 +1 @@ +{"der": 11.37, "ter": 11.93, "dfee": 42.7, "dper": 59.84, "tfee": 43.1, "tper": 62.41, "uprn": 10097098999, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.24 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": 1, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Excellent lighting efficiency", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "CV7 8UG", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2026-05-22 13:06:38", "living_area": 12.6, "orientation": 7, "region_code": 6, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}, {"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}], "water_fuel_type": 1, "water_heating_code": 901, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 1, "heat_emitter_type": 1, "is_flue_fan_present": "true", "main_heating_number": 1, "control_index_number": 200122, "is_condensing_boiler": "true", "main_heating_control": 2110, "is_interlocked_system": "true", "main_heating_category": 2, "main_heating_fraction": 1, "gas_or_oil_boiler_type": 2, "main_heating_flue_type": 2, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 17929, "has_separate_delayed_start": "false", "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "condensing_boiler_heat_distribution": 55, "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "false", "has_cylinder_thermostat": "true", "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "true", "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 4}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 11, "lighting_efficacy": 90}, {"lighting_power": 8, "lighting_outlets": 11, "lighting_efficacy": 100}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.6 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Detached house", "language_code": 1, "property_type": 0, "pv_connection": 2, "address_line_1": "addr-a23e38688c10", "address_line_2": "", "assessment_date": "2026-05-22", "assessment_type": "SAP", "completion_date": "2026-05-22", "inspection_date": "2026-05-22", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.56, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 1, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500755, "is_mechanical_vent_approved_installer_scheme": "true"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 97, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-22", "sap_energy_source": {"pv_arrays": [{"pitch": 2, "peak_power": 2.68, "orientation": 3, "overshading": 1}], "electricity_tariff": 1}, "sap_opening_types": [{"name": "front door", "type": 1, "u_value": 1.4, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "utility rear door", "type": 2, "u_value": 1.1, "data_source": 2, "glazing_type": 7, "isargonfilled": "false"}, {"name": "garage door", "type": 1, "u_value": 0.82, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "glazing", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.46}, {"name": "french door", "type": 4, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.71}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 50.9, "lzc_energy_sources": [11], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 50.9}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.24, "wall_type": 2, "kappa_value": 60, "total_wall_area": 145.59, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 148.1, "is_curtain_walling": "false"}, {"name": "Internal Wall (2)", "u_value": 0, "wall_type": 5, "kappa_value": 75, "total_wall_area": 22.3, "is_curtain_walling": "false"}], "sap_openings": [{"name": "front entrance", "type": "front door", "width": 2.1, "height": 1, "location": "Walls (1)", "orientation": 7}, {"name": "utility door", "type": "utility rear door", "width": 2.1, "height": 1, "location": "Walls (1)", "orientation": 1}, {"name": "front", "type": "glazing", "width": 6.25, "height": 1, "location": "Walls (1)", "orientation": 7}, {"name": "rear", "type": "glazing", "width": 4.3, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "side", "type": "glazing", "width": 1.6, "height": 1, "location": "Walls (1)", "orientation": 1}, {"name": "rear", "type": "french door", "width": 5, "height": 1, "location": "Walls (1)", "orientation": 3}], "construction_year": 2023, "sap_thermal_bridges": {"thermal_bridges": [{"length": 6.9, "psi_value": 0.043, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 7.9, "psi_value": 0.021, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 10.3, "psi_value": 0.009, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 33.6, "psi_value": 0.014, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 31, "psi_value": 0.054, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 14.3, "psi_value": 0.08, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 19.8, "psi_value": 0.048, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 27.5, "psi_value": 0.003, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 22.35, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 2.39, "psi_value": -0.094, "psi_value_source": 1, "thermal_bridge_type": "E17"}, {"length": 3, "psi_value": 0.15, "psi_value_source": 4, "thermal_bridge_type": "E24"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.11, "floor_type": 2, "kappa_value": 75, "storey_height": 2.39, "heat_loss_area": 50.9, "total_floor_area": 50.9}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 45.7, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 389, "currency": "GBP"}, "co2_emissions_current": 1.1, "energy_rating_average": 60, "energy_rating_current": 93, "lighting_cost_current": {"value": 57, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 389, "currency": "GBP"}, "hot_water_cost_current": {"value": 194, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 1.1, "energy_rating_potential": 93, "gas_smart_meter_present": "true", "lighting_cost_potential": {"value": 57, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 194, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 57, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 57, "environmental_impact_current": 90, "current_energy_efficiency_band": "A", "environmental_impact_potential": 90, "electricity_smart_meter_present": "true", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 10.9} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV78UG/cert-2e6f5943059a.json b/tests/fixtures/epc_prediction/CV78UG/cert-2e6f5943059a.json new file mode 100644 index 00000000..800d4df9 --- /dev/null +++ b/tests/fixtures/epc_prediction/CV78UG/cert-2e6f5943059a.json @@ -0,0 +1 @@ +{"der": 11.64, "ter": 12.12, "dfee": 43.1, "dper": 61.35, "tfee": 44.3, "tper": 63.46, "uprn": 10097098981, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.24 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.12 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": 1, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Excellent lighting efficiency", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "CV7 8UG", "data_type": 2, "hot_water": {"description": {"value": "From main system, waste water heat recovery", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 1, "created_at": "2025-11-24 12:20:06", "living_area": 13.2, "orientation": 1, "region_code": 6, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 2, "shower_flow_rate": 8, "shower_outlet_type": 3}, {"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}], "water_fuel_type": 1, "water_heating_code": 901, "instantaneous_wwhrs": {"wwhrs_index_number1": 80179}, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 1, "heat_emitter_type": 1, "is_flue_fan_present": "true", "main_heating_number": 1, "control_index_number": 200122, "is_condensing_boiler": "true", "main_heating_control": 2110, "is_interlocked_system": "true", "main_heating_category": 2, "main_heating_fraction": 1, "gas_or_oil_boiler_type": 2, "main_heating_flue_type": 2, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 17929, "has_separate_delayed_start": "false", "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "condensing_boiler_heat_distribution": 55, "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "false", "has_cylinder_thermostat": "true", "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "true", "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 4}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 10, "lighting_efficacy": 90}, {"lighting_power": 8, "lighting_outlets": 12, "lighting_efficacy": 100}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.7 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Detached house", "language_code": 1, "property_type": 0, "pv_connection": 2, "address_line_1": "addr-dccb0b543799", "assessment_date": "2025-11-24", "assessment_type": "SAP", "completion_date": "2025-11-24", "inspection_date": "2025-11-24", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.65, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 1, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500755, "is_mechanical_vent_approved_installer_scheme": "true"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 98, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2025-11-24", "sap_energy_source": {"pv_arrays": [{"pitch": 3, "peak_power": 1.67, "orientation": 5, "overshading": 1}], "electricity_tariff": 1}, "sap_opening_types": [{"name": "front door", "type": 1, "u_value": 1.4, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "utility rear door", "type": 2, "u_value": 1.1, "data_source": 2, "glazing_type": 7, "isargonfilled": "false"}, {"name": "glazing", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.46}, {"name": "french door", "type": 4, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.71}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 52.6, "lzc_energy_sources": [11], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 54.5}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.24, "wall_type": 2, "kappa_value": 60, "total_wall_area": 114.89, "is_curtain_walling": "false"}, {"name": "Walls (2)", "u_value": 0.26, "wall_type": 2, "kappa_value": 60, "total_wall_area": 27.83, "is_curtain_walling": "false"}, {"name": "Walls (3)", "u_value": 0.27, "wall_type": 3, "kappa_value": 9, "total_wall_area": 20.94, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 152.3, "is_curtain_walling": "false"}, {"name": "Internal Wall (2)", "u_value": 0, "wall_type": 5, "kappa_value": 75, "total_wall_area": 17.3, "is_curtain_walling": "false"}], "sap_openings": [{"name": "front entrance", "type": "front door", "width": 2, "height": 1, "location": "Walls (1)", "orientation": 1}, {"name": "front", "type": "glazing", "width": 1.4, "height": 1, "location": "Walls (2)", "orientation": 1}, {"name": "front", "type": "glazing", "width": 3, "height": 1, "location": "Walls (1)", "orientation": 1}, {"name": "rear", "type": "glazing", "width": 3.2, "height": 1, "location": "Walls (2)", "orientation": 5}, {"name": "rear", "type": "glazing", "width": 3, "height": 1, "location": "Walls (1)", "orientation": 5}, {"name": "rear french door", "type": "french door", "width": 3.15, "height": 1, "location": "Walls (2)", "orientation": 5}, {"name": "side", "type": "glazing", "width": 0.85, "height": 1, "location": "Walls (2)", "orientation": 3}, {"name": "side", "type": "glazing", "width": 0.7, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "side", "type": "glazing", "width": 1.55, "height": 1, "location": "Walls (2)", "orientation": 7}], "construction_year": 2023, "sap_thermal_bridges": {"thermal_bridges": [{"length": 10.4, "psi_value": 0.043, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 3.7, "psi_value": 0.021, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 11.6, "psi_value": 0.009, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 30.6, "psi_value": 0.014, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 26.6, "psi_value": 0.054, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 7.9, "psi_value": 0.29, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 7.9, "psi_value": 0.068, "psi_value_source": 1, "thermal_bridge_type": "E20"}, {"length": 7.9, "psi_value": 0.05, "psi_value_source": 1, "thermal_bridge_type": "E21"}, {"length": 17.7, "psi_value": 0.08, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 19.8, "psi_value": 0.048, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 23.5, "psi_value": 0, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 24.75, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 1.5, "psi_value": 0.18, "psi_value_source": 4, "thermal_bridge_type": "E16"}, {"length": 4.99, "psi_value": -0.094, "psi_value_source": 1, "thermal_bridge_type": "E17"}, {"length": 3.7, "psi_value": 0.15, "psi_value_source": 4, "thermal_bridge_type": "E24"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.12, "floor_type": 2, "kappa_value": 75, "storey_height": 2.66, "heat_loss_area": 45, "total_floor_area": 45}, {"storey": 0, "u_value": 0.12, "floor_type": 3, "kappa_value": 20, "storey_height": 2.66, "heat_loss_area": 9.1, "total_floor_area": 45}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.33, "heat_loss_area": 0, "total_floor_area": 52.6, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 373, "currency": "GBP"}, "co2_emissions_current": 1.1, "energy_rating_average": 60, "energy_rating_current": 92, "lighting_cost_current": {"value": 59, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 373, "currency": "GBP"}, "hot_water_cost_current": {"value": 154, "currency": "GBP"}, "user_interface_version": "2.25.1", "co2_emissions_potential": 1.1, "energy_rating_potential": 92, "gas_smart_meter_present": "true", "lighting_cost_potential": {"value": 59, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 154, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 59, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.25.1", "energy_consumption_potential": 59, "environmental_impact_current": 90, "current_energy_efficiency_band": "A", "environmental_impact_potential": 90, "electricity_smart_meter_present": "true", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 11.2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV78UG/cert-7d9beea6555e.json b/tests/fixtures/epc_prediction/CV78UG/cert-7d9beea6555e.json new file mode 100644 index 00000000..eeb38367 --- /dev/null +++ b/tests/fixtures/epc_prediction/CV78UG/cert-7d9beea6555e.json @@ -0,0 +1 @@ +{"der": 10.7, "ter": 11.01, "dfee": 40.2, "dper": 56.19, "tfee": 40.8, "tper": 57.52, "uprn": 10097098980, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.24 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.12 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": 1, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Excellent lighting efficiency", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "CV7 8UG", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2025-12-19 15:25:17", "living_area": 16.4, "orientation": 8, "region_code": 6, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}, {"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}], "water_fuel_type": 1, "water_heating_code": 901, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 1, "heat_emitter_type": 1, "is_flue_fan_present": "true", "main_heating_number": 1, "control_index_number": 200122, "is_condensing_boiler": "true", "main_heating_control": 2110, "is_interlocked_system": "true", "main_heating_category": 2, "main_heating_fraction": 1, "gas_or_oil_boiler_type": 2, "main_heating_flue_type": 2, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 17929, "has_separate_delayed_start": "false", "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "condensing_boiler_heat_distribution": 55, "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "false", "has_cylinder_thermostat": "true", "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "true", "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 4}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 11, "lighting_efficacy": 90}, {"lighting_power": 8, "lighting_outlets": 11, "lighting_efficacy": 100}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.1 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Detached house", "language_code": 1, "property_type": 0, "pv_connection": 2, "address_line_1": "addr-011727993035", "assessment_date": "2025-12-19", "assessment_type": "SAP", "completion_date": "2025-12-19", "inspection_date": "2025-12-19", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.1, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 1, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500755, "is_mechanical_vent_approved_installer_scheme": "true"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 110, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2025-12-19", "sap_energy_source": {"pv_arrays": [{"pitch": 2, "peak_power": 2.34, "orientation": 4, "overshading": 1}], "electricity_tariff": 1}, "sap_opening_types": [{"name": "front door", "type": 1, "u_value": 1.4, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "utility rear door", "type": 2, "u_value": 1.1, "data_source": 2, "glazing_type": 7, "isargonfilled": "false"}, {"name": "garage door", "type": 1, "u_value": 0.82, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "glazing", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.46}, {"name": "french door", "type": 4, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.71}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 55.1, "lzc_energy_sources": [11], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 55.1}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.24, "wall_type": 2, "kappa_value": 60, "total_wall_area": 147.54, "is_curtain_walling": "false"}, {"name": "Walls (2)", "u_value": 0.26, "wall_type": 2, "kappa_value": 60, "total_wall_area": 7.65, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 174.3, "is_curtain_walling": "false"}, {"name": "Internal Wall (2)", "u_value": 0, "wall_type": 5, "kappa_value": 75, "total_wall_area": 27.6, "is_curtain_walling": "false"}], "sap_openings": [{"name": "front entrance", "type": "front door", "width": 2.1, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "utility door", "type": "utility rear door", "width": 2.1, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "front", "type": "glazing", "width": 7.85, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "rear", "type": "glazing", "width": 3, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "side", "type": "glazing", "width": 0.7, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "rear", "type": "french door", "width": 5, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "rear", "type": "glazing", "width": 1.85, "height": 1, "location": "Walls (2)", "orientation": 4}, {"name": "side", "type": "glazing", "width": 0.7, "height": 1, "location": "Walls (1)", "orientation": 6}], "construction_year": 2023, "sap_thermal_bridges": {"thermal_bridges": [{"length": 12.6, "psi_value": 0.043, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 3.7, "psi_value": 0.021, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 11.9, "psi_value": 0.009, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 33.6, "psi_value": 0.014, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 31.1, "psi_value": 0.054, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 11.3, "psi_value": 0.08, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 19.8, "psi_value": 0.048, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 31.1, "psi_value": 0, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 29.94, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 9.98, "psi_value": -0.094, "psi_value_source": 1, "thermal_bridge_type": "E17"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.12, "floor_type": 2, "kappa_value": 75, "storey_height": 2.39, "heat_loss_area": 55.1, "total_floor_area": 55.1}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 55.1, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 383, "currency": "GBP"}, "co2_emissions_current": 1.1, "energy_rating_average": 60, "energy_rating_current": 93, "lighting_cost_current": {"value": 64, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 383, "currency": "GBP"}, "hot_water_cost_current": {"value": 178, "currency": "GBP"}, "user_interface_version": "2.25.1", "co2_emissions_potential": 1.1, "energy_rating_potential": 93, "gas_smart_meter_present": "true", "lighting_cost_potential": {"value": 64, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 178, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 54, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.25.1", "energy_consumption_potential": 54, "environmental_impact_current": 90, "current_energy_efficiency_band": "A", "environmental_impact_potential": 90, "electricity_smart_meter_present": "true", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 10.3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV78UG/cert-89894e90fc9c.json b/tests/fixtures/epc_prediction/CV78UG/cert-89894e90fc9c.json new file mode 100644 index 00000000..9356e050 --- /dev/null +++ b/tests/fixtures/epc_prediction/CV78UG/cert-89894e90fc9c.json @@ -0,0 +1 @@ +{"der": 9.97, "ter": 10.29, "dfee": 34.3, "dper": 51.68, "tfee": 35.3, "tper": 53.73, "uprn": 10097098982, "roofs": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.23 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.12 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": 1, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Excellent lighting efficiency", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "CV7 8UG", "data_type": 2, "hot_water": {"description": {"value": "From main system, waste water heat recovery", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2026-03-26 12:40:49", "living_area": 15.3, "orientation": 8, "pv_diverter": "true", "region_code": 6, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 2, "shower_flow_rate": 8, "shower_outlet_type": 3}, {"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}, {"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}], "water_fuel_type": 1, "water_heating_code": 901, "instantaneous_wwhrs": {"wwhrs_index_number1": 80179}, "hot_water_store_size": 210, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 1, "heat_emitter_type": 1, "is_flue_fan_present": "true", "main_heating_number": 1, "control_index_number": 200122, "is_condensing_boiler": "true", "main_heating_control": 2110, "is_interlocked_system": "true", "main_heating_category": 2, "main_heating_fraction": 1, "gas_or_oil_boiler_type": 1, "main_heating_flue_type": 2, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 18042, "has_separate_delayed_start": "false", "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "condensing_boiler_heat_distribution": 55, "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.48, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 4}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 11, "lighting_efficacy": 90}, {"lighting_power": 8, "lighting_outlets": 12, "lighting_efficacy": 100}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.1 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "pv_connection": 2, "address_line_1": "addr-fe73ac5a9b01", "assessment_date": "2026-03-26", "assessment_type": "SAP", "completion_date": "2026-03-26", "inspection_date": "2026-03-26", "sap_ventilation": {"psv_count": 0, "wall_type": 1, "pressure_test": 1, "wet_rooms_count": 5, "air_permeability": 4.14, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 1, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 4, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500755, "is_mechanical_vent_approved_installer_scheme": "true"}, "battery_capacity": 0, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 113, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-03-26", "sap_energy_source": {"pv_arrays": [{"pitch": 2, "peak_power": 1.67, "orientation": 4, "overshading": 1}], "electricity_tariff": 1}, "sap_opening_types": [{"name": "front door", "type": 1, "u_value": 1.4, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "glazing", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.46}, {"name": "french door", "type": 4, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.71}, {"name": "roof light", "type": 6, "u_value": 1.6, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.55}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 42.9, "lzc_energy_sources": [11], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 22.09}, {"name": "Roof (2)", "u_value": 0.11, "roof_type": 2, "kappa_value": 9, "total_roof_area": 8.55}, {"name": "Roof (3)", "u_value": 0.15, "roof_type": 2, "kappa_value": 9, "total_roof_area": 7.63}, {"name": "Roof (4)", "u_value": 0.16, "roof_type": 2, "kappa_value": 9, "total_roof_area": 1.8}, {"name": "Roof (5)", "u_value": 0.11, "roof_type": 2, "kappa_value": 9, "total_roof_area": 1.5}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.24, "wall_type": 2, "kappa_value": 60, "total_wall_area": 47.04, "is_curtain_walling": "false"}, {"name": "Walls (2)", "u_value": 0.26, "wall_type": 2, "kappa_value": 60, "total_wall_area": 47.06, "is_curtain_walling": "false"}, {"name": "Walls (3)", "u_value": 0.23, "wall_type": 2, "kappa_value": 9, "total_wall_area": 15.1, "is_curtain_walling": "false"}, {"name": "Walls (4)", "u_value": 0.11, "wall_type": 2, "kappa_value": 9, "total_wall_area": 10.9, "is_curtain_walling": "false"}, {"name": "Walls (5)", "u_value": 0.26, "wall_type": 2, "kappa_value": 9, "total_wall_area": 2.85, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 70, "total_wall_area": 44, "is_curtain_walling": "false"}, {"name": "Party Wall (2)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 15.1, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 132.9, "is_curtain_walling": "false"}, {"name": "Internal Wall (2)", "u_value": 0, "wall_type": 5, "kappa_value": 75, "total_wall_area": 20.2, "is_curtain_walling": "false"}], "sap_openings": [{"name": "front entrance", "type": "front door", "width": 2.1, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Front", "type": "glazing", "width": 3.95, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Rear", "type": "glazing", "width": 2.99, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "French Door", "type": "french door", "width": 7.06, "height": 1, "location": "Walls (2)", "orientation": 4}, {"name": "Side", "type": "glazing", "width": 1.5, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Side", "type": "glazing", "width": 0.85, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "Front dormer", "type": "glazing", "width": 1.5, "height": 1, "location": "Walls (5)", "orientation": 8}], "construction_year": 2023, "sap_thermal_bridges": {"thermal_bridges": [{"length": 8.29, "psi_value": 0.043, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 4.42, "psi_value": 0.021, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 8.1, "psi_value": 0.009, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 24, "psi_value": 0.014, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 19.6, "psi_value": 0.054, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 4.85, "psi_value": 0.048, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 36.2, "psi_value": 0.003, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 10, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 10, "psi_value": 0.042, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 8.8, "psi_value": 0.04, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 17.6, "psi_value": 0, "psi_value_source": 1, "thermal_bridge_type": "P2"}, {"length": 4.85, "psi_value": 0.037, "psi_value_source": 1, "thermal_bridge_type": "P4"}, {"length": 9.3, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E11"}, {"length": 5.7, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "E13"}, {"length": 5.7, "psi_value": 0.07, "psi_value_source": 1, "thermal_bridge_type": "P5"}, {"length": 1.2, "psi_value": 0.029, "psi_value_source": 1, "thermal_bridge_type": "R1"}, {"length": 1.2, "psi_value": 0.071, "psi_value_source": 1, "thermal_bridge_type": "R2"}, {"length": 2.4, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "R3"}, {"length": 5.2, "psi_value": -0.022, "psi_value_source": 1, "thermal_bridge_type": "R7"}, {"length": 4.4, "psi_value": 0.029, "psi_value_source": 1, "thermal_bridge_type": "R9"}, {"length": 9.2, "psi_value": 0.031, "psi_value_source": 1, "thermal_bridge_type": "R6"}, {"length": 2.7, "psi_value": 0.15, "psi_value_source": 4, "thermal_bridge_type": "E24"}, {"length": 1.1, "psi_value": 0.12, "psi_value_source": 1, "thermal_bridge_type": "R1"}, {"length": 1.1, "psi_value": 0.11, "psi_value_source": 1, "thermal_bridge_type": "R2"}, {"length": 3.92, "psi_value": 0.04, "psi_value_source": 1, "thermal_bridge_type": "R3"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.12, "floor_type": 2, "kappa_value": 75, "storey_height": 2.39, "heat_loss_area": 42.9, "total_floor_area": 42.9}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 40.9, "kappa_value_from_below": 9}, {"storey": 2, "u_value": 0, "floor_type": 3, "storey_height": 2.55, "heat_loss_area": 0, "total_floor_area": 29.2}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 337, "currency": "GBP"}, "co2_emissions_current": 1.1, "energy_rating_average": 60, "energy_rating_current": 91, "lighting_cost_current": {"value": 66, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 362, "currency": "GBP"}, "hot_water_cost_current": {"value": 165, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 35, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 93, "environmental_impact_rating": 92}], "user_interface_version": "3.1.55", "co2_emissions_potential": 1.0, "energy_rating_potential": 93, "gas_smart_meter_present": "true", "lighting_cost_potential": {"value": 66, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 138, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 50, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.55", "energy_consumption_potential": 45, "environmental_impact_current": 91, "current_energy_efficiency_band": "B", "environmental_impact_potential": 92, "electricity_smart_meter_present": "true", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 9.7} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV78UG/cert-91dd248e55ee.json b/tests/fixtures/epc_prediction/CV78UG/cert-91dd248e55ee.json new file mode 100644 index 00000000..dde1f1f1 --- /dev/null +++ b/tests/fixtures/epc_prediction/CV78UG/cert-91dd248e55ee.json @@ -0,0 +1 @@ +{"der": 10.22, "ter": 10.54, "dfee": 35.5, "dper": 53.03, "tfee": 36.4, "tper": 55.04, "uprn": 10097098986, "roofs": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.23 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.12 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": 1, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Excellent lighting efficiency", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "CV7 8UG", "data_type": 2, "hot_water": {"description": {"value": "From main system, waste water heat recovery", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2026-02-04 13:04:40", "living_area": 15.3, "orientation": 4, "pv_diverter": "true", "region_code": 6, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 2, "shower_flow_rate": 8, "shower_outlet_type": 3}, {"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}, {"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}], "water_fuel_type": 1, "water_heating_code": 901, "instantaneous_wwhrs": {"wwhrs_index_number1": 80179}, "hot_water_store_size": 210, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 1, "heat_emitter_type": 1, "is_flue_fan_present": "true", "main_heating_number": 1, "control_index_number": 200122, "is_condensing_boiler": "true", "main_heating_control": 2110, "is_interlocked_system": "true", "main_heating_category": 2, "main_heating_fraction": 1, "gas_or_oil_boiler_type": 1, "main_heating_flue_type": 2, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 18042, "has_separate_delayed_start": "false", "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "condensing_boiler_heat_distribution": 55, "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.48, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 4}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 11, "lighting_efficacy": 90}, {"lighting_power": 8, "lighting_outlets": 12, "lighting_efficacy": 100}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.3 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "pv_connection": 2, "address_line_1": "addr-04f0102e97e1", "assessment_date": "2026-02-04", "assessment_type": "SAP", "completion_date": "2026-02-04", "inspection_date": "2026-02-04", "sap_ventilation": {"psv_count": 0, "wall_type": 1, "pressure_test": 1, "wet_rooms_count": 5, "air_permeability": 4.3, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 1, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 4, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500755, "is_mechanical_vent_approved_installer_scheme": "true"}, "battery_capacity": 0, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 113, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-02-04", "sap_energy_source": {"pv_arrays": [{"pitch": 2, "peak_power": 1.67, "orientation": 4, "overshading": 1}], "electricity_tariff": 1}, "sap_opening_types": [{"name": "front door", "type": 1, "u_value": 1.4, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "glazing", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.46}, {"name": "french door", "type": 4, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.71}, {"name": "roof light", "type": 6, "u_value": 1.6, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.55}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 42.9, "lzc_energy_sources": [11], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 22.09}, {"name": "Roof (2)", "u_value": 0.11, "roof_type": 2, "kappa_value": 9, "total_roof_area": 8.55}, {"name": "Roof (3)", "u_value": 0.15, "roof_type": 2, "kappa_value": 9, "total_roof_area": 7.63}, {"name": "Roof (4)", "u_value": 0.16, "roof_type": 2, "kappa_value": 9, "total_roof_area": 1.8}, {"name": "Roof (5)", "u_value": 0.11, "roof_type": 2, "kappa_value": 9, "total_roof_area": 1.5}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.24, "wall_type": 2, "kappa_value": 60, "total_wall_area": 47.04, "is_curtain_walling": "false"}, {"name": "Walls (2)", "u_value": 0.26, "wall_type": 2, "kappa_value": 60, "total_wall_area": 47.06, "is_curtain_walling": "false"}, {"name": "Walls (3)", "u_value": 0.23, "wall_type": 2, "kappa_value": 9, "total_wall_area": 15.1, "is_curtain_walling": "false"}, {"name": "Walls (4)", "u_value": 0.11, "wall_type": 2, "kappa_value": 9, "total_wall_area": 10.9, "is_curtain_walling": "false"}, {"name": "Walls (5)", "u_value": 0.26, "wall_type": 2, "kappa_value": 9, "total_wall_area": 2.85, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 70, "total_wall_area": 44, "is_curtain_walling": "false"}, {"name": "Party Wall (2)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 15.1, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 132.9, "is_curtain_walling": "false"}, {"name": "Internal Wall (2)", "u_value": 0, "wall_type": 5, "kappa_value": 75, "total_wall_area": 20.2, "is_curtain_walling": "false"}], "sap_openings": [{"name": "front entrance", "type": "front door", "width": 2.1, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "Front", "type": "glazing", "width": 3.95, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "Rear", "type": "glazing", "width": 2.99, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "French Door", "type": "french door", "width": 7.06, "height": 1, "location": "Walls (2)", "orientation": 8}, {"name": "Side", "type": "glazing", "width": 1.5, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "Side", "type": "glazing", "width": 0.85, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Front dormer", "type": "glazing", "width": 1.5, "height": 1, "location": "Walls (5)", "orientation": 4}], "construction_year": 2023, "sap_thermal_bridges": {"thermal_bridges": [{"length": 8.29, "psi_value": 0.043, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 4.42, "psi_value": 0.021, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 8.1, "psi_value": 0.009, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 24, "psi_value": 0.014, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 19.6, "psi_value": 0.054, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 4.85, "psi_value": 0.048, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 36.2, "psi_value": 0, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 10, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 10, "psi_value": 0.042, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 8.8, "psi_value": 0.04, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 17.6, "psi_value": 0, "psi_value_source": 1, "thermal_bridge_type": "P2"}, {"length": 4.85, "psi_value": 0.037, "psi_value_source": 1, "thermal_bridge_type": "P4"}, {"length": 9.3, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E11"}, {"length": 5.7, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "E13"}, {"length": 5.7, "psi_value": 0.07, "psi_value_source": 1, "thermal_bridge_type": "P5"}, {"length": 1.2, "psi_value": 0.029, "psi_value_source": 1, "thermal_bridge_type": "R1"}, {"length": 1.2, "psi_value": 0.071, "psi_value_source": 1, "thermal_bridge_type": "R2"}, {"length": 2.4, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "R3"}, {"length": 5.2, "psi_value": -0.022, "psi_value_source": 1, "thermal_bridge_type": "R7"}, {"length": 4.4, "psi_value": 0.029, "psi_value_source": 1, "thermal_bridge_type": "R9"}, {"length": 9.2, "psi_value": 0.031, "psi_value_source": 1, "thermal_bridge_type": "R6"}, {"length": 2.7, "psi_value": 0.15, "psi_value_source": 4, "thermal_bridge_type": "E24"}, {"length": 1.1, "psi_value": 0.12, "psi_value_source": 1, "thermal_bridge_type": "R1"}, {"length": 1.1, "psi_value": 0.11, "psi_value_source": 1, "thermal_bridge_type": "R2"}, {"length": 3.92, "psi_value": 0.04, "psi_value_source": 1, "thermal_bridge_type": "R3"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.12, "floor_type": 2, "kappa_value": 75, "storey_height": 2.39, "heat_loss_area": 42.9, "total_floor_area": 42.9}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 40.9, "kappa_value_from_below": 9}, {"storey": 2, "u_value": 0, "floor_type": 3, "storey_height": 2.55, "heat_loss_area": 0, "total_floor_area": 29.2}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 346, "currency": "GBP"}, "co2_emissions_current": 1.1, "energy_rating_average": 60, "energy_rating_current": 91, "lighting_cost_current": {"value": 66, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 371, "currency": "GBP"}, "hot_water_cost_current": {"value": 164, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 35, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 92, "environmental_impact_rating": 92}], "user_interface_version": "2.26.16", "co2_emissions_potential": 1.0, "energy_rating_potential": 92, "gas_smart_meter_present": "true", "lighting_cost_potential": {"value": 66, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 138, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 51, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.26.16", "energy_consumption_potential": 46, "environmental_impact_current": 91, "current_energy_efficiency_band": "B", "environmental_impact_potential": 92, "electricity_smart_meter_present": "true", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 9.9} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV78UG/cert-924d78d64f06.json b/tests/fixtures/epc_prediction/CV78UG/cert-924d78d64f06.json new file mode 100644 index 00000000..4b33c80e --- /dev/null +++ b/tests/fixtures/epc_prediction/CV78UG/cert-924d78d64f06.json @@ -0,0 +1 @@ +{"der": 9.57, "ter": 9.81, "dfee": 42.7, "dper": 48.39, "tfee": 43.3, "tper": 51.4, "uprn": 10097098975, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.24 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": 1, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Excelent lighting efficiency", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "CV7 8UG", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2025-08-11 13:32:49", "living_area": 21.6, "orientation": 8, "pv_diverter": "true", "region_code": 6, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}, {"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}, {"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}], "water_fuel_type": 1, "water_heating_code": 901, "hot_water_store_size": 180, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 1, "heat_emitter_type": 1, "is_flue_fan_present": "true", "main_heating_number": 1, "control_index_number": 200122, "is_condensing_boiler": "true", "main_heating_control": 2110, "is_interlocked_system": "true", "main_heating_category": 2, "main_heating_fraction": 1, "gas_or_oil_boiler_type": 1, "main_heating_flue_type": 2, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 18043, "has_separate_delayed_start": "false", "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "condensing_boiler_heat_distribution": 55, "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.4, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 4}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 14, "lighting_efficacy": 90}, {"lighting_power": 8, "lighting_outlets": 26, "lighting_efficacy": 100}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.3 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Detached house", "language_code": 1, "property_type": 0, "pv_connection": 2, "address_line_1": "addr-e972da98ce68", "assessment_date": "2025-08-11", "assessment_type": "SAP", "completion_date": "2025-08-11", "inspection_date": "2025-08-11", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 6, "air_permeability": 4.3, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 1, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 5, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500755, "is_mechanical_vent_approved_installer_scheme": "true"}, "battery_capacity": 0, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 154, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2025-08-11", "sap_energy_source": {"pv_arrays": [{"pitch": 2, "peak_power": 2.345, "orientation": 4, "overshading": 1}, {"pitch": 2, "peak_power": 1.005, "orientation": 6, "overshading": 1}], "electricity_tariff": 1}, "sap_opening_types": [{"name": "front door", "type": 1, "u_value": 1.4, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "utility rear door", "type": 2, "u_value": 1.1, "data_source": 2, "glazing_type": 7, "isargonfilled": "false"}, {"name": "glazing", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.46}, {"name": "french door", "type": 4, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.71}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 76.9, "lzc_energy_sources": [11], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 76.9}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.24, "wall_type": 2, "kappa_value": 60, "total_wall_area": 189.4, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 175.3, "is_curtain_walling": "false"}, {"name": "Internal Wall (2)", "u_value": 0, "wall_type": 5, "kappa_value": 75, "total_wall_area": 64.8, "is_curtain_walling": "false"}], "sap_openings": [{"name": "front", "type": "front door", "width": 2.1, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "rear", "type": "utility rear door", "width": 2, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "front", "type": "glazing", "width": 11.05, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "rear", "type": "glazing", "width": 3.55, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "rear french doors", "type": "french door", "width": 10, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "side", "type": "glazing", "width": 3.55, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "side", "type": "glazing", "width": 4.75, "height": 1, "location": "Walls (1)", "orientation": 6}], "construction_year": 2023, "sap_thermal_bridges": {"thermal_bridges": [{"length": 17.7, "psi_value": 0.043, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 5.55, "psi_value": 0.021, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 16.5, "psi_value": 0.009, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 42.9, "psi_value": 0.014, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 38, "psi_value": 0.054, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 20, "psi_value": 0.08, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 18, "psi_value": 0.048, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 38, "psi_value": 0, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 24.95, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 4.99, "psi_value": -0.094, "psi_value_source": 1, "thermal_bridge_type": "E17"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.11, "floor_type": 2, "kappa_value": 75, "storey_height": 2.39, "heat_loss_area": 76.9, "total_floor_area": 76.9}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 76.9, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 509, "currency": "GBP"}, "co2_emissions_current": 1.4, "energy_rating_average": 60, "energy_rating_current": 93, "lighting_cost_current": {"value": 74, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 535, "currency": "GBP"}, "hot_water_cost_current": {"value": 123, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 26, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 95, "environmental_impact_rating": 91}], "user_interface_version": "2.23.1", "co2_emissions_potential": 1.4, "energy_rating_potential": 95, "gas_smart_meter_present": "true", "lighting_cost_potential": {"value": 74, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 153, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 46, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.23.1", "energy_consumption_potential": 47, "environmental_impact_current": 90, "current_energy_efficiency_band": "A", "environmental_impact_potential": 91, "electricity_smart_meter_present": "true", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 9.2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV78UG/cert-94454d5d782e.json b/tests/fixtures/epc_prediction/CV78UG/cert-94454d5d782e.json new file mode 100644 index 00000000..ae093f84 --- /dev/null +++ b/tests/fixtures/epc_prediction/CV78UG/cert-94454d5d782e.json @@ -0,0 +1 @@ +{"der": 11.89, "ter": 12.26, "dfee": 43.5, "dper": 62.81, "tfee": 45.1, "tper": 64.22, "uprn": 10097098983, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.24 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.12 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": 1, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Excellent lighting efficiency", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "CV7 8UG", "data_type": 2, "hot_water": {"description": {"value": "From main system, waste water heat recovery", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 1, "created_at": "2025-12-15 13:52:51", "living_area": 13.2, "orientation": 2, "region_code": 6, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 2, "shower_flow_rate": 8, "shower_outlet_type": 3}, {"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}], "water_fuel_type": 1, "water_heating_code": 901, "instantaneous_wwhrs": {"wwhrs_index_number1": 80179}, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 1, "heat_emitter_type": 1, "is_flue_fan_present": "true", "main_heating_number": 1, "control_index_number": 200122, "is_condensing_boiler": "true", "main_heating_control": 2110, "is_interlocked_system": "true", "main_heating_category": 2, "main_heating_fraction": 1, "gas_or_oil_boiler_type": 2, "main_heating_flue_type": 2, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 17929, "has_separate_delayed_start": "false", "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "condensing_boiler_heat_distribution": 55, "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "false", "has_cylinder_thermostat": "true", "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "true", "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 4}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 10, "lighting_efficacy": 90}, {"lighting_power": 8, "lighting_outlets": 12, "lighting_efficacy": 100}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.8 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Detached house", "language_code": 1, "property_type": 0, "pv_connection": 2, "address_line_1": "addr-5b148c9ccdd1", "assessment_date": "2025-12-15", "assessment_type": "SAP", "completion_date": "2025-12-15", "inspection_date": "2025-12-15", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 3.83, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 1, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500755, "is_mechanical_vent_approved_installer_scheme": "true"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 98, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2025-12-15", "sap_energy_source": {"pv_arrays": [{"pitch": 3, "peak_power": 1.67, "orientation": 6, "overshading": 1}], "electricity_tariff": 1}, "sap_opening_types": [{"name": "front door", "type": 1, "u_value": 1.4, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "utility rear door", "type": 2, "u_value": 1.1, "data_source": 2, "glazing_type": 7, "isargonfilled": "false"}, {"name": "glazing", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.46}, {"name": "french door", "type": 4, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.71}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 52.6, "lzc_energy_sources": [11], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 54.5}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.24, "wall_type": 2, "kappa_value": 60, "total_wall_area": 114.89, "is_curtain_walling": "false"}, {"name": "Walls (2)", "u_value": 0.26, "wall_type": 2, "kappa_value": 60, "total_wall_area": 27.83, "is_curtain_walling": "false"}, {"name": "Walls (3)", "u_value": 0.27, "wall_type": 3, "kappa_value": 9, "total_wall_area": 20.94, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 152.3, "is_curtain_walling": "false"}, {"name": "Internal Wall (2)", "u_value": 0, "wall_type": 5, "kappa_value": 75, "total_wall_area": 17.3, "is_curtain_walling": "false"}], "sap_openings": [{"name": "front entrance", "type": "front door", "width": 2, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "front", "type": "glazing", "width": 1.4, "height": 1, "location": "Walls (2)", "orientation": 2}, {"name": "front", "type": "glazing", "width": 3, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "rear", "type": "glazing", "width": 3.2, "height": 1, "location": "Walls (2)", "orientation": 6}, {"name": "rear", "type": "glazing", "width": 3, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "rear french door", "type": "french door", "width": 3.15, "height": 1, "location": "Walls (2)", "orientation": 6}, {"name": "side", "type": "glazing", "width": 0.85, "height": 1, "location": "Walls (2)", "orientation": 4}, {"name": "side", "type": "glazing", "width": 0.7, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "side", "type": "glazing", "width": 1.55, "height": 1, "location": "Walls (2)", "orientation": 8}], "construction_year": 2023, "sap_thermal_bridges": {"thermal_bridges": [{"length": 10.4, "psi_value": 0.043, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 3.7, "psi_value": 0.021, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 11.6, "psi_value": 0.009, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 30.6, "psi_value": 0.014, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 26.6, "psi_value": 0.054, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 7.9, "psi_value": 0.32, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 7.9, "psi_value": 0.068, "psi_value_source": 1, "thermal_bridge_type": "E20"}, {"length": 7.9, "psi_value": 0.05, "psi_value_source": 1, "thermal_bridge_type": "E21"}, {"length": 17.7, "psi_value": 0.08, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 19.8, "psi_value": 0.048, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 23.5, "psi_value": 0.003, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 24.75, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 1.5, "psi_value": 0.18, "psi_value_source": 4, "thermal_bridge_type": "E16"}, {"length": 4.99, "psi_value": -0.094, "psi_value_source": 1, "thermal_bridge_type": "E17"}, {"length": 3.7, "psi_value": 0.15, "psi_value_source": 4, "thermal_bridge_type": "E24"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.12, "floor_type": 2, "kappa_value": 75, "storey_height": 2.66, "heat_loss_area": 45, "total_floor_area": 45}, {"storey": 0, "u_value": 0.12, "floor_type": 3, "kappa_value": 20, "storey_height": 2.66, "heat_loss_area": 9.1, "total_floor_area": 45}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.33, "heat_loss_area": 0, "total_floor_area": 52.6, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 378, "currency": "GBP"}, "co2_emissions_current": 1.1, "energy_rating_average": 60, "energy_rating_current": 91, "lighting_cost_current": {"value": 59, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 378, "currency": "GBP"}, "hot_water_cost_current": {"value": 154, "currency": "GBP"}, "user_interface_version": "2.25.1", "co2_emissions_potential": 1.1, "energy_rating_potential": 91, "gas_smart_meter_present": "true", "lighting_cost_potential": {"value": 59, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 154, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 61, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.25.1", "energy_consumption_potential": 61, "environmental_impact_current": 89, "current_energy_efficiency_band": "B", "environmental_impact_potential": 89, "electricity_smart_meter_present": "true", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 11.5} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV78UG/cert-9b4787ad7813.json b/tests/fixtures/epc_prediction/CV78UG/cert-9b4787ad7813.json new file mode 100644 index 00000000..a3e1a323 --- /dev/null +++ b/tests/fixtures/epc_prediction/CV78UG/cert-9b4787ad7813.json @@ -0,0 +1 @@ +{"der": 10.14, "ter": 10.34, "dfee": 40.3, "dper": 53.2, "tfee": 40.9, "tper": 54.01, "uprn": 10097098977, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.24 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": 1, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Excellent lighting efficiency", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "CV7 8UG", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2025-11-27 16:51:29", "living_area": 22.4, "orientation": 4, "region_code": 6, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}, {"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}], "water_fuel_type": 1, "water_heating_code": 901, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 1, "heat_emitter_type": 1, "is_flue_fan_present": "true", "main_heating_number": 1, "control_index_number": 200122, "is_condensing_boiler": "true", "main_heating_control": 2110, "is_interlocked_system": "true", "main_heating_category": 2, "main_heating_fraction": 1, "gas_or_oil_boiler_type": 2, "main_heating_flue_type": 2, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 17929, "has_separate_delayed_start": "false", "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "condensing_boiler_heat_distribution": 55, "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "false", "has_cylinder_thermostat": "true", "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "true", "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 4}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 11, "lighting_efficacy": 90}, {"lighting_power": 8, "lighting_outlets": 13, "lighting_efficacy": 100}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.8 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Detached house", "language_code": 1, "property_type": 0, "pv_connection": 2, "address_line_1": "addr-bdfbac8dff3e", "assessment_date": "2025-11-27", "assessment_type": "SAP", "completion_date": "2025-11-27", "inspection_date": "2025-11-27", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.85, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 1, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500755, "is_mechanical_vent_approved_installer_scheme": "true"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 124, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2025-11-27", "sap_energy_source": {"pv_arrays": [{"pitch": 2, "peak_power": 2.68, "orientation": 6, "overshading": 1}], "electricity_tariff": 1}, "sap_opening_types": [{"name": "front door", "type": 1, "u_value": 1.4, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "utility rear door", "type": 2, "u_value": 1.1, "data_source": 2, "glazing_type": 7, "isargonfilled": "false"}, {"name": "garage door", "type": 1, "u_value": 0.82, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "glazing", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.46}, {"name": "french door", "type": 4, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.71}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 62.8, "lzc_energy_sources": [11], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 60.9}, {"name": "Roof (2)", "u_value": 0.14, "roof_type": 2, "kappa_value": 9, "total_roof_area": 1.4}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.24, "wall_type": 2, "kappa_value": 60, "total_wall_area": 161.77, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 152.3, "is_curtain_walling": "false"}, {"name": "Internal Wall (2)", "u_value": 0, "wall_type": 5, "kappa_value": 75, "total_wall_area": 55.2, "is_curtain_walling": "false"}], "sap_openings": [{"name": "front entrance", "type": "front door", "width": 2.1, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "utility door", "type": "utility rear door", "width": 2.1, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "front", "type": "glazing", "width": 10.3, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "rear", "type": "glazing", "width": 2.2, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "side", "type": "glazing", "width": 6, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "side", "type": "glazing", "width": 4.5, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "side", "type": "french door", "width": 3.3, "height": 1, "location": "Walls (1)", "orientation": 2}], "construction_year": 2023, "sap_thermal_bridges": {"thermal_bridges": [{"length": 16.2, "psi_value": 0.043, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 5.1, "psi_value": 0.021, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 17.7, "psi_value": 0.009, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 42.9, "psi_value": 0.014, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 33.2, "psi_value": 0.054, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 18.6, "psi_value": 0.08, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 13.1, "psi_value": 0.048, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 31.7, "psi_value": 0.003, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 19.96, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 2.8, "psi_value": 0.15, "psi_value_source": 4, "thermal_bridge_type": "E24"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.11, "floor_type": 2, "kappa_value": 75, "storey_height": 2.39, "heat_loss_area": 62.8, "total_floor_area": 62.8}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 60.9, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 410, "currency": "GBP"}, "co2_emissions_current": 1.2, "energy_rating_average": 60, "energy_rating_current": 94, "lighting_cost_current": {"value": 66, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 410, "currency": "GBP"}, "hot_water_cost_current": {"value": 180, "currency": "GBP"}, "user_interface_version": "2.25.1", "co2_emissions_potential": 1.2, "energy_rating_potential": 94, "gas_smart_meter_present": "true", "lighting_cost_potential": {"value": 66, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 180, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 50, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.25.1", "energy_consumption_potential": 50, "environmental_impact_current": 90, "current_energy_efficiency_band": "A", "environmental_impact_potential": 90, "electricity_smart_meter_present": "true", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 9.6} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV78UG/cert-9c0b5437b98b.json b/tests/fixtures/epc_prediction/CV78UG/cert-9c0b5437b98b.json new file mode 100644 index 00000000..9e2e1fd6 --- /dev/null +++ b/tests/fixtures/epc_prediction/CV78UG/cert-9c0b5437b98b.json @@ -0,0 +1 @@ +{"der": 9.18, "ter": 9.37, "dfee": 38.3, "dper": 46.33, "tfee": 38.9, "tper": 48.99, "uprn": 10097098979, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.24 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": 1, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Excellent lighting efficiency", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "CV7 8UG", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2025-11-26 14:37:29", "living_area": 16.9, "orientation": 2, "pv_diverter": "true", "region_code": 6, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}, {"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}, {"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}], "water_fuel_type": 1, "water_heating_code": 901, "hot_water_store_size": 180, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 1, "heat_emitter_type": 1, "is_flue_fan_present": "true", "main_heating_number": 1, "control_index_number": 200122, "is_condensing_boiler": "true", "main_heating_control": 2110, "is_interlocked_system": "true", "main_heating_category": 2, "main_heating_fraction": 1, "gas_or_oil_boiler_type": 1, "main_heating_flue_type": 2, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 18043, "has_separate_delayed_start": "false", "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "condensing_boiler_heat_distribution": 55, "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.4, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 4}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 14, "lighting_efficacy": 90}, {"lighting_power": 8, "lighting_outlets": 14, "lighting_efficacy": 100}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.6 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Detached house", "language_code": 1, "property_type": 0, "pv_connection": 2, "address_line_1": "addr-145c32e1d463", "assessment_date": "2025-11-26", "assessment_type": "SAP", "completion_date": "2025-11-26", "inspection_date": "2025-11-26", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 5, "air_permeability": 4.58, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 1, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 4, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500755, "is_mechanical_vent_approved_installer_scheme": "true"}, "battery_capacity": 0, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 138, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2025-11-26", "sap_energy_source": {"pv_arrays": [{"pitch": 2, "peak_power": 3.01, "orientation": 6, "overshading": 1}], "electricity_tariff": 1}, "sap_opening_types": [{"name": "front door", "type": 1, "u_value": 1.4, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "utility rear door", "type": 2, "u_value": 1.1, "data_source": 2, "glazing_type": 7, "isargonfilled": "false"}, {"name": "garage door", "type": 1, "u_value": 0.82, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "glazing", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.46}, {"name": "french door", "type": 4, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.71}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 69.1, "lzc_energy_sources": [11], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 69.1}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.24, "wall_type": 2, "kappa_value": 60, "total_wall_area": 165.34, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 183.5, "is_curtain_walling": "false"}, {"name": "Internal Wall (2)", "u_value": 0, "wall_type": 5, "kappa_value": 75, "total_wall_area": 61.2, "is_curtain_walling": "false"}], "sap_openings": [{"name": "front entrance", "type": "front door", "width": 2.1, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "utility door", "type": "utility rear door", "width": 2.1, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "front", "type": "glazing", "width": 9.2, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "rear", "type": "glazing", "width": 6.9, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "side", "type": "glazing", "width": 0.7, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "rear", "type": "french door", "width": 4.5, "height": 1, "location": "Walls (1)", "orientation": 6}], "construction_year": 2023, "sap_thermal_bridges": {"thermal_bridges": [{"length": 10.1, "psi_value": 0.043, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 6.9, "psi_value": 0.021, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 13.1, "psi_value": 0.009, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 40.2, "psi_value": 0.014, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 33.2, "psi_value": 0.054, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 17, "psi_value": 0.08, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 16.2, "psi_value": 0.048, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 33.2, "psi_value": 0, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 19.96, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "E16"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.11, "floor_type": 2, "kappa_value": 75, "storey_height": 2.39, "heat_loss_area": 69.1, "total_floor_area": 69.1}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 69.1, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 428, "currency": "GBP"}, "co2_emissions_current": 1.2, "energy_rating_average": 60, "energy_rating_current": 93, "lighting_cost_current": {"value": 73, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 454, "currency": "GBP"}, "hot_water_cost_current": {"value": 134, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 28, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 95, "environmental_impact_rating": 92}], "user_interface_version": "2.25.1", "co2_emissions_potential": 1.1, "energy_rating_potential": 95, "gas_smart_meter_present": "true", "lighting_cost_potential": {"value": 73, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 153, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 44, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.25.1", "energy_consumption_potential": 44, "environmental_impact_current": 91, "current_energy_efficiency_band": "A", "environmental_impact_potential": 92, "electricity_smart_meter_present": "true", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 8.8} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV78UG/cert-aef738e4b1c0.json b/tests/fixtures/epc_prediction/CV78UG/cert-aef738e4b1c0.json new file mode 100644 index 00000000..0516a4c8 --- /dev/null +++ b/tests/fixtures/epc_prediction/CV78UG/cert-aef738e4b1c0.json @@ -0,0 +1 @@ +{"der": 10.53, "ter": 10.72, "dfee": 42.1, "dper": 55.27, "tfee": 42.6, "tper": 56.05, "uprn": 10097098978, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.24 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": 1, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Excellent lighting efficiency", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "CV7 8UG", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2026-03-18 16:40:17", "living_area": 22.4, "orientation": 8, "region_code": 6, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}, {"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}], "water_fuel_type": 1, "water_heating_code": 901, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 1, "heat_emitter_type": 1, "is_flue_fan_present": "true", "main_heating_number": 1, "control_index_number": 200122, "is_condensing_boiler": "true", "main_heating_control": 2110, "is_interlocked_system": "true", "main_heating_category": 2, "main_heating_fraction": 1, "gas_or_oil_boiler_type": 2, "main_heating_flue_type": 2, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 17929, "has_separate_delayed_start": "false", "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "condensing_boiler_heat_distribution": 55, "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "false", "has_cylinder_thermostat": "true", "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "true", "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 4}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 11, "lighting_efficacy": 90}, {"lighting_power": 8, "lighting_outlets": 13, "lighting_efficacy": 100}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.7 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Detached house", "language_code": 1, "property_type": 0, "pv_connection": 2, "address_line_1": "addr-82d9bb86bdaa", "assessment_date": "2026-03-18", "assessment_type": "SAP", "completion_date": "2026-03-18", "inspection_date": "2026-03-18", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.74, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 1, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500755, "is_mechanical_vent_approved_installer_scheme": "true"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 124, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-03-18", "sap_energy_source": {"pv_arrays": [{"pitch": 2, "peak_power": 2.68, "orientation": 4, "overshading": 1}], "electricity_tariff": 1}, "sap_opening_types": [{"name": "front door", "type": 1, "u_value": 1.4, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "utility rear door", "type": 2, "u_value": 1.1, "data_source": 2, "glazing_type": 7, "isargonfilled": "false"}, {"name": "garage door", "type": 1, "u_value": 0.82, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "glazing", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.46}, {"name": "french door", "type": 4, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.71}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 62.8, "lzc_energy_sources": [11], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 60.9}, {"name": "Roof (2)", "u_value": 0.14, "roof_type": 2, "kappa_value": 9, "total_roof_area": 1.4}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.24, "wall_type": 2, "kappa_value": 60, "total_wall_area": 161.77, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 152.3, "is_curtain_walling": "false"}, {"name": "Internal Wall (2)", "u_value": 0, "wall_type": 5, "kappa_value": 75, "total_wall_area": 55.2, "is_curtain_walling": "false"}], "sap_openings": [{"name": "front entrance", "type": "front door", "width": 2.1, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "utility door", "type": "utility rear door", "width": 2.1, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "front", "type": "glazing", "width": 10.3, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "rear", "type": "glazing", "width": 2.2, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "side", "type": "glazing", "width": 6, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "side", "type": "glazing", "width": 4.5, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "side", "type": "french door", "width": 3.3, "height": 1, "location": "Walls (1)", "orientation": 6}], "construction_year": 2023, "sap_thermal_bridges": {"thermal_bridges": [{"length": 16.2, "psi_value": 0.043, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 5.1, "psi_value": 0.021, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 17.7, "psi_value": 0.009, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 42.9, "psi_value": 0.014, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 33.2, "psi_value": 0.054, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 18.6, "psi_value": 0.08, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 13.1, "psi_value": 0.048, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 31.7, "psi_value": 0, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 19.96, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 2.8, "psi_value": 0.15, "psi_value_source": 4, "thermal_bridge_type": "E24"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.11, "floor_type": 2, "kappa_value": 75, "storey_height": 2.39, "heat_loss_area": 62.8, "total_floor_area": 62.8}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 60.9, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 426, "currency": "GBP"}, "co2_emissions_current": 1.2, "energy_rating_average": 60, "energy_rating_current": 94, "lighting_cost_current": {"value": 66, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 426, "currency": "GBP"}, "hot_water_cost_current": {"value": 180, "currency": "GBP"}, "user_interface_version": "2.26.17", "co2_emissions_potential": 1.2, "energy_rating_potential": 94, "gas_smart_meter_present": "true", "lighting_cost_potential": {"value": 66, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 180, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 53, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.26.17", "energy_consumption_potential": 53, "environmental_impact_current": 90, "current_energy_efficiency_band": "A", "environmental_impact_potential": 90, "electricity_smart_meter_present": "true", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 10.1} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV78UG/cert-ba51394914cf.json b/tests/fixtures/epc_prediction/CV78UG/cert-ba51394914cf.json new file mode 100644 index 00000000..d4de2366 --- /dev/null +++ b/tests/fixtures/epc_prediction/CV78UG/cert-ba51394914cf.json @@ -0,0 +1 @@ +{"der": 9.66, "ter": 9.87, "dfee": 43.2, "dper": 48.91, "tfee": 43.6, "tper": 51.73, "uprn": 10097098985, "roofs": [{"description": {"value": "Average thermal transmittance 0.08 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.24 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": 1, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Excellent lighting efficiency", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "CV7 8UG", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2025-12-08 14:33:22", "living_area": 21.6, "orientation": 2, "pv_diverter": "true", "region_code": 6, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}, {"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}, {"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}], "water_fuel_type": 1, "water_heating_code": 901, "hot_water_store_size": 180, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 1, "heat_emitter_type": 1, "is_flue_fan_present": "true", "main_heating_number": 1, "control_index_number": 200122, "is_condensing_boiler": "true", "main_heating_control": 2110, "is_interlocked_system": "true", "main_heating_category": 2, "main_heating_fraction": 1, "gas_or_oil_boiler_type": 1, "main_heating_flue_type": 2, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 18043, "has_separate_delayed_start": "false", "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "condensing_boiler_heat_distribution": 55, "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.4, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 4}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 14, "lighting_efficacy": 90}, {"lighting_power": 8, "lighting_outlets": 26, "lighting_efficacy": 100}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.3 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Detached house", "language_code": 1, "property_type": 0, "pv_connection": 2, "address_line_1": "addr-9c5f844e0a3e", "assessment_date": "2025-12-08", "assessment_type": "SAP", "completion_date": "2025-12-08", "inspection_date": "2025-12-08", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 6, "air_permeability": 4.35, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 1, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 5, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500755, "is_mechanical_vent_approved_installer_scheme": "true"}, "battery_capacity": 0, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 154, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2025-12-08", "sap_energy_source": {"pv_arrays": [{"pitch": 2, "peak_power": 2.35, "orientation": 6, "overshading": 1}, {"pitch": 2, "peak_power": 1, "orientation": 4, "overshading": 1}], "electricity_tariff": 1}, "sap_opening_types": [{"name": "front door", "type": 1, "u_value": 1.4, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "utility rear door", "type": 2, "u_value": 1.1, "data_source": 2, "glazing_type": 7, "isargonfilled": "false"}, {"name": "glazing", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.46}, {"name": "french door", "type": 4, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.71}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 76.9, "lzc_energy_sources": [11], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.08, "roof_type": 2, "kappa_value": 9, "total_roof_area": 76.9}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.24, "wall_type": 2, "kappa_value": 60, "total_wall_area": 189.4, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 175.3, "is_curtain_walling": "false"}, {"name": "Internal Wall (2)", "u_value": 0, "wall_type": 5, "kappa_value": 75, "total_wall_area": 64.8, "is_curtain_walling": "false"}], "sap_openings": [{"name": "front", "type": "front door", "width": 2.1, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "rear", "type": "utility rear door", "width": 2, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "front", "type": "glazing", "width": 11.05, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "rear", "type": "glazing", "width": 3.55, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "rear french doors", "type": "french door", "width": 10, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "side", "type": "glazing", "width": 3.55, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "side", "type": "glazing", "width": 4.75, "height": 1, "location": "Walls (1)", "orientation": 8}], "construction_year": 2023, "sap_thermal_bridges": {"thermal_bridges": [{"length": 17.7, "psi_value": 0.043, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 5.55, "psi_value": 0.021, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 16.5, "psi_value": 0.009, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 42.9, "psi_value": 0.014, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 38, "psi_value": 0.054, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 20, "psi_value": 0.08, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 18, "psi_value": 0.048, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 38, "psi_value": 0.003, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 24.95, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 4.99, "psi_value": 0.094, "psi_value_source": 1, "thermal_bridge_type": "E17"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.11, "floor_type": 2, "kappa_value": 75, "storey_height": 2.39, "heat_loss_area": 76.9, "total_floor_area": 76.9}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 76.9, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 514, "currency": "GBP"}, "co2_emissions_current": 1.4, "energy_rating_average": 60, "energy_rating_current": 93, "lighting_cost_current": {"value": 74, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 539, "currency": "GBP"}, "hot_water_cost_current": {"value": 123, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 26, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 95, "environmental_impact_rating": 91}], "user_interface_version": "2.25.1", "co2_emissions_potential": 1.4, "energy_rating_potential": 95, "gas_smart_meter_present": "true", "lighting_cost_potential": {"value": 74, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 153, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 47, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.25.1", "energy_consumption_potential": 47, "environmental_impact_current": 90, "current_energy_efficiency_band": "A", "environmental_impact_potential": 91, "electricity_smart_meter_present": "true", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 9.3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV78UG/cert-cd99c8b93a27.json b/tests/fixtures/epc_prediction/CV78UG/cert-cd99c8b93a27.json new file mode 100644 index 00000000..068d0447 --- /dev/null +++ b/tests/fixtures/epc_prediction/CV78UG/cert-cd99c8b93a27.json @@ -0,0 +1 @@ +{"der": 10.26, "ter": 10.54, "dfee": 35.8, "dper": 53.21, "tfee": 36.4, "tper": 55.04, "uprn": 10097098988, "roofs": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.23 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.12 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": 1, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Excellent lighting efficiency", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "CV7 8UG", "data_type": 2, "hot_water": {"description": {"value": "From main system, waste water heat recovery", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2026-05-14 10:00:42", "living_area": 15.3, "orientation": 4, "pv_diverter": "true", "region_code": 6, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 2, "shower_flow_rate": 8, "shower_outlet_type": 3}, {"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}, {"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}], "water_fuel_type": 1, "water_heating_code": 901, "instantaneous_wwhrs": {"wwhrs_index_number1": 80179}, "hot_water_store_size": 210, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 1, "heat_emitter_type": 1, "is_flue_fan_present": "true", "main_heating_number": 1, "control_index_number": 200122, "is_condensing_boiler": "true", "main_heating_control": 2110, "is_interlocked_system": "true", "main_heating_category": 2, "main_heating_fraction": 1, "gas_or_oil_boiler_type": 1, "main_heating_flue_type": 2, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 18042, "has_separate_delayed_start": "false", "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "condensing_boiler_heat_distribution": 55, "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.48, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 4}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 11, "lighting_efficacy": 90}, {"lighting_power": 8, "lighting_outlets": 12, "lighting_efficacy": 100}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.5 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "pv_connection": 2, "address_line_1": "addr-9094c44c0add", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 1, "pressure_test": 1, "wet_rooms_count": 5, "air_permeability": 4.48, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 1, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 4, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500755, "is_mechanical_vent_approved_installer_scheme": "true"}, "battery_capacity": 0, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 113, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"pv_arrays": [{"pitch": 2, "peak_power": 1.675, "orientation": 4, "overshading": 1}], "electricity_tariff": 1}, "sap_opening_types": [{"name": "front door", "type": 1, "u_value": 1.4, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "glazing", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.46}, {"name": "french door", "type": 4, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.71}, {"name": "roof light", "type": 6, "u_value": 1.6, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.55}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 42.9, "lzc_energy_sources": [11], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 22.09}, {"name": "Roof (2)", "u_value": 0.11, "roof_type": 2, "kappa_value": 9, "total_roof_area": 8.55}, {"name": "Roof (3)", "u_value": 0.15, "roof_type": 2, "kappa_value": 9, "total_roof_area": 7.63}, {"name": "Roof (4)", "u_value": 0.16, "roof_type": 2, "kappa_value": 9, "total_roof_area": 1.8}, {"name": "Roof (5)", "u_value": 0.11, "roof_type": 2, "kappa_value": 9, "total_roof_area": 1.5}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.24, "wall_type": 2, "kappa_value": 60, "total_wall_area": 47.04, "is_curtain_walling": "false"}, {"name": "Walls (2)", "u_value": 0.26, "wall_type": 2, "kappa_value": 60, "total_wall_area": 47.06, "is_curtain_walling": "false"}, {"name": "Walls (3)", "u_value": 0.23, "wall_type": 2, "kappa_value": 9, "total_wall_area": 15.1, "is_curtain_walling": "false"}, {"name": "Walls (4)", "u_value": 0.11, "wall_type": 2, "kappa_value": 9, "total_wall_area": 10.9, "is_curtain_walling": "false"}, {"name": "Walls (5)", "u_value": 0.26, "wall_type": 2, "kappa_value": 9, "total_wall_area": 2.85, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 70, "total_wall_area": 44, "is_curtain_walling": "false"}, {"name": "Party Wall (2)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 15.1, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 132.9, "is_curtain_walling": "false"}, {"name": "Internal Wall (2)", "u_value": 0, "wall_type": 5, "kappa_value": 75, "total_wall_area": 20.2, "is_curtain_walling": "false"}], "sap_openings": [{"name": "front entrance", "type": "front door", "width": 2.1, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "Front", "type": "glazing", "width": 3.95, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "Rear", "type": "glazing", "width": 2.99, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "French Door", "type": "french door", "width": 7.06, "height": 1, "location": "Walls (2)", "orientation": 8}, {"name": "Side", "type": "glazing", "width": 1.5, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "Side", "type": "glazing", "width": 0.85, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Front dormer", "type": "glazing", "width": 1.5, "height": 1, "location": "Walls (5)", "orientation": 4}], "construction_year": 2023, "sap_thermal_bridges": {"thermal_bridges": [{"length": 8.29, "psi_value": 0.043, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 4.42, "psi_value": 0.021, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 8.1, "psi_value": 0.009, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 24, "psi_value": 0.014, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 19.6, "psi_value": 0.054, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 4.85, "psi_value": 0.048, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 36.2, "psi_value": 0.003, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 10, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 10, "psi_value": 0.042, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 8.8, "psi_value": 0.04, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 17.6, "psi_value": 0, "psi_value_source": 1, "thermal_bridge_type": "P2"}, {"length": 4.85, "psi_value": 0.037, "psi_value_source": 1, "thermal_bridge_type": "P4"}, {"length": 9.3, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E11"}, {"length": 5.7, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "E13"}, {"length": 5.7, "psi_value": 0.07, "psi_value_source": 1, "thermal_bridge_type": "P5"}, {"length": 1.2, "psi_value": 0.029, "psi_value_source": 1, "thermal_bridge_type": "R1"}, {"length": 1.2, "psi_value": 0.071, "psi_value_source": 1, "thermal_bridge_type": "R2"}, {"length": 2.4, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "R3"}, {"length": 5.2, "psi_value": -0.022, "psi_value_source": 1, "thermal_bridge_type": "R7"}, {"length": 4.4, "psi_value": 0.029, "psi_value_source": 1, "thermal_bridge_type": "R9"}, {"length": 9.2, "psi_value": 0.031, "psi_value_source": 1, "thermal_bridge_type": "R6"}, {"length": 2.7, "psi_value": 0.15, "psi_value_source": 4, "thermal_bridge_type": "E24"}, {"length": 1.1, "psi_value": 0.12, "psi_value_source": 1, "thermal_bridge_type": "R1"}, {"length": 1.1, "psi_value": 0.11, "psi_value_source": 1, "thermal_bridge_type": "R2"}, {"length": 3.92, "psi_value": 0.04, "psi_value_source": 1, "thermal_bridge_type": "R3"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.12, "floor_type": 2, "kappa_value": 75, "storey_height": 2.39, "heat_loss_area": 42.9, "total_floor_area": 42.9}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 40.9, "kappa_value_from_below": 9}, {"storey": 2, "u_value": 0, "floor_type": 3, "storey_height": 2.55, "heat_loss_area": 0, "total_floor_area": 29.2}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 373, "currency": "GBP"}, "co2_emissions_current": 1.1, "energy_rating_average": 60, "energy_rating_current": 91, "lighting_cost_current": {"value": 64, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 398, "currency": "GBP"}, "hot_water_cost_current": {"value": 184, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 39, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 92, "environmental_impact_rating": 92}], "user_interface_version": "3.1.57", "co2_emissions_potential": 1.0, "energy_rating_potential": 92, "gas_smart_meter_present": "true", "lighting_cost_potential": {"value": 64, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 154, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 51, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 46, "environmental_impact_current": 90, "current_energy_efficiency_band": "B", "environmental_impact_potential": 92, "electricity_smart_meter_present": "true", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 9.9} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/CV78UG/cert-e8197b1db767.json b/tests/fixtures/epc_prediction/CV78UG/cert-e8197b1db767.json new file mode 100644 index 00000000..65e87e62 --- /dev/null +++ b/tests/fixtures/epc_prediction/CV78UG/cert-e8197b1db767.json @@ -0,0 +1 @@ +{"der": 10.0, "ter": 10.29, "dfee": 34.5, "dper": 51.82, "tfee": 35.3, "tper": 53.73, "uprn": 10097098984, "roofs": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.23 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.12 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": 1, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Excellent lighting efficiency", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "CV7 8UG", "data_type": 2, "hot_water": {"description": {"value": "From main system, waste water heat recovery", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2026-04-22 13:37:32", "living_area": 15.3, "orientation": 8, "pv_diverter": "true", "region_code": 6, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 2, "shower_flow_rate": 8, "shower_outlet_type": 3}, {"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}, {"shower_wwhrs": 1, "shower_flow_rate": 8, "shower_outlet_type": 3}], "water_fuel_type": 1, "water_heating_code": 901, "instantaneous_wwhrs": {"wwhrs_index_number1": 80179}, "hot_water_store_size": 210, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 1, "heat_emitter_type": 1, "is_flue_fan_present": "true", "main_heating_number": 1, "control_index_number": 200122, "is_condensing_boiler": "true", "main_heating_control": 2110, "is_interlocked_system": "true", "main_heating_category": 2, "main_heating_fraction": 1, "gas_or_oil_boiler_type": 1, "main_heating_flue_type": 2, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 18042, "has_separate_delayed_start": "false", "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "condensing_boiler_heat_distribution": 55, "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.48, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 4}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 11, "lighting_efficacy": 90}, {"lighting_power": 8, "lighting_outlets": 12, "lighting_efficacy": 100}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.5 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "pv_connection": 2, "address_line_1": "addr-975406041479", "assessment_date": "2026-04-22", "assessment_type": "SAP", "completion_date": "2026-04-22", "inspection_date": "2026-04-22", "sap_ventilation": {"psv_count": 0, "wall_type": 1, "pressure_test": 1, "wet_rooms_count": 5, "air_permeability": 4.48, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 1, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 4, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500755, "is_mechanical_vent_approved_installer_scheme": "true"}, "battery_capacity": 0, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 113, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-04-22", "sap_energy_source": {"pv_arrays": [{"pitch": 2, "peak_power": 1.67, "orientation": 4, "overshading": 1}], "electricity_tariff": 1}, "sap_opening_types": [{"name": "front door", "type": 1, "u_value": 1.4, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "glazing", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.46}, {"name": "french door", "type": 4, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.71}, {"name": "roof light", "type": 6, "u_value": 1.6, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.55}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 42.9, "lzc_energy_sources": [11], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 22.09}, {"name": "Roof (2)", "u_value": 0.11, "roof_type": 2, "kappa_value": 9, "total_roof_area": 8.55}, {"name": "Roof (3)", "u_value": 0.15, "roof_type": 2, "kappa_value": 9, "total_roof_area": 7.63}, {"name": "Roof (4)", "u_value": 0.16, "roof_type": 2, "kappa_value": 9, "total_roof_area": 1.8}, {"name": "Roof (5)", "u_value": 0.11, "roof_type": 2, "kappa_value": 9, "total_roof_area": 1.5}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.24, "wall_type": 2, "kappa_value": 60, "total_wall_area": 47.04, "is_curtain_walling": "false"}, {"name": "Walls (2)", "u_value": 0.26, "wall_type": 2, "kappa_value": 60, "total_wall_area": 47.06, "is_curtain_walling": "false"}, {"name": "Walls (3)", "u_value": 0.23, "wall_type": 2, "kappa_value": 9, "total_wall_area": 15.1, "is_curtain_walling": "false"}, {"name": "Walls (4)", "u_value": 0.11, "wall_type": 2, "kappa_value": 9, "total_wall_area": 10.9, "is_curtain_walling": "false"}, {"name": "Walls (5)", "u_value": 0.26, "wall_type": 2, "kappa_value": 9, "total_wall_area": 2.85, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 70, "total_wall_area": 44, "is_curtain_walling": "false"}, {"name": "Party Wall (2)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 15.1, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 132.9, "is_curtain_walling": "false"}, {"name": "Internal Wall (2)", "u_value": 0, "wall_type": 5, "kappa_value": 75, "total_wall_area": 20.2, "is_curtain_walling": "false"}], "sap_openings": [{"name": "front entrance", "type": "front door", "width": 2.1, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Front", "type": "glazing", "width": 3.95, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Rear", "type": "glazing", "width": 2.99, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "French Door", "type": "french door", "width": 7.06, "height": 1, "location": "Walls (2)", "orientation": 4}, {"name": "Side", "type": "glazing", "width": 1.5, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Side", "type": "glazing", "width": 0.85, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "Front dormer", "type": "glazing", "width": 1.5, "height": 1, "location": "Walls (5)", "orientation": 8}], "construction_year": 2023, "sap_thermal_bridges": {"thermal_bridges": [{"length": 8.29, "psi_value": 0.043, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 4.42, "psi_value": 0.021, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 8.1, "psi_value": 0.009, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 24, "psi_value": 0.014, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 19.6, "psi_value": 0.054, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 4.85, "psi_value": 0.048, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 36.2, "psi_value": 0, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 10, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 10, "psi_value": 0.042, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 8.8, "psi_value": 0.04, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 17.6, "psi_value": 0, "psi_value_source": 1, "thermal_bridge_type": "P2"}, {"length": 4.85, "psi_value": 0.037, "psi_value_source": 1, "thermal_bridge_type": "P4"}, {"length": 9.3, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E11"}, {"length": 5.7, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "E13"}, {"length": 5.7, "psi_value": 0.07, "psi_value_source": 1, "thermal_bridge_type": "P5"}, {"length": 1.2, "psi_value": 0.029, "psi_value_source": 1, "thermal_bridge_type": "R1"}, {"length": 1.2, "psi_value": 0.071, "psi_value_source": 1, "thermal_bridge_type": "R2"}, {"length": 2.4, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "R3"}, {"length": 5.2, "psi_value": -0.022, "psi_value_source": 1, "thermal_bridge_type": "R7"}, {"length": 4.4, "psi_value": 0.029, "psi_value_source": 1, "thermal_bridge_type": "R9"}, {"length": 9.2, "psi_value": 0.031, "psi_value_source": 1, "thermal_bridge_type": "R6"}, {"length": 2.7, "psi_value": 0.15, "psi_value_source": 4, "thermal_bridge_type": "E24"}, {"length": 1.1, "psi_value": 0.12, "psi_value_source": 1, "thermal_bridge_type": "R1"}, {"length": 1.1, "psi_value": 0.11, "psi_value_source": 1, "thermal_bridge_type": "R2"}, {"length": 3.92, "psi_value": 0.04, "psi_value_source": 1, "thermal_bridge_type": "R3"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.12, "floor_type": 2, "kappa_value": 75, "storey_height": 2.39, "heat_loss_area": 42.9, "total_floor_area": 42.9}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 40.9, "kappa_value_from_below": 9}, {"storey": 2, "u_value": 0, "floor_type": 3, "storey_height": 2.55, "heat_loss_area": 0, "total_floor_area": 29.2}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 363, "currency": "GBP"}, "co2_emissions_current": 1.1, "energy_rating_average": 60, "energy_rating_current": 91, "lighting_cost_current": {"value": 64, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 387, "currency": "GBP"}, "hot_water_cost_current": {"value": 184, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 39, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 93, "environmental_impact_rating": 92}], "user_interface_version": "3.1.57", "co2_emissions_potential": 1.0, "energy_rating_potential": 93, "gas_smart_meter_present": "true", "lighting_cost_potential": {"value": 64, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 154, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 50, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 45, "environmental_impact_current": 91, "current_energy_efficiency_band": "B", "environmental_impact_potential": 92, "electricity_smart_meter_present": "true", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 9.6} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/DN327BH/cert-0402dc341842.json b/tests/fixtures/epc_prediction/DN327BH/cert-0402dc341842.json new file mode 100644 index 00000000..677b35fc --- /dev/null +++ b/tests/fixtures/epc_prediction/DN327BH/cert-0402dc341842.json @@ -0,0 +1 @@ +{"uprn": 11048258, "roofs": [{"description": "Pitched, 300 mm loft insulation", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "DN32 7BH", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 3, "created_at": "2023-05-25 21:00:57", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17507}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "End-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-6b27735c1d23", "assessment_type": "RdSAP", "completion_date": "2023-05-25", "inspection_date": "2023-05-25", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 77, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2023-05-25", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.34, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 39.52, "quantity": "square metres"}, "party_wall_length": {"value": 4.8, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 22.2, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.36, "quantity": "metres"}, "total_floor_area": {"value": 37.92, "quantity": "square metres"}, "party_wall_length": {"value": 4.8, "quantity": "metres"}, "heat_loss_perimeter": {"value": 20.6, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "E", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 1361, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.4, "energy_rating_average": 60, "energy_rating_current": 66, "lighting_cost_current": {"value": 124, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 964, "currency": "GBP"}, "hot_water_cost_current": {"value": 213, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 303, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 70}, {"sequence": 2, "typical_saving": {"value": 94, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 72}, {"sequence": 3, "typical_saving": {"value": 75, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 74}, {"sequence": 4, "typical_saving": {"value": 688, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 84}], "co2_emissions_potential": 1.4, "energy_rating_potential": 86, "lighting_cost_potential": {"value": 124, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 163, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 75, "environmental_impact_rating": 74}}], "hot_water_cost_potential": {"value": 139, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1944, "impact_of_cavity_insulation": -2817, "space_heating_existing_dwelling": 11113}, "energy_consumption_current": 248, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.11r0005", "energy_consumption_potential": 97, "environmental_impact_current": 62, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "D", "environmental_impact_potential": 84, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 44, "low_energy_fixed_lighting_outlets_count": 8} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/DN327BH/cert-0c3791e9d4ff.json b/tests/fixtures/epc_prediction/DN327BH/cert-0c3791e9d4ff.json new file mode 100644 index 00000000..a30e9c3a --- /dev/null +++ b/tests/fixtures/epc_prediction/DN327BH/cert-0c3791e9d4ff.json @@ -0,0 +1 @@ +{"uprn": 11028505, "roofs": [{"description": "Pitched, 250 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, limited insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in 78% of fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "DN32 7BH", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 3, "created_at": "2024-12-09 18:41:00", "door_count": 2, "glazed_area": 1, "glazing_gap": 6, "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2103, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17548}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "End-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-9950edfc3565", "assessment_type": "RdSAP", "completion_date": "2024-12-09", "inspection_date": "2024-12-09", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 74, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2024-12-09", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.35, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 36.99, "quantity": "square metres"}, "party_wall_length": {"value": 4.78, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 20.26, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.36, "quantity": "metres"}, "total_floor_area": {"value": 36.99, "quantity": "square metres"}, "party_wall_length": {"value": 4.78, "quantity": "metres"}, "heat_loss_perimeter": {"value": 20.26, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "I", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "250mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 78, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 614, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.6, "energy_rating_average": 60, "energy_rating_current": 72, "lighting_cost_current": {"value": 107, "currency": "GBP"}, "main_heating_controls": [{"description": "Room thermostat only", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 617, "currency": "GBP"}, "hot_water_cost_current": {"value": 179, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 60, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 73}, {"sequence": 2, "typical_saving": {"value": 468, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 85, "environmental_impact_rating": 83}], "co2_emissions_potential": 1.4, "energy_rating_potential": 85, "lighting_cost_potential": {"value": 107, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 115, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2540, "space_heating_existing_dwelling": 6944}, "energy_consumption_current": 202, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0002", "energy_consumption_potential": 106, "environmental_impact_current": 70, "fixed_lighting_outlets_count": 9, "current_energy_efficiency_band": "C", "environmental_impact_potential": 83, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 35, "low_energy_fixed_lighting_outlets_count": 7} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/DN327BH/cert-836df153600a.json b/tests/fixtures/epc_prediction/DN327BH/cert-836df153600a.json new file mode 100644 index 00000000..4dbd8540 --- /dev/null +++ b/tests/fixtures/epc_prediction/DN327BH/cert-836df153600a.json @@ -0,0 +1 @@ +{"uprn": 11010967, "roofs": [{"description": "Pitched, 300 mm loft insulation", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "DN32 7BH", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2023-05-25 21:02:57", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17511}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-534b7b0d0613", "assessment_type": "RdSAP", "completion_date": "2023-05-25", "inspection_date": "2023-05-25", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 77, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2023-05-25", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.34, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 39.52, "quantity": "square metres"}, "party_wall_length": {"value": 8.1, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 18.9, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.36, "quantity": "metres"}, "total_floor_area": {"value": 37.92, "quantity": "square metres"}, "party_wall_length": {"value": 8.1, "quantity": "metres"}, "heat_loss_perimeter": {"value": 17.3, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "E", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 1231, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.1, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 124, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 896, "currency": "GBP"}, "hot_water_cost_current": {"value": 198, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 252, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 72}, {"sequence": 2, "typical_saving": {"value": 82, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 74}, {"sequence": 3, "typical_saving": {"value": 74, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 76}, {"sequence": 4, "typical_saving": {"value": 688, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 86}], "co2_emissions_potential": 1.2, "energy_rating_potential": 87, "lighting_cost_potential": {"value": 124, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 134, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 76, "environmental_impact_rating": 76}}], "hot_water_cost_potential": {"value": 124, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1815, "impact_of_cavity_insulation": -2348, "space_heating_existing_dwelling": 9927}, "energy_consumption_current": 224, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.11r0005", "energy_consumption_potential": 83, "environmental_impact_current": 66, "fixed_lighting_outlets_count": 7, "current_energy_efficiency_band": "C", "environmental_impact_potential": 86, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 40, "low_energy_fixed_lighting_outlets_count": 7} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/DN327BH/cert-b2f03024d9a1.json b/tests/fixtures/epc_prediction/DN327BH/cert-b2f03024d9a1.json new file mode 100644 index 00000000..fea8c1e7 --- /dev/null +++ b/tests/fixtures/epc_prediction/DN327BH/cert-b2f03024d9a1.json @@ -0,0 +1 @@ +{"uprn": 11010968, "roofs": [{"description": "Pitched, 150 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Good lighting efficiency", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "DN32 7BH", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 10:00:17", "door_count": 2, "region_code": 3, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_outlet_type": 2}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17507}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "glazing_gap": 12, "orientation": 2, "window_type": 1, "glazing_type": 3, "window_width": 0.88, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 2, "window_type": 1, "glazing_type": 3, "window_width": 0.6, "window_height": 0.6, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 2, "window_type": 1, "glazing_type": 3, "window_width": 0.88, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 2, "window_type": 1, "glazing_type": 3, "window_width": 0.88, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 6, "window_type": 1, "glazing_type": 3, "window_width": 1.8, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 6, "window_type": 1, "glazing_type": 3, "window_width": 1.8, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 6, "window_type": 1, "glazing_type": 3, "window_width": 1.8, "window_height": 1.45, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 6, "window_type": 1, "glazing_type": 3, "window_width": 1.8, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 6, "window_type": 1, "glazing_type": 3, "window_width": 0.9, "window_height": 1.45, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 3, "window_type": 1, "glazing_type": 3, "window_width": 0.9, "window_height": 0.5, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Mid-terrace house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-932786858923", "assessment_type": "RdSAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-13", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 80, "transaction_type": 14, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2026-05-14", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "extract_fans_count": 2, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.34, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 40.77, "quantity": "square metres"}, "party_wall_length": {"value": 9.74, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 18.73, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.33, "quantity": "metres"}, "total_floor_area": {"value": 38.81, "quantity": "square metres"}, "party_wall_length": {"value": 9.74, "quantity": "metres"}, "heat_loss_perimeter": {"value": 15.94, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "E", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 1008, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.9, "energy_rating_average": 60, "energy_rating_current": 66, "lighting_cost_current": {"value": 53, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 737, "currency": "GBP"}, "hot_water_cost_current": {"value": 291, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 212, "currency": "GBP"}, "indicative_cost": "\u00a3900 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 75}, {"sequence": 2, "typical_saving": {"value": 59, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 77}, {"sequence": 3, "typical_saving": {"value": 231, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 78}], "co2_emissions_potential": 2.1, "energy_rating_potential": 77, "lighting_cost_potential": {"value": 53, "currency": "GBP"}, "schema_version_original": "21.0.1", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 60, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 73, "environmental_impact_rating": 77}], "hot_water_cost_potential": {"value": 291, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2112.43, "space_heating_existing_dwelling": 10406.78}, "draughtproofed_door_count": 2, "energy_consumption_current": 209, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0344", "energy_consumption_potential": 140, "environmental_impact_current": 68, "current_energy_efficiency_band": "D", "environmental_impact_potential": 78, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 37, "low_energy_fixed_lighting_bulbs_count": 8, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/DN327BH/cert-c48e73075389.json b/tests/fixtures/epc_prediction/DN327BH/cert-c48e73075389.json new file mode 100644 index 00000000..51d51784 --- /dev/null +++ b/tests/fixtures/epc_prediction/DN327BH/cert-c48e73075389.json @@ -0,0 +1 @@ +{"uprn": 11044320, "roofs": [{"description": {"value": "Pitched, 300 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Cavity wall, as built, partial insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 70% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "DN32 7BH", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2021-02-16 16:27:40.904043", "door_count": 2, "glazed_area": 1, "glazing_gap": 12, "region_code": 3, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 9897}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-f9478832a25f", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2021-02-16", "inspection_date": "2021-02-16", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 78, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2021-02-16", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.28, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 39.84, "quantity": "square metres"}, "party_wall_length": {"value": 9.68, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 18.44, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.32, "quantity": "metres"}, "total_floor_area": {"value": 38.28, "quantity": "square metres"}, "party_wall_length": {"value": 9.68, "quantity": "metres"}, "heat_loss_perimeter": {"value": 15.82, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "F", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 70, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 489, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 84, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 387, "currency": "GBP"}, "hot_water_cost_current": {"value": 121, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 72, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 71}, {"sequence": 2, "typical_saving": {"value": 33, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 73}, {"sequence": 3, "typical_saving": {"value": 18, "currency": "GBP"}, "indicative_cost": "\u00a315", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 74}, {"sequence": 4, "typical_saving": {"value": 41, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 77}, {"sequence": 5, "typical_saving": {"value": 353, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 86}], "co2_emissions_potential": 1.2, "energy_rating_potential": 87, "lighting_cost_potential": {"value": 65, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 12, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 73, "environmental_impact_rating": 72}}], "hot_water_cost_potential": {"value": 77, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2646, "impact_of_cavity_insulation": -1690, "space_heating_existing_dwelling": 8463}, "energy_consumption_current": 220, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "v94.0.1.1", "energy_consumption_potential": 82, "environmental_impact_current": 67, "fixed_lighting_outlets_count": 10, "current_energy_efficiency_band": "C", "environmental_impact_potential": 86, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 39, "low_energy_fixed_lighting_outlets_count": 7} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-0348cfa1f7fb.json b/tests/fixtures/epc_prediction/E153FA/cert-0348cfa1f7fb.json new file mode 100644 index 00000000..2dec0562 --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-0348cfa1f7fb.json @@ -0,0 +1 @@ +{"uprn": 10093129134, "roofs": [{"description": "Average thermal transmittance 0.17 W/m\u00b2K", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Average thermal transmittance 0.26 W/m\u00b2K", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": "Average thermal transmittance 0.13 W/m\u00b2K", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": 1, "windows": {"description": "High performance glazing", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "data_type": 5, "hot_water": {"description": "Electric immersion, standard tariff", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}, "post_town": "", "created_at": "2016-06-23 09:44:31", "living_area": 24, "orientation": 7, "region_code": 17, "report_type": 3, "sap_heating": {"water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"main_fuel_type": 39, "main_heating_code": 691, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 3, "has_separate_delayed_start": "false", "load_or_weather_compensation": 0}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "sap_heating_design_water_use": 1, "hot_water_store_insulation_type": 1, "hot_water_store_insulation_thickness": 75}, "sap_version": 9.92, "schema_type": "SAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-f07c39bdd151", "address_line_2": "", "assessment_date": "2015-03-09", "assessment_type": "SAP", "completion_date": "2016-06-23", "inspection_date": "2015-03-09", "sap_ventilation": {"psv_count": 0, "pressure_test": 6, "draughtstripping": 3, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "true", "extract_fans_count": 3, "open_fireplaces_count": 0, "sheltered_sides_count": 2, "flueless_gas_fires_count": 0}, "design_water_use": 1, "sap_data_version": 9.92, "sap_flat_details": {"level": 1}, "total_floor_area": 46, "transaction_type": 5, "conservatory_type": 1, "registration_date": "2016-06-23", "sap_energy_source": {"electricity_tariff": 1, "wind_turbines_count": 0, "wind_turbine_terrain_type": 2, "fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_percentage": 100}, "sap_opening_types": [{"name": "Windows (1)", "type": 4, "u_value": 1.29, "frame_type": 1, "data_source": 2, "description": "Data from Manufacturer", "frame_factor": 0.7, "glazing_type": 6, "solar_transmittance": 0.76}], "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"sap_roofs": [{"name": "Flat Roof", "u_value": 0.17, "roof_type": 2, "kappa_value": 9, "total_roof_area": 19.5}], "sap_walls": [{"name": "Existing Wall", "u_value": 0.26, "wall_type": 2, "kappa_value": 17, "total_wall_area": 31.2, "is_curtain_walling": "false"}, {"name": "Party Wall", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 81.9}], "identifier": "Main Dwelling", "overshading": 2, "sap_openings": [{"name": 1, "type": "Windows (1)", "width": 0, "height": 0, "location": "Existing Wall", "orientation": 7}], "construction_year": 2015, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.13, "floor_type": 2, "kappa_value": 110, "storey_height": 3.9, "heat_loss_area": 46.4, "total_floor_area": 46.4}]}], "heating_cost_current": {"value": 345, "currency": "GBP"}, "co2_emissions_current": 2.1, "energy_rating_average": 60, "energy_rating_current": 59, "lighting_cost_current": {"value": 40, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 345, "currency": "GBP"}, "hot_water_cost_current": {"value": 229, "currency": "GBP"}, "co2_emissions_potential": 2.1, "energy_rating_potential": 59, "lighting_cost_potential": {"value": 40, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 229, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "renewable_heat_incentive": {"rhi_existing_dwelling": {"water_heating": 1495, "space_heating_existing_dwelling": 2249}}, "seller_commission_report": "Y", "energy_consumption_current": 265, "has_fixed_air_conditioning": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "Version: 1.0.3.4", "energy_consumption_potential": 265, "environmental_impact_current": 63, "current_energy_efficiency_band": "D", "environmental_impact_potential": 63, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "D", "co2_emissions_current_per_floor_area": 45} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-05dd23b424ce.json b/tests/fixtures/epc_prediction/E153FA/cert-05dd23b424ce.json new file mode 100644 index 00000000..a4e6331a --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-05dd23b424ce.json @@ -0,0 +1 @@ +{"uprn": 10093129143, "roofs": [{"description": "(another dwelling above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "System built, as built, insulated (assumed)", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": "(another dwelling below)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "hot_water": {"description": "Electric immersion, off-peak", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 4, "created_at": "2025-03-19 06:49:15", "door_count": 0, "glazed_area": 1, "glazing_gap": "16+", "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 4, "water_heating_code": 903, "water_heating_fuel": 29, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 29, "heat_emitter_type": 0, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "sap_main_heating_code": 691, "main_heating_data_source": 2}], "immersion_heating_type": 1, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": "Mid-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-53dbe812ea2e", "address_line_2": "", "address_line_3": "", "assessment_type": "RdSAP", "completion_date": "2025-03-19", "inspection_date": "2025-02-17", "extensions_count": 0, "measurement_type": 1, "sap_flat_details": {"level": 2, "top_storey": "N", "flat_location": 1, "heat_loss_corridor": 1}, "total_floor_area": 37, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 2, "pvc_window_frames": "true", "registration_date": "2025-03-19", "sap_energy_source": {"mains_gas": "N", "meter_type": 3, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 1}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 6, "roof_construction": 3, "wall_construction": 8, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.55, "quantity": "metres"}, "total_floor_area": {"value": 36.9, "quantity": "square metres"}, "party_wall_length": {"value": 18.26, "quantity": "metres"}, "heat_loss_perimeter": {"value": 6.04, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "L", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": "ND", "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 2, "heating_cost_current": {"value": 66, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 1.1, "energy_rating_average": 60, "energy_rating_current": 84, "lighting_cost_current": {"value": 56, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 39, "currency": "GBP"}, "hot_water_cost_current": {"value": 266, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 86, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "L2", "improvement_details": {"improvement_number": 62}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 80}], "co2_emissions_potential": 1.1, "energy_rating_potential": 87, "lighting_cost_potential": {"value": 54, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 87, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 89, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 96, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 88, "environmental_impact_rating": 89}], "hot_water_cost_potential": {"value": 210, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1668, "space_heating_existing_dwelling": 277}, "energy_consumption_current": 178, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0002", "energy_consumption_potential": 178, "environmental_impact_current": 80, "fixed_lighting_outlets_count": 5, "current_energy_efficiency_band": "B", "environmental_impact_potential": 80, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 30, "low_energy_fixed_lighting_outlets_count": 5} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-0a2ed0dc5163.json b/tests/fixtures/epc_prediction/E153FA/cert-0a2ed0dc5163.json new file mode 100644 index 00000000..d18ded93 --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-0a2ed0dc5163.json @@ -0,0 +1 @@ +{"uprn": 10093129143, "roofs": [{"description": "(other premises above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "Average thermal transmittance 0.26 W/m\u00b2K", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": "(other premises below)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": {"description": "High performance glazing", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "data_type": 5, "hot_water": {"description": "Electric immersion, standard tariff", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}, "post_town": "", "created_at": "2016-06-23 09:51:41", "living_area": 20.25, "orientation": 3, "region_code": 17, "report_type": 3, "sap_heating": {"water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"main_fuel_type": 39, "main_heating_code": 691, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 3, "has_separate_delayed_start": "false", "load_or_weather_compensation": 0}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "sap_heating_design_water_use": 1, "hot_water_store_insulation_type": 1, "hot_water_store_insulation_thickness": 75}, "sap_version": 9.92, "schema_type": "SAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": "Mid-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-2097f167f33e", "address_line_2": "", "assessment_date": "2015-03-09", "assessment_type": "SAP", "completion_date": "2016-06-23", "inspection_date": "2015-03-09", "sap_ventilation": {"psv_count": 0, "pressure_test": 6, "draughtstripping": 3, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "true", "extract_fans_count": 2, "open_fireplaces_count": 0, "sheltered_sides_count": 2, "flueless_gas_fires_count": 0}, "design_water_use": 1, "sap_data_version": 9.92, "sap_flat_details": {"level": 2}, "total_floor_area": 37, "transaction_type": 5, "conservatory_type": 1, "registration_date": "2016-06-23", "sap_energy_source": {"electricity_tariff": 1, "wind_turbines_count": 0, "wind_turbine_terrain_type": 2, "fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_percentage": 100}, "sap_opening_types": [{"name": "Windows (1)", "type": 4, "u_value": 1.29, "frame_type": 1, "data_source": 2, "description": "Data from Manufacturer", "frame_factor": 0.7, "glazing_type": 6, "solar_transmittance": 0.76}], "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"sap_roofs": [{"name": "Exposed Roof", "u_value": 0, "roof_type": 2, "kappa_value": 0, "total_roof_area": 0}], "sap_walls": [{"name": "Existing Wall", "u_value": 0.26, "wall_type": 2, "kappa_value": 17, "total_wall_area": 26.4, "is_curtain_walling": "false"}, {"name": "Party Wall", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 56.1}], "identifier": "Main Dwelling", "overshading": 2, "sap_openings": [{"name": 1, "type": "Windows (1)", "width": 0, "height": 0, "location": "Existing Wall", "orientation": 3}], "construction_year": 2015, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1}], "heating_cost_current": {"value": 127, "currency": "GBP"}, "co2_emissions_current": 1.3, "energy_rating_average": 60, "energy_rating_current": 73, "lighting_cost_current": {"value": 28, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 127, "currency": "GBP"}, "hot_water_cost_current": {"value": 215, "currency": "GBP"}, "co2_emissions_potential": 1.3, "energy_rating_potential": 73, "lighting_cost_potential": {"value": 28, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 215, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "renewable_heat_incentive": {"rhi_existing_dwelling": {"water_heating": 1400, "space_heating_existing_dwelling": 829}}, "seller_commission_report": "Y", "energy_consumption_current": 199, "has_fixed_air_conditioning": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "Version: 1.0.3.4", "energy_consumption_potential": 199, "environmental_impact_current": 76, "current_energy_efficiency_band": "C", "environmental_impact_potential": 76, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 34} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-21c48aaf77bc.json b/tests/fixtures/epc_prediction/E153FA/cert-21c48aaf77bc.json new file mode 100644 index 00000000..99a21c5a --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-21c48aaf77bc.json @@ -0,0 +1 @@ +{"uprn": 10090853539, "roofs": [{"description": "(other premises above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "Average thermal transmittance 0.26 W/m\u00b2K", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": "Average thermal transmittance 0.13 W/m\u00b2K", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": 1, "windows": {"description": "High performance glazing", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "data_type": 5, "hot_water": {"description": "Electric immersion, standard tariff", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}, "post_town": "", "created_at": "2016-06-23 09:44:25", "living_area": 16, "orientation": 3, "region_code": 17, "report_type": 3, "sap_heating": {"water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"main_fuel_type": 39, "main_heating_code": 691, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 3, "has_separate_delayed_start": "false", "load_or_weather_compensation": 0}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "sap_heating_design_water_use": 1, "hot_water_store_insulation_type": 1, "hot_water_store_insulation_thickness": 75}, "sap_version": 9.92, "schema_type": "SAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-ebdb101a05fe", "address_line_2": "", "assessment_date": "2015-03-09", "assessment_type": "SAP", "completion_date": "2016-06-23", "inspection_date": "2015-03-09", "sap_ventilation": {"psv_count": 0, "pressure_test": 6, "draughtstripping": 3, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "true", "extract_fans_count": 2, "open_fireplaces_count": 0, "sheltered_sides_count": 2, "flueless_gas_fires_count": 0}, "design_water_use": 1, "sap_data_version": 9.92, "sap_flat_details": {"level": 1}, "total_floor_area": 39, "transaction_type": 5, "conservatory_type": 1, "registration_date": "2016-06-23", "sap_energy_source": {"electricity_tariff": 1, "wind_turbines_count": 0, "wind_turbine_terrain_type": 2, "fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_percentage": 100}, "sap_opening_types": [{"name": "Windows (1)", "type": 4, "u_value": 1.29, "frame_type": 1, "data_source": 2, "description": "Data from Manufacturer", "frame_factor": 0.7, "glazing_type": 6, "solar_transmittance": 0.76}], "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"sap_roofs": [{"name": "Exposed Roof", "u_value": 0, "roof_type": 2, "kappa_value": 0, "total_roof_area": 0}], "sap_walls": [{"name": "Existing Wall", "u_value": 0.26, "wall_type": 2, "kappa_value": 17, "total_wall_area": 31.2, "is_curtain_walling": "false"}, {"name": "Party Wall", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 74.1}], "identifier": "Main Dwelling", "overshading": 2, "sap_openings": [{"name": 1, "type": "Windows (1)", "width": 0, "height": 0, "location": "Existing Wall", "orientation": 3}], "construction_year": 2015, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.13, "floor_type": 2, "kappa_value": 110, "storey_height": 3.9, "heat_loss_area": 38.7, "total_floor_area": 38.7}]}], "heating_cost_current": {"value": 234, "currency": "GBP"}, "co2_emissions_current": 1.6, "energy_rating_average": 60, "energy_rating_current": 65, "lighting_cost_current": {"value": 29, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 234, "currency": "GBP"}, "hot_water_cost_current": {"value": 217, "currency": "GBP"}, "co2_emissions_potential": 1.6, "energy_rating_potential": 65, "lighting_cost_potential": {"value": 29, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 217, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "renewable_heat_incentive": {"rhi_existing_dwelling": {"water_heating": 1416, "space_heating_existing_dwelling": 1530}}, "seller_commission_report": "Y", "energy_consumption_current": 248, "has_fixed_air_conditioning": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "Version: 1.0.3.4", "energy_consumption_potential": 248, "environmental_impact_current": 69, "current_energy_efficiency_band": "D", "environmental_impact_potential": 69, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "D", "co2_emissions_current_per_floor_area": 42} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-2d0b11c96e70.json b/tests/fixtures/epc_prediction/E153FA/cert-2d0b11c96e70.json new file mode 100644 index 00000000..af364aa1 --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-2d0b11c96e70.json @@ -0,0 +1 @@ +{"uprn": 10093129133, "roofs": [{"description": "(another dwelling above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "System built, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Timber frame, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, insulated (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "hot_water": {"description": "Electric immersion, off-peak", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 4, "created_at": "2025-05-16 13:49:38", "door_count": 1, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 3, "water_heating_code": 903, "water_heating_fuel": 29, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 29, "heat_emitter_type": 0, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "sap_main_heating_code": 691, "main_heating_data_source": 2}], "immersion_heating_type": 1, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-1ce1d93890e7", "address_line_2": "", "address_line_3": "", "assessment_type": "RdSAP", "completion_date": "2025-05-16", "inspection_date": "2025-05-14", "extensions_count": 0, "measurement_type": 1, "sap_flat_details": {"level": 1, "top_storey": "N", "flat_location": 0, "heat_loss_corridor": 2, "unheated_corridor_length": 5.18}, "total_floor_area": 65, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 3, "registration_date": "2025-05-16", "sap_energy_source": {"mains_gas": "N", "meter_type": 3, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 1}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 200, "floor_heat_loss": 7, "roof_construction": 3, "wall_construction": 8, "building_part_number": 1, "sap_alternative_wall": {"wall_area": 12.4838, "sheltered_wall": "Y", "wall_dry_lined": "N", "wall_construction": 5, "wall_insulation_type": 4, "wall_thickness_measured": "N", "wall_insulation_thickness": "NI"}, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 64.9, "quantity": "square metres"}, "party_wall_length": {"value": 25.06, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 10.36, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "J", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": "ND", "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 319, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 1.8, "energy_rating_average": 60, "energy_rating_current": 78, "lighting_cost_current": {"value": 92, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 190, "currency": "GBP"}, "hot_water_cost_current": {"value": 300, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 173, "currency": "GBP"}, "indicative_cost": "\u00a31,200 - \u00a31,800", "improvement_type": "L2", "improvement_details": {"improvement_number": 62}, "improvement_category": 5, "energy_performance_rating": 83, "environmental_impact_rating": 74}], "co2_emissions_potential": 1.8, "energy_rating_potential": 83, "lighting_cost_potential": {"value": 88, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 214, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 86, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 250, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 85, "environmental_impact_rating": 87}], "hot_water_cost_potential": {"value": 260, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1882, "space_heating_existing_dwelling": 1337}, "energy_consumption_current": 168, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0002", "energy_consumption_potential": 168, "environmental_impact_current": 74, "fixed_lighting_outlets_count": 20, "current_energy_efficiency_band": "C", "environmental_impact_potential": 74, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 28, "low_energy_fixed_lighting_outlets_count": 20} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-2dc2ae2de152.json b/tests/fixtures/epc_prediction/E153FA/cert-2dc2ae2de152.json new file mode 100644 index 00000000..5272a6fc --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-2dc2ae2de152.json @@ -0,0 +1 @@ +{"uprn": 10093129191, "roofs": [{"description": "(another dwelling above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "System built, as built, insulated (assumed)", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": "(another dwelling below)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "hot_water": {"description": "Electric immersion, off-peak", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 6, "created_at": "2023-09-18 19:33:56", "door_count": 0, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 903, "water_heating_fuel": 29, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 29, "heat_emitter_type": 0, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "sap_main_heating_code": 691, "main_heating_data_source": 2}], "immersion_heating_type": 1, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": "Mid-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-6580c14bc45c", "address_line_2": "", "address_line_3": "", "assessment_type": "RdSAP", "completion_date": "2023-09-18", "inspection_date": "2023-09-15", "extensions_count": 0, "measurement_type": 1, "sap_flat_details": {"level": 2, "top_storey": "N", "flat_location": 5, "heat_loss_corridor": 1}, "total_floor_area": 39, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 2, "registration_date": "2023-09-18", "sap_energy_source": {"mains_gas": "N", "meter_type": 3, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 1}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 500, "floor_heat_loss": 6, "roof_construction": 3, "wall_construction": 8, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.63, "quantity": "metres"}, "total_floor_area": {"value": 38.85, "quantity": "square metres"}, "party_wall_length": {"value": 17.69, "quantity": "metres"}, "heat_loss_perimeter": {"value": 8.11, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "L", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": "ND", "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 2, "heating_cost_current": {"value": 124, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 1.1, "energy_rating_average": 60, "energy_rating_current": 84, "lighting_cost_current": {"value": 82, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 60, "currency": "GBP"}, "hot_water_cost_current": {"value": 327, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 134, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "L2", "improvement_details": {"improvement_number": 62}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 81}], "co2_emissions_potential": 1.1, "energy_rating_potential": 87, "lighting_cost_potential": {"value": 94, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 153, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 89, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 74, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 88, "environmental_impact_rating": 89}], "hot_water_cost_potential": {"value": 245, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1484, "space_heating_existing_dwelling": 380}, "energy_consumption_current": 164, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.12r0003", "energy_consumption_potential": 164, "environmental_impact_current": 81, "fixed_lighting_outlets_count": 10, "current_energy_efficiency_band": "B", "environmental_impact_potential": 81, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 28, "low_energy_fixed_lighting_outlets_count": 10} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-347869ac4a1a.json b/tests/fixtures/epc_prediction/E153FA/cert-347869ac4a1a.json new file mode 100644 index 00000000..edaa695b --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-347869ac4a1a.json @@ -0,0 +1 @@ +{"uprn": 10093129171, "roofs": [{"description": "(other premises above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "Average thermal transmittance 0.26 W/m\u00b2K", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": "(other premises below)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": {"description": "High performance glazing", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "data_type": 5, "hot_water": {"description": "Electric immersion, standard tariff", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}, "post_town": "", "created_at": "2016-06-23 09:57:04", "living_area": 18, "orientation": 7, "region_code": 17, "report_type": 3, "sap_heating": {"water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"main_fuel_type": 39, "main_heating_code": 691, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 3, "has_separate_delayed_start": "false", "load_or_weather_compensation": 0}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "sap_heating_design_water_use": 1, "hot_water_store_insulation_type": 1, "hot_water_store_insulation_thickness": 75}, "sap_version": 9.92, "schema_type": "SAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": "Mid-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-596decbe1593", "address_line_2": "", "assessment_date": "2015-03-09", "assessment_type": "SAP", "completion_date": "2016-06-23", "inspection_date": "2015-03-09", "sap_ventilation": {"psv_count": 0, "pressure_test": 6, "draughtstripping": 3, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "true", "extract_fans_count": 2, "open_fireplaces_count": 0, "sheltered_sides_count": 2, "flueless_gas_fires_count": 0}, "design_water_use": 1, "sap_data_version": 9.92, "sap_flat_details": {"level": 2}, "total_floor_area": 38, "transaction_type": 5, "conservatory_type": 1, "registration_date": "2016-06-23", "sap_energy_source": {"electricity_tariff": 1, "wind_turbines_count": 0, "wind_turbine_terrain_type": 2, "fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_percentage": 100}, "sap_opening_types": [{"name": "Windows (1)", "type": 4, "u_value": 1.29, "frame_type": 1, "data_source": 2, "description": "Data from Manufacturer", "frame_factor": 0.7, "glazing_type": 6, "solar_transmittance": 0.76}], "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"sap_roofs": [{"name": "Exposed Roof", "u_value": 0, "roof_type": 2, "kappa_value": 0, "total_roof_area": 0}], "sap_walls": [{"name": "Existing Wall", "u_value": 0.26, "wall_type": 2, "kappa_value": 17, "total_wall_area": 26.4, "is_curtain_walling": "false"}, {"name": "Party Wall", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 56.1}], "identifier": "Main Dwelling", "overshading": 2, "sap_openings": [{"name": 1, "type": "Windows (1)", "width": 0, "height": 0, "location": "Existing Wall", "orientation": 7}], "construction_year": 2016, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1}], "heating_cost_current": {"value": 129, "currency": "GBP"}, "co2_emissions_current": 1.3, "energy_rating_average": 60, "energy_rating_current": 73, "lighting_cost_current": {"value": 28, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 129, "currency": "GBP"}, "hot_water_cost_current": {"value": 216, "currency": "GBP"}, "co2_emissions_potential": 1.3, "energy_rating_potential": 73, "lighting_cost_potential": {"value": 28, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 216, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "renewable_heat_incentive": {"rhi_existing_dwelling": {"water_heating": 1410, "space_heating_existing_dwelling": 842}}, "seller_commission_report": "Y", "energy_consumption_current": 196, "has_fixed_air_conditioning": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "Version: 1.0.3.4", "energy_consumption_potential": 196, "environmental_impact_current": 76, "current_energy_efficiency_band": "C", "environmental_impact_potential": 76, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 33} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-486444742055.json b/tests/fixtures/epc_prediction/E153FA/cert-486444742055.json new file mode 100644 index 00000000..9fb1aca8 --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-486444742055.json @@ -0,0 +1 @@ +{"uprn": 10093129155, "roofs": [{"description": "(another dwelling above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "System built, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "(another dwelling below)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Good lighting efficiency", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "E15 3FA", "hot_water": {"description": "Electric immersion, off-peak", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": "NR", "created_at": "2026-06-11 10:52:05", "door_count": 1, "region_code": 17, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 2, "shower_outlets": [{"shower_wwhrs": 1, "shower_outlet_type": 2}], "number_baths_wwhrs": 0, "water_heating_code": 903, "water_heating_fuel": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 29, "heat_emitter_type": 0, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "sap_main_heating_code": 691, "main_heating_data_source": 2}], "immersion_heating_type": 1, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "orientation": 3, "window_type": 1, "glazing_type": 2, "window_width": 0.65, "window_height": 1.68, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 5}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Mid-floor flat", "language_code": 1, "pressure_test": 4, "property_type": 2, "address_line_1": "addr-82638c433119", "address_line_2": "", "address_line_3": "", "assessment_type": "RdSAP", "completion_date": "2026-06-11", "inspection_date": "2026-06-09", "extensions_count": 0, "measurement_type": 1, "sap_flat_details": {"level": 2, "top_storey": "N", "storey_count": 6, "flat_location": 2, "heat_loss_corridor": 2, "unheated_corridor_length": 6.42}, "total_floor_area": 38, "transaction_type": 1, "conservatory_type": 1, "has_draught_lobby": "true", "heated_room_count": 2, "registration_date": "2026-06-11", "sap_energy_source": {"mains_gas": "Y", "meter_type": 3, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 390, "floor_heat_loss": 6, "roof_construction": 3, "wall_construction": 8, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.7, "quantity": "metres"}, "total_floor_area": {"value": 37.61, "quantity": "square metres"}, "party_wall_length": {"value": 11.39, "quantity": "metres"}, "heat_loss_perimeter": {"value": 14.67, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "L", "sap_alternative_wall_1": {"wall_area": 17.334, "sheltered_wall": "Y", "wall_dry_lined": "N", "wall_construction": 8, "wall_insulation_type": 4, "wall_thickness_measured": "N", "wall_insulation_thickness": "NI"}, "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": "ND", "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 2, "heating_cost_current": {"value": 258, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 78, "lighting_cost_current": {"value": 39, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 243, "currency": "GBP"}, "hot_water_cost_current": {"value": 339, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 50, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 15, "currency": "GBP"}, "indicative_cost": "\u00a3150 - \u00a3250", "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 94}], "co2_emissions_potential": 0.3, "energy_rating_potential": 79, "lighting_cost_potential": {"value": 39, "currency": "GBP"}, "schema_version_original": "21.0.1", "hot_water_cost_potential": {"value": 339, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1581.77, "space_heating_existing_dwelling": 702.58}, "draughtproofed_door_count": 0, "energy_consumption_current": 98, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.04r0013", "energy_consumption_potential": 96, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 9, "low_energy_fixed_lighting_bulbs_count": 8, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-54bfdb4d1c09.json b/tests/fixtures/epc_prediction/E153FA/cert-54bfdb4d1c09.json new file mode 100644 index 00000000..407d85ea --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-54bfdb4d1c09.json @@ -0,0 +1 @@ +{"uprn": 10093129181, "roofs": [{"description": "(other premises above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "Average thermal transmittance 0.26 W/m\u00b2K", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": "(other premises below)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": {"description": "High performance glazing", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "data_type": 5, "hot_water": {"description": "Electric immersion, standard tariff", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}, "post_town": "", "created_at": "2016-06-23 09:59:54", "living_area": 20.25, "orientation": 7, "region_code": 17, "report_type": 3, "sap_heating": {"water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"main_fuel_type": 39, "main_heating_code": 691, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 3, "has_separate_delayed_start": "false", "load_or_weather_compensation": 0}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "sap_heating_design_water_use": 1, "hot_water_store_insulation_type": 1, "hot_water_store_insulation_thickness": 75}, "sap_version": 9.92, "schema_type": "SAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": "Mid-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-6ff8ca9fc792", "address_line_2": "", "assessment_date": "2015-03-09", "assessment_type": "SAP", "completion_date": "2016-06-23", "inspection_date": "2015-03-09", "sap_ventilation": {"psv_count": 0, "pressure_test": 6, "draughtstripping": 3, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "true", "extract_fans_count": 2, "open_fireplaces_count": 0, "sheltered_sides_count": 2, "flueless_gas_fires_count": 0}, "design_water_use": 1, "sap_data_version": 9.92, "sap_flat_details": {"level": 2}, "total_floor_area": 39, "transaction_type": 5, "conservatory_type": 1, "registration_date": "2016-06-23", "sap_energy_source": {"electricity_tariff": 1, "wind_turbines_count": 0, "wind_turbine_terrain_type": 2, "fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_percentage": 100}, "sap_opening_types": [{"name": "Windows (1)", "type": 4, "u_value": 1.29, "frame_type": 1, "data_source": 2, "description": "Data from Manufacturer", "frame_factor": 0.7, "glazing_type": 6, "solar_transmittance": 0.76}], "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"sap_roofs": [{"name": "Exposed Roof", "u_value": 0, "roof_type": 2, "kappa_value": 0, "total_roof_area": 0}], "sap_walls": [{"name": "Existing Wall", "u_value": 0.26, "wall_type": 2, "kappa_value": 17, "total_wall_area": 42.9, "is_curtain_walling": "false"}, {"name": "Party Wall", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 41.25}], "identifier": "Main Dwelling", "overshading": 2, "sap_openings": [{"name": 1, "type": "Windows (1)", "width": 0, "height": 0, "location": "Existing Wall", "orientation": 7}], "construction_year": 2016, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1}], "heating_cost_current": {"value": 172, "currency": "GBP"}, "co2_emissions_current": 1.4, "energy_rating_average": 60, "energy_rating_current": 70, "lighting_cost_current": {"value": 28, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 172, "currency": "GBP"}, "hot_water_cost_current": {"value": 217, "currency": "GBP"}, "co2_emissions_potential": 1.4, "energy_rating_potential": 70, "lighting_cost_potential": {"value": 28, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 217, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "renewable_heat_incentive": {"rhi_existing_dwelling": {"water_heating": 1415, "space_heating_existing_dwelling": 1124}}, "seller_commission_report": "Y", "energy_consumption_current": 217, "has_fixed_air_conditioning": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "Version: 1.0.3.4", "energy_consumption_potential": 217, "environmental_impact_current": 73, "current_energy_efficiency_band": "C", "environmental_impact_potential": 73, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 37} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-57892e818162.json b/tests/fixtures/epc_prediction/E153FA/cert-57892e818162.json new file mode 100644 index 00000000..bdaa8a06 --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-57892e818162.json @@ -0,0 +1 @@ +{"uprn": 10093129172, "roofs": [{"description": "(another dwelling above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "System built, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Timber frame, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "(another dwelling below)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "hot_water": {"description": "Electric immersion, off-peak", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 4, "created_at": "2025-05-16 13:58:57", "door_count": 1, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 3, "water_heating_code": 903, "water_heating_fuel": 29, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 29, "heat_emitter_type": 0, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "sap_main_heating_code": 691, "main_heating_data_source": 2}], "immersion_heating_type": 1, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": "Mid-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-cb3241dde4dc", "address_line_2": "", "address_line_3": "", "assessment_type": "RdSAP", "completion_date": "2025-05-16", "inspection_date": "2025-05-14", "extensions_count": 0, "measurement_type": 1, "sap_flat_details": {"level": 2, "top_storey": "N", "flat_location": 3, "heat_loss_corridor": 2, "unheated_corridor_length": 5.18}, "total_floor_area": 46, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 3, "registration_date": "2025-05-16", "sap_energy_source": {"mains_gas": "N", "meter_type": 3, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 1}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 200, "floor_heat_loss": 6, "roof_construction": 3, "wall_construction": 8, "building_part_number": 1, "sap_alternative_wall": {"wall_area": 12.4838, "sheltered_wall": "Y", "wall_dry_lined": "N", "wall_construction": 5, "wall_insulation_type": 4, "wall_thickness_measured": "N", "wall_insulation_thickness": "NI"}, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "total_floor_area": {"value": 45.68, "quantity": "square metres"}, "party_wall_length": {"value": 17.64, "quantity": "metres"}, "heat_loss_perimeter": {"value": 10.96, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "J", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": "ND", "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 119, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 1.2, "energy_rating_average": 60, "energy_rating_current": 83, "lighting_cost_current": {"value": 68, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 70, "currency": "GBP"}, "hot_water_cost_current": {"value": 265, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 91, "currency": "GBP"}, "indicative_cost": "\u00a31,200 - \u00a31,800", "improvement_type": "L2", "improvement_details": {"improvement_number": 62}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 80}], "co2_emissions_potential": 1.2, "energy_rating_potential": 86, "lighting_cost_potential": {"value": 65, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 95, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 88, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 122, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 87, "environmental_impact_rating": 89}], "hot_water_cost_potential": {"value": 226, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1665, "space_heating_existing_dwelling": 499}, "energy_consumption_current": 161, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0002", "energy_consumption_potential": 162, "environmental_impact_current": 80, "fixed_lighting_outlets_count": 20, "current_energy_efficiency_band": "B", "environmental_impact_potential": 80, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 27, "low_energy_fixed_lighting_outlets_count": 20} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-638aadec0643.json b/tests/fixtures/epc_prediction/E153FA/cert-638aadec0643.json new file mode 100644 index 00000000..9e22d1cc --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-638aadec0643.json @@ -0,0 +1 @@ +{"uprn": 10093129190, "roofs": [{"description": "(other premises above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "Average thermal transmittance 0.26 W/m\u00b2K", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": "(other premises below)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": {"description": "High performance glazing", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "data_type": 5, "hot_water": {"description": "Electric immersion, standard tariff", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}, "post_town": "", "created_at": "2016-06-23 10:00:09", "living_area": 20.75, "orientation": 3, "region_code": 17, "report_type": 3, "sap_heating": {"water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"main_fuel_type": 39, "main_heating_code": 691, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 3, "has_separate_delayed_start": "false", "load_or_weather_compensation": 0}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "sap_heating_design_water_use": 1, "hot_water_store_insulation_type": 1, "hot_water_store_insulation_thickness": 75}, "sap_version": 9.92, "schema_type": "SAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": "Mid-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-7e14c5a464eb", "address_line_2": "", "assessment_date": "2015-03-09", "assessment_type": "SAP", "completion_date": "2016-06-23", "inspection_date": "2015-03-09", "sap_ventilation": {"psv_count": 0, "pressure_test": 6, "draughtstripping": 3, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "true", "extract_fans_count": 2, "open_fireplaces_count": 0, "sheltered_sides_count": 2, "flueless_gas_fires_count": 0}, "design_water_use": 1, "sap_data_version": 9.92, "sap_flat_details": {"level": 2}, "total_floor_area": 28, "transaction_type": 5, "conservatory_type": 1, "registration_date": "2016-06-23", "sap_energy_source": {"electricity_tariff": 1, "wind_turbines_count": 0, "wind_turbine_terrain_type": 2, "fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_percentage": 100}, "sap_opening_types": [{"name": "Windows (1)", "type": 4, "u_value": 1.29, "frame_type": 1, "data_source": 2, "description": "Data from Manufacturer", "frame_factor": 0.7, "glazing_type": 6, "solar_transmittance": 0.76}], "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"sap_roofs": [{"name": "Exposed Roof", "u_value": 0, "roof_type": 2, "kappa_value": 0, "total_roof_area": 0}], "sap_walls": [{"name": "Existing Wall", "u_value": 0.26, "wall_type": 2, "kappa_value": 17, "total_wall_area": 19.8, "is_curtain_walling": "false"}, {"name": "Party Wall", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 49.5}], "identifier": "Main Dwelling", "overshading": 2, "sap_openings": [{"name": 1, "type": "Windows (1)", "width": 0, "height": 0, "location": "Existing Wall", "orientation": 3}], "construction_year": 2016, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1}], "heating_cost_current": {"value": 91, "currency": "GBP"}, "co2_emissions_current": 1.1, "energy_rating_average": 60, "energy_rating_current": 74, "lighting_cost_current": {"value": 22, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 91, "currency": "GBP"}, "hot_water_cost_current": {"value": 203, "currency": "GBP"}, "co2_emissions_potential": 1.1, "energy_rating_potential": 74, "lighting_cost_potential": {"value": 22, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 203, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "renewable_heat_incentive": {"rhi_existing_dwelling": {"water_heating": 1326, "space_heating_existing_dwelling": 595}}, "seller_commission_report": "Y", "energy_consumption_current": 229, "has_fixed_air_conditioning": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "Version: 1.0.3.4", "energy_consumption_potential": 229, "environmental_impact_current": 77, "current_energy_efficiency_band": "C", "environmental_impact_potential": 77, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 39} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-63aab4ceadcb.json b/tests/fixtures/epc_prediction/E153FA/cert-63aab4ceadcb.json new file mode 100644 index 00000000..90d626ec --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-63aab4ceadcb.json @@ -0,0 +1 @@ +{"uprn": 10093129146, "roofs": [{"description": "(other premises above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "Average thermal transmittance 0.26 W/m\u00b2K", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": "(other premises below)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": {"description": "High performance glazing", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "data_type": 5, "hot_water": {"description": "Electric immersion, standard tariff", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}, "post_town": "", "created_at": "2016-06-23 09:51:47", "living_area": 18, "orientation": 7, "region_code": 17, "report_type": 3, "sap_heating": {"water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"main_fuel_type": 39, "main_heating_code": 691, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 3, "has_separate_delayed_start": "false", "load_or_weather_compensation": 0}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "sap_heating_design_water_use": 1, "hot_water_store_insulation_type": 1, "hot_water_store_insulation_thickness": 75}, "sap_version": 9.92, "schema_type": "SAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": "Mid-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-dfb2e351f6f5", "address_line_2": "", "assessment_date": "2015-03-09", "assessment_type": "SAP", "completion_date": "2016-06-23", "inspection_date": "2015-03-09", "sap_ventilation": {"psv_count": 0, "pressure_test": 6, "draughtstripping": 3, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "true", "extract_fans_count": 2, "open_fireplaces_count": 0, "sheltered_sides_count": 2, "flueless_gas_fires_count": 0}, "design_water_use": 1, "sap_data_version": 9.92, "sap_flat_details": {"level": 2}, "total_floor_area": 44, "transaction_type": 5, "conservatory_type": 1, "registration_date": "2016-06-23", "sap_energy_source": {"electricity_tariff": 1, "wind_turbines_count": 0, "wind_turbine_terrain_type": 2, "fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_percentage": 100}, "sap_opening_types": [{"name": "Windows (1)", "type": 4, "u_value": 1.29, "frame_type": 1, "data_source": 2, "description": "Data from Manufacturer", "frame_factor": 0.7, "glazing_type": 6, "solar_transmittance": 0.76}], "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"sap_roofs": [{"name": "Exposed Roof", "u_value": 0, "roof_type": 2, "kappa_value": 0, "total_roof_area": 0}], "sap_walls": [{"name": "Existing Wall", "u_value": 0.26, "wall_type": 2, "kappa_value": 17, "total_wall_area": 37.95, "is_curtain_walling": "false"}, {"name": "Party Wall", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 37.95}], "identifier": "Main Dwelling", "overshading": 2, "sap_openings": [{"name": 1, "type": "Windows (1)", "width": 0, "height": 0, "location": "Existing Wall", "orientation": 7}], "construction_year": 2015, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1}], "heating_cost_current": {"value": 163, "currency": "GBP"}, "co2_emissions_current": 1.4, "energy_rating_average": 60, "energy_rating_current": 71, "lighting_cost_current": {"value": 32, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 163, "currency": "GBP"}, "hot_water_cost_current": {"value": 225, "currency": "GBP"}, "co2_emissions_potential": 1.4, "energy_rating_potential": 71, "lighting_cost_potential": {"value": 32, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 225, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "renewable_heat_incentive": {"rhi_existing_dwelling": {"water_heating": 1466, "space_heating_existing_dwelling": 1062}}, "seller_commission_report": "Y", "energy_consumption_current": 192, "has_fixed_air_conditioning": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "Version: 1.0.3.4", "energy_consumption_potential": 192, "environmental_impact_current": 74, "current_energy_efficiency_band": "C", "environmental_impact_potential": 74, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 33} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-76b6fa0e95e6.json b/tests/fixtures/epc_prediction/E153FA/cert-76b6fa0e95e6.json new file mode 100644 index 00000000..0b562c1a --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-76b6fa0e95e6.json @@ -0,0 +1 @@ +{"uprn": 10093129152, "roofs": [{"description": "(another dwelling above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "System built, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "(another dwelling below)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Excellent lighting efficiency", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "hot_water": {"description": "Electric immersion, off-peak", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 5}, "post_town": "", "psv_count": 0, "built_form": 5, "created_at": "2026-04-24 18:53:21", "door_count": 1, "region_code": 1, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 3, "shower_outlets": [{"shower_outlet": {"shower_wwhrs": 1, "shower_outlet_type": 1}}], "cylinder_heat_loss": 1.42, "number_baths_wwhrs": 0, "water_heating_code": 903, "water_heating_fuel": 29, "cylinder_thermostat": "Y", "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 29, "fan_flue_present": "N", "heat_emitter_type": 0, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "sap_main_heating_code": 691, "main_heating_data_source": 2}], "immersion_heating_type": 1, "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "orientation": 3, "window_type": 1, "glazing_type": 2, "window_width": {"value": 0.78, "quantity": "m"}, "window_height": {"value": 1.7, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 3, "window_type": 1, "glazing_type": 2, "window_width": {"value": 0.78, "quantity": "m"}, "window_height": {"value": 1.7, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 2, "window_width": {"value": 0.81, "quantity": "m"}, "window_height": {"value": 1.75, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 5}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Mid-floor flat", "language_code": 1, "pressure_test": 4, "property_type": 2, "address_line_1": "addr-a979a429f6f4", "address_line_2": "", "address_line_3": "", "assessment_type": "RdSAP", "completion_date": "2026-04-24", "inspection_date": "2026-04-24", "extensions_count": 0, "measurement_type": 1, "open_flues_count": 0, "sap_flat_details": {"level": 2, "top_storey": "N", "storey_count": 6, "flat_location": 1, "heat_loss_corridor": 2, "unheated_corridor_length": 2}, "total_floor_area": 40, "transaction_type": 8, "conservatory_type": 1, "has_draught_lobby": "true", "heated_room_count": 2, "other_flues_count": 0, "registration_date": "2026-04-24", "sap_energy_source": {"mains_gas": "N", "meter_type": 3, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "closed_flues_count": 0, "extract_fans_count": 2, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 400, "floor_heat_loss": 6, "roof_construction": 3, "wall_construction": 8, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.68, "floor_insulation": 0, "total_floor_area": 39.65, "party_wall_length": 11.13, "floor_construction": 0, "heat_loss_perimeter": 15.13}], "wall_insulation_type": 4, "construction_age_band": "L", "sap_alternative_wall_1": {"wall_area": 5.36, "sheltered_wall": "Y", "wall_dry_lined": "N", "wall_thickness": 220, "wall_construction": 8, "wall_insulation_type": 4, "wall_thickness_measured": "Y", "wall_insulation_thickness": "NI"}, "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": "ND", "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "boilers_flues_count": 0, "open_chimneys_count": 0, "solar_water_heating": "N", "habitable_room_count": 2, "heating_cost_current": {"value": 292, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 79, "lighting_cost_current": {"value": 33, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "blocked_chimneys_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 136, "currency": "GBP"}, "hot_water_cost_current": {"value": 308, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "schema_version_current": "LIG-21.0", "suggested_improvements": [{"sequence": 1, "typical_saving": 172, "indicative_cost": "\u00a3800 - \u00a31,600", "improvement_type": "L2", "improvement_details": {"improvement_number": 62}, "improvement_category": 5, "energy_performance_rating": 83, "environmental_impact_rating": 94}, {"sequence": 2, "typical_saving": 39, "indicative_cost": "\u00a3600 - \u00a31,500", "improvement_type": "Y", "improvement_details": {"improvement_number": 49}, "improvement_category": 5, "energy_performance_rating": 84, "environmental_impact_rating": 94}], "co2_emissions_potential": 0.3, "energy_rating_potential": 84, "lighting_cost_potential": {"value": 36, "currency": "GBP"}, "schema_version_original": "LIG-21.0", "hot_water_cost_potential": {"value": 250, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1743.43, "space_heating_existing_dwelling": 837.11}, "draughtproofed_door_count": 1, "energy_consumption_current": 103, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "10.2.2.0", "energy_consumption_potential": 92, "environmental_impact_current": 93, "cfl_fixed_lighting_bulbs_count": 0, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "led_fixed_lighting_bulbs_count": 16, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 10, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-8302c7e8ef17.json b/tests/fixtures/epc_prediction/E153FA/cert-8302c7e8ef17.json new file mode 100644 index 00000000..719a43c4 --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-8302c7e8ef17.json @@ -0,0 +1 @@ +{"uprn": 10093129188, "roofs": [{"description": "(other premises above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "Average thermal transmittance 0.26 W/m\u00b2K", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": "(other premises below)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": {"description": "High performance glazing", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "data_type": 5, "hot_water": {"description": "Electric immersion, standard tariff", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}, "post_town": "", "created_at": "2016-06-23 10:00:06", "living_area": 15.75, "orientation": 7, "region_code": 17, "report_type": 3, "sap_heating": {"water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"main_fuel_type": 39, "main_heating_code": 691, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 3, "has_separate_delayed_start": "false", "load_or_weather_compensation": 0}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "sap_heating_design_water_use": 1, "hot_water_store_insulation_type": 1, "hot_water_store_insulation_thickness": 75}, "sap_version": 9.92, "schema_type": "SAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": "Mid-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-61a77f72bd1d", "address_line_2": "", "assessment_date": "2015-03-09", "assessment_type": "SAP", "completion_date": "2016-06-23", "inspection_date": "2015-03-09", "sap_ventilation": {"psv_count": 0, "pressure_test": 6, "draughtstripping": 3, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "true", "extract_fans_count": 2, "open_fireplaces_count": 0, "sheltered_sides_count": 2, "flueless_gas_fires_count": 0}, "design_water_use": 1, "sap_data_version": 9.92, "sap_flat_details": {"level": 2}, "total_floor_area": 40, "transaction_type": 5, "conservatory_type": 1, "registration_date": "2016-06-23", "sap_energy_source": {"electricity_tariff": 1, "wind_turbines_count": 0, "wind_turbine_terrain_type": 2, "fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_percentage": 100}, "sap_opening_types": [{"name": "Windows (1)", "type": 4, "u_value": 1.29, "frame_type": 3, "data_source": 2, "description": "Data from Manufacturer", "frame_factor": 0.8, "glazing_type": 6, "solar_transmittance": 0.63}], "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"sap_roofs": [{"name": "Exposed Roof", "u_value": 0, "roof_type": 2, "kappa_value": 0, "total_roof_area": 0}], "sap_walls": [{"name": "Existing Wall", "u_value": 0.26, "wall_type": 2, "kappa_value": 17, "total_wall_area": 46.2, "is_curtain_walling": "false"}, {"name": "Party Wall", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 42.9}], "identifier": "Main Dwelling", "overshading": 2, "sap_openings": [{"name": 1, "type": "Windows (1)", "width": 0, "height": 0, "location": "Existing Wall", "orientation": 3}], "construction_year": 2016, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1}], "heating_cost_current": {"value": 179, "currency": "GBP"}, "co2_emissions_current": 1.5, "energy_rating_average": 60, "energy_rating_current": 70, "lighting_cost_current": {"value": 32, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 179, "currency": "GBP"}, "hot_water_cost_current": {"value": 220, "currency": "GBP"}, "co2_emissions_potential": 1.5, "energy_rating_potential": 70, "lighting_cost_potential": {"value": 32, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 220, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "renewable_heat_incentive": {"rhi_existing_dwelling": {"water_heating": 1433, "space_heating_existing_dwelling": 1167}}, "seller_commission_report": "Y", "energy_consumption_current": 213, "has_fixed_air_conditioning": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "Version: 1.0.3.4", "energy_consumption_potential": 213, "environmental_impact_current": 73, "current_energy_efficiency_band": "C", "environmental_impact_potential": 73, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 36} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-8be823987a0d.json b/tests/fixtures/epc_prediction/E153FA/cert-8be823987a0d.json new file mode 100644 index 00000000..8a100da0 --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-8be823987a0d.json @@ -0,0 +1 @@ +{"uprn": 10093129137, "roofs": [{"description": "Average thermal transmittance 0.17 W/m\u00b2K", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Average thermal transmittance 0.26 W/m\u00b2K", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": "Average thermal transmittance 0.13 W/m\u00b2K", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": 1, "windows": {"description": "High performance glazing", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "data_type": 5, "hot_water": {"description": "Electric immersion, standard tariff", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}, "post_town": "", "created_at": "2016-06-23 09:44:37", "living_area": 20, "orientation": 7, "region_code": 17, "report_type": 3, "sap_heating": {"water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"main_fuel_type": 39, "main_heating_code": 691, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 3, "has_separate_delayed_start": "false", "load_or_weather_compensation": 0}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "sap_heating_design_water_use": 1, "hot_water_store_insulation_type": 1, "hot_water_store_insulation_thickness": 75}, "sap_version": 9.92, "schema_type": "SAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-3b4b8f4236d4", "address_line_2": "", "assessment_date": "2015-03-09", "assessment_type": "SAP", "completion_date": "2016-06-23", "inspection_date": "2015-03-09", "sap_ventilation": {"psv_count": 0, "pressure_test": 6, "draughtstripping": 3, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "true", "extract_fans_count": 3, "open_fireplaces_count": 0, "sheltered_sides_count": 2, "flueless_gas_fires_count": 0}, "design_water_use": 1, "sap_data_version": 9.92, "sap_flat_details": {"level": 1}, "total_floor_area": 64, "transaction_type": 5, "conservatory_type": 1, "registration_date": "2016-06-23", "sap_energy_source": {"electricity_tariff": 1, "wind_turbines_count": 0, "wind_turbine_terrain_type": 2, "fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_percentage": 100}, "sap_opening_types": [{"name": "Windows (1)", "type": 4, "u_value": 1.29, "frame_type": 1, "data_source": 2, "description": "Data from Manufacturer", "frame_factor": 0.7, "glazing_type": 6, "solar_transmittance": 0.76}], "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"sap_roofs": [{"name": "Flat Roof", "u_value": 0.17, "roof_type": 2, "kappa_value": 9, "total_roof_area": 27}], "sap_walls": [{"name": "Existing Wall", "u_value": 0.26, "wall_type": 2, "kappa_value": 17, "total_wall_area": 37.05, "is_curtain_walling": "false"}, {"name": "Party Wall", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 87.75}], "identifier": "Main Dwelling", "overshading": 2, "sap_openings": [{"name": 1, "type": "Windows (1)", "width": 0, "height": 0, "location": "Existing Wall", "orientation": 7}], "construction_year": 2015, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.13, "floor_type": 2, "kappa_value": 110, "storey_height": 3.9, "heat_loss_area": 63.9, "total_floor_area": 63.9}]}], "heating_cost_current": {"value": 446, "currency": "GBP"}, "co2_emissions_current": 2.6, "energy_rating_average": 60, "energy_rating_current": 57, "lighting_cost_current": {"value": 53, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 446, "currency": "GBP"}, "hot_water_cost_current": {"value": 258, "currency": "GBP"}, "co2_emissions_potential": 2.6, "energy_rating_potential": 57, "lighting_cost_potential": {"value": 53, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 258, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "renewable_heat_incentive": {"rhi_existing_dwelling": {"water_heating": 1684, "space_heating_existing_dwelling": 2910}}, "seller_commission_report": "Y", "energy_consumption_current": 237, "has_fixed_air_conditioning": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "Version: 1.0.3.4", "energy_consumption_potential": 237, "environmental_impact_current": 62, "current_energy_efficiency_band": "D", "environmental_impact_potential": 62, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "D", "co2_emissions_current_per_floor_area": 40} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-8ef979bd232d.json b/tests/fixtures/epc_prediction/E153FA/cert-8ef979bd232d.json new file mode 100644 index 00000000..2f115e05 --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-8ef979bd232d.json @@ -0,0 +1 @@ +{"uprn": 10093129168, "roofs": [{"description": "(another dwelling above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "System built, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "(another dwelling below)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"system_build": "true"}, "lighting": {"description": "Excellent lighting efficiency", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "hot_water": {"description": "Gas boiler/circulator, no cylinder thermostat", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": "NR", "created_at": "2026-05-14 10:00:25", "door_count": 1, "region_code": 17, "report_type": 2, "sap_heating": {"number_baths": 0, "cylinder_size": 3, "shower_outlets": [{"shower_wwhrs": 1, "shower_outlet_type": 1}], "number_baths_wwhrs": 0, "water_heating_code": 911, "water_heating_fuel": 26, "cylinder_thermostat": "N", "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 29, "heat_emitter_type": 0, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2401, "main_heating_category": 7, "main_heating_fraction": 1, "sap_main_heating_code": 402, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "orientation": 3, "window_type": 1, "glazing_type": 2, "window_width": 0.4, "window_height": 1.4, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 3, "window_type": 1, "glazing_type": 2, "window_width": 0.4, "window_height": 1.4, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 3, "window_type": 1, "glazing_type": 2, "window_width": 0.4, "window_height": 1.4, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 3, "window_type": 1, "glazing_type": 2, "window_width": 0.4, "window_height": 1.4, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 3, "window_type": 1, "glazing_type": 2, "window_width": 0.4, "window_height": 1.4, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Electric storage heaters", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 5}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Mid-floor flat", "language_code": 1, "pressure_test": 4, "property_type": 2, "address_line_1": "addr-1790ab750163", "address_line_2": "", "address_line_3": "", "assessment_type": "RdSAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "extensions_count": 0, "measurement_type": 1, "sap_flat_details": {"level": 2, "top_storey": "N", "storey_count": 6, "flat_location": 3, "heat_loss_corridor": 1}, "total_floor_area": 40, "transaction_type": 1, "conservatory_type": 1, "has_draught_lobby": "true", "heated_room_count": 1, "registration_date": "2026-05-14", "sap_energy_source": {"mains_gas": "Y", "meter_type": 1, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 1, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "Portable electric heaters (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "extract_fans_count": 2, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 6, "roof_construction": 3, "wall_construction": 8, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.34, "quantity": "metres"}, "total_floor_area": {"value": 40, "quantity": "square metres"}, "party_wall_length": {"value": 16, "quantity": "metres"}, "heat_loss_perimeter": {"value": 5, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "E", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": "ND", "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 1, "heating_cost_current": {"value": 218, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 1.1, "energy_rating_average": 60, "energy_rating_current": 73, "lighting_cost_current": {"value": 38, "currency": "GBP"}, "main_heating_controls": [{"description": "Manual charge control", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 192, "currency": "GBP"}, "hot_water_cost_current": {"value": 348, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 83, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 33, "currency": "GBP"}, "indicative_cost": "\u00a3130 - \u00a3180", "improvement_type": "F", "improvement_details": {"improvement_number": 4}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 85}, {"sequence": 2, "typical_saving": {"value": 145, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a310,000", "improvement_type": "T", "improvement_details": {"improvement_number": 27}, "improvement_category": 5, "energy_performance_rating": 80, "environmental_impact_rating": 86}], "co2_emissions_potential": 0.8, "energy_rating_potential": 80, "lighting_cost_potential": {"value": 33, "currency": "GBP"}, "schema_version_original": "21.0.1", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 54, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 77, "environmental_impact_rating": 80}], "hot_water_cost_potential": {"value": 201, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3088.43, "space_heating_existing_dwelling": 590.71}, "draughtproofed_door_count": 0, "energy_consumption_current": 161, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0344", "energy_consumption_potential": 108, "environmental_impact_current": 82, "current_energy_efficiency_band": "C", "environmental_impact_potential": 86, "led_fixed_lighting_bulbs_count": 15, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 27, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-a22930e3cac6.json b/tests/fixtures/epc_prediction/E153FA/cert-a22930e3cac6.json new file mode 100644 index 00000000..9d9b3ea8 --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-a22930e3cac6.json @@ -0,0 +1 @@ +{"uprn": 10093129134, "roofs": [{"description": "(another dwelling above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "System built, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Timber frame, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, insulated (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "hot_water": {"description": "Electric immersion, off-peak", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 4, "created_at": "2025-05-16 13:56:12", "door_count": 1, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 3, "water_heating_code": 903, "water_heating_fuel": 29, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 29, "heat_emitter_type": 0, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "sap_main_heating_code": 691, "main_heating_data_source": 2}], "immersion_heating_type": 1, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-4f46b47bf535", "address_line_2": "", "address_line_3": "", "assessment_type": "RdSAP", "completion_date": "2025-05-16", "inspection_date": "2025-05-14", "extensions_count": 0, "measurement_type": 1, "sap_flat_details": {"level": 1, "top_storey": "N", "flat_location": 0, "heat_loss_corridor": 2, "unheated_corridor_length": 5.18}, "total_floor_area": 46, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 3, "registration_date": "2025-05-16", "sap_energy_source": {"mains_gas": "N", "meter_type": 3, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 1}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 200, "floor_heat_loss": 7, "roof_construction": 3, "wall_construction": 8, "building_part_number": 1, "sap_alternative_wall": {"wall_area": 12.4838, "sheltered_wall": "Y", "wall_dry_lined": "N", "wall_construction": 5, "wall_insulation_type": 4, "wall_thickness_measured": "N", "wall_insulation_thickness": "NI"}, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 45.68, "quantity": "square metres"}, "party_wall_length": {"value": 17.64, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 10.96, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "J", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": "ND", "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 265, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 1.6, "energy_rating_average": 60, "energy_rating_current": 78, "lighting_cost_current": {"value": 68, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 158, "currency": "GBP"}, "hot_water_cost_current": {"value": 265, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 150, "currency": "GBP"}, "indicative_cost": "\u00a31,200 - \u00a31,800", "improvement_type": "L2", "improvement_details": {"improvement_number": 62}, "improvement_category": 5, "energy_performance_rating": 83, "environmental_impact_rating": 74}], "co2_emissions_potential": 1.6, "energy_rating_potential": 83, "lighting_cost_potential": {"value": 65, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 171, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 85, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 205, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 85, "environmental_impact_rating": 86}], "hot_water_cost_potential": {"value": 226, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1665, "space_heating_existing_dwelling": 1112}, "energy_consumption_current": 203, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0002", "energy_consumption_potential": 204, "environmental_impact_current": 74, "fixed_lighting_outlets_count": 20, "current_energy_efficiency_band": "C", "environmental_impact_potential": 74, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 34, "low_energy_fixed_lighting_outlets_count": 20} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-a511bb525a56.json b/tests/fixtures/epc_prediction/E153FA/cert-a511bb525a56.json new file mode 100644 index 00000000..e4f966af --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-a511bb525a56.json @@ -0,0 +1 @@ +{"uprn": 10093129170, "roofs": [{"description": {"value": "(another dwelling above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "System built, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "(another dwelling below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "hot_water": {"description": {"value": "Electric immersion, off-peak", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 5, "created_at": "2025-03-05 22:05:53", "door_count": 1, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 4, "water_heating_code": 903, "water_heating_fuel": 29, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 29, "heat_emitter_type": 0, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "sap_main_heating_code": 691, "mcs_installed_heat_pump": "false", "main_heating_data_source": 2}], "immersion_heating_type": 1, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": {"value": "Mid-floor flat", "language": "1"}, "language_code": 1, "property_type": 2, "address_line_1": "addr-5a6554b06f14", "address_line_2": "", "address_line_3": "", "assessment_type": "RdSAP", "completion_date": "2025-03-05", "inspection_date": "2025-03-05", "extensions_count": 0, "measurement_type": 1, "sap_flat_details": {"level": 2, "top_storey": "N", "flat_location": 3, "heat_loss_corridor": 2, "unheated_corridor_length": {"value": 1.28, "quantity": "metres"}}, "total_floor_area": 44, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 2, "pvc_window_frames": "true", "registration_date": "2025-03-05", "sap_energy_source": {"mains_gas": "N", "meter_type": 1, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 600, "floor_heat_loss": 6, "roof_construction": 3, "wall_construction": 8, "building_part_number": 1, "sap_alternative_wall": {"wall_area": 3.379, "sheltered_wall": "Y", "wall_dry_lined": "N", "wall_construction": 8, "wall_insulation_type": 4, "wall_thickness_measured": "N", "wall_insulation_thickness": "NI"}, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.64, "quantity": "metres"}, "total_floor_area": {"value": 44.48, "quantity": "square metres"}, "party_wall_length": {"value": 12.09, "quantity": "metres"}, "heat_loss_perimeter": {"value": 14.65, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "L", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": "ND", "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 2, "heating_cost_current": {"value": 224, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 1.4, "energy_rating_average": 60, "energy_rating_current": 81, "lighting_cost_current": {"value": 92, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer and appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 109, "currency": "GBP"}, "hot_water_cost_current": {"value": 358, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 237, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "L2", "improvement_details": {"improvement_number": 62}, "improvement_category": 5, "energy_performance_rating": 85, "environmental_impact_rating": 77}], "co2_emissions_potential": 1.4, "energy_rating_potential": 85, "lighting_cost_potential": {"value": 106, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 202, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 87, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 124, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 85, "environmental_impact_rating": 88}], "hot_water_cost_potential": {"value": 222, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1748, "space_heating_existing_dwelling": 686}, "energy_consumption_current": 184, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "v94.0.2.1", "energy_consumption_potential": 184, "environmental_impact_current": 77, "fixed_lighting_outlets_count": 9, "current_energy_efficiency_band": "B", "environmental_impact_potential": 77, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 31, "low_energy_fixed_lighting_outlets_count": 9} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-acbdc6227e39.json b/tests/fixtures/epc_prediction/E153FA/cert-acbdc6227e39.json new file mode 100644 index 00000000..ed0f0e12 --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-acbdc6227e39.json @@ -0,0 +1 @@ +{"uprn": 10093129196, "roofs": [{"description": "Flat, insulated", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "System built, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "(another dwelling below)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Excellent lighting efficiency", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "hot_water": {"description": "Electric immersion, off-peak", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 5}, "post_town": "", "psv_count": 0, "built_form": 4, "created_at": "2026-05-19 19:03:03", "door_count": 1, "region_code": 1, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 2, "shower_outlets": [{"shower_wwhrs": 1, "shower_outlet_type": 1}], "cylinder_heat_loss": 1.19, "number_baths_wwhrs": 0, "water_heating_code": 903, "water_heating_fuel": 29, "cylinder_thermostat": "Y", "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 29, "fan_flue_present": "N", "heat_emitter_type": 0, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "sap_main_heating_code": 691, "main_heating_data_source": 2}], "immersion_heating_type": 1, "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "orientation": 7, "window_type": 1, "glazing_type": 2, "window_width": {"value": 0.76, "quantity": "m"}, "window_height": {"value": 1.67, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 7, "window_type": 1, "glazing_type": 2, "window_width": {"value": 0.76, "quantity": "m"}, "window_height": {"value": 1.67, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 7, "window_type": 1, "glazing_type": 2, "window_width": {"value": 0.76, "quantity": "m"}, "window_height": {"value": 1.67, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 7, "window_type": 1, "glazing_type": 2, "window_width": {"value": 0.76, "quantity": "m"}, "window_height": {"value": 1.67, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 7, "window_type": 1, "glazing_type": 2, "window_width": {"value": 0.76, "quantity": "m"}, "window_height": {"value": 1.67, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 7, "window_type": 1, "glazing_type": 2, "window_width": {"value": 0.76, "quantity": "m"}, "window_height": {"value": 1.67, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 5}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Top-floor flat", "language_code": 1, "pressure_test": 4, "property_type": 2, "address_line_1": "addr-2366bef2138c", "address_line_2": "", "address_line_3": "", "assessment_type": "RdSAP", "completion_date": "2026-05-19", "inspection_date": "2026-05-19", "wet_rooms_count": 2, "extensions_count": 0, "measurement_type": 1, "open_flues_count": 0, "sap_flat_details": {"level": 3, "top_storey": "N", "storey_count": 6, "flat_location": 5, "heat_loss_corridor": 2, "unheated_corridor_length": 10.59}, "total_floor_area": 44, "transaction_type": 8, "conservatory_type": 1, "has_draught_lobby": "true", "heated_room_count": 2, "other_flues_count": 0, "registration_date": "2026-05-19", "sap_energy_source": {"mains_gas": "N", "meter_type": 3, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "closed_flues_count": 0, "extract_fans_count": 1, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 410, "floor_heat_loss": 6, "roof_construction": 1, "wall_construction": 8, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.62, "floor_insulation": 0, "total_floor_area": 43.86, "party_wall_length": 8.63, "floor_construction": 0, "heat_loss_perimeter": 20.17}], "wall_insulation_type": 4, "construction_age_band": "L", "sap_alternative_wall_1": {"wall_area": 27.746, "sheltered_wall": "Y", "wall_dry_lined": "N", "wall_thickness": 220, "wall_construction": 8, "wall_insulation_type": 4, "wall_thickness_measured": "Y", "wall_insulation_thickness": "NI"}, "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "boilers_flues_count": 0, "open_chimneys_count": 0, "solar_water_heating": "N", "habitable_room_count": 2, "heating_cost_current": {"value": 524, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 0.5, "energy_rating_average": 60, "energy_rating_current": 71, "lighting_cost_current": {"value": 32, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "blocked_chimneys_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 293, "currency": "GBP"}, "hot_water_cost_current": {"value": 326, "currency": "GBP"}, "mechanical_ventilation": 3, "percent_draughtproofed": 100, "schema_version_current": "LIG-21.0", "suggested_improvements": [{"sequence": 1, "typical_saving": 247, "indicative_cost": "\u00a3800 - \u00a31,600", "improvement_type": "L2", "improvement_details": {"improvement_number": 62}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 91}, {"sequence": 2, "typical_saving": 43, "indicative_cost": "\u00a3600 - \u00a31,500", "improvement_type": "Y", "improvement_details": {"improvement_number": 49}, "improvement_category": 5, "energy_performance_rating": 80, "environmental_impact_rating": 92}], "co2_emissions_potential": 0.5, "energy_rating_potential": 80, "lighting_cost_potential": {"value": 34, "currency": "GBP"}, "schema_version_original": "LIG-21.0", "hot_water_cost_potential": {"value": 266, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1751.17, "space_heating_existing_dwelling": 1684.55}, "draughtproofed_door_count": 1, "mechanical_vent_duct_type": 3, "energy_consumption_current": 127, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "10.2.2.0", "energy_consumption_potential": 116, "environmental_impact_current": 91, "cfl_fixed_lighting_bulbs_count": 0, "current_energy_efficiency_band": "C", "environmental_impact_potential": 92, "led_fixed_lighting_bulbs_count": 17, "mechanical_vent_duct_insulation": 1, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "mechanical_ventilation_index_number": 500031, "co2_emissions_current_per_floor_area": 12, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-aecc7219ecf0.json b/tests/fixtures/epc_prediction/E153FA/cert-aecc7219ecf0.json new file mode 100644 index 00000000..ef564d2d --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-aecc7219ecf0.json @@ -0,0 +1 @@ +{"uprn": 10093129186, "roofs": [{"description": "(other premises above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "Average thermal transmittance 0.26 W/m\u00b2K", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": "(other premises below)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": {"description": "High performance glazing", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "data_type": 5, "hot_water": {"description": "Electric immersion, standard tariff", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}, "post_town": "", "created_at": "2016-06-23 10:00:02", "living_area": 18, "orientation": 7, "region_code": 17, "report_type": 3, "sap_heating": {"water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"main_fuel_type": 39, "main_heating_code": 691, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 3, "has_separate_delayed_start": "false", "load_or_weather_compensation": 0}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "sap_heating_design_water_use": 1, "hot_water_store_insulation_type": 1, "hot_water_store_insulation_thickness": 75}, "sap_version": 9.92, "schema_type": "SAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": "Mid-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-c63ccf8d57b8", "address_line_2": "", "assessment_date": "2015-03-09", "assessment_type": "SAP", "completion_date": "2016-06-23", "inspection_date": "2015-03-09", "sap_ventilation": {"psv_count": 0, "pressure_test": 6, "draughtstripping": 3, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "true", "extract_fans_count": 2, "open_fireplaces_count": 0, "sheltered_sides_count": 2, "flueless_gas_fires_count": 0}, "design_water_use": 1, "sap_data_version": 9.92, "sap_flat_details": {"level": 2}, "total_floor_area": 38, "transaction_type": 5, "conservatory_type": 1, "registration_date": "2016-06-23", "sap_energy_source": {"electricity_tariff": 1, "wind_turbines_count": 0, "wind_turbine_terrain_type": 2, "fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_percentage": 100}, "sap_opening_types": [{"name": "Windows (1)", "type": 4, "u_value": 1.29, "frame_type": 1, "data_source": 2, "description": "Data from Manufacturer", "frame_factor": 0.7, "glazing_type": 6, "solar_transmittance": 0.76}], "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"sap_roofs": [{"name": "Exposed Roof", "u_value": 0, "roof_type": 2, "kappa_value": 0, "total_roof_area": 0}], "sap_walls": [{"name": "Existing Wall", "u_value": 0.26, "wall_type": 2, "kappa_value": 17, "total_wall_area": 26.4, "is_curtain_walling": "false"}, {"name": "Party Wall", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 56.1}], "identifier": "Main Dwelling", "overshading": 2, "sap_openings": [{"name": 1, "type": "Windows (1)", "width": 0, "height": 0, "location": "Existing Wall", "orientation": 7}], "construction_year": 2016, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1}], "heating_cost_current": {"value": 127, "currency": "GBP"}, "co2_emissions_current": 1.3, "energy_rating_average": 60, "energy_rating_current": 73, "lighting_cost_current": {"value": 28, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 127, "currency": "GBP"}, "hot_water_cost_current": {"value": 216, "currency": "GBP"}, "co2_emissions_potential": 1.3, "energy_rating_potential": 73, "lighting_cost_potential": {"value": 28, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 216, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "renewable_heat_incentive": {"rhi_existing_dwelling": {"water_heating": 1409, "space_heating_existing_dwelling": 826}}, "seller_commission_report": "Y", "energy_consumption_current": 195, "has_fixed_air_conditioning": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "Version: 1.0.3.4", "energy_consumption_potential": 195, "environmental_impact_current": 76, "current_energy_efficiency_band": "C", "environmental_impact_potential": 76, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 33} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-b1ffcc93cf6f.json b/tests/fixtures/epc_prediction/E153FA/cert-b1ffcc93cf6f.json new file mode 100644 index 00000000..49add158 --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-b1ffcc93cf6f.json @@ -0,0 +1 @@ +{"uprn": 10093129176, "roofs": [{"description": "(other premises above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "Average thermal transmittance 0.26 W/m\u00b2K", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": "(other premises below)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": {"description": "High performance glazing", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "data_type": 5, "hot_water": {"description": "Electric immersion, standard tariff", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}, "post_town": "", "created_at": "2016-06-23 09:57:12", "living_area": 15.75, "orientation": 7, "region_code": 17, "report_type": 3, "sap_heating": {"water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"main_fuel_type": 39, "main_heating_code": 691, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 3, "has_separate_delayed_start": "false", "load_or_weather_compensation": 0}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "sap_heating_design_water_use": 1, "hot_water_store_insulation_type": 1, "hot_water_store_insulation_thickness": 75}, "sap_version": 9.92, "schema_type": "SAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": "Mid-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-566a432f5e88", "address_line_2": "", "assessment_date": "2015-03-09", "assessment_type": "SAP", "completion_date": "2016-06-23", "inspection_date": "2015-03-09", "sap_ventilation": {"psv_count": 0, "pressure_test": 6, "draughtstripping": 3, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "true", "extract_fans_count": 2, "open_fireplaces_count": 0, "sheltered_sides_count": 2, "flueless_gas_fires_count": 0}, "design_water_use": 1, "sap_data_version": 9.92, "sap_flat_details": {"level": 2}, "total_floor_area": 40, "transaction_type": 5, "conservatory_type": 1, "registration_date": "2016-06-23", "sap_energy_source": {"electricity_tariff": 1, "wind_turbines_count": 0, "wind_turbine_terrain_type": 2, "fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_percentage": 100}, "sap_opening_types": [{"name": "Windows (1)", "type": 4, "u_value": 1.29, "frame_type": 3, "data_source": 2, "description": "Data from Manufacturer", "frame_factor": 0.8, "glazing_type": 6, "solar_transmittance": 0.63}], "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"sap_roofs": [{"name": "Exposed Roof", "u_value": 0, "roof_type": 2, "kappa_value": 0, "total_roof_area": 0}], "sap_walls": [{"name": "Existing Wall", "u_value": 0.26, "wall_type": 2, "kappa_value": 17, "total_wall_area": 46.2, "is_curtain_walling": "false"}, {"name": "Party Wall", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 42.9}], "identifier": "Main Dwelling", "overshading": 2, "sap_openings": [{"name": 1, "type": "Windows (1)", "width": 0, "height": 0, "location": "Existing Wall", "orientation": 3}], "construction_year": 2016, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1}], "heating_cost_current": {"value": 179, "currency": "GBP"}, "co2_emissions_current": 1.5, "energy_rating_average": 60, "energy_rating_current": 70, "lighting_cost_current": {"value": 32, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 179, "currency": "GBP"}, "hot_water_cost_current": {"value": 220, "currency": "GBP"}, "co2_emissions_potential": 1.5, "energy_rating_potential": 70, "lighting_cost_potential": {"value": 32, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 220, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "renewable_heat_incentive": {"rhi_existing_dwelling": {"water_heating": 1433, "space_heating_existing_dwelling": 1167}}, "seller_commission_report": "Y", "energy_consumption_current": 213, "has_fixed_air_conditioning": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "Version: 1.0.3.4", "energy_consumption_potential": 213, "environmental_impact_current": 73, "current_energy_efficiency_band": "C", "environmental_impact_potential": 73, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 36} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-b2ea6b08493d.json b/tests/fixtures/epc_prediction/E153FA/cert-b2ea6b08493d.json new file mode 100644 index 00000000..87037680 --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-b2ea6b08493d.json @@ -0,0 +1 @@ +{"uprn": 10093129137, "roofs": [{"description": "(another dwelling above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "System built, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "To unheated space, insulated (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Good lighting efficiency", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "E15 3FA", "hot_water": {"description": "Electric immersion, off-peak", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": "NR", "created_at": "2026-04-21 21:52:52", "door_count": 1, "region_code": 17, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 4, "number_baths_wwhrs": 0, "water_heating_code": 903, "water_heating_fuel": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 29, "heat_emitter_type": 0, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "sap_main_heating_code": 691, "main_heating_data_source": 2}], "immersion_heating_type": 1, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 2, "window_width": 1.76, "window_height": 0.81, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 2, "window_width": 1.76, "window_height": 0.81, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 2, "window_width": 1.76, "window_height": 0.81, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 2, "window_width": 1.76, "window_height": 0.81, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 2, "window_width": 1.76, "window_height": 0.81, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 5}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Ground-floor flat", "language_code": 1, "pressure_test": 4, "property_type": 2, "address_line_1": "addr-9c159091c9ce", "address_line_2": "", "address_line_3": "", "assessment_type": "RdSAP", "completion_date": "2026-04-21", "inspection_date": "2026-04-17", "extensions_count": 0, "measurement_type": 1, "sap_flat_details": {"level": 1, "top_storey": "N", "storey_count": 6, "flat_location": 1, "heat_loss_corridor": 2, "unheated_corridor_length": 10.79}, "total_floor_area": 63, "transaction_type": 1, "conservatory_type": 1, "has_draught_lobby": "true", "heated_room_count": 3, "registration_date": "2026-04-21", "sap_energy_source": {"mains_gas": "N", "meter_type": 3, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 1, "electricity_smart_meter_present": "true"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 2, "roof_construction": 3, "wall_construction": 8, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.7, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 63.07, "quantity": "square metres"}, "party_wall_length": {"value": 13.14, "quantity": "metres"}, "floor_construction": 3, "heat_loss_perimeter": {"value": 20.24, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "L", "sap_alternative_wall_1": {"wall_area": 29.133, "sheltered_wall": "Y", "wall_dry_lined": "N", "wall_construction": 8, "wall_insulation_type": 4, "wall_thickness_measured": "N", "wall_insulation_thickness": "NI"}, "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": "ND", "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 623, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 0.7, "energy_rating_average": 60, "energy_rating_current": 71, "lighting_cost_current": {"value": 50, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 383, "currency": "GBP"}, "hot_water_cost_current": {"value": 397, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 83, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 277, "currency": "GBP"}, "indicative_cost": "\u00a31,200 - \u00a32,400", "improvement_type": "L2", "improvement_details": {"improvement_number": 62}, "improvement_category": 5, "energy_performance_rating": 80, "environmental_impact_rating": 91}], "co2_emissions_potential": 0.6, "energy_rating_potential": 80, "lighting_cost_potential": {"value": 55, "currency": "GBP"}, "schema_version_original": "21.0.1", "hot_water_cost_potential": {"value": 356, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2248.17, "space_heating_existing_dwelling": 2164.75}, "draughtproofed_door_count": 0, "energy_consumption_current": 111, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0342", "energy_consumption_potential": 109, "environmental_impact_current": 90, "current_energy_efficiency_band": "C", "environmental_impact_potential": 91, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 10, "low_energy_fixed_lighting_bulbs_count": 9, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-be62fb9fa85e.json b/tests/fixtures/epc_prediction/E153FA/cert-be62fb9fa85e.json new file mode 100644 index 00000000..655f4f3c --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-be62fb9fa85e.json @@ -0,0 +1 @@ +{"uprn": 10093129169, "roofs": [{"description": "(another dwelling above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "System built, as built, insulated (assumed)", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": "(another dwelling below)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "hot_water": {"description": "Electric immersion, off-peak", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 5, "created_at": "2023-07-10 10:44:50", "door_count": 1, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 3, "water_heating_code": 903, "water_heating_fuel": 29, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 29, "heat_emitter_type": 0, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "sap_main_heating_code": 691, "main_heating_data_source": 2}], "immersion_heating_type": 1, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": "Mid-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-519cb230150e", "address_line_2": "", "address_line_3": "", "assessment_type": "RdSAP", "completion_date": "2023-07-10", "inspection_date": "2023-07-07", "extensions_count": 0, "measurement_type": 1, "sap_flat_details": {"level": 2, "top_storey": "N", "flat_location": 3, "heat_loss_corridor": 2, "unheated_corridor_length": 1.06}, "total_floor_area": 40, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 2, "registration_date": "2023-07-10", "sap_energy_source": {"mains_gas": "N", "meter_type": 3, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 1}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 400, "floor_heat_loss": 6, "roof_construction": 3, "wall_construction": 8, "building_part_number": 1, "sap_alternative_wall": {"wall_area": 2.7772, "sheltered_wall": "Y", "wall_dry_lined": "N", "wall_thickness": 240, "wall_construction": 8, "wall_insulation_type": 4, "wall_thickness_measured": "Y", "wall_insulation_thickness": "NI"}, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.62, "quantity": "metres"}, "total_floor_area": {"value": 40.19, "quantity": "square metres"}, "party_wall_length": {"value": 12.27, "quantity": "metres"}, "heat_loss_perimeter": {"value": 14.45, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "L", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": "ND", "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 2, "heating_cost_current": {"value": 214, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 1.3, "energy_rating_average": 60, "energy_rating_current": 81, "lighting_cost_current": {"value": 84, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 104, "currency": "GBP"}, "hot_water_cost_current": {"value": 329, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 192, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "L2", "improvement_details": {"improvement_number": 62}, "improvement_category": 5, "energy_performance_rating": 85, "environmental_impact_rating": 77}], "co2_emissions_potential": 1.3, "energy_rating_potential": 85, "lighting_cost_potential": {"value": 97, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 208, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 88, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 125, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 86, "environmental_impact_rating": 88}], "hot_water_cost_potential": {"value": 234, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1605, "space_heating_existing_dwelling": 656}, "energy_consumption_current": 189, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.11r0005", "energy_consumption_potential": 189, "environmental_impact_current": 77, "fixed_lighting_outlets_count": 11, "current_energy_efficiency_band": "B", "environmental_impact_potential": 77, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 32, "low_energy_fixed_lighting_outlets_count": 11} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-c45ffd28e947.json b/tests/fixtures/epc_prediction/E153FA/cert-c45ffd28e947.json new file mode 100644 index 00000000..eba3bd4f --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-c45ffd28e947.json @@ -0,0 +1 @@ +{"uprn": 10090853539, "roofs": [{"description": "(another dwelling above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "System built, with external insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "hot_water": {"description": "Electric immersion, off-peak", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 3, "created_at": "2024-05-23 11:43:15", "door_count": 0, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 3, "water_heating_code": 903, "water_heating_fuel": 29, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 29, "heat_emitter_type": 0, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2402, "main_heating_category": 7, "main_heating_fraction": 1, "sap_main_heating_code": 402, "main_heating_data_source": 2}], "immersion_heating_type": 1, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Electric storage heaters", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 1}], "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-9f72b33fbee5", "address_line_2": "", "address_line_3": "", "assessment_type": "RdSAP", "completion_date": "2024-05-23", "inspection_date": "2024-05-21", "extensions_count": 0, "measurement_type": 1, "sap_flat_details": {"level": 1, "top_storey": "N", "flat_location": 0, "heat_loss_corridor": 2, "unheated_corridor_length": 12.3}, "total_floor_area": 39, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 2, "registration_date": "2024-05-23", "sap_energy_source": {"mains_gas": "N", "meter_type": 1, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 1}, "secondary_heating": {"description": "Portable electric heaters (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 3, "wall_construction": 8, "building_part_number": 1, "sap_alternative_wall": {"wall_area": 30.75, "sheltered_wall": "Y", "wall_dry_lined": "N", "wall_construction": 8, "wall_insulation_type": 1, "wall_thickness_measured": "N", "wall_insulation_thickness": "50mm"}, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 38.69, "quantity": "square metres"}, "party_wall_length": {"value": 5.3, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 19.9, "quantity": "metres"}}], "wall_insulation_type": 1, "construction_age_band": "F", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": "ND", "roof_insulation_thickness": "ND", "wall_insulation_thickness": "50mm", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 2, "heating_cost_current": {"value": 565, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.6, "energy_rating_average": 60, "energy_rating_current": 70, "lighting_cost_current": {"value": 70, "currency": "GBP"}, "main_heating_controls": [{"description": "Automatic charge control", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 316, "currency": "GBP"}, "hot_water_cost_current": {"value": 253, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 176, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 62}, {"sequence": 2, "typical_saving": {"value": 74, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "L2", "improvement_details": {"improvement_number": 60}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 65}], "co2_emissions_potential": 1.9, "energy_rating_potential": 79, "lighting_cost_potential": {"value": 70, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 114, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 81, "environmental_impact_rating": 96}, {"sequence": 2, "typical_saving": {"value": 107, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 80, "environmental_impact_rating": 83}], "hot_water_cost_potential": {"value": 253, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1590, "space_heating_existing_dwelling": 3152}, "energy_consumption_current": 391, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0001", "energy_consumption_potential": 291, "environmental_impact_current": 53, "fixed_lighting_outlets_count": 4, "current_energy_efficiency_band": "C", "environmental_impact_potential": 65, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 66, "low_energy_fixed_lighting_outlets_count": 4} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/E153FA/cert-dacaed6475e2.json b/tests/fixtures/epc_prediction/E153FA/cert-dacaed6475e2.json new file mode 100644 index 00000000..f14df27b --- /dev/null +++ b/tests/fixtures/epc_prediction/E153FA/cert-dacaed6475e2.json @@ -0,0 +1 @@ +{"uprn": 10093129157, "roofs": [{"description": "(other premises above)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": "Average thermal transmittance 0.26 W/m\u00b2K", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": "(other premises below)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": {"description": "High performance glazing", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "E15 3FA", "data_type": 5, "hot_water": {"description": "Electric immersion, standard tariff", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}, "post_town": "", "created_at": "2016-06-23 09:54:54", "living_area": 20.25, "orientation": 7, "region_code": 17, "report_type": 3, "sap_heating": {"water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"main_fuel_type": 39, "main_heating_code": 691, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2603, "main_heating_category": 10, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 3, "has_separate_delayed_start": "false", "load_or_weather_compensation": 0}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "sap_heating_design_water_use": 1, "hot_water_store_insulation_type": 1, "hot_water_store_insulation_thickness": 75}, "sap_version": 9.92, "schema_type": "SAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}], "dwelling_type": "Mid-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-7b6e387f0e1d", "address_line_2": "", "assessment_date": "2015-03-09", "assessment_type": "SAP", "completion_date": "2016-06-23", "inspection_date": "2015-03-09", "sap_ventilation": {"psv_count": 0, "pressure_test": 6, "draughtstripping": 3, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "true", "extract_fans_count": 2, "open_fireplaces_count": 0, "sheltered_sides_count": 2, "flueless_gas_fires_count": 0}, "design_water_use": 1, "sap_data_version": 9.92, "sap_flat_details": {"level": 2}, "total_floor_area": 39, "transaction_type": 5, "conservatory_type": 1, "registration_date": "2016-06-23", "sap_energy_source": {"electricity_tariff": 1, "wind_turbines_count": 0, "wind_turbine_terrain_type": 2, "fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_count": 10, "low_energy_fixed_lighting_outlets_percentage": 100}, "sap_opening_types": [{"name": "Windows (1)", "type": 4, "u_value": 1.29, "frame_type": 1, "data_source": 2, "description": "Data from Manufacturer", "frame_factor": 0.7, "glazing_type": 6, "solar_transmittance": 0.76}], "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"sap_roofs": [{"name": "Exposed Roof", "u_value": 0, "roof_type": 2, "kappa_value": 0, "total_roof_area": 0}], "sap_walls": [{"name": "Existing Wall", "u_value": 0.26, "wall_type": 2, "kappa_value": 17, "total_wall_area": 42.9, "is_curtain_walling": "false"}, {"name": "Party Wall", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 41.25}], "identifier": "Main Dwelling", "overshading": 2, "sap_openings": [{"name": 1, "type": "Windows (1)", "width": 0, "height": 0, "location": "Existing Wall", "orientation": 7}], "construction_year": 2016, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1}], "heating_cost_current": {"value": 172, "currency": "GBP"}, "co2_emissions_current": 1.4, "energy_rating_average": 60, "energy_rating_current": 70, "lighting_cost_current": {"value": 28, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and appliance thermostats", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 172, "currency": "GBP"}, "hot_water_cost_current": {"value": 217, "currency": "GBP"}, "co2_emissions_potential": 1.4, "energy_rating_potential": 70, "lighting_cost_potential": {"value": 28, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 217, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "renewable_heat_incentive": {"rhi_existing_dwelling": {"water_heating": 1415, "space_heating_existing_dwelling": 1124}}, "seller_commission_report": "Y", "energy_consumption_current": 217, "has_fixed_air_conditioning": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "Version: 1.0.3.4", "energy_consumption_potential": 217, "environmental_impact_current": 73, "current_energy_efficiency_band": "C", "environmental_impact_potential": 73, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 37} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/EN12PU/cert-040368bb642d.json b/tests/fixtures/epc_prediction/EN12PU/cert-040368bb642d.json new file mode 100644 index 00000000..de4163f6 --- /dev/null +++ b/tests/fixtures/epc_prediction/EN12PU/cert-040368bb642d.json @@ -0,0 +1 @@ +{"uprn": 207112001, "roofs": [{"description": "Pitched, insulated (assumed)", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, {"description": "Flat, insulated", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Roof room(s), insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Suspended, insulated (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "lighting": {"description": "Below average lighting efficiency", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "postcode": "EN1 2PU", "hot_water": {"description": "From main system, no cylinder thermostat", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 2, "created_at": "2026-05-14 10:00:19", "door_count": 1, "region_code": 17, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 3, "shower_outlets": [{"shower_wwhrs": 1, "shower_outlet_type": 1}, {"shower_wwhrs": 1, "shower_outlet_type": 1}, {"shower_wwhrs": 1, "shower_outlet_type": 1}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 9599}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "glazing_gap": 12, "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 1.2, "window_height": 0.85, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 1.77, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 1.77, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 7, "window_type": 1, "glazing_type": 3, "window_width": 1.77, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 1.87, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 4, "window_type": 1, "glazing_type": 3, "window_width": 0.53, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 3, "window_type": 1, "glazing_type": 3, "window_width": 0.53, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 6, "window_type": 1, "glazing_type": 3, "window_width": 0.53, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 7, "window_type": 1, "glazing_type": 3, "window_width": 0.53, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 1.87, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 4, "window_type": 1, "glazing_type": 3, "window_width": 0.53, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 3, "window_type": 1, "glazing_type": 3, "window_width": 0.53, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 6, "window_type": 1, "glazing_type": 3, "window_width": 0.53, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 7, "window_type": 1, "glazing_type": 3, "window_width": 0.53, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 1.77, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 7, "window_type": 1, "glazing_type": 3, "window_width": 0.37, "window_height": 1.15, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 1.77, "window_height": 1.3, "draught_proofed": "true", "window_location": 2, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 7, "window_type": 1, "glazing_type": 3, "window_width": 1.77, "window_height": 1.3, "draught_proofed": "true", "window_location": 2, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 2.46, "window_height": 2.1, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 9, "window_type": 2, "glazing_type": 3, "window_width": 2.46, "window_height": 0.89, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 9, "window_type": 2, "glazing_type": 3, "window_width": 0.89, "window_height": 0.89, "draught_proofed": "true", "window_location": 2, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Semi-detached house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-8a885f90bd97", "assessment_type": "RdSAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-13", "extensions_count": 2, "measurement_type": 1, "total_floor_area": 165, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 8, "registration_date": "2026-05-14", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "extract_fans_count": 2, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "Y", "wall_thickness": 270, "floor_heat_loss": 7, "sap_room_in_roof": {"floor_area": 24.55, "room_in_roof_type_1": {"gable_wall_type_1": 2, "gable_wall_type_2": 2, "gable_wall_length_1": 4.21, "gable_wall_length_2": 4.21}, "construction_age_band": "J"}, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 62.02, "quantity": "square metres"}, "party_wall_length": {"value": 6.67, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 20.28, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 53.39, "quantity": "square metres"}, "party_wall_length": {"value": 7.03, "quantity": "metres"}, "heat_loss_perimeter": {"value": 24.69, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 12.94, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 7.43, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "J", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 11.71, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 6.99, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "J", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 8, "heating_cost_current": {"value": 1566, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 5.2, "energy_rating_average": 60, "energy_rating_current": 67, "lighting_cost_current": {"value": 116, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 1097, "currency": "GBP"}, "hot_water_cost_current": {"value": 365, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 337, "currency": "GBP"}, "indicative_cost": "\u00a37,500 - \u00a311,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 68}, {"sequence": 2, "typical_saving": {"value": 106, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 71}, {"sequence": 3, "typical_saving": {"value": 115, "currency": "GBP"}, "indicative_cost": "\u00a3130 - \u00a3180", "improvement_type": "F", "improvement_details": {"improvement_number": 4}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 73}, {"sequence": 4, "typical_saving": {"value": 248, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 74}], "co2_emissions_potential": 3.5, "energy_rating_potential": 79, "lighting_cost_potential": {"value": 116, "currency": "GBP"}, "schema_version_original": "21.0.1", "hot_water_cost_potential": {"value": 276, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3960.69, "space_heating_existing_dwelling": 16052.49}, "draughtproofed_door_count": 1, "energy_consumption_current": 172, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0344", "energy_consumption_potential": 112, "environmental_impact_current": 61, "current_energy_efficiency_band": "D", "environmental_impact_potential": 74, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 32, "low_energy_fixed_lighting_bulbs_count": 30, "incandescent_fixed_lighting_bulbs_count": 15} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/EN12PU/cert-0660c5366da9.json b/tests/fixtures/epc_prediction/EN12PU/cert-0660c5366da9.json new file mode 100644 index 00000000..5c59e29a --- /dev/null +++ b/tests/fixtures/epc_prediction/EN12PU/cert-0660c5366da9.json @@ -0,0 +1 @@ +{"uprn": 207113821, "roofs": [{"description": "Pitched, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": "Flat, insulated (assumed)", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": "Timber frame, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in 13% of fixed outlets", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "postcode": "EN1 2PU", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2019-02-06 19:28:38.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10327}], "immersion_heating_type": "NA", "secondary_heating_type": 612, "has_fixed_air_conditioning": "false"}, "sap_version": 9.93, "schema_type": "RdSAP-Schema-18.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-37f0605a5ec8", "assessment_type": "RdSAP", "completion_date": "2019-02-06", "inspection_date": "2019-02-06", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 111, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2019-02-06", "sap_energy_source": {"mains_gas": "Y", "meter_type": 1, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 240, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 46.9, "quantity": "square metres"}, "party_wall_length": {"value": 6.2, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 17.8, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.5, "quantity": "metres"}, "total_floor_area": {"value": 46.9, "quantity": "square metres"}, "party_wall_length": {"value": 6.2, "quantity": "metres"}, "heat_loss_perimeter": {"value": 23.8, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 180, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 5, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 17.1, "quantity": "square metres"}, "party_wall_length": {"value": 1, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 30, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 13, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1264, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 7.4, "energy_rating_average": 60, "energy_rating_current": 42, "lighting_cost_current": {"value": 153, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, TRVs and bypass", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 1, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 884, "currency": "GBP"}, "hot_water_cost_current": {"value": 104, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 264, "currency": "GBP"}, "indicative_cost": "14,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 52, "environmental_impact_rating": 44}, {"sequence": 2, "typical_saving": {"value": 89, "currency": "GBP"}, "indicative_cost": "1,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 56, "environmental_impact_rating": 48}, {"sequence": 3, "typical_saving": {"value": 61, "currency": "GBP"}, "indicative_cost": 65, "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 57, "environmental_impact_rating": 49}, {"sequence": 4, "typical_saving": {"value": 37, "currency": "GBP"}, "indicative_cost": 450, "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 59, "environmental_impact_rating": 50}, {"sequence": 5, "typical_saving": {"value": 32, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 60, "environmental_impact_rating": 52}, {"sequence": 6, "typical_saving": {"value": 325, "currency": "GBP"}, "indicative_cost": "8,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 59}], "co2_emissions_potential": 4.0, "energy_rating_potential": 69, "lighting_cost_potential": {"value": 82, "currency": "GBP"}, "schema_version_original": "LIG-18.0", "hot_water_cost_potential": {"value": 73, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2276, "impact_of_loft_insulation": -3464, "impact_of_solid_wall_insulation": -4628, "space_heating_existing_dwelling": 18604}, "energy_consumption_current": 377, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "3.08r09", "energy_consumption_potential": 200, "environmental_impact_current": 35, "fixed_lighting_outlets_count": 15, "current_energy_efficiency_band": "E", "environmental_impact_potential": 59, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 66, "low_energy_fixed_lighting_outlets_count": 2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/EN12PU/cert-08627d0739e2.json b/tests/fixtures/epc_prediction/EN12PU/cert-08627d0739e2.json new file mode 100644 index 00000000..6d96b84c --- /dev/null +++ b/tests/fixtures/epc_prediction/EN12PU/cert-08627d0739e2.json @@ -0,0 +1 @@ +{"uprn": 207113822, "roofs": [{"description": {"value": "Pitched, insulated at rafters", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": {"value": "Flat, limited insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": {"value": "System built, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Partial double glazing", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 64% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "EN1 2PU", "hot_water": {"description": {"value": "From main system, no cylinder thermostat", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 2, "created_at": "2020-06-23 08:57:49.000000", "door_count": 4, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 2042}], "immersion_heating_type": "NA", "secondary_heating_type": 612, "cylinder_insulation_type": 2, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-19.0", "uprn_source": "Address Matched", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-ff699ee273c3", "assessment_type": "RdSAP", "completion_date": "2020-06-23", "inspection_date": "2020-06-17", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 112, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 6, "pvc_window_frames": "false", "registration_date": "2020-06-23", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, mains gas", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "Y", "wall_thickness": 260, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.52, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 53.1, "quantity": "square metres"}, "party_wall_length": {"value": 6.76, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 20.86, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.45, "quantity": "metres"}, "total_floor_area": {"value": 50.98, "quantity": "square metres"}, "party_wall_length": {"value": 6.76, "quantity": "metres"}, "heat_loss_perimeter": {"value": 22.85, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 1, "wall_insulation_thickness": "NI", "rafter_insulation_thickness": "150mm"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 8, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.42, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 8.04, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 2, "heat_loss_perimeter": {"value": 7.61, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "E", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 64, "solar_water_heating": "N", "habitable_room_count": 6, "heating_cost_current": {"value": 1089, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 6.9, "energy_rating_average": 60, "energy_rating_current": 47, "lighting_cost_current": {"value": 109, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 1, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 655, "currency": "GBP"}, "hot_water_cost_current": {"value": 223, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 55, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 220, "currency": "GBP"}, "indicative_cost": "14,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 55, "environmental_impact_rating": 46}, {"sequence": 2, "typical_saving": {"value": 86, "currency": "GBP"}, "indicative_cost": "1,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 58, "environmental_impact_rating": 50}, {"sequence": 3, "typical_saving": {"value": 18, "currency": "GBP"}, "indicative_cost": 30, "improvement_type": "C", "improvement_details": {"improvement_number": 2}, "improvement_category": 5, "energy_performance_rating": 59, "environmental_impact_rating": 50}, {"sequence": 4, "typical_saving": {"value": 13, "currency": "GBP"}, "indicative_cost": 120, "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 59, "environmental_impact_rating": 51}, {"sequence": 5, "typical_saving": {"value": 24, "currency": "GBP"}, "indicative_cost": 20, "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 60, "environmental_impact_rating": 52}, {"sequence": 6, "typical_saving": {"value": 58, "currency": "GBP"}, "indicative_cost": 400, "improvement_type": "F", "improvement_details": {"improvement_number": 4}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 54}, {"sequence": 7, "typical_saving": {"value": 77, "currency": "GBP"}, "indicative_cost": "3,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 58}, {"sequence": 8, "typical_saving": {"value": 40, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 60}, {"sequence": 9, "typical_saving": {"value": 45, "currency": "GBP"}, "indicative_cost": "6,500", "improvement_type": "O", "improvement_details": {"improvement_number": 8}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 62}, {"sequence": 10, "typical_saving": {"value": 27, "currency": "GBP"}, "indicative_cost": "2,000", "improvement_type": "X", "improvement_details": {"improvement_number": 48}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 64}, {"sequence": 11, "typical_saving": {"value": 333, "currency": "GBP"}, "indicative_cost": "5,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 72}], "co2_emissions_potential": 2.7, "energy_rating_potential": 77, "lighting_cost_potential": {"value": 80, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 295, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 72, "environmental_impact_rating": 66}}], "hot_water_cost_potential": {"value": 76, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3920, "impact_of_solid_wall_insulation": -3258, "space_heating_existing_dwelling": 14259}, "energy_consumption_current": 347, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 55, "calculation_software_version": "v94.0.1.1", "energy_consumption_potential": 133, "environmental_impact_current": 38, "fixed_lighting_outlets_count": 11, "current_energy_efficiency_band": "E", "environmental_impact_potential": 72, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 61, "low_energy_fixed_lighting_outlets_count": 7} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/EN12PU/cert-0ad8443821d5.json b/tests/fixtures/epc_prediction/EN12PU/cert-0ad8443821d5.json new file mode 100644 index 00000000..e31d6ee2 --- /dev/null +++ b/tests/fixtures/epc_prediction/EN12PU/cert-0ad8443821d5.json @@ -0,0 +1 @@ +{"uprn": 207112979, "roofs": [{"description": "Pitched, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": "Low energy lighting in 48% of fixed outlets", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "EN1 2PU", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2024-12-05 14:37:28", "door_count": 3, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 6, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17503}], "immersion_heating_type": "NA", "secondary_heating_type": 633, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-fff45b758007", "assessment_type": "RdSAP", "completion_date": "2024-12-05", "inspection_date": "2024-09-20", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 99, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2024-12-05", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, wood logs", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lzc_energy_sources": [4], "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 250, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.519, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 49.329, "quantity": "square metres"}, "party_wall_length": {"value": 7.521, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 25.737, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.449, "quantity": "metres"}, "total_floor_area": {"value": 50.108, "quantity": "square metres"}, "party_wall_length": {"value": 6.773, "quantity": "metres"}, "heat_loss_perimeter": {"value": 25.275, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 48, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1431, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.6, "energy_rating_average": 60, "energy_rating_current": 54, "lighting_cost_current": {"value": 155, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 964, "currency": "GBP"}, "hot_water_cost_current": {"value": 134, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 393, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 63}, {"sequence": 2, "typical_saving": {"value": 81, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 66}, {"sequence": 3, "typical_saving": {"value": 46, "currency": "GBP"}, "indicative_cost": "\u00a355", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 67}, {"sequence": 4, "typical_saving": {"value": 46, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 68}, {"sequence": 5, "typical_saving": {"value": 456, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 77}], "co2_emissions_potential": 2.0, "energy_rating_potential": 77, "lighting_cost_potential": {"value": 102, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 88, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2009, "impact_of_loft_insulation": -3699, "impact_of_solid_wall_insulation": -5794, "space_heating_existing_dwelling": 17222}, "energy_consumption_current": 292, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0002", "energy_consumption_potential": 131, "environmental_impact_current": 52, "fixed_lighting_outlets_count": 21, "current_energy_efficiency_band": "E", "environmental_impact_potential": 77, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 47, "low_energy_fixed_lighting_outlets_count": 10} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/EN12PU/cert-0f29be810bed.json b/tests/fixtures/epc_prediction/EN12PU/cert-0f29be810bed.json new file mode 100644 index 00000000..8402b4ce --- /dev/null +++ b/tests/fixtures/epc_prediction/EN12PU/cert-0f29be810bed.json @@ -0,0 +1 @@ +{"uprn": 207113820, "roofs": [{"description": "Pitched, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "EN1 2PU", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2025-03-01 15:48:51", "door_count": 1, "glazed_area": 1, "glazing_gap": "16+", "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 18221}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-7354c7923b33", "assessment_type": "RdSAP", "completion_date": "2025-03-01", "inspection_date": "2025-02-27", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 100, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2025-03-01", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 250, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 46.99, "quantity": "square metres"}, "party_wall_length": {"value": 6.21, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 18.28, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.5, "quantity": "metres"}, "total_floor_area": {"value": 48.73, "quantity": "square metres"}, "party_wall_length": {"value": 6.85, "quantity": "metres"}, "heat_loss_perimeter": {"value": 23.59, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 250, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 3.81, "quantity": "square metres"}, "party_wall_length": {"value": 1, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 6.81, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1222, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.9, "energy_rating_average": 60, "energy_rating_current": 58, "lighting_cost_current": {"value": 99, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 841, "currency": "GBP"}, "hot_water_cost_current": {"value": 148, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 330, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 62}, {"sequence": 2, "typical_saving": {"value": 51, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 64}, {"sequence": 3, "typical_saving": {"value": 47, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 66}, {"sequence": 4, "typical_saving": {"value": 440, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 74}], "co2_emissions_potential": 2.3, "energy_rating_potential": 79, "lighting_cost_potential": {"value": 99, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 102, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2234, "impact_of_loft_insulation": -3896, "impact_of_solid_wall_insulation": -5763, "space_heating_existing_dwelling": 16830}, "energy_consumption_current": 278, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0002", "energy_consumption_potential": 129, "environmental_impact_current": 50, "fixed_lighting_outlets_count": 14, "current_energy_efficiency_band": "D", "environmental_impact_potential": 74, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 49, "low_energy_fixed_lighting_outlets_count": 14} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/EN12PU/cert-19b2aea93797.json b/tests/fixtures/epc_prediction/EN12PU/cert-19b2aea93797.json new file mode 100644 index 00000000..bbd40267 --- /dev/null +++ b/tests/fixtures/epc_prediction/EN12PU/cert-19b2aea93797.json @@ -0,0 +1 @@ +{"uprn": 207112979, "roofs": [{"description": "Pitched, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": [{"description": "Mostly double glazing", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "lighting": {"description": "Low energy lighting in 45% of fixed outlets", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "EN1 2PU", "hot_water": {"description": "From main system", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 2, "created_at": "2014-08-27 15:42:33.000000", "door_count": 1, "glazed_area": 2, "region_code": 17, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 0}, "cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "boiler_index_number": 16515, "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "main_heating_data_source": 1}], "secondary_heating_type": 612, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 25}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.3", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-e3e776667078", "schema_version": "LIG-16.1", "assessment_type": "RdSAP", "completion_date": "2014-08-27", "inspection_date": "2014-08-27", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 116, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2014-08-27", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 260, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.5, "floor_insulation": 1, "total_floor_area": 53.17, "floor_construction": 2, "heat_loss_perimeter": 18.3}, {"floor": 1, "room_height": 2.43, "total_floor_area": 53.17, "heat_loss_perimeter": 24.4}], "wall_insulation_type": 4, "construction_age_band": "C", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "NI"}, {"wall_dry_lined": "N", "wall_thickness": 260, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.29, "floor_insulation": 1, "total_floor_area": 9.75, "floor_construction": 2, "heat_loss_perimeter": 9.1}], "wall_insulation_type": 4, "construction_age_band": "C", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "NI"}], "low_energy_lighting": 45, "solar_water_heating": "N", "bedf_revision_number": 363, "habitable_room_count": 5, "heating_cost_current": {"value": 1808, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 9.5, "energy_rating_average": 60, "energy_rating_current": 32, "lighting_cost_current": {"value": 99, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and room thermostat", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 1, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 1022, "currency": "GBP"}, "hot_water_cost_current": {"value": 180, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 95, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 464, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 45, "environmental_impact_rating": 41}, {"sequence": 2, "typical_saving": {"value": 86, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W", "improvement_details": {"improvement_number": 47}, "improvement_category": 5, "energy_performance_rating": 48, "environmental_impact_rating": 43}, {"sequence": 3, "typical_saving": {"value": 27, "currency": "GBP"}, "indicative_cost": "\u00a330", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 49, "environmental_impact_rating": 44}, {"sequence": 4, "typical_saving": {"value": 70, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 52, "environmental_impact_rating": 46}, {"sequence": 5, "typical_saving": {"value": 223, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 59, "environmental_impact_rating": 53}, {"sequence": 6, "typical_saving": {"value": 41, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 60, "environmental_impact_rating": 55}, {"sequence": 7, "typical_saving": {"value": 258, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 62}], "co2_emissions_potential": 4.1, "energy_rating_potential": 68, "lighting_cost_potential": {"value": 64, "currency": "GBP"}, "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 129, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 55, "environmental_impact_rating": 62}, {"sequence": 2, "typical_saving": {"value": 539, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 70, "environmental_impact_rating": 65}], "hot_water_cost_potential": {"value": 91, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2895, "impact_of_loft_insulation": -4451, "impact_of_solid_wall_insulation": -7538, "space_heating_existing_dwelling": 22911}, "seller_commission_report": "Y", "energy_consumption_current": 424, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 95, "calculation_software_version": 8.3, "energy_consumption_potential": 182, "environmental_impact_current": 29, "fixed_lighting_outlets_count": 11, "current_energy_efficiency_band": "F", "environmental_impact_potential": 62, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "D", "co2_emissions_current_per_floor_area": 82, "low_energy_fixed_lighting_outlets_count": 5} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/EN12PU/cert-1bbc01d15d4c.json b/tests/fixtures/epc_prediction/EN12PU/cert-1bbc01d15d4c.json new file mode 100644 index 00000000..97bf094d --- /dev/null +++ b/tests/fixtures/epc_prediction/EN12PU/cert-1bbc01d15d4c.json @@ -0,0 +1 @@ +{"uprn": 207113821, "roofs": [{"description": {"value": "Pitched, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Flat, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Timber frame, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Mostly double glazing", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "No low energy lighting", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "postcode": "EN1 2PU", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2016-04-21 16:45:26.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 113, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "secondary_heating_type": 612, "has_fixed_air_conditioning": "false"}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-37f0605a5ec8", "assessment_type": "RdSAP", "completion_date": "2016-04-21", "inspection_date": "2016-04-19", "extensions_count": 2, "measurement_type": 1, "total_floor_area": 113, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2016-04-21", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, mains gas", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.42, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 45.56, "quantity": "square metres"}, "party_wall_length": {"value": 6.82, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 13.68, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.41, "quantity": "metres"}, "total_floor_area": {"value": 45.56, "quantity": "square metres"}, "party_wall_length": {"value": 6.82, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.8, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}, {"identifier": "Extension", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.42, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 2.6, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 2, "heat_loss_perimeter": {"value": 4.52, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.41, "quantity": "metres"}, "total_floor_area": {"value": 2.8, "quantity": "square metres"}, "party_wall_length": 0, "heat_loss_perimeter": {"value": 4.55, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": "NA", "wall_thickness_measured": "N", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "wall_thickness": 180, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 5, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 16.08, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 13.78, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 0, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1643, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 8.8, "energy_rating_average": 60, "energy_rating_current": 35, "lighting_cost_current": {"value": 135, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, TRVs and bypass", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 1078, "currency": "GBP"}, "hot_water_cost_current": {"value": 122, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 89, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 84, "currency": "GBP"}, "indicative_cost": "\u00a3850 - \u00a31,500", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 38, "environmental_impact_rating": 31}, {"sequence": 2, "typical_saving": {"value": 373, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 49, "environmental_impact_rating": 41}, {"sequence": 3, "typical_saving": {"value": 42, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 51, "environmental_impact_rating": 43}, {"sequence": 4, "typical_saving": {"value": 33, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 52, "environmental_impact_rating": 44}, {"sequence": 5, "typical_saving": {"value": 54, "currency": "GBP"}, "indicative_cost": "\u00a365", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 54, "environmental_impact_rating": 45}, {"sequence": 6, "typical_saving": {"value": 47, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 55, "environmental_impact_rating": 46}, {"sequence": 7, "typical_saving": {"value": 41, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 56, "environmental_impact_rating": 48}, {"sequence": 8, "typical_saving": {"value": 279, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 54}], "co2_emissions_potential": 4.6, "energy_rating_potential": 65, "lighting_cost_potential": {"value": 68, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 82, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2275, "impact_of_loft_insulation": -3566, "impact_of_solid_wall_insulation": -5421, "space_heating_existing_dwelling": 21425}, "energy_consumption_current": 441, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 95, "calculation_software_version": "9.0.0", "energy_consumption_potential": 227, "environmental_impact_current": 29, "fixed_lighting_outlets_count": 13, "current_energy_efficiency_band": "F", "environmental_impact_potential": 54, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "D", "co2_emissions_current_per_floor_area": 78, "low_energy_fixed_lighting_outlets_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/EN12PU/cert-20ebf6ff4e97.json b/tests/fixtures/epc_prediction/EN12PU/cert-20ebf6ff4e97.json new file mode 100644 index 00000000..95e57e46 --- /dev/null +++ b/tests/fixtures/epc_prediction/EN12PU/cert-20ebf6ff4e97.json @@ -0,0 +1 @@ +{"uprn": 207112000, "roofs": [{"description": "Pitched, insulated at rafters", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Single glazed", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "lighting": {"description": "Low energy lighting in 88% of fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "EN1 2PU", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2021-09-27 08:39:04.958553", "door_count": 1, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 4, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 3, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 2}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 18217}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-09cc7e186079", "assessment_type": "RdSAP", "completion_date": "2021-09-27", "inspection_date": "2021-09-24", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 388, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 12, "registration_date": "2021-09-27", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 260, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 112.04, "quantity": "square metres"}, "party_wall_length": {"value": 9.96, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 32.19, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.41, "quantity": "metres"}, "total_floor_area": {"value": 101.9, "quantity": "square metres"}, "party_wall_length": {"value": 9.96, "quantity": "metres"}, "heat_loss_perimeter": {"value": 31.23, "quantity": "metres"}}, {"floor": 2, "room_height": {"value": 2.41, "quantity": "metres"}, "total_floor_area": {"value": 87.53, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "heat_loss_perimeter": {"value": 42.28, "quantity": "metres"}}, {"floor": 3, "room_height": {"value": 2.39, "quantity": "metres"}, "total_floor_area": {"value": 46.79, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "heat_loss_perimeter": {"value": 30.88, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 1, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "rafter_insulation_thickness": "50mm"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 260, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 20, "quantity": "square metres"}, "party_wall_length": {"value": 5, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 10, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2, "quantity": "metres"}, "total_floor_area": {"value": 20, "quantity": "square metres"}, "party_wall_length": {"value": 5, "quantity": "metres"}, "heat_loss_perimeter": {"value": 10, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 1, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "rafter_insulation_thickness": "AB"}], "low_energy_lighting": 88, "solar_water_heating": "N", "habitable_room_count": 12, "heating_cost_current": {"value": 2390, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 14, "energy_rating_average": 60, "energy_rating_current": 61, "lighting_cost_current": {"value": 186, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": "ND", "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 1315, "currency": "GBP"}, "hot_water_cost_current": {"value": 133, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 0, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 704, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 62}, {"sequence": 2, "typical_saving": {"value": 111, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 64}, {"sequence": 3, "typical_saving": {"value": 72, "currency": "GBP"}, "indicative_cost": "\u00a380 - \u00a3120", "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 66}, {"sequence": 4, "typical_saving": {"value": 183, "currency": "GBP"}, "indicative_cost": "\u00a33,300 - \u00a36,500", "improvement_type": "O", "improvement_details": {"improvement_number": 8}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 70}, {"sequence": 5, "typical_saving": {"value": 348, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 80, "environmental_impact_rating": 73}], "co2_emissions_potential": 7.3, "energy_rating_potential": 80, "lighting_cost_potential": {"value": 190, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 134, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3100, "impact_of_solid_wall_insulation": -17034, "space_heating_existing_dwelling": 54798}, "energy_consumption_current": 210, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 0, "calculation_software_version": "4.07r0003", "energy_consumption_potential": 106, "environmental_impact_current": 49, "fixed_lighting_outlets_count": 25, "current_energy_efficiency_band": "D", "environmental_impact_potential": 73, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 37, "low_energy_fixed_lighting_outlets_count": 22} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/EN12PU/cert-60e676acb734.json b/tests/fixtures/epc_prediction/EN12PU/cert-60e676acb734.json new file mode 100644 index 00000000..3c550c41 --- /dev/null +++ b/tests/fixtures/epc_prediction/EN12PU/cert-60e676acb734.json @@ -0,0 +1 @@ +{"uprn": 207112000, "roofs": [{"description": "Pitched, insulated at rafters", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": [{"description": "Single glazed", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "lighting": {"description": "No low energy lighting", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "postcode": "EN1 2PU", "hot_water": {"description": "Gas instantaneous at point of use", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2013-05-14 21:06:09.000000", "door_count": 3, "glazed_area": 4, "region_code": 17, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 3, "rooms_with_mixer_shower_no_bath": 3, "rooms_with_bath_and_mixer_shower": 0}, "cylinder_size": 1, "water_heating_code": 907, "water_heating_fuel": 26, "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "boiler_index_number": 9720, "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "main_heating_data_source": 1}], "secondary_heating_type": 691, "has_fixed_air_conditioning": "false"}, "sap_version": 9.91, "sap_windows": [{"orientation": 4, "window_area": 19.231, "window_type": 1, "glazing_type": 5, "window_location": 0}], "schema_type": "SAP-Schema-16.2", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-d8c6c3b09af9", "schema_version": "LIG-16.1", "assessment_type": "RdSAP", "completion_date": "2013-05-14", "inspection_date": "2013-05-14", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 362, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 13, "registration_date": "2013-05-14", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 1}, "secondary_heating": {"description": "Room heaters, electric", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 360, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.444, "floor_insulation": 1, "total_floor_area": 48.061, "floor_construction": 1, "heat_loss_perimeter": 17.848}, {"floor": 1, "room_height": 3.142, "total_floor_area": 113.76, "heat_loss_perimeter": 29.394}, {"floor": 2, "room_height": 2.897, "total_floor_area": 104.486, "heat_loss_perimeter": 26.946}, {"floor": 3, "room_height": 2.415, "total_floor_area": 76.753, "heat_loss_perimeter": 24.088}], "wall_insulation_type": 4, "construction_age_band": "B", "wall_thickness_measured": "Y", "roof_insulation_location": 1, "roof_insulation_thickness": "NI", "rafter_insulation_thickness": "NI"}, {"identifier": "Extension", "wall_dry_lined": "N", "wall_thickness": 360, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.444, "floor_insulation": 1, "total_floor_area": 6.365, "floor_construction": 1, "heat_loss_perimeter": 7.143}, {"floor": 1, "room_height": 2.38, "total_floor_area": 6.365, "heat_loss_perimeter": 7.143}, {"floor": 2, "room_height": 1.966, "total_floor_area": 6.365, "heat_loss_perimeter": 7.143}], "wall_insulation_type": 4, "construction_age_band": "B", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "NI"}], "low_energy_lighting": 0, "solar_water_heating": "N", "bedf_revision_number": 338, "habitable_room_count": 13, "heating_cost_current": {"value": 3219, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 18, "energy_rating_average": 60, "energy_rating_current": 46, "lighting_cost_current": {"value": 267, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and room thermostat", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": "ND", "open_fireplaces_count": 9, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 1848, "currency": "GBP"}, "hot_water_cost_current": {"value": 78, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 94, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 1057, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 58}, {"sequence": 2, "typical_saving": {"value": 152, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W", "improvement_details": {"improvement_number": 47}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 61}, {"sequence": 3, "typical_saving": {"value": 108, "currency": "GBP"}, "indicative_cost": "\u00a3145", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 62}, {"sequence": 4, "typical_saving": {"value": 117, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 64}, {"sequence": 5, "typical_saving": {"value": 68, "currency": "GBP"}, "indicative_cost": "\u00a33,300 - \u00a36,500", "improvement_type": "O", "improvement_details": {"improvement_number": 8}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 65}, {"sequence": 6, "typical_saving": {"value": 236, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 68}], "co2_emissions_potential": 9.0, "energy_rating_potential": 72, "lighting_cost_potential": {"value": 136, "currency": "GBP"}, "hot_water_cost_potential": {"value": 78, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1559, "impact_of_loft_insulation": -454, "impact_of_solid_wall_insulation": -22147, "space_heating_existing_dwelling": 64000}, "seller_commission_report": "Y", "energy_consumption_current": 256, "has_fixed_air_conditioning": "false", "calculation_software_version": 8.3, "energy_consumption_potential": 130, "environmental_impact_current": 42, "fixed_lighting_outlets_count": 29, "current_energy_efficiency_band": "E", "environmental_impact_potential": 68, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 49, "low_energy_fixed_lighting_outlets_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/EN12PU/cert-fe6faf36381f.json b/tests/fixtures/epc_prediction/EN12PU/cert-fe6faf36381f.json new file mode 100644 index 00000000..6eaaca8c --- /dev/null +++ b/tests/fixtures/epc_prediction/EN12PU/cert-fe6faf36381f.json @@ -0,0 +1 @@ +{"uprn": 207112295, "roofs": [{"description": "Pitched, 25 mm loft insulation", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Flat, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Partial double glazing", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "lighting": {"description": "Low energy lighting in 13% of fixed outlets", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "postcode": "EN1 2PU", "hot_water": {"description": "From main system, no cylinder thermostat", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 2, "created_at": "2020-08-20 15:57:19.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": 6, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2102, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 117, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "cylinder_insulation_type": 2, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 25}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-19.0", "uprn_source": "Address Matched", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-770e5e27fc79", "assessment_type": "RdSAP", "completion_date": "2020-08-20", "inspection_date": "2020-08-20", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 108, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2020-08-20", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 230, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 49.26, "quantity": "square metres"}, "party_wall_length": {"value": 7.2, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 17.8, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.5, "quantity": "metres"}, "total_floor_area": {"value": 50.26, "quantity": "square metres"}, "party_wall_length": {"value": 7.2, "quantity": "metres"}, "heat_loss_perimeter": {"value": 23.3, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "25mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 230, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 8.7, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 3.1, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 13, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1200, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 8.1, "energy_rating_average": 60, "energy_rating_current": 39, "lighting_cost_current": {"value": 150, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, no room thermostat", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 410, "currency": "GBP"}, "hot_water_cost_current": {"value": 315, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 67, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 108, "currency": "GBP"}, "indicative_cost": 350, "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 42, "environmental_impact_rating": 35}, {"sequence": 2, "typical_saving": {"value": 49, "currency": "GBP"}, "indicative_cost": "1,500", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 44, "environmental_impact_rating": 37}, {"sequence": 3, "typical_saving": {"value": 378, "currency": "GBP"}, "indicative_cost": "14,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 58, "environmental_impact_rating": 50}, {"sequence": 4, "typical_saving": {"value": 61, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 60, "environmental_impact_rating": 53}, {"sequence": 5, "typical_saving": {"value": 46, "currency": "GBP"}, "indicative_cost": 30, "improvement_type": "C", "improvement_details": {"improvement_number": 2}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 55}, {"sequence": 6, "typical_saving": {"value": 59, "currency": "GBP"}, "indicative_cost": 70, "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 56}, {"sequence": 7, "typical_saving": {"value": 82, "currency": "GBP"}, "indicative_cost": 450, "improvement_type": "G", "improvement_details": {"improvement_number": 12}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 60}, {"sequence": 8, "typical_saving": {"value": 249, "currency": "GBP"}, "indicative_cost": "3,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 74}, {"sequence": 9, "typical_saving": {"value": 41, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 76}, {"sequence": 10, "typical_saving": {"value": 27, "currency": "GBP"}, "indicative_cost": "6,500", "improvement_type": "O", "improvement_details": {"improvement_number": 8}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 77}, {"sequence": 11, "typical_saving": {"value": 340, "currency": "GBP"}, "indicative_cost": "5,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 85}], "co2_emissions_potential": 1.3, "energy_rating_potential": 87, "lighting_cost_potential": {"value": 81, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 207, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 74, "environmental_impact_rating": 95}, {"sequence": 2, "typical_saving": {"value": 15, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 73, "environmental_impact_rating": 76}, {"sequence": 3, "typical_saving": {"value": 285, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 76, "environmental_impact_rating": 71}], "hot_water_cost_potential": {"value": 76, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 4508, "impact_of_loft_insulation": -1673, "impact_of_solid_wall_insulation": -5762, "space_heating_existing_dwelling": 16677}, "energy_consumption_current": 425, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 67, "calculation_software_version": "4.05r0005", "energy_consumption_potential": 68, "environmental_impact_current": 32, "fixed_lighting_outlets_count": 16, "current_energy_efficiency_band": "E", "environmental_impact_potential": 85, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 75, "low_energy_fixed_lighting_outlets_count": 2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/GU12ND/cert-15f76098044f.json b/tests/fixtures/epc_prediction/GU12ND/cert-15f76098044f.json new file mode 100644 index 00000000..8b37e960 --- /dev/null +++ b/tests/fixtures/epc_prediction/GU12ND/cert-15f76098044f.json @@ -0,0 +1 @@ +{"uprn": 100061404233, "roofs": [{"description": "Pitched, 150 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, filled cavity", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in 50% of fixed outlets", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "GU1 2ND", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2023-10-09 10:50:18", "door_count": 0, "glazed_area": 4, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 0, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 15023}], "immersion_heating_type": "NA", "secondary_heating_type": 612, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "sap_windows": [{"orientation": 1, "window_area": {"value": 4.6, "quantity": "square metres"}, "window_type": 1, "glazing_type": 2, "window_location": 0}, {"pvc_frame": "false", "orientation": 5, "window_area": {"value": 4.31, "quantity": "square metres"}, "window_type": 1, "glazing_type": 1, "window_location": 0}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_area": {"value": 1.23, "quantity": "square metres"}, "window_type": 1, "glazing_type": 3, "window_location": 0}, {"pvc_frame": "false", "orientation": 7, "window_area": {"value": 5.94, "quantity": "square metres"}, "window_type": 1, "glazing_type": 1, "window_location": 0}], "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Detached bungalow", "language_code": 1, "property_type": 1, "address_line_1": "addr-273ad4218170", "assessment_type": "RdSAP", "completion_date": "2023-10-09", "inspection_date": "2023-10-09", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 59, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2023-10-09", "sap_energy_source": {"mains_gas": "Y", "meter_type": 3, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 58.82, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 33.04, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "D", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 50, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 1309, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.2, "energy_rating_average": 60, "energy_rating_current": 60, "lighting_cost_current": {"value": 147, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": "ND", "open_fireplaces_count": 1, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 1061, "currency": "GBP"}, "hot_water_cost_current": {"value": 222, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 50, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 61, "environmental_impact_rating": 56}, {"sequence": 2, "typical_saving": {"value": 205, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 62}, {"sequence": 3, "typical_saving": {"value": 41, "currency": "GBP"}, "indicative_cost": "\u00a330", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 63}, {"sequence": 4, "typical_saving": {"value": 79, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 65}, {"sequence": 5, "typical_saving": {"value": 675, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 80, "environmental_impact_rating": 77}], "co2_emissions_potential": 1.5, "energy_rating_potential": 80, "lighting_cost_potential": {"value": 98, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 144, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1841, "impact_of_loft_insulation": -327, "space_heating_existing_dwelling": 7426}, "energy_consumption_current": 307, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0001", "energy_consumption_potential": 137, "environmental_impact_current": 55, "fixed_lighting_outlets_count": 12, "current_energy_efficiency_band": "D", "environmental_impact_potential": 77, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 54, "low_energy_fixed_lighting_outlets_count": 6} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/GU12ND/cert-2f7832c103ac.json b/tests/fixtures/epc_prediction/GU12ND/cert-2f7832c103ac.json new file mode 100644 index 00000000..e135eabb --- /dev/null +++ b/tests/fixtures/epc_prediction/GU12ND/cert-2f7832c103ac.json @@ -0,0 +1 @@ +{"uprn": 100061404211, "roofs": [{"description": {"value": "Pitched, 350 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, {"description": {"value": "Flat, limited insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Cavity wall, filled cavity", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Low energy lighting in 63% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "GU1 2ND", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 2, "created_at": "2014-12-15 17:56:14.000000", "door_count": 2, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 1, "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 1, "main_heating_data_source": 1, "main_heating_index_number": 16495}], "immersion_heating_type": "NA", "cylinder_insulation_type": 2, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-503f7ea62bdc", "assessment_type": "RdSAP", "completion_date": "2014-12-15", "inspection_date": "2014-12-15", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 71, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2014-12-15", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 282, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 32.5, "quantity": "square metres"}, "party_wall_length": {"value": 6.134, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 14.12, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.42, "quantity": "metres"}, "total_floor_area": {"value": 32.663, "quantity": "square metres"}, "party_wall_length": {"value": 6.134, "quantity": "metres"}, "heat_loss_perimeter": {"value": 16.743, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "D", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "350mm", "wall_insulation_thickness": "NI"}, {"identifier": "Extension", "wall_dry_lined": "N", "wall_thickness": 282, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 6.32, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 7.47, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "E", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 63, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 554, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.7, "energy_rating_average": 60, "energy_rating_current": 60, "lighting_cost_current": {"value": 63, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, TRVs and bypass", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 402, "currency": "GBP"}, "hot_water_cost_current": {"value": 215, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 40, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 61, "environmental_impact_rating": 56}, {"sequence": 2, "typical_saving": {"value": 20, "currency": "GBP"}, "indicative_cost": "\u00a315 - \u00a330", "improvement_type": "C", "improvement_details": {"improvement_number": 2}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 57}, {"sequence": 3, "typical_saving": {"value": 14, "currency": "GBP"}, "indicative_cost": "\u00a315", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 57}, {"sequence": 4, "typical_saving": {"value": 50, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 61}, {"sequence": 5, "typical_saving": {"value": 150, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 72}, {"sequence": 6, "typical_saving": {"value": 41, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 74}, {"sequence": 7, "typical_saving": {"value": 266, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 85}], "co2_emissions_potential": 1.1, "energy_rating_potential": 86, "lighting_cost_potential": {"value": 46, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 157, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 72, "environmental_impact_rating": 95}, {"sequence": 2, "typical_saving": {"value": 134, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 71, "environmental_impact_rating": 74}, {"sequence": 3, "typical_saving": {"value": 127, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 72, "environmental_impact_rating": 68}], "hot_water_cost_potential": {"value": 68, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2960, "space_heating_existing_dwelling": 6316}, "energy_consumption_current": 293, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.0.0.0", "energy_consumption_potential": 82, "environmental_impact_current": 54, "fixed_lighting_outlets_count": 8, "windows_transmission_details": {"u_value": 2, "data_source": 2, "solar_transmittance": 0.72}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 85, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 52, "low_energy_fixed_lighting_outlets_count": 5} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/GU12ND/cert-30e6ad17ace1.json b/tests/fixtures/epc_prediction/GU12ND/cert-30e6ad17ace1.json new file mode 100644 index 00000000..f5d395d1 --- /dev/null +++ b/tests/fixtures/epc_prediction/GU12ND/cert-30e6ad17ace1.json @@ -0,0 +1 @@ +{"uprn": 100061404212, "roofs": [{"description": {"value": "Pitched, 150 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Cavity wall, filled cavity", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 67% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "GU1 2ND", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2017-06-08 11:33:16.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 3, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 1, "main_heating_data_source": 1, "main_heating_index_number": 4052}], "immersion_heating_type": "NA", "secondary_heating_type": 691, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.1", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Detached bungalow", "language": "1"}, "language_code": 1, "property_type": 1, "address_line_1": "addr-c609d53ea015", "assessment_type": "RdSAP", "completion_date": "2017-06-08", "inspection_date": "2017-06-08", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 72, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2017-06-08", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 1}, "secondary_heating": {"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 71.87, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 2, "heat_loss_perimeter": {"value": 39.64, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "D", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 67, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 685, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.8, "energy_rating_average": 60, "energy_rating_current": 57, "lighting_cost_current": {"value": 66, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer and room thermostat", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 488, "currency": "GBP"}, "hot_water_cost_current": {"value": 160, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 28, "currency": "GBP"}, "indicative_cost": 350, "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 58, "environmental_impact_rating": 55}, {"sequence": 2, "typical_saving": {"value": 107, "currency": "GBP"}, "indicative_cost": "1,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 61}, {"sequence": 3, "typical_saving": {"value": 14, "currency": "GBP"}, "indicative_cost": 20, "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 61}, {"sequence": 4, "typical_saving": {"value": 28, "currency": "GBP"}, "indicative_cost": 450, "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 63}, {"sequence": 5, "typical_saving": {"value": 81, "currency": "GBP"}, "indicative_cost": "3,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 68}, {"sequence": 6, "typical_saving": {"value": 45, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 71}, {"sequence": 7, "typical_saving": {"value": 286, "currency": "GBP"}, "indicative_cost": "8,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 82, "environmental_impact_rating": 81}], "co2_emissions_potential": 1.4, "energy_rating_potential": 82, "lighting_cost_potential": {"value": 50, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 79, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 68, "environmental_impact_rating": 90}, {"sequence": 2, "typical_saving": {"value": 79, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 70, "environmental_impact_rating": 73}, {"sequence": 3, "typical_saving": {"value": 137, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 72, "environmental_impact_rating": 67}], "hot_water_cost_potential": {"value": 71, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2720, "impact_of_loft_insulation": -433, "space_heating_existing_dwelling": 8747}, "energy_consumption_current": 302, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.0.x", "energy_consumption_potential": 107, "environmental_impact_current": 53, "fixed_lighting_outlets_count": 12, "current_energy_efficiency_band": "D", "environmental_impact_potential": 81, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 53, "low_energy_fixed_lighting_outlets_count": 8} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/GU12ND/cert-3fcddd98b25e.json b/tests/fixtures/epc_prediction/GU12ND/cert-3fcddd98b25e.json new file mode 100644 index 00000000..cb46fbfa --- /dev/null +++ b/tests/fixtures/epc_prediction/GU12ND/cert-3fcddd98b25e.json @@ -0,0 +1 @@ +{"uprn": 100061404239, "roofs": [{"description": "Pitched, 250 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, filled cavity", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": "ND", "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "lighting": {"description": "No low energy lighting", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "postcode": "GU1 2ND", "hot_water": {"description": "From main system", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 1, "created_at": "2014-03-26 10:31:52.000000", "door_count": 2, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "boiler_index_number": 1357, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "main_heating_data_source": 1}], "secondary_heating_type": 612, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.3", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Detached bungalow", "language_code": 1, "property_type": 1, "address_line_1": "addr-aceec43c5c54", "schema_version": "LIG-16.1", "assessment_type": "RdSAP", "completion_date": "2014-03-26", "inspection_date": "2014-03-25", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 71, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2014-03-26", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 290, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.41, "floor_insulation": 1, "total_floor_area": 70.81, "floor_construction": 2, "heat_loss_perimeter": 39.32}], "wall_insulation_type": 2, "construction_age_band": "D", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "250mm"}], "low_energy_lighting": 0, "solar_water_heating": "N", "bedf_revision_number": 354, "habitable_room_count": 4, "heating_cost_current": {"value": 728, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.2, "energy_rating_average": 60, "energy_rating_current": 53, "lighting_cost_current": {"value": 88, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 1, "open_fireplaces_count": 1, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 545, "currency": "GBP"}, "hot_water_cost_current": {"value": 151, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 113.95, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W", "improvement_details": {"improvement_number": 47}, "improvement_category": 5, "energy_performance_rating": 58, "environmental_impact_rating": 56}, {"sequence": 2, "typical_saving": {"value": 35.13, "currency": "GBP"}, "indicative_cost": "\u00a360", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 60, "environmental_impact_rating": 57}, {"sequence": 3, "typical_saving": {"value": 119.13, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 64}, {"sequence": 4, "typical_saving": {"value": 37.53, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 67}, {"sequence": 5, "typical_saving": {"value": 250.32, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 77}], "co2_emissions_potential": 1.7, "energy_rating_potential": 79, "lighting_cost_potential": {"value": 44, "currency": "GBP"}, "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 163.78, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 71, "environmental_impact_rating": 72}, {"sequence": 2, "typical_saving": {"value": 238.9, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 72, "environmental_impact_rating": 70}], "hot_water_cost_potential": {"value": 72, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2520, "space_heating_existing_dwelling": 8475}, "seller_commission_report": "Y", "energy_consumption_current": 310, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.4.1.0", "energy_consumption_potential": 124, "environmental_impact_current": 49, "fixed_lighting_outlets_count": 12, "current_energy_efficiency_band": "E", "environmental_impact_potential": 77, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 60, "low_energy_fixed_lighting_outlets_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/GU12ND/cert-4144a0a59432.json b/tests/fixtures/epc_prediction/GU12ND/cert-4144a0a59432.json new file mode 100644 index 00000000..05bd4a34 --- /dev/null +++ b/tests/fixtures/epc_prediction/GU12ND/cert-4144a0a59432.json @@ -0,0 +1 @@ +{"uprn": 100061404225, "roofs": [{"description": "Average thermal transmittance 0.15 W/m\u00b2K", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Average thermal transmittance 0.18 W/m\u00b2K", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": "Average thermal transmittance 0.14 W/m\u00b2K", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": "High performance glazing", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "GU1 2ND", "data_type": 2, "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2019-04-02 15:32:51", "living_area": 30.18, "orientation": 1, "region_code": 17, "report_type": 3, "sap_heating": {"thermal_store": 1, "water_fuel_type": 1, "water_heating_code": 901, "hot_water_store_size": 250, "main_heating_details": [{"main_fuel_type": 1, "heat_emitter_type": 3, "emitter_temperature": 3, "is_flue_fan_present": "true", "main_heating_number": 1, "main_heating_control": 2110, "is_interlocked_system": "true", "main_heating_category": 2, "main_heating_fraction": 1, "main_heating_flue_type": 2, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 15947, "has_separate_delayed_start": "false", "load_or_weather_compensation": 0, "underfloor_heat_emitter_type": 2, "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "primary_pipework_insulation": 4, "is_hot_water_separately_timed": "true", "hot_water_store_insulation_type": 1, "hot_water_store_heat_loss_source": 3, "hot_water_store_insulation_thickness": 70}, "sap_version": 9.92, "schema_type": "SAP-Schema-17.1", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": "Boiler and underfloor heating, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "Air permeability 4.5 m\u00b3/h.m\u00b2 (as tested)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-d6b90956f717", "assessment_date": "2019-03-18", "assessment_type": "SAP", "completion_date": "2019-04-02", "inspection_date": "2019-04-02", "sap_ventilation": {"psv_count": 0, "pressure_test": 1, "air_permeability": 4.52, "open_flues_count": 0, "ventilation_type": 1, "extract_fans_count": 6, "open_fireplaces_count": 0, "sheltered_sides_count": 2, "flueless_gas_fires_count": 0}, "design_water_use": 1, "sap_data_version": 9.92, "total_floor_area": 213, "transaction_type": 6, "conservatory_type": 1, "registration_date": "2019-04-02", "sap_energy_source": {"pv_arrays": [{"pitch": 2, "peak_power": 1.1, "orientation": 5, "overshading": 1, "pv_connection": 2}], "electricity_tariff": 1, "wind_turbines_count": 0, "wind_turbine_terrain_type": 2, "fixed_lighting_outlets_count": 15, "low_energy_fixed_lighting_outlets_count": 15, "low_energy_fixed_lighting_outlets_percentage": 100}, "sap_opening_types": [{"name": "Opening Type 1", "type": 4, "u_value": 1.4, "data_source": 2, "frame_factor": 0.7, "glazing_type": 3, "solar_transmittance": 0.76}, {"name": "Opening Type 3", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1}, {"name": "Opening Type 5", "type": 5, "u_value": 1.4, "data_source": 2, "frame_factor": 0.7, "glazing_type": 3, "solar_transmittance": 0.76}], "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lzc_energy_sources": [11], "sap_building_parts": [{"sap_roofs": [{"name": "Roof 1", "u_value": 0.14, "roof_type": 2, "description": "J Roof", "total_roof_area": 100.85}, {"name": "Roof 2", "u_value": 0.17, "roof_type": 2, "description": "R Roof", "total_roof_area": 31.82}], "sap_walls": [{"name": "External Wall 1", "u_value": 0.23, "wall_type": 2, "description": "Do cheeks", "total_wall_area": 10.91, "is_curtain_walling": "false"}, {"name": "External Wall 2", "u_value": 0.18, "wall_type": 2, "description": "Dw Wall", "total_wall_area": 29.83, "is_curtain_walling": "false"}, {"name": "External Wall 3", "u_value": 0.18, "wall_type": 2, "description": "E Wall brick", "total_wall_area": 126.64, "is_curtain_walling": "false"}, {"name": "External Wall 4", "u_value": 0.17, "wall_type": 2, "description": "E Wall rend", "total_wall_area": 64.34, "is_curtain_walling": "false"}], "identifier": "Main Dwelling", "overshading": 2, "sap_openings": [{"name": 1, "type": "Opening Type 1", "width": 2.23, "height": 1.25, "location": "External Wall 3", "orientation": 1}, {"name": 2, "type": "Opening Type 1", "width": 1.13, "height": 1.25, "location": "External Wall 3", "orientation": 1}, {"name": 3, "type": "Opening Type 3", "width": 1.01, "height": 2.1, "location": "External Wall 3", "orientation": 0}, {"name": 4, "type": "Opening Type 1", "width": 0.45, "height": 2.1, "location": "External Wall 3", "orientation": 1}, {"name": 5, "type": "Opening Type 5", "pitch": 40, "width": 0.75, "height": 1.34, "location": "Roof 2", "orientation": 1}, {"name": 6, "type": "Opening Type 1", "width": 1.14, "height": 1.15, "location": "External Wall 4", "orientation": 1}, {"name": 7, "type": "Opening Type 1", "width": 1.14, "height": 1.15, "location": "External Wall 4", "orientation": 1}, {"name": 8, "type": "Opening Type 1", "width": 1.94, "height": 2.1, "location": "External Wall 3", "orientation": 2}, {"name": 9, "type": "Opening Type 1", "width": 2.23, "height": 1.25, "location": "External Wall 3", "orientation": 2}, {"name": 10, "type": "Opening Type 1", "width": 1.13, "height": 1.15, "location": "External Wall 1", "orientation": 2}, {"name": 11, "type": "Opening Type 1", "width": 1.13, "height": 1.15, "location": "External Wall 1", "orientation": 2}, {"name": 12, "type": "Opening Type 1", "width": 1.13, "height": 1.95, "location": "External Wall 4", "orientation": 2}, {"name": 13, "type": "Opening Type 5", "pitch": 40, "width": 1.13, "height": 1.54, "location": "Roof 2", "orientation": 2}, {"name": 14, "type": "Opening Type 1", "width": 1.66, "height": 1.25, "location": "External Wall 3", "orientation": 4}, {"name": 15, "type": "Opening Type 1", "width": 1.94, "height": 2.1, "location": "External Wall 3", "orientation": 5}, {"name": 16, "type": "Opening Type 1", "width": 3.92, "height": 2.1, "location": "External Wall 3", "orientation": 5}, {"name": 17, "type": "Opening Type 1", "width": 1.13, "height": 1.15, "location": "External Wall 4", "orientation": 5}, {"name": 18, "type": "Opening Type 5", "pitch": 40, "width": 0.75, "height": 1.34, "location": "Roof 2", "orientation": 5}, {"name": 19, "type": "Opening Type 1", "width": 1.98, "height": 2.1, "location": "External Wall 3", "orientation": 6}, {"name": 20, "type": "Opening Type 1", "width": 1.66, "height": 1.25, "location": "External Wall 3", "orientation": 6}, {"name": 21, "type": "Opening Type 1", "width": 1.13, "height": 1.15, "location": "External Wall 4", "orientation": 6}, {"name": 22, "type": "Opening Type 1", "width": 1.14, "height": 1.15, "location": "External Wall 4", "orientation": 6}], "construction_year": 2018, "sap_thermal_bridges": {"thermal_bridges": [{"length": 21.28, "psi_value": 0.3, "psi_value_source": 2, "thermal_bridge_type": "E2"}, {"length": 7.94, "psi_value": 0.3, "psi_value_source": 2, "thermal_bridge_type": "E2"}, {"length": 28.21, "psi_value": 0.046, "psi_value_source": 3, "thermal_bridge_type": "E3"}, {"length": 48.6, "psi_value": 0.051, "psi_value_source": 3, "thermal_bridge_type": "E4"}, {"length": 9.1, "psi_value": 0.05, "psi_value_source": 2, "thermal_bridge_type": "E4"}, {"length": 52.77, "psi_value": 0.16, "psi_value_source": 2, "thermal_bridge_type": "E5"}, {"length": 25.78, "psi_value": 0, "psi_value_source": 3, "thermal_bridge_type": "E6"}, {"length": 21.29, "psi_value": 0.07, "psi_value_source": 2, "thermal_bridge_type": "E6"}, {"length": 30.56, "psi_value": 0.134, "psi_value_source": 3, "thermal_bridge_type": "E10"}, {"length": 19.6, "psi_value": 0.06, "psi_value_source": 2, "thermal_bridge_type": "E10"}, {"length": 14.67, "psi_value": 0.037, "psi_value_source": 3, "thermal_bridge_type": "E11"}, {"length": 4.69, "psi_value": 0.083, "psi_value_source": 3, "thermal_bridge_type": "E12"}, {"length": 4.8, "psi_value": 0.08, "psi_value_source": 3, "thermal_bridge_type": "E13"}, {"length": 24.66, "psi_value": 0.053, "psi_value_source": 3, "thermal_bridge_type": "E16"}, {"length": 22.75, "psi_value": 0.09, "psi_value_source": 2, "thermal_bridge_type": "E16"}, {"length": 11.42, "psi_value": -0.05, "psi_value_source": 3, "thermal_bridge_type": "E17"}, {"length": 10.81, "psi_value": -0.09, "psi_value_source": 2, "thermal_bridge_type": "E17"}, {"length": 2.63, "psi_value": 0.08, "psi_value_source": 4, "thermal_bridge_type": "R1"}, {"length": 2.63, "psi_value": 0.06, "psi_value_source": 4, "thermal_bridge_type": "R2"}, {"length": 8.44, "psi_value": 0.08, "psi_value_source": 4, "thermal_bridge_type": "R3"}, {"length": 4.39, "psi_value": 0.08, "psi_value_source": 4, "thermal_bridge_type": "R4"}, {"length": 1.26, "psi_value": 0.04, "psi_value_source": 4, "thermal_bridge_type": "R5"}, {"length": 24.11, "psi_value": 0.06, "psi_value_source": 4, "thermal_bridge_type": "R6"}, {"length": 13.06, "psi_value": 0.06, "psi_value_source": 4, "thermal_bridge_type": "R8"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.14, "floor_type": 2, "description": "G Floor", "storey_height": 2.4, "heat_loss_area": 123.35, "total_floor_area": 123.35}, {"storey": 1, "u_value": 0, "floor_type": 3, "storey_height": 2.56, "heat_loss_area": 0, "total_floor_area": 89.53}], "thermal_mass_parameter": 250}], "heating_cost_current": {"value": 415, "currency": "GBP"}, "co2_emissions_current": 2.2, "energy_rating_average": 60, "energy_rating_current": 89, "lighting_cost_current": {"value": 102, "currency": "GBP"}, "main_heating_controls": [{"description": "Time and temperature zone control", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 415, "currency": "GBP"}, "hot_water_cost_current": {"value": 112, "currency": "GBP"}, "co2_emissions_potential": 2.2, "energy_rating_potential": 89, "lighting_cost_potential": {"value": 102, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 112, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "renewable_heat_incentive": {"rhi_new_dwelling": {"space_heating": 7411, "water_heating": 2420}}, "seller_commission_report": "Y", "energy_consumption_current": 58, "has_fixed_air_conditioning": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "4.10r08", "energy_consumption_potential": 58, "environmental_impact_current": 87, "current_energy_efficiency_band": "B", "environmental_impact_potential": 87, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 10} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/GU12ND/cert-440a9e06b4ff.json b/tests/fixtures/epc_prediction/GU12ND/cert-440a9e06b4ff.json new file mode 100644 index 00000000..11609304 --- /dev/null +++ b/tests/fixtures/epc_prediction/GU12ND/cert-440a9e06b4ff.json @@ -0,0 +1 @@ +{"uprn": 100061404210, "roofs": [{"description": "Pitched, 150 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Pitched, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, insulated (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Low energy lighting in 70% of fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "GU1 2ND", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2012-08-09 10:29:08.000000", "door_count": 1, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "boiler_index_number": 8441, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "main_heating_data_source": 1}], "has_fixed_air_conditioning": "false"}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-b7b58b2662f9", "schema_version": "LIG-16.0", "assessment_type": "RdSAP", "completion_date": "2012-08-09", "inspection_date": "2012-08-09", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 102, "transaction_type": 4, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2012-08-09", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 290, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.4, "floor_insulation": 1, "total_floor_area": 41.62, "floor_construction": 2, "heat_loss_perimeter": 15.21}, {"floor": 1, "room_height": 2.4, "total_floor_area": 39.66, "heat_loss_perimeter": 18.73}], "wall_insulation_type": 4, "construction_age_band": "E", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm"}, {"wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.4, "floor_insulation": 1, "total_floor_area": 20.69, "floor_construction": 1, "heat_loss_perimeter": 17.03}], "wall_insulation_type": 4, "construction_age_band": "J", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "NI"}], "low_energy_lighting": 70, "solar_water_heating": "N", "bedf_revision_number": 326, "habitable_room_count": 5, "heating_cost_current": {"value": 683, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.1, "energy_rating_average": 60, "energy_rating_current": 64, "lighting_cost_current": {"value": 69, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 474, "currency": "GBP"}, "hot_water_cost_current": {"value": 102, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 131, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 68}, {"sequence": 2, "typical_saving": {"value": 35, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W", "improvement_details": {"improvement_number": 47}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 70}, {"sequence": 3, "typical_saving": {"value": 14, "currency": "GBP"}, "indicative_cost": "\u00a315", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 70}, {"sequence": 4, "typical_saving": {"value": 58, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 73}, {"sequence": 5, "typical_saving": {"value": 26, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 75}, {"sequence": 6, "typical_saving": {"value": 231, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 84, "environmental_impact_rating": 83}], "co2_emissions_potential": 1.6, "energy_rating_potential": 84, "lighting_cost_potential": {"value": 53, "currency": "GBP"}, "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 25, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 71, "environmental_impact_rating": 69}, {"sequence": 2, "typical_saving": {"value": 89, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 75, "environmental_impact_rating": 73}], "hot_water_cost_potential": {"value": 64, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2248, "impact_of_loft_insulation": -210, "impact_of_cavity_insulation": -3059, "space_heating_existing_dwelling": 12534}, "seller_commission_report": "Y", "energy_consumption_current": 209, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": 8.0, "energy_consumption_potential": 81, "environmental_impact_current": 60, "fixed_lighting_outlets_count": 10, "current_energy_efficiency_band": "D", "environmental_impact_potential": 83, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 40, "low_energy_fixed_lighting_outlets_count": 7} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/GU12ND/cert-49c1b9f2665b.json b/tests/fixtures/epc_prediction/GU12ND/cert-49c1b9f2665b.json new file mode 100644 index 00000000..0dd37e82 --- /dev/null +++ b/tests/fixtures/epc_prediction/GU12ND/cert-49c1b9f2665b.json @@ -0,0 +1 @@ +{"uprn": 100061404225, "roofs": [{"description": {"value": "Pitched, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Cavity wall, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Solid, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "GU1 2ND", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2018-06-07 11:21:20.000000", "door_count": 2, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 3, "rooms_with_mixer_shower_no_bath": 2, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 15947}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.93, "schema_type": "RdSAP-Schema-18.0", "uprn_source": "Address Matched", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-d6b90956f717", "assessment_type": "RdSAP", "completion_date": "2018-06-07", "inspection_date": "2018-06-07", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 246, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 8, "registration_date": "2018-06-07", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 320, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.35, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 123, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 53.14, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.35, "quantity": "metres"}, "total_floor_area": {"value": 123, "quantity": "square metres"}, "party_wall_length": 0, "heat_loss_perimeter": {"value": 53.14, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "J", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 8, "heating_cost_current": {"value": 790, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.7, "energy_rating_average": 60, "energy_rating_current": 80, "lighting_cost_current": {"value": 112, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 790, "currency": "GBP"}, "hot_water_cost_current": {"value": 123, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 296, "currency": "GBP"}, "indicative_cost": "8,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 84, "environmental_impact_rating": 80}], "co2_emissions_potential": 3.8, "energy_rating_potential": 84, "lighting_cost_potential": {"value": 112, "currency": "GBP"}, "schema_version_original": "LIG-18.0", "hot_water_cost_potential": {"value": 123, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2620, "space_heating_existing_dwelling": 15175}, "energy_consumption_current": 110, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.0.x", "energy_consumption_potential": 87, "environmental_impact_current": 76, "fixed_lighting_outlets_count": 14, "current_energy_efficiency_band": "C", "environmental_impact_potential": 80, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 19, "low_energy_fixed_lighting_outlets_count": 14} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/GU12ND/cert-4a32c3482c0b.json b/tests/fixtures/epc_prediction/GU12ND/cert-4a32c3482c0b.json new file mode 100644 index 00000000..0c26c4de --- /dev/null +++ b/tests/fixtures/epc_prediction/GU12ND/cert-4a32c3482c0b.json @@ -0,0 +1 @@ +{"uprn": 100061404214, "roofs": [{"description": "Pitched, 100 mm loft insulation", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, {"description": "Pitched, insulated (assumed)", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Suspended, insulated (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Good lighting efficiency", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "GU1 2ND", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2026-05-14 10:00:19", "door_count": 1, "region_code": 17, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_outlet_type": 1}, {"shower_wwhrs": 1, "shower_outlet_type": 1}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17556}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 2.3, "window_height": 1.5, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 2.3, "window_height": 1.1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 1.7, "window_height": 1.5, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 1.4, "window_height": 1.3, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 7, "window_type": 1, "glazing_type": 3, "window_width": 0.4, "window_height": 0.7, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 7, "window_type": 1, "glazing_type": 3, "window_width": 1.4, "window_height": 1.3, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 1.1, "window_height": 1, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 1.4, "window_height": 1.3, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 7, "window_type": 1, "glazing_type": 3, "window_width": 1.4, "window_height": 0.9, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Semi-detached house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-decdc8ab292c", "assessment_type": "RdSAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-13", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 108, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 6, "registration_date": "2026-05-14", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "true", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "true"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 32.44, "quantity": "square metres"}, "party_wall_length": {"value": 6.12, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 8.44, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.41, "quantity": "metres"}, "total_floor_area": {"value": 32.44, "quantity": "square metres"}, "party_wall_length": {"value": 6.12, "quantity": "metres"}, "heat_loss_perimeter": {"value": 10.99, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "E", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "100mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 28.05, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 19.05, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.41, "quantity": "metres"}, "total_floor_area": {"value": 14.93, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "heat_loss_perimeter": {"value": 16.47, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "J", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 6, "heating_cost_current": {"value": 1020, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.2, "energy_rating_average": 60, "energy_rating_current": 71, "lighting_cost_current": {"value": 66, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 850, "currency": "GBP"}, "hot_water_cost_current": {"value": 217, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 90, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 127, "currency": "GBP"}, "indicative_cost": "\u00a3900 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 72}, {"sequence": 2, "typical_saving": {"value": 43, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 74}, {"sequence": 3, "typical_saving": {"value": 230, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 75}], "co2_emissions_potential": 2.6, "energy_rating_potential": 79, "lighting_cost_potential": {"value": 66, "currency": "GBP"}, "schema_version_original": "21.0.1", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 49, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 75, "environmental_impact_rating": 74}], "hot_water_cost_potential": {"value": 217, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2606.27, "space_heating_existing_dwelling": 10492.35}, "draughtproofed_door_count": 0, "energy_consumption_current": 161, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0344", "energy_consumption_potential": 125, "environmental_impact_current": 69, "current_energy_efficiency_band": "C", "environmental_impact_potential": 75, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 29, "low_energy_fixed_lighting_bulbs_count": 12, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/GU12ND/cert-596f6e03bf26.json b/tests/fixtures/epc_prediction/GU12ND/cert-596f6e03bf26.json new file mode 100644 index 00000000..b3903030 --- /dev/null +++ b/tests/fixtures/epc_prediction/GU12ND/cert-596f6e03bf26.json @@ -0,0 +1 @@ +{"uprn": 100061404214, "roofs": [{"description": {"value": "Pitched, 50 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": {"value": "Pitched, 250 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Cavity wall, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": {"value": "Cavity wall, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": {"value": "Timber frame, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, limited insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": {"value": "Low energy lighting in 24% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "postcode": "GU1 2ND", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2015-05-25 23:03:12.000000", "door_count": 0, "glazed_area": 1, "region_code": 1, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 8625}], "immersion_heating_type": "NA", "secondary_heating_type": 603, "has_fixed_air_conditioning": "false"}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-0f8d0b47ef79", "assessment_type": "RdSAP", "completion_date": "2015-05-25", "inspection_date": "2015-05-15", "extensions_count": 3, "measurement_type": 1, "total_floor_area": 105, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 6, "registration_date": "2015-05-25", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, mains gas", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 350, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 34.1, "quantity": "square metres"}, "party_wall_length": {"value": 5.2, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 10.1, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 34.1, "quantity": "square metres"}, "party_wall_length": {"value": 5.2, "quantity": "metres"}, "heat_loss_perimeter": {"value": 11.7, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "50mm", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 320, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 12.6, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 10.2, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 6, "quantity": "square metres"}, "party_wall_length": 0, "heat_loss_perimeter": {"value": 8, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "I", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "250mm", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "wall_thickness": 290, "floor_heat_loss": 7, "roof_construction": 7, "wall_construction": 4, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 13.64, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 8.4, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "K", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": "ND", "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 3", "wall_dry_lined": "N", "wall_thickness": 240, "floor_heat_loss": 8, "roof_construction": 5, "wall_construction": 5, "building_part_number": 4, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 4.2, "quantity": "square metres"}, "party_wall_length": 0, "heat_loss_perimeter": {"value": 5.9, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "K", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 24, "solar_water_heating": "N", "habitable_room_count": 6, "heating_cost_current": {"value": 702, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.1, "energy_rating_average": 60, "energy_rating_current": 65, "lighting_cost_current": {"value": 111, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 473, "currency": "GBP"}, "hot_water_cost_current": {"value": 126, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 0, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 41, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 62}, {"sequence": 2, "typical_saving": {"value": 113, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 67}, {"sequence": 3, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 69}, {"sequence": 4, "typical_saving": {"value": 15, "currency": "GBP"}, "indicative_cost": "\u00a380 - \u00a3120", "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 70}, {"sequence": 5, "typical_saving": {"value": 40, "currency": "GBP"}, "indicative_cost": "\u00a365", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 71}, {"sequence": 6, "typical_saving": {"value": 54, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 74}, {"sequence": 7, "typical_saving": {"value": 37, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 76}, {"sequence": 8, "typical_saving": {"value": 272, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 84}], "co2_emissions_potential": 1.5, "energy_rating_potential": 86, "lighting_cost_potential": {"value": 63, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 21, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 71, "environmental_impact_rating": 68}}], "hot_water_cost_potential": {"value": 74, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2253, "impact_of_loft_insulation": -755, "impact_of_cavity_insulation": -2103, "space_heating_existing_dwelling": 10519}, "energy_consumption_current": 220, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.0.0.0", "energy_consumption_potential": 78, "environmental_impact_current": 60, "fixed_lighting_outlets_count": 17, "current_energy_efficiency_band": "D", "environmental_impact_potential": 84, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 39, "low_energy_fixed_lighting_outlets_count": 4} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/GU12ND/cert-5ade569b7992.json b/tests/fixtures/epc_prediction/GU12ND/cert-5ade569b7992.json new file mode 100644 index 00000000..799653dc --- /dev/null +++ b/tests/fixtures/epc_prediction/GU12ND/cert-5ade569b7992.json @@ -0,0 +1 @@ +{"uprn": 100061404237, "roofs": [{"description": "Pitched, 270 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, filled cavity", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in 60% of fixed outlets", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "GU1 2ND", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2019-04-26 11:25:18.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": 12, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 16777}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.93, "schema_type": "RdSAP-Schema-18.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached bungalow", "language_code": 1, "property_type": 1, "address_line_1": "addr-4b14792d5504", "assessment_type": "RdSAP", "completion_date": "2019-04-26", "inspection_date": "2019-04-26", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 74, "transaction_type": 1, "conservatory_type": 2, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2019-04-26", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 73.91, "quantity": "square metres"}, "party_wall_length": {"value": 7.77, "quantity": "metres"}, "floor_construction": 3, "heat_loss_perimeter": {"value": 34.6, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "E", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "270mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 60, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 473, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.0, "energy_rating_average": 60, "energy_rating_current": 68, "lighting_cost_current": {"value": 77, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 387, "currency": "GBP"}, "hot_water_cost_current": {"value": 121, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 61, "currency": "GBP"}, "indicative_cost": "1,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 69}, {"sequence": 2, "typical_saving": {"value": 20, "currency": "GBP"}, "indicative_cost": 10, "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 69}, {"sequence": 3, "typical_saving": {"value": 42, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 72}, {"sequence": 4, "typical_saving": {"value": 31, "currency": "GBP"}, "indicative_cost": "1,400", "improvement_type": "O3", "improvement_details": {"improvement_number": 56}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 74}, {"sequence": 5, "typical_saving": {"value": 312, "currency": "GBP"}, "indicative_cost": "8,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 84}], "co2_emissions_potential": 1.2, "energy_rating_potential": 86, "lighting_cost_potential": {"value": 55, "currency": "GBP"}, "schema_version_original": "LIG-18.0", "hot_water_cost_potential": {"value": 76, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2611, "space_heating_existing_dwelling": 8186}, "energy_consumption_current": 227, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "3.09r16", "energy_consumption_potential": 89, "environmental_impact_current": 65, "fixed_lighting_outlets_count": 5, "current_energy_efficiency_band": "D", "environmental_impact_potential": 84, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 40, "low_energy_fixed_lighting_outlets_count": 3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/GU12ND/cert-746d1470b732.json b/tests/fixtures/epc_prediction/GU12ND/cert-746d1470b732.json new file mode 100644 index 00000000..30095316 --- /dev/null +++ b/tests/fixtures/epc_prediction/GU12ND/cert-746d1470b732.json @@ -0,0 +1 @@ +{"uprn": 100061404228, "roofs": [{"description": "Pitched, 300 mm loft insulation", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, {"description": "Flat, insulated (assumed)", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Cavity wall, filled cavity", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "To unheated space, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "GU1 2ND", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2021-07-19 07:09:28.949998", "door_count": 1, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17513}], "immersion_heating_type": "NA", "secondary_heating_type": 605, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-c65067c4be04", "assessment_type": "RdSAP", "completion_date": "2021-07-19", "inspection_date": "2021-07-16", "extensions_count": 2, "measurement_type": 1, "total_floor_area": 131, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 7, "pvc_window_frames": "false", "registration_date": "2021-07-19", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 52.51, "quantity": "square metres"}, "party_wall_length": {"value": 6.1, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 31.42, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.39, "quantity": "metres"}, "total_floor_area": {"value": 52.51, "quantity": "square metres"}, "party_wall_length": {"value": 6.1, "quantity": "metres"}, "heat_loss_perimeter": {"value": 29.41, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "E", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 2, "roof_construction": 4, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.39, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 16.27, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 8.23, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "E", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.39, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 9.56, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 6.22, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 7, "heating_cost_current": {"value": 829, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.9, "energy_rating_average": 60, "energy_rating_current": 66, "lighting_cost_current": {"value": 92, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 739, "currency": "GBP"}, "hot_water_cost_current": {"value": 84, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 91, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 63}, {"sequence": 2, "typical_saving": {"value": 352, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 70}], "co2_emissions_potential": 3.4, "energy_rating_potential": 77, "lighting_cost_potential": {"value": 92, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 84, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2004, "space_heating_existing_dwelling": 15149}, "energy_consumption_current": 212, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.07r0002", "energy_consumption_potential": 146, "environmental_impact_current": 59, "fixed_lighting_outlets_count": 14, "current_energy_efficiency_band": "D", "environmental_impact_potential": 70, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 37, "low_energy_fixed_lighting_outlets_count": 14} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/GU12ND/cert-797f40114a59.json b/tests/fixtures/epc_prediction/GU12ND/cert-797f40114a59.json new file mode 100644 index 00000000..7c671dd4 --- /dev/null +++ b/tests/fixtures/epc_prediction/GU12ND/cert-797f40114a59.json @@ -0,0 +1 @@ +{"uprn": 100061404223, "roofs": [{"description": "Pitched, 50 mm loft insulation", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Low energy lighting in 62% of fixed outlets", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "GU1 2ND", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2012-05-14 06:35:35.000000", "door_count": 2, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "N", "heat_emitter_type": 1, "boiler_index_number": 15169, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "main_heating_data_source": 1}], "has_fixed_air_conditioning": "false"}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-ae6b6aaa361a", "schema_version": "LIG-16.0", "assessment_type": "RdSAP", "completion_date": "2012-05-14", "inspection_date": "2012-05-10", "windows_u_value": 2, "extensions_count": 0, "measurement_type": 1, "total_floor_area": 79, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2012-05-14", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.3, "floor_insulation": 1, "total_floor_area": 39.5, "floor_construction": 2, "heat_loss_perimeter": 18.73}, {"floor": 1, "room_height": 2.3, "total_floor_area": 39.5, "heat_loss_perimeter": 18.73}], "wall_insulation_type": 4, "construction_age_band": "E", "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "50mm"}], "low_energy_lighting": 62, "solar_transmittance": 0.72, "solar_water_heating": "N", "windows_data_source": 2, "bedf_revision_number": 316, "habitable_room_count": 4, "heating_cost_current": {"value": 530, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.1, "energy_rating_average": 60, "energy_rating_current": 66, "lighting_cost_current": {"value": 60, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 348, "currency": "GBP"}, "hot_water_cost_current": {"value": 82, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 19, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 66}, {"sequence": 2, "typical_saving": {"value": 77, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 74}, {"sequence": 3, "typical_saving": {"value": 30, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W", "improvement_details": {"improvement_number": 47}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 77}, {"sequence": 4, "typical_saving": {"value": 14, "currency": "GBP"}, "indicative_cost": "\u00a315", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 77}, {"sequence": 5, "typical_saving": {"value": 24, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 79}, {"sequence": 6, "typical_saving": {"value": 227, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 88, "environmental_impact_rating": 89}], "co2_emissions_potential": 0.9, "energy_rating_potential": 88, "lighting_cost_potential": {"value": 44, "currency": "GBP"}, "alternative_improvements": [[{"improvement": {"sequence": 1, "typical_saving": {"value": 23, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 75, "environmental_impact_rating": 76}}]], "hot_water_cost_potential": {"value": 59, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2104, "impact_of_loft_insulation": -796, "space_heating_existing_dwelling": 10565}, "seller_commission_report": "Y", "energy_consumption_current": 207, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.4.0.0", "energy_consumption_potential": 56, "environmental_impact_current": 64, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "D", "environmental_impact_potential": 89, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 40, "low_energy_fixed_lighting_outlets_count": 5} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/GU12ND/cert-aea21e4564cc.json b/tests/fixtures/epc_prediction/GU12ND/cert-aea21e4564cc.json new file mode 100644 index 00000000..32d1d27f --- /dev/null +++ b/tests/fixtures/epc_prediction/GU12ND/cert-aea21e4564cc.json @@ -0,0 +1 @@ +{"uprn": 100061404226, "roofs": [{"description": {"value": "Pitched, 200 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": {"value": "Flat, limited insulation", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "walls": [{"description": {"value": "Cavity wall, filled cavity", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Low energy lighting in 58% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "GU1 2ND", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2016-02-23 14:45:41.000000", "door_count": 3, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10201}], "immersion_heating_type": "NA", "secondary_heating_type": 612, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 25}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Detached bungalow", "language": "1"}, "language_code": 1, "property_type": 1, "address_line_1": "addr-0b764bf6d5cb", "assessment_type": "RdSAP", "completion_date": "2016-02-23", "inspection_date": "2016-02-23", "extensions_count": 2, "measurement_type": 1, "total_floor_area": 88, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 3, "registration_date": "2016-02-23", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, mains gas", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.42, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 59.5, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 2, "heat_loss_perimeter": {"value": 27.7, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "D", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.42, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 20.7, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 2, "heat_loss_perimeter": {"value": 20.1, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "F", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "wall_thickness": 310, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.42, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 7.5, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 2, "heat_loss_perimeter": {"value": 8, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "F", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 58, "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 869, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.8, "energy_rating_average": 60, "energy_rating_current": 56, "lighting_cost_current": {"value": 81, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer and room thermostat", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 2, "open_fireplaces_count": 1, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 682, "currency": "GBP"}, "hot_water_cost_current": {"value": 144, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": "1,500", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 57, "environmental_impact_rating": 49}, {"sequence": 2, "typical_saving": {"value": 136, "currency": "GBP"}, "indicative_cost": "1,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 55}, {"sequence": 3, "typical_saving": {"value": 19, "currency": "GBP"}, "indicative_cost": 25, "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 56}, {"sequence": 4, "typical_saving": {"value": 34, "currency": "GBP"}, "indicative_cost": 450, "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 58}, {"sequence": 5, "typical_saving": {"value": 52, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 60}, {"sequence": 6, "typical_saving": {"value": 282, "currency": "GBP"}, "indicative_cost": "8,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 70}], "co2_emissions_potential": 2.5, "energy_rating_potential": 76, "lighting_cost_potential": {"value": 57, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 85, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2857, "impact_of_loft_insulation": -166, "space_heating_existing_dwelling": 11576}, "energy_consumption_current": 312, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.0.x", "energy_consumption_potential": 162, "environmental_impact_current": 48, "fixed_lighting_outlets_count": 12, "current_energy_efficiency_band": "D", "environmental_impact_potential": 70, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 55, "low_energy_fixed_lighting_outlets_count": 7} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/GU12ND/cert-b582d4837933.json b/tests/fixtures/epc_prediction/GU12ND/cert-b582d4837933.json new file mode 100644 index 00000000..757f4732 --- /dev/null +++ b/tests/fixtures/epc_prediction/GU12ND/cert-b582d4837933.json @@ -0,0 +1 @@ +{"uprn": 100061404231, "roofs": [{"description": {"value": "Pitched, 250 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": {"value": "Flat, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Cavity wall, filled cavity", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": {"value": "Cavity wall, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "GU1 2ND", "hot_water": {"description": {"value": "From main system, no cylinder thermostat", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 2, "created_at": "2017-03-09 19:19:29.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": 12, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17489}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 25}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-60c0da087746", "assessment_type": "RdSAP", "completion_date": "2017-03-09", "inspection_date": "2017-02-28", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 137, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 6, "pvc_window_frames": "true", "registration_date": "2017-03-09", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.35, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 68.4, "quantity": "square metres"}, "party_wall_length": {"value": 8.25, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 19.73, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.31, "quantity": "metres"}, "total_floor_area": {"value": 47.36, "quantity": "square metres"}, "party_wall_length": {"value": 8.25, "quantity": "metres"}, "heat_loss_perimeter": {"value": 24.83, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "D", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "250mm", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "Y", "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.35, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 21.04, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 13.35, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 6, "heating_cost_current": {"value": 838, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 5, "energy_rating_average": 60, "energy_rating_current": 67, "lighting_cost_current": {"value": 77, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 646, "currency": "GBP"}, "hot_water_cost_current": {"value": 189, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 91, "currency": "GBP"}, "indicative_cost": "1,500", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 63}, {"sequence": 2, "typical_saving": {"value": 47, "currency": "GBP"}, "indicative_cost": "1,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 65}, {"sequence": 3, "typical_saving": {"value": 44, "currency": "GBP"}, "indicative_cost": "1,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 67}, {"sequence": 4, "typical_saving": {"value": 59, "currency": "GBP"}, "indicative_cost": 400, "improvement_type": "F", "improvement_details": {"improvement_number": 4}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 69}, {"sequence": 5, "typical_saving": {"value": 53, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 71}, {"sequence": 6, "typical_saving": {"value": 286, "currency": "GBP"}, "indicative_cost": "8,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 82, "environmental_impact_rating": 78}], "co2_emissions_potential": 2.5, "energy_rating_potential": 82, "lighting_cost_potential": {"value": 77, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 47, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 72, "environmental_impact_rating": 67}}], "hot_water_cost_potential": {"value": 87, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3661, "impact_of_cavity_insulation": -922, "space_heating_existing_dwelling": 14734}, "energy_consumption_current": 208, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.0.x", "energy_consumption_potential": 104, "environmental_impact_current": 59, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "D", "environmental_impact_potential": 78, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 37, "low_energy_fixed_lighting_outlets_count": 8} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/GU12ND/cert-c6cdd21e7426.json b/tests/fixtures/epc_prediction/GU12ND/cert-c6cdd21e7426.json new file mode 100644 index 00000000..88ccc8a7 --- /dev/null +++ b/tests/fixtures/epc_prediction/GU12ND/cert-c6cdd21e7426.json @@ -0,0 +1 @@ +{"uprn": 100061404229, "roofs": [{"description": "Pitched, 100 mm loft insulation", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, {"description": "Flat, limited insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Cavity wall, as built, partial insulation (assumed)", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Low energy lighting in 54% of fixed outlets", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "GU1 2ND", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2024-08-02 07:43:34", "door_count": 1, "glazed_area": 1, "glazing_gap": "16+", "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 15169}], "immersion_heating_type": "NA", "secondary_heating_type": 612, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Detached bungalow", "language_code": 1, "property_type": 1, "address_line_1": "addr-3d8869382dcc", "assessment_type": "RdSAP", "completion_date": "2024-08-02", "inspection_date": "2024-08-01", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 98, "transaction_type": 1, "conservatory_type": 4, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2024-08-02", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"floor_area": 12.39, "room_height": 1, "double_glazed": "N", "glazed_perimeter": 9.95}, {"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 71.59, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 26.37, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "100mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 14.16, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 11.64, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "F", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 54, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1923, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 6.1, "energy_rating_average": 60, "energy_rating_current": 49, "lighting_cost_current": {"value": 167, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 1, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 1488, "currency": "GBP"}, "hot_water_cost_current": {"value": 191, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 70, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 51, "environmental_impact_rating": 43}, {"sequence": 2, "typical_saving": {"value": 216, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 55, "environmental_impact_rating": 47}, {"sequence": 3, "typical_saving": {"value": 157, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 59, "environmental_impact_rating": 51}, {"sequence": 4, "typical_saving": {"value": 46, "currency": "GBP"}, "indicative_cost": "\u00a330", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 59, "environmental_impact_rating": 51}, {"sequence": 5, "typical_saving": {"value": 62, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 61, "environmental_impact_rating": 53}, {"sequence": 6, "typical_saving": {"value": 527, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 61}], "co2_emissions_potential": 3.6, "energy_rating_potential": 70, "lighting_cost_potential": {"value": 114, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 87, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 57, "environmental_impact_rating": 49}}], "hot_water_cost_potential": {"value": 129, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2228, "impact_of_loft_insulation": -631, "impact_of_cavity_insulation": -1954, "space_heating_existing_dwelling": 16017}, "energy_consumption_current": 354, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0001", "energy_consumption_potential": 206, "environmental_impact_current": 41, "fixed_lighting_outlets_count": 13, "current_energy_efficiency_band": "E", "environmental_impact_potential": 61, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 62, "low_energy_fixed_lighting_outlets_count": 7} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/GU12ND/cert-cd700fbba191.json b/tests/fixtures/epc_prediction/GU12ND/cert-cd700fbba191.json new file mode 100644 index 00000000..6848809f --- /dev/null +++ b/tests/fixtures/epc_prediction/GU12ND/cert-cd700fbba191.json @@ -0,0 +1 @@ +{"uprn": 100061404210, "roofs": [{"description": "Pitched, 300 mm loft insulation", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, {"description": "Pitched, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, limited insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Low energy lighting in 92% of fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "GU1 2ND", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2023-12-04 15:07:32", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17556}], "immersion_heating_type": "NA", "secondary_heating_type": 605, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-8fe3975f7a15", "assessment_type": "RdSAP", "completion_date": "2023-12-04", "inspection_date": "2023-12-04", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 105, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2023-12-04", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 40.58, "quantity": "square metres"}, "party_wall_length": {"value": 6.62, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 10.64, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.41, "quantity": "metres"}, "total_floor_area": {"value": 40.58, "quantity": "square metres"}, "party_wall_length": {"value": 6.62, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.88, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.68, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 23.99, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 19.7, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "I", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 92, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1724, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.1, "energy_rating_average": 60, "energy_rating_current": 66, "lighting_cost_current": {"value": 168, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 1399, "currency": "GBP"}, "hot_water_cost_current": {"value": 245, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 245, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 64}, {"sequence": 2, "typical_saving": {"value": 79, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 66}, {"sequence": 3, "typical_saving": {"value": 83, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 68}, {"sequence": 4, "typical_saving": {"value": 675, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 80, "environmental_impact_rating": 76}], "co2_emissions_potential": 2.3, "energy_rating_potential": 80, "lighting_cost_potential": {"value": 168, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 170, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 71, "environmental_impact_rating": 67}}], "hot_water_cost_potential": {"value": 162, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2123, "impact_of_loft_insulation": -98, "impact_of_cavity_insulation": -1925, "space_heating_existing_dwelling": 12199}, "energy_consumption_current": 223, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0001", "energy_consumption_potential": 122, "environmental_impact_current": 59, "fixed_lighting_outlets_count": 13, "current_energy_efficiency_band": "D", "environmental_impact_potential": 76, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 39, "low_energy_fixed_lighting_outlets_count": 12} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/GU12ND/cert-d6940361cc43.json b/tests/fixtures/epc_prediction/GU12ND/cert-d6940361cc43.json new file mode 100644 index 00000000..3337c67a --- /dev/null +++ b/tests/fixtures/epc_prediction/GU12ND/cert-d6940361cc43.json @@ -0,0 +1 @@ +{"uprn": 100061404223, "roofs": [{"description": "Pitched, 270 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Suspended, insulated (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "GU1 2ND", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2024-06-11 13:42:44", "door_count": 1, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 15169}], "immersion_heating_type": "NA", "secondary_heating_type": 691, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-bbb23e70044b", "assessment_type": "RdSAP", "completion_date": "2024-06-11", "inspection_date": "2024-06-11", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 123, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 7, "registration_date": "2024-06-11", "sap_energy_source": {"mains_gas": "Y", "meter_type": 3, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, electric", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.35, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 41.19, "quantity": "square metres"}, "party_wall_length": {"value": 6.3, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 12.56, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.31, "quantity": "metres"}, "total_floor_area": {"value": 41.1, "quantity": "square metres"}, "party_wall_length": {"value": 6.35, "quantity": "metres"}, "heat_loss_perimeter": {"value": 13.06, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "E", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "270mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 290, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.33, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 20.46, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 12.8, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.34, "quantity": "metres"}, "total_floor_area": {"value": 20.12, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12.81, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "L", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "270mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 7, "heating_cost_current": {"value": 1197, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.6, "energy_rating_average": 60, "energy_rating_current": 70, "lighting_cost_current": {"value": 133, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 946, "currency": "GBP"}, "hot_water_cost_current": {"value": 197, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 172, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 72}, {"sequence": 2, "typical_saving": {"value": 78, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 74}, {"sequence": 3, "typical_saving": {"value": 64, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 75}, {"sequence": 4, "typical_saving": {"value": 527, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 84, "environmental_impact_rating": 82}], "co2_emissions_potential": 1.8, "energy_rating_potential": 84, "lighting_cost_potential": {"value": 133, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 84, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 74, "environmental_impact_rating": 73}}], "hot_water_cost_potential": {"value": 134, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2294, "impact_of_cavity_insulation": -1691, "space_heating_existing_dwelling": 10201}, "energy_consumption_current": 169, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0001", "energy_consumption_potential": 83, "environmental_impact_current": 68, "fixed_lighting_outlets_count": 20, "current_energy_efficiency_band": "C", "environmental_impact_potential": 82, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 30, "low_energy_fixed_lighting_outlets_count": 20} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/GU12ND/cert-f91c1d926509.json b/tests/fixtures/epc_prediction/GU12ND/cert-f91c1d926509.json new file mode 100644 index 00000000..42b307ef --- /dev/null +++ b/tests/fixtures/epc_prediction/GU12ND/cert-f91c1d926509.json @@ -0,0 +1 @@ +{"uprn": 100061404235, "roofs": [{"description": "Pitched, 270 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Flat, limited insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "walls": [{"description": "Cavity wall, filled cavity", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in 70% of fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "GU1 2ND", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2024-07-03 15:36:09", "door_count": 0, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10464}], "immersion_heating_type": "NA", "secondary_heating_type": 691, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Detached bungalow", "language_code": 1, "property_type": 1, "address_line_1": "addr-3c5c00a51458", "assessment_type": "RdSAP", "completion_date": "2024-07-03", "inspection_date": "2024-07-03", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 69, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "false", "registration_date": "2024-07-03", "sap_energy_source": {"mains_gas": "Y", "meter_type": 3, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, electric", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.38, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 59.11, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 30.17, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "C", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "270mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 9.47, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 3, "heat_loss_perimeter": {"value": 8.93, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "F", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 70, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 975, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.1, "energy_rating_average": 60, "energy_rating_current": 63, "lighting_cost_current": {"value": 114, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 827, "currency": "GBP"}, "hot_water_cost_current": {"value": 223, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 157, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 66}, {"sequence": 2, "typical_saving": {"value": 22, "currency": "GBP"}, "indicative_cost": "\u00a315", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 67}, {"sequence": 3, "typical_saving": {"value": 79, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 69}, {"sequence": 4, "typical_saving": {"value": 527, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 81, "environmental_impact_rating": 80}], "co2_emissions_potential": 1.4, "energy_rating_potential": 81, "lighting_cost_potential": {"value": 88, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 139, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2562, "space_heating_existing_dwelling": 7999}, "energy_consumption_current": 257, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0001", "energy_consumption_potential": 117, "environmental_impact_current": 61, "fixed_lighting_outlets_count": 10, "current_energy_efficiency_band": "D", "environmental_impact_potential": 80, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 45, "low_energy_fixed_lighting_outlets_count": 7} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/LE113PX/cert-038030a6cec7.json b/tests/fixtures/epc_prediction/LE113PX/cert-038030a6cec7.json new file mode 100644 index 00000000..833164ed --- /dev/null +++ b/tests/fixtures/epc_prediction/LE113PX/cert-038030a6cec7.json @@ -0,0 +1 @@ +{"uprn": 100030465799, "roofs": [{"description": "Pitched, 200 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Flat, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": "Low energy lighting in 50% of fixed outlets", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "LE11 3PX", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2022-02-11 16:04:53.726961", "door_count": 3, "glazed_area": 1, "region_code": 6, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 16210}], "immersion_heating_type": "NA", "secondary_heating_type": 691, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-71d1e49ba2c8", "assessment_type": "RdSAP", "completion_date": "2022-02-11", "inspection_date": "2022-02-10", "extensions_count": 2, "measurement_type": 1, "total_floor_area": 85, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2022-02-11", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, electric", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 255, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.45, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 39.31, "quantity": "square metres"}, "party_wall_length": {"value": 6.92, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 13.55, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.45, "quantity": "metres"}, "total_floor_area": {"value": 39.31, "quantity": "square metres"}, "party_wall_length": {"value": 6.92, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.28, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 255, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.28, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 1.27, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 3.15, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "wall_thickness": 100, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 3, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.23, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 5.15, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 6.76, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 50, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 886, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.5, "energy_rating_average": 60, "energy_rating_current": 56, "lighting_cost_current": {"value": 106, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and room thermostat", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 498, "currency": "GBP"}, "hot_water_cost_current": {"value": 86, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 25, "currency": "GBP"}, "indicative_cost": "\u00a3850 - \u00a31,500", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 57, "environmental_impact_rating": 54}, {"sequence": 2, "typical_saving": {"value": 290, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 68}, {"sequence": 3, "typical_saving": {"value": 53, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 71}, {"sequence": 4, "typical_saving": {"value": 31, "currency": "GBP"}, "indicative_cost": "\u00a330", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 71}, {"sequence": 5, "typical_saving": {"value": 24, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 73}, {"sequence": 6, "typical_saving": {"value": 25, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 74}, {"sequence": 7, "typical_saving": {"value": 345, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 84, "environmental_impact_rating": 84}], "co2_emissions_potential": 1.5, "energy_rating_potential": 84, "lighting_cost_potential": {"value": 71, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 61, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2101, "impact_of_loft_insulation": -109, "impact_of_solid_wall_insulation": -5127, "space_heating_existing_dwelling": 13600}, "energy_consumption_current": 304, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.08r0002", "energy_consumption_potential": 97, "environmental_impact_current": 52, "fixed_lighting_outlets_count": 12, "current_energy_efficiency_band": "D", "environmental_impact_potential": 84, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 53, "low_energy_fixed_lighting_outlets_count": 6} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/LE113PX/cert-0d3fbf862032.json b/tests/fixtures/epc_prediction/LE113PX/cert-0d3fbf862032.json new file mode 100644 index 00000000..6dd3654c --- /dev/null +++ b/tests/fixtures/epc_prediction/LE113PX/cert-0d3fbf862032.json @@ -0,0 +1 @@ +{"uprn": 100030465839, "roofs": [{"description": "Pitched, 250 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, filled cavity", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "lighting": {"description": "Low energy lighting in 55% of fixed outlets", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "LE11 3PX", "hot_water": {"description": "From main system", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 1, "created_at": "2013-03-15 08:53:15.000000", "door_count": 2, "glazed_area": 1, "region_code": 6, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 1, "heat_emitter_type": 1, "boiler_index_number": 1379, "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "main_heating_data_source": 1}], "secondary_heating_type": 603, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.2", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Detached bungalow", "language_code": 1, "property_type": 1, "address_line_1": "addr-2f28f50f6159", "schema_version": "LIG-16.1", "assessment_type": "RdSAP", "completion_date": "2013-03-15", "inspection_date": "2013-03-14", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 81, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2013-03-15", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.43, "floor_insulation": 1, "total_floor_area": 74.78, "floor_construction": 1, "heat_loss_perimeter": 33.23}], "wall_insulation_type": 2, "construction_age_band": "E", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "250mm"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.29, "floor_insulation": 1, "total_floor_area": 6.16, "floor_construction": 1, "heat_loss_perimeter": 7.07}], "wall_insulation_type": 4, "construction_age_band": "G", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "NI"}], "low_energy_lighting": 55, "solar_water_heating": "N", "bedf_revision_number": 335, "habitable_room_count": 4, "heating_cost_current": {"value": 632, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.0, "energy_rating_average": 60, "energy_rating_current": 60, "lighting_cost_current": {"value": 67, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and room thermostat", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 418, "currency": "GBP"}, "hot_water_cost_current": {"value": 148, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 104, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W", "improvement_details": {"improvement_number": 47}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 63}, {"sequence": 2, "typical_saving": {"value": 17, "currency": "GBP"}, "indicative_cost": "\u00a325", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 64}, {"sequence": 3, "typical_saving": {"value": 24, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 65}, {"sequence": 4, "typical_saving": {"value": 132, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 73}, {"sequence": 5, "typical_saving": {"value": 33, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 76}, {"sequence": 6, "typical_saving": {"value": 226, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 85, "environmental_impact_rating": 85}], "co2_emissions_potential": 1.3, "energy_rating_potential": 85, "lighting_cost_potential": {"value": 46, "currency": "GBP"}, "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 159, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 74, "environmental_impact_rating": 73}}], "hot_water_cost_potential": {"value": 72, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2605, "space_heating_existing_dwelling": 9346}, "seller_commission_report": "Y", "energy_consumption_current": 256, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.07r10", "energy_consumption_potential": 82, "environmental_impact_current": 56, "fixed_lighting_outlets_count": 11, "current_energy_efficiency_band": "D", "environmental_impact_potential": 85, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 49, "low_energy_fixed_lighting_outlets_count": 6} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/LE113PX/cert-1d3b9feac3b4.json b/tests/fixtures/epc_prediction/LE113PX/cert-1d3b9feac3b4.json new file mode 100644 index 00000000..0b5bc94c --- /dev/null +++ b/tests/fixtures/epc_prediction/LE113PX/cert-1d3b9feac3b4.json @@ -0,0 +1 @@ +{"uprn": 100030465850, "roofs": [{"description": "Pitched, 270 mm loft insulation", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, {"description": "Flat, limited insulation", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Good lighting efficiency", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "LE11 3PX", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2025-07-30 11:37:41", "door_count": 3, "region_code": 6, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "shower_outlets": [{"shower_outlet": {"shower_wwhrs": 1, "shower_outlet_type": 2}}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 9505}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "glazing_gap": 12, "orientation": 6, "window_type": 1, "glazing_type": 3, "window_width": 1.85, "window_height": 1.3, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 6, "window_type": 1, "glazing_type": 3, "window_width": 2, "window_height": 2, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 2, "window_type": 1, "glazing_type": 3, "window_width": 1.87, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 2, "window_type": 1, "glazing_type": 3, "window_width": 2.53, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 8, "window_type": 1, "glazing_type": 3, "window_width": 1.23, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 4, "window_type": 1, "glazing_type": 3, "window_width": 1.88, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 4, "window_type": 1, "glazing_type": 3, "window_width": 1.51, "window_height": 1.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Detached bungalow", "language_code": 1, "pressure_test": 4, "property_type": 1, "address_line_1": "addr-e1efb3e670c9", "assessment_type": "RdSAP", "completion_date": "2025-07-30", "inspection_date": "2025-07-30", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 84, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 6, "registration_date": "2025-07-30", "sap_energy_source": {"mains_gas": "Y", "meter_type": 1, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "true", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "true"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "Y", "wall_thickness": 290, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.42, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 72.06, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 29.76, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "E", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "270mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "Y", "wall_thickness": 290, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.42, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 12.38, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 10.14, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "E", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "solar_water_heating": "N", "habitable_room_count": 6, "heating_cost_current": {"value": 1212, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.7, "energy_rating_average": 60, "energy_rating_current": 60, "lighting_cost_current": {"value": 63, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 745, "currency": "GBP"}, "hot_water_cost_current": {"value": 323, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 70, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 50, "currency": "GBP"}, "indicative_cost": "\u00a3900 - \u00a31,200", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 61, "environmental_impact_rating": 63}, {"sequence": 2, "typical_saving": {"value": 147, "currency": "GBP"}, "indicative_cost": "\u00a3900 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 68}, {"sequence": 3, "typical_saving": {"value": 117, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 71}, {"sequence": 4, "typical_saving": {"value": 180, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,500", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 75}, {"sequence": 5, "typical_saving": {"value": 270, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 76}], "co2_emissions_potential": 2.2, "energy_rating_potential": 77, "lighting_cost_potential": {"value": 63, "currency": "GBP"}, "schema_version_original": "21.0.1", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 60, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 66, "environmental_impact_rating": 70}, {"sequence": 2, "typical_saving": {"value": 131, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 69, "environmental_impact_rating": 95}, {"sequence": 3, "typical_saving": {"value": 67, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 68, "environmental_impact_rating": 68}], "hot_water_cost_potential": {"value": 296, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2322.89, "space_heating_existing_dwelling": 11919.6}, "draughtproofed_door_count": 0, "energy_consumption_current": 246, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0290", "energy_consumption_potential": 143, "environmental_impact_current": 61, "current_energy_efficiency_band": "D", "environmental_impact_potential": 76, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 44, "low_energy_fixed_lighting_bulbs_count": 12, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/LE113PX/cert-2b41b08a0fc6.json b/tests/fixtures/epc_prediction/LE113PX/cert-2b41b08a0fc6.json new file mode 100644 index 00000000..25b59b1d --- /dev/null +++ b/tests/fixtures/epc_prediction/LE113PX/cert-2b41b08a0fc6.json @@ -0,0 +1 @@ +{"uprn": 100030465833, "roofs": [{"description": "Pitched, insulated (assumed)", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, {"description": "Roof room(s), limited insulation (assumed)", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Good lighting efficiency", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "LE11 3PX", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "psv_count": 0, "built_form": 2, "created_at": "2025-07-11 17:04:41", "door_count": 0, "region_code": 6, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "shower_outlets": [{"shower_outlet": {"shower_wwhrs": 1, "shower_outlet_type": 1}}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "N", "heat_emitter_type": 1, "emitter_temperature": 1, "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "main_heating_data_source": 1, "main_heating_index_number": 16931}], "immersion_heating_type": "NA", "secondary_heating_type": 607, "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "glazing_gap": "16+", "orientation": 8, "window_type": 1, "glazing_type": 3, "window_width": {"value": 1.25, "quantity": "m"}, "window_height": {"value": 0.94, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 2, "window_type": 1, "glazing_type": 3, "window_width": {"value": 2.5, "quantity": "m"}, "window_height": {"value": 1.17, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 6, "window_type": 1, "glazing_type": 3, "window_width": {"value": 2.45, "quantity": "m"}, "window_height": {"value": 2.02, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 6, "window_type": 1, "glazing_type": 3, "window_width": {"value": 1.9, "quantity": "m"}, "window_height": {"value": 12.1, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 6, "window_type": 1, "glazing_type": 3, "window_width": {"value": 2.52, "quantity": "m"}, "window_height": {"value": 2.52, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 6, "window_type": 1, "glazing_type": 3, "window_width": {"value": 1.77, "quantity": "m"}, "window_height": {"value": 1.19, "quantity": "m"}, "draught_proofed": "false", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 6, "window_type": 1, "glazing_type": 3, "window_width": {"value": 1.77, "quantity": "m"}, "window_height": {"value": 1.19, "quantity": "m"}, "draught_proofed": "false", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 8, "window_type": 1, "glazing_type": 3, "window_width": {"value": 1.91, "quantity": "m"}, "window_height": {"value": 1.11, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 5, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 8, "window_type": 1, "glazing_type": 3, "window_width": {"value": 2.49, "quantity": "m"}, "window_height": {"value": 0.31, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 5, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 2, "window_type": 1, "glazing_type": 3, "window_width": {"value": 1.91, "quantity": "m"}, "window_height": {"value": 0.11, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 4, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 8, "window_type": 1, "glazing_type": 3, "window_width": {"value": 2.49, "quantity": "m"}, "window_height": {"value": 1.11, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 4, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Semi-detached bungalow", "language_code": 1, "pressure_test": 4, "property_type": 1, "address_line_1": "addr-49ebc5014c42", "assessment_type": "RdSAP", "completion_date": "2025-07-11", "inspection_date": "2025-07-09", "extensions_count": 1, "measurement_type": 1, "open_flues_count": 0, "total_floor_area": 124, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "other_flues_count": 0, "registration_date": "2025-07-11", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "closed_flues_count": 0, "extract_fans_count": 2, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "sap_room_in_roof": {"floor_area": 29.29, "room_in_roof_type_1": {"gable_wall_type_1": 0, "gable_wall_type_2": 1, "gable_wall_length_1": 5.93, "gable_wall_length_2": 4.94}, "construction_age_band": "J"}, "roof_construction": 5, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.52, "floor_insulation": 1, "total_floor_area": 42.87, "party_wall_length": 12.01, "floor_construction": 1, "heat_loss_perimeter": 10.65}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "sap_room_in_roof": {"floor_area": 29.29, "room_in_roof_type_1": {"gable_wall_type_1": 0, "gable_wall_type_2": 1, "gable_wall_length_1": 5.93, "gable_wall_length_2": 4.94}, "construction_age_band": "J"}, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.52, "floor_insulation": 1, "total_floor_area": 22.78, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": 13.86}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "boilers_flues_count": 0, "open_chimneys_count": 0, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1226, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.2, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 72, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, TRVs and bypass", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "blocked_chimneys_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 960, "currency": "GBP"}, "hot_water_cost_current": {"value": 216, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 0, "schema_version_current": "LIG-21.0", "suggested_improvements": [{"sequence": 1, "typical_saving": 151, "indicative_cost": "\u00a3900 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 69}, {"sequence": 2, "typical_saving": 72, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 71}, {"sequence": 3, "typical_saving": 41, "indicative_cost": "\u00a3150 - \u00a3250", "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 72}, {"sequence": 4, "typical_saving": 291, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 82, "environmental_impact_rating": 74}], "co2_emissions_potential": 3.1, "energy_rating_potential": 82, "lighting_cost_potential": {"value": 72, "currency": "GBP"}, "schema_version_original": "LIG-21.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": 41, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 72, "environmental_impact_rating": 70}}], "hot_water_cost_potential": {"value": 217, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2779.46, "space_heating_existing_dwelling": 12471.3}, "draughtproofed_door_count": 0, "energy_consumption_current": 184, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "10.2.2.0", "energy_consumption_potential": 133, "environmental_impact_current": 65, "cfl_fixed_lighting_bulbs_count": 8, "current_energy_efficiency_band": "C", "environmental_impact_potential": 74, "led_fixed_lighting_bulbs_count": 12, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 34, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/LE113PX/cert-2c24bd4c5687.json b/tests/fixtures/epc_prediction/LE113PX/cert-2c24bd4c5687.json new file mode 100644 index 00000000..791cf605 --- /dev/null +++ b/tests/fixtures/epc_prediction/LE113PX/cert-2c24bd4c5687.json @@ -0,0 +1 @@ +{"uprn": 100030465791, "roofs": [{"description": {"value": "Pitched, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Cavity wall, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": {"value": "Cavity wall, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 88% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "LE11 3PX", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2019-10-16 08:50:56.000000", "door_count": 2, "glazed_area": 1, "region_code": 6, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10327}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-19.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-055c903d6af3", "assessment_type": "RdSAP", "completion_date": "2019-10-16", "inspection_date": "2019-10-16", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 87, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "false", "registration_date": "2019-10-16", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "Y", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.46, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 42.29, "quantity": "square metres"}, "party_wall_length": {"value": 6.79, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 18.13, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.44, "quantity": "metres"}, "total_floor_area": {"value": 42.29, "quantity": "square metres"}, "party_wall_length": {"value": 6.79, "quantity": "metres"}, "heat_loss_perimeter": {"value": 20.17, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 2.76, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 4.72, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "I", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 88, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 796, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.4, "energy_rating_average": 60, "energy_rating_current": 62, "lighting_cost_current": {"value": 60, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 686, "currency": "GBP"}, "hot_water_cost_current": {"value": 103, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 79, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 59}, {"sequence": 2, "typical_saving": {"value": 32, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 61}, {"sequence": 3, "typical_saving": {"value": 34, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 63}, {"sequence": 4, "typical_saving": {"value": 257, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 72}], "co2_emissions_potential": 2.7, "energy_rating_potential": 77, "lighting_cost_potential": {"value": 60, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 51, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 67, "environmental_impact_rating": 62}}], "hot_water_cost_potential": {"value": 69, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2184, "impact_of_loft_insulation": -3637, "impact_of_cavity_insulation": -1924, "space_heating_existing_dwelling": 14661}, "energy_consumption_current": 284, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "v94.0.1.1", "energy_consumption_potential": 171, "environmental_impact_current": 55, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "D", "environmental_impact_potential": 72, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 50, "low_energy_fixed_lighting_outlets_count": 7} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/LE113PX/cert-3ac4ad7fc9b2.json b/tests/fixtures/epc_prediction/LE113PX/cert-3ac4ad7fc9b2.json new file mode 100644 index 00000000..6871664d --- /dev/null +++ b/tests/fixtures/epc_prediction/LE113PX/cert-3ac4ad7fc9b2.json @@ -0,0 +1 @@ +{"uprn": 100030465803, "roofs": [{"description": "Pitched, 150 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in 90% of fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "LE11 3PX", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2023-06-15 22:47:41", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 6, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10338}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-37d376eaf35e", "assessment_type": "RdSAP", "completion_date": "2023-06-15", "inspection_date": "2023-06-15", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 77, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2023-06-15", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.43, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 38.56, "quantity": "square metres"}, "party_wall_length": {"value": 6.86, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 18.1, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.44, "quantity": "metres"}, "total_floor_area": {"value": 38.56, "quantity": "square metres"}, "party_wall_length": {"value": 6.86, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.1, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": 1, "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 90, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1370, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.5, "energy_rating_average": 60, "energy_rating_current": 65, "lighting_cost_current": {"value": 137, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 782, "currency": "GBP"}, "hot_water_cost_current": {"value": 236, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 477, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 72}, {"sequence": 2, "typical_saving": {"value": 108, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 75}, {"sequence": 3, "typical_saving": {"value": 79, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 77}, {"sequence": 4, "typical_saving": {"value": 655, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 88, "environmental_impact_rating": 87}], "co2_emissions_potential": 1.1, "energy_rating_potential": 88, "lighting_cost_potential": {"value": 137, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 159, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2082, "impact_of_loft_insulation": -217, "impact_of_solid_wall_insulation": -4467, "space_heating_existing_dwelling": 11150}, "energy_consumption_current": 255, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.11r0005", "energy_consumption_potential": 76, "environmental_impact_current": 61, "fixed_lighting_outlets_count": 10, "current_energy_efficiency_band": "D", "environmental_impact_potential": 87, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 45, "low_energy_fixed_lighting_outlets_count": 9} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/LE113PX/cert-43357661bc7f.json b/tests/fixtures/epc_prediction/LE113PX/cert-43357661bc7f.json new file mode 100644 index 00000000..6f942b53 --- /dev/null +++ b/tests/fixtures/epc_prediction/LE113PX/cert-43357661bc7f.json @@ -0,0 +1 @@ +{"uprn": 100030465844, "roofs": [{"description": "Pitched, 250 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Flat, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": "Roof room(s), insulated", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Low energy lighting in 88% of fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "LE11 3PX", "hot_water": {"description": "From main system", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 2, "created_at": "2012-07-12 12:49:12.000000", "door_count": 3, "glazed_area": 1, "region_code": 6, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 0}, "cylinder_size": 2, "water_heating_code": 914, "water_heating_fuel": 9, "cylinder_thermostat": "Y", "secondary_fuel_type": 9, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "boiler_index_number": 10200, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "main_heating_data_source": 1}, {"has_fghrs": "N", "main_fuel_type": 9, "boiler_flue_type": 1, "heat_emitter_type": 0, "main_heating_number": 2, "main_heating_control": 2100, "main_heating_category": 2, "main_heating_fraction": 0, "sap_main_heating_code": 158, "main_heating_data_source": 2}], "secondary_heating_type": 633, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached bungalow", "language_code": 1, "property_type": 1, "address_line_1": "addr-45d98f8528a4", "schema_version": "LIG-16.0", "assessment_type": "RdSAP", "completion_date": "2012-07-12", "inspection_date": "2012-07-04", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 123, "transaction_type": 1, "conservatory_type": 3, "heated_room_count": 6, "registration_date": "2012-07-12", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, dual fuel (mineral and wood)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "sap_room_in_roof": {"floor_area": 34.43, "insulation": "NI", "roof_room_connected": "Y", "construction_age_band": "D", "roof_insulation_thickness": "200mm"}, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.378, "floor_insulation": 1, "total_floor_area": 69.87, "floor_construction": 2, "heat_loss_perimeter": 23.365}], "wall_insulation_type": 4, "construction_age_band": "D", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "250mm"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.284, "floor_insulation": 1, "total_floor_area": 18.852, "floor_construction": 1, "heat_loss_perimeter": 13.391}], "wall_insulation_type": 4, "construction_age_band": "D", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "NI"}], "low_energy_lighting": 88, "solar_water_heating": "N", "bedf_revision_number": 325, "habitable_room_count": 6, "heating_cost_current": {"value": 951, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 5.9, "energy_rating_average": 60, "energy_rating_current": 57, "lighting_cost_current": {"value": 68, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 650, "currency": "GBP"}, "hot_water_cost_current": {"value": 197, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 125, "currency": "GBP"}, "indicative_cost": "\u00a31,500 - \u00a32,700", "improvement_type": "A3", "improvement_details": {"improvement_number": 46}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 57}, {"sequence": 2, "typical_saving": {"value": 106, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 62}, {"sequence": 3, "typical_saving": {"value": 73, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W", "improvement_details": {"improvement_number": 47}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 66}, {"sequence": 4, "typical_saving": {"value": 80, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 69}, {"sequence": 5, "typical_saving": {"value": 222, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 76}], "co2_emissions_potential": 2.9, "energy_rating_potential": 78, "lighting_cost_potential": {"value": 68, "currency": "GBP"}, "alternative_improvements": [[{"improvement": {"sequence": 1, "typical_saving": {"value": 20, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 66, "environmental_impact_rating": 63}}]], "hot_water_cost_potential": {"value": 116, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2556, "impact_of_cavity_insulation": -2450, "space_heating_existing_dwelling": 19859}, "seller_commission_report": "Y", "energy_consumption_current": 249, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.1.13.0", "energy_consumption_potential": 121, "environmental_impact_current": 52, "fixed_lighting_outlets_count": 16, "current_energy_efficiency_band": "D", "environmental_impact_potential": 76, "has_heated_separate_conservatory": "true", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 48, "low_energy_fixed_lighting_outlets_count": 14} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/LE113PX/cert-5b9ac305ad46.json b/tests/fixtures/epc_prediction/LE113PX/cert-5b9ac305ad46.json new file mode 100644 index 00000000..99b4b774 --- /dev/null +++ b/tests/fixtures/epc_prediction/LE113PX/cert-5b9ac305ad46.json @@ -0,0 +1 @@ +{"uprn": 100030465801, "roofs": [{"description": {"value": "Pitched, 200 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": {"value": "Flat, insulated", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Cavity wall, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "LE11 3PX", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2017-06-16 11:12:47.000000", "door_count": 1, "glazed_area": 1, "glazing_gap": "16+", "region_code": 1, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 15018}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.1", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-1b185939e7b3", "assessment_type": "RdSAP", "completion_date": "2017-06-16", "inspection_date": "2017-06-16", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 84, "transaction_type": 1, "conservatory_type": 2, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2017-06-16", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 220, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.34, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 40.16, "quantity": "square metres"}, "party_wall_length": {"value": 6.88, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 18.7, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.43, "quantity": "metres"}, "total_floor_area": {"value": 39, "quantity": "square metres"}, "party_wall_length": {"value": 6.88, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.22, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI"}, {"identifier": "Extension", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.43, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 4.97, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 6.64, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "G", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 756, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.2, "energy_rating_average": 60, "energy_rating_current": 62, "lighting_cost_current": {"value": 56, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 457, "currency": "GBP"}, "hot_water_cost_current": {"value": 133, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 261, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 69}, {"sequence": 2, "typical_saving": {"value": 40, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 71}, {"sequence": 3, "typical_saving": {"value": 47, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 73}, {"sequence": 4, "typical_saving": {"value": 276, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 85, "environmental_impact_rating": 83}], "co2_emissions_potential": 1.5, "energy_rating_potential": 85, "lighting_cost_potential": {"value": 56, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 84, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2690, "impact_of_solid_wall_insulation": -5572, "space_heating_existing_dwelling": 13631}, "energy_consumption_current": 286, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.0.0.0", "energy_consumption_potential": 100, "environmental_impact_current": 55, "fixed_lighting_outlets_count": 11, "current_energy_efficiency_band": "D", "environmental_impact_potential": 83, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 51, "low_energy_fixed_lighting_outlets_count": 11} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/LE113PX/cert-64ceff1522b9.json b/tests/fixtures/epc_prediction/LE113PX/cert-64ceff1522b9.json new file mode 100644 index 00000000..82e95511 --- /dev/null +++ b/tests/fixtures/epc_prediction/LE113PX/cert-64ceff1522b9.json @@ -0,0 +1 @@ +{"uprn": 100030465815, "roofs": [{"description": {"value": "Pitched, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Roof room(s), no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": "ND", "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "No low energy lighting", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "postcode": "LE11 3PX", "hot_water": {"description": {"value": "From main system, no cylinder thermostat", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 1, "created_at": "2020-09-10 14:23:07.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 6, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 1, "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 8063}], "immersion_heating_type": "NA", "secondary_heating_type": 601, "cylinder_insulation_type": 2, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 80}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-19.0", "uprn_source": "Address Matched", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-c009178a615d", "assessment_type": "RdSAP", "completion_date": "2020-09-10", "inspection_date": "2020-09-10", "extensions_count": 2, "measurement_type": 1, "total_floor_area": 130, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 6, "pvc_window_frames": "true", "registration_date": "2020-09-10", "sap_energy_source": {"mains_gas": "Y", "meter_type": 3, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, mains gas", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 220, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 29.69, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 2, "heat_loss_perimeter": {"value": 15.57, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.41, "quantity": "metres"}, "total_floor_area": {"value": 30.41, "quantity": "square metres"}, "party_wall_length": 0, "heat_loss_perimeter": {"value": 17.26, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 220, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 3.24, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 5.53, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "wall_thickness": 220, "floor_heat_loss": 7, "sap_room_in_roof": {"floor_area": {"value": 33.14, "quantity": "square metres"}, "insulation": "AB", "roof_room_connected": "N", "construction_age_band": "C"}, "roof_construction": 5, "wall_construction": 3, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 33.14, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 2, "heat_loss_perimeter": {"value": 17.17, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 0, "solar_water_heating": "N", "habitable_room_count": 6, "heating_cost_current": {"value": 1802, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 11, "energy_rating_average": 60, "energy_rating_current": 35, "lighting_cost_current": {"value": 180, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer and room thermostat", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 761, "currency": "GBP"}, "hot_water_cost_current": {"value": 222, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 373, "currency": "GBP"}, "indicative_cost": "\u00a31,500 - \u00a32,700", "improvement_type": "A3", "improvement_details": {"improvement_number": 46}, "improvement_category": 5, "energy_performance_rating": 44, "environmental_impact_rating": 36}, {"sequence": 2, "typical_saving": {"value": 388, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 56, "environmental_impact_rating": 47}, {"sequence": 3, "typical_saving": {"value": 104, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 59, "environmental_impact_rating": 51}, {"sequence": 4, "typical_saving": {"value": 77, "currency": "GBP"}, "indicative_cost": "\u00a350", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 61, "environmental_impact_rating": 52}, {"sequence": 5, "typical_saving": {"value": 85, "currency": "GBP"}, "indicative_cost": "\u00a3200 - \u00a3400", "improvement_type": "F", "improvement_details": {"improvement_number": 4}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 55}, {"sequence": 6, "typical_saving": {"value": 51, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 57}, {"sequence": 7, "typical_saving": {"value": 158, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 65}, {"sequence": 8, "typical_saving": {"value": 40, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 66}, {"sequence": 9, "typical_saving": {"value": 332, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 73}], "co2_emissions_potential": 3.3, "energy_rating_potential": 79, "lighting_cost_potential": {"value": 90, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 299, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 73, "environmental_impact_rating": 66}}], "hot_water_cost_potential": {"value": 77, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3654, "impact_of_loft_insulation": -2384, "impact_of_solid_wall_insulation": -5777, "space_heating_existing_dwelling": 28266}, "energy_consumption_current": 481, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.1.0", "energy_consumption_potential": 143, "environmental_impact_current": 28, "fixed_lighting_outlets_count": 10, "windows_transmission_details": {"u_value": 2.6, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "F", "environmental_impact_potential": 73, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 85, "low_energy_fixed_lighting_outlets_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/LE113PX/cert-69291a9f2084.json b/tests/fixtures/epc_prediction/LE113PX/cert-69291a9f2084.json new file mode 100644 index 00000000..03db475f --- /dev/null +++ b/tests/fixtures/epc_prediction/LE113PX/cert-69291a9f2084.json @@ -0,0 +1 @@ +{"uprn": 100030465789, "roofs": [{"description": "Pitched, 200 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, partial insulation (assumed)", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "LE11 3PX", "hot_water": {"description": "From main system, no cylinder thermostat", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 2, "created_at": "2023-07-10 13:30:42", "door_count": 0, "glazed_area": 1, "glazing_gap": "16+", "region_code": 6, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 16408}], "immersion_heating_type": "NA", "cylinder_insulation_type": 2, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-aed15a55709e", "assessment_type": "RdSAP", "completion_date": "2023-07-10", "inspection_date": "2023-07-06", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 150, "transaction_type": 5, "conservatory_type": 1, "heated_room_count": 8, "pvc_window_frames": "true", "registration_date": "2023-07-10", "sap_energy_source": {"mains_gas": "Y", "meter_type": 1, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 190, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.3, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 75.11, "quantity": "square metres"}, "party_wall_length": {"value": 11.49, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 23.96, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.3, "quantity": "metres"}, "total_floor_area": {"value": 75.04, "quantity": "square metres"}, "party_wall_length": {"value": 11.49, "quantity": "metres"}, "heat_loss_perimeter": {"value": 23.96, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "F", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 8, "heating_cost_current": {"value": 1812, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.9, "energy_rating_average": 60, "energy_rating_current": 71, "lighting_cost_current": {"value": 241, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 1270, "currency": "GBP"}, "hot_water_cost_current": {"value": 503, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 311, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 70}, {"sequence": 2, "typical_saving": {"value": 98, "currency": "GBP"}, "indicative_cost": "\u00a3300 - \u00a3600", "improvement_type": "B4", "improvement_details": {"improvement_number": 63}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 72}, {"sequence": 3, "typical_saving": {"value": 135, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 74}, {"sequence": 4, "typical_saving": {"value": 139, "currency": "GBP"}, "indicative_cost": "\u00a3200 - \u00a3400", "improvement_type": "F", "improvement_details": {"improvement_number": 4}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 76}, {"sequence": 5, "typical_saving": {"value": 142, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 78}, {"sequence": 6, "typical_saving": {"value": 733, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 84}], "co2_emissions_potential": 2.2, "energy_rating_potential": 87, "lighting_cost_potential": {"value": 241, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 55, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 76, "environmental_impact_rating": 72}}], "hot_water_cost_potential": {"value": 220, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3962, "impact_of_cavity_insulation": -2607, "space_heating_existing_dwelling": 13606}, "energy_consumption_current": 184, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.11r0005", "energy_consumption_potential": 81, "environmental_impact_current": 66, "fixed_lighting_outlets_count": 14, "current_energy_efficiency_band": "C", "environmental_impact_potential": 84, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 32, "low_energy_fixed_lighting_outlets_count": 14} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/LE113PX/cert-805962966496.json b/tests/fixtures/epc_prediction/LE113PX/cert-805962966496.json new file mode 100644 index 00000000..a6b47443 --- /dev/null +++ b/tests/fixtures/epc_prediction/LE113PX/cert-805962966496.json @@ -0,0 +1 @@ +{"uprn": 100030465837, "roofs": [{"description": "Pitched, 200 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Flat, insulated (assumed)", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Cavity wall, filled cavity", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "lighting": {"description": "Low energy lighting in 78% of fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "LE11 3PX", "hot_water": {"description": "From main system, no cylinder thermostat", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 1, "created_at": "2014-01-15 15:56:18.000000", "door_count": 2, "glazed_area": 1, "region_code": 6, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "boiler_index_number": 8788, "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "main_heating_data_source": 1}], "secondary_heating_type": 605, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.2", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Detached bungalow", "language_code": 1, "property_type": 1, "address_line_1": "addr-eb1626277f84", "schema_version": "LIG-16.1", "assessment_type": "RdSAP", "completion_date": "2014-01-15", "inspection_date": "2014-01-15", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 84, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2014-01-15", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 1, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 285, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.42, "floor_insulation": 1, "total_floor_area": 75, "floor_construction": 2, "heat_loss_perimeter": 33.1}], "wall_insulation_type": 2, "construction_age_band": "E", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.28, "floor_insulation": 1, "total_floor_area": 9.3, "floor_construction": 1, "heat_loss_perimeter": 9}], "wall_insulation_type": 4, "construction_age_band": "H", "wall_thickness_measured": "N", "roof_insulation_location": 4, "roof_insulation_thickness": "ND"}], "low_energy_lighting": 78, "solar_water_heating": "N", "bedf_revision_number": 352, "habitable_room_count": 4, "heating_cost_current": {"value": 740, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.3, "energy_rating_average": 60, "energy_rating_current": 58, "lighting_cost_current": {"value": 68, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and room thermostat", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 545, "currency": "GBP"}, "hot_water_cost_current": {"value": 185, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 116, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W", "improvement_details": {"improvement_number": 47}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 60}, {"sequence": 2, "typical_saving": {"value": 63, "currency": "GBP"}, "indicative_cost": "\u00a3200 - \u00a3400", "improvement_type": "F", "improvement_details": {"improvement_number": 4}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 64}, {"sequence": 3, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 65}, {"sequence": 4, "typical_saving": {"value": 57, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 68}, {"sequence": 5, "typical_saving": {"value": 36, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 70}, {"sequence": 6, "typical_saving": {"value": 253, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 81, "environmental_impact_rating": 80}], "co2_emissions_potential": 1.9, "energy_rating_potential": 81, "lighting_cost_potential": {"value": 68, "currency": "GBP"}, "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 136, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 72, "environmental_impact_rating": 70}}], "hot_water_cost_potential": {"value": 79, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3372, "space_heating_existing_dwelling": 10692}, "seller_commission_report": "Y", "energy_consumption_current": 268, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "v2.1.0", "energy_consumption_potential": 112, "environmental_impact_current": 54, "fixed_lighting_outlets_count": 9, "current_energy_efficiency_band": "D", "environmental_impact_potential": 80, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 52, "low_energy_fixed_lighting_outlets_count": 7} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/LE113PX/cert-88d62becedd7.json b/tests/fixtures/epc_prediction/LE113PX/cert-88d62becedd7.json new file mode 100644 index 00000000..e425b45e --- /dev/null +++ b/tests/fixtures/epc_prediction/LE113PX/cert-88d62becedd7.json @@ -0,0 +1 @@ +{"uprn": 100030465789, "roofs": [{"description": {"value": "Pitched, limited insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "walls": [{"description": {"value": "Cavity wall, as built, partial insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "LE11 3PX", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2019-02-04 09:48:16.000000", "door_count": 3, "glazed_area": 1, "glazing_gap": 12, "region_code": 6, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 16408}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.93, "schema_type": "RdSAP-Schema-18.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-e73d73596f26", "assessment_type": "RdSAP", "completion_date": "2019-02-04", "inspection_date": "2019-01-28", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 127, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 8, "pvc_window_frames": "true", "registration_date": "2019-02-04", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 59, "quantity": "square metres"}, "party_wall_length": {"value": 10, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 18.8, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.5, "quantity": "metres"}, "total_floor_area": {"value": 64.2, "quantity": "square metres"}, "party_wall_length": {"value": 10.2, "quantity": "metres"}, "heat_loss_perimeter": {"value": 22.8, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "F", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension", "wall_dry_lined": "N", "wall_thickness": 320, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 3.6, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 5.6, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "F", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 8, "heating_cost_current": {"value": 795, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.8, "energy_rating_average": 60, "energy_rating_current": 68, "lighting_cost_current": {"value": 81, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 652, "currency": "GBP"}, "hot_water_cost_current": {"value": 126, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 107, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 67}, {"sequence": 2, "typical_saving": {"value": 38, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 68}, {"sequence": 3, "typical_saving": {"value": 41, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 70}, {"sequence": 4, "typical_saving": {"value": 301, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 81, "environmental_impact_rating": 77}], "co2_emissions_potential": 2.8, "energy_rating_potential": 81, "lighting_cost_potential": {"value": 81, "currency": "GBP"}, "schema_version_original": "LIG-18.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 18, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 72, "environmental_impact_rating": 67}}], "hot_water_cost_potential": {"value": 83, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2755, "impact_of_loft_insulation": -1480, "impact_of_cavity_insulation": -2566, "space_heating_existing_dwelling": 15633}, "energy_consumption_current": 213, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.0.0", "energy_consumption_potential": 124, "environmental_impact_current": 62, "fixed_lighting_outlets_count": 12, "windows_transmission_details": {"u_value": 2.8, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 77, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 38, "low_energy_fixed_lighting_outlets_count": 12} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/LE113PX/cert-89b00a658503.json b/tests/fixtures/epc_prediction/LE113PX/cert-89b00a658503.json new file mode 100644 index 00000000..a2f84992 --- /dev/null +++ b/tests/fixtures/epc_prediction/LE113PX/cert-89b00a658503.json @@ -0,0 +1 @@ +{"uprn": 100030465799, "roofs": [{"description": "Pitched, 100 mm loft insulation", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "lighting": {"description": "Low energy lighting in 56% of fixed outlets", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "LE11 3PX", "hot_water": {"description": "From main system, no cylinder thermostat", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 2, "created_at": "2013-01-29 18:28:46.000000", "door_count": 2, "glazed_area": 1, "region_code": 6, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 1, "heat_emitter_type": 1, "boiler_index_number": 16495, "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "main_heating_data_source": 1}], "secondary_heating_type": 691, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.2", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-5d0a517cb362", "schema_version": "LIG-16.1", "assessment_type": "RdSAP", "completion_date": "2013-01-29", "inspection_date": "2013-01-29", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 78, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2013-01-29", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, electric", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 230, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.48, "floor_insulation": 1, "total_floor_area": 39.6, "floor_construction": 2, "heat_loss_perimeter": 18.94}, {"floor": 1, "room_height": 2.45, "total_floor_area": 38.46, "heat_loss_perimeter": 18.12}], "wall_insulation_type": 4, "construction_age_band": "C", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "100mm"}], "low_energy_lighting": 56, "solar_water_heating": "N", "bedf_revision_number": 333, "habitable_room_count": 5, "heating_cost_current": {"value": 991, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 6.0, "energy_rating_average": 60, "energy_rating_current": 40, "lighting_cost_current": {"value": 65, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and room thermostat", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 447, "currency": "GBP"}, "hot_water_cost_current": {"value": 200, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 354, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 57, "environmental_impact_rating": 54}, {"sequence": 2, "typical_saving": {"value": 64, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W", "improvement_details": {"improvement_number": 47}, "improvement_category": 5, "energy_performance_rating": 60, "environmental_impact_rating": 58}, {"sequence": 3, "typical_saving": {"value": 16, "currency": "GBP"}, "indicative_cost": "\u00a320", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 60, "environmental_impact_rating": 58}, {"sequence": 4, "typical_saving": {"value": 71, "currency": "GBP"}, "indicative_cost": "\u00a3200 - \u00a3400", "improvement_type": "F", "improvement_details": {"improvement_number": 4}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 63}, {"sequence": 5, "typical_saving": {"value": 28, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 65}, {"sequence": 6, "typical_saving": {"value": 129, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 73}, {"sequence": 7, "typical_saving": {"value": 33, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 75}, {"sequence": 8, "typical_saving": {"value": 226, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 84, "environmental_impact_rating": 85}], "co2_emissions_potential": 1.3, "energy_rating_potential": 84, "lighting_cost_potential": {"value": 45, "currency": "GBP"}, "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 42, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 69, "environmental_impact_rating": 89}, {"sequence": 2, "typical_saving": {"value": 168, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 74, "environmental_impact_rating": 76}, {"sequence": 3, "typical_saving": {"value": 198, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 75, "environmental_impact_rating": 74}], "hot_water_cost_potential": {"value": 69, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3233, "impact_of_loft_insulation": -340, "impact_of_solid_wall_insulation": -5620, "space_heating_existing_dwelling": 13230}, "seller_commission_report": "Y", "energy_consumption_current": 403, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.06r10", "energy_consumption_potential": 87, "environmental_impact_current": 39, "fixed_lighting_outlets_count": 9, "current_energy_efficiency_band": "E", "environmental_impact_potential": 85, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 77, "low_energy_fixed_lighting_outlets_count": 5} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/LE113PX/cert-8d827d3ff7df.json b/tests/fixtures/epc_prediction/LE113PX/cert-8d827d3ff7df.json new file mode 100644 index 00000000..9934a8f9 --- /dev/null +++ b/tests/fixtures/epc_prediction/LE113PX/cert-8d827d3ff7df.json @@ -0,0 +1 @@ +{"uprn": 100030465811, "roofs": [{"description": "Pitched, 150 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Flat, insulated (assumed)", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Cavity wall, filled cavity", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, limited insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "No low energy lighting", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "postcode": "LE11 3PX", "hot_water": {"description": "Electric immersion, off-peak", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 2, "created_at": "2017-03-10 19:13:52.000000", "door_count": 2, "glazed_area": 1, "region_code": 6, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 903, "water_heating_fuel": 29, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 29, "heat_emitter_type": 0, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2401, "main_heating_category": 7, "main_heating_fraction": 0.62, "sap_main_heating_code": 402, "main_heating_data_source": 2}, {"has_fghrs": "N", "main_fuel_type": 29, "heat_emitter_type": 0, "emitter_temperature": "NA", "main_heating_number": 2, "main_heating_control": 2401, "main_heating_category": 7, "main_heating_fraction": 0.38, "sap_main_heating_code": 401, "main_heating_data_source": 2}], "immersion_heating_type": 2, "secondary_heating_type": 605, "cylinder_insulation_type": 2, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Electric storage heaters", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 1}, {"description": "Electric storage heaters", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 1}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-726dc1fc684e", "assessment_type": "RdSAP", "completion_date": "2017-03-10", "inspection_date": "2017-03-09", "extensions_count": 3, "measurement_type": 1, "total_floor_area": 87, "transaction_type": 1, "conservatory_type": 2, "heated_room_count": 5, "pvc_window_frames": "false", "registration_date": "2017-03-10", "sap_energy_source": {"mains_gas": "Y", "meter_type": 1, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 290, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.49, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 16.39, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 7.54, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.43, "quantity": "metres"}, "total_floor_area": {"value": 16.39, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "heat_loss_perimeter": {"value": 9.12, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "D", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 290, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.49, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 14.33, "quantity": "square metres"}, "party_wall_length": {"value": 4.28, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 6.7, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.43, "quantity": "metres"}, "total_floor_area": {"value": 14.33, "quantity": "square metres"}, "party_wall_length": {"value": 4.28, "quantity": "metres"}, "heat_loss_perimeter": {"value": 6.7, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "D", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "wall_thickness": 240, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.2, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 9.58, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 6.9, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.44, "quantity": "metres"}, "total_floor_area": {"value": 9.58, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "heat_loss_perimeter": {"value": 9.62, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 3", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 4, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.2, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 6.85, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 11.29, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "I", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 0, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1256, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 9.8, "energy_rating_average": 60, "energy_rating_current": 35, "lighting_cost_current": {"value": 128, "currency": "GBP"}, "main_heating_controls": [{"description": "Manual charge control", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 932, "currency": "GBP"}, "hot_water_cost_current": {"value": 354, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 290, "currency": "GBP"}, "indicative_cost": "14,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 44, "environmental_impact_rating": 31}, {"sequence": 2, "typical_saving": {"value": 28, "currency": "GBP"}, "indicative_cost": "1,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 45, "environmental_impact_rating": 32}, {"sequence": 3, "typical_saving": {"value": 71, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 48, "environmental_impact_rating": 35}, {"sequence": 4, "typical_saving": {"value": 56, "currency": "GBP"}, "indicative_cost": 30, "improvement_type": "C", "improvement_details": {"improvement_number": 2}, "improvement_category": 5, "energy_performance_rating": 50, "environmental_impact_rating": 35}, {"sequence": 5, "typical_saving": {"value": 48, "currency": "GBP"}, "indicative_cost": 70, "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 52, "environmental_impact_rating": 36}, {"sequence": 6, "typical_saving": {"value": 136, "currency": "GBP"}, "indicative_cost": "7,000", "improvement_type": "T", "improvement_details": {"improvement_number": 27}, "improvement_category": 5, "energy_performance_rating": 56, "environmental_impact_rating": 56}, {"sequence": 7, "typical_saving": {"value": 42, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 57, "environmental_impact_rating": 58}, {"sequence": 8, "typical_saving": {"value": 276, "currency": "GBP"}, "indicative_cost": "8,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 67}], "co2_emissions_potential": 3.1, "energy_rating_potential": 67, "lighting_cost_potential": {"value": 58, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 286, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 60, "environmental_impact_rating": 72}, {"sequence": 2, "typical_saving": {"value": 282, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 61, "environmental_impact_rating": 58}, {"sequence": 3, "typical_saving": {"value": 430, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 67, "environmental_impact_rating": 55}], "hot_water_cost_potential": {"value": 76, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2568, "impact_of_loft_insulation": -320, "impact_of_solid_wall_insulation": -3878, "space_heating_existing_dwelling": 15423}, "energy_consumption_current": 657, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.10r04", "energy_consumption_potential": 201, "environmental_impact_current": 21, "fixed_lighting_outlets_count": 14, "current_energy_efficiency_band": "F", "environmental_impact_potential": 67, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "D", "co2_emissions_current_per_floor_area": 112, "low_energy_fixed_lighting_outlets_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/LE113PX/cert-a926697da348.json b/tests/fixtures/epc_prediction/LE113PX/cert-a926697da348.json new file mode 100644 index 00000000..31d24fa0 --- /dev/null +++ b/tests/fixtures/epc_prediction/LE113PX/cert-a926697da348.json @@ -0,0 +1 @@ +{"uprn": 100030465784, "roofs": [{"description": "Pitched, 50 mm loft insulation", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "walls": [{"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"addendum_numbers": [15]}, "lighting": {"description": "Good lighting efficiency", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "LE11 3PX", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "psv_count": 0, "built_form": 1, "created_at": "2026-05-14 10:00:48", "door_count": 2, "region_code": 6, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_outlet_type": 1}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 1, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10327}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "orientation": 2, "window_type": 1, "glazing_type": 2, "window_width": {"value": 2.315, "quantity": "m"}, "window_height": {"value": 1.306, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 2, "window_type": 1, "glazing_type": 2, "window_width": {"value": 1.174, "quantity": "m"}, "window_height": {"value": 1.152, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 2, "window_type": 1, "glazing_type": 2, "window_width": {"value": 1.744, "quantity": "m"}, "window_height": {"value": 1.157, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 6, "window_type": 1, "glazing_type": 2, "window_width": {"value": 2.317, "quantity": "m"}, "window_height": {"value": 0.562, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 6, "window_type": 1, "glazing_type": 2, "window_width": {"value": 1.14, "quantity": "m"}, "window_height": {"value": 0.987, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 4, "window_type": 1, "glazing_type": 2, "window_width": {"value": 0.461, "quantity": "m"}, "window_height": {"value": 1.01, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 4, "window_type": 1, "glazing_type": 2, "window_width": {"value": 0.618, "quantity": "m"}, "window_height": {"value": 1.71, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 8, "window_type": 1, "glazing_type": 2, "window_width": {"value": 1.74, "quantity": "m"}, "window_height": {"value": 2.01, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 8, "window_type": 1, "glazing_type": 2, "window_width": {"value": 1.734, "quantity": "m"}, "window_height": {"value": 1.157, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Detached house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-8049560bc0b5", "assessment_type": "RdSAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-13", "extensions_count": 0, "measurement_type": 1, "open_flues_count": 0, "total_floor_area": 92, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 5, "other_flues_count": 0, "registration_date": "2026-05-14", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "true", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "true"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "closed_flues_count": 0, "extract_fans_count": 0, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.402, "floor_insulation": 1, "total_floor_area": 46.75, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": 28.94}, {"floor": 1, "room_height": 2.34, "total_floor_area": 44.87, "party_wall_length": 0, "heat_loss_perimeter": 27.08}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "50mm", "wall_insulation_thickness": "NI"}], "boilers_flues_count": 0, "open_chimneys_count": 0, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1032, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.2, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 57, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "blocked_chimneys_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 856, "currency": "GBP"}, "hot_water_cost_current": {"value": 230, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 82, "schema_version_current": "LIG-21.0", "suggested_improvements": [{"sequence": 1, "typical_saving": 83, "indicative_cost": "\u00a3900 - \u00a31,200", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 70}, {"sequence": 2, "typical_saving": 93, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 72}, {"sequence": 3, "typical_saving": 273, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 83, "environmental_impact_rating": 74}], "co2_emissions_potential": 2.5, "energy_rating_potential": 83, "lighting_cost_potential": {"value": 57, "currency": "GBP"}, "schema_version_original": "LIG-21.0", "hot_water_cost_potential": {"value": 231, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2662.95, "space_heating_existing_dwelling": 10611.87}, "draughtproofed_door_count": 0, "energy_consumption_current": 193, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "10.2.2.0", "energy_consumption_potential": 146, "environmental_impact_current": 67, "cfl_fixed_lighting_bulbs_count": 2, "current_energy_efficiency_band": "C", "environmental_impact_potential": 74, "led_fixed_lighting_bulbs_count": 9, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 35, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/LE113PX/cert-ae072d6b7841.json b/tests/fixtures/epc_prediction/LE113PX/cert-ae072d6b7841.json new file mode 100644 index 00000000..47e39497 --- /dev/null +++ b/tests/fixtures/epc_prediction/LE113PX/cert-ae072d6b7841.json @@ -0,0 +1 @@ +{"uprn": 100030465803, "roofs": [{"description": {"value": "Pitched, 200 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 89% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "LE11 3PX", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2018-12-09 09:30:18.000000", "door_count": 3, "glazed_area": 1, "glazing_gap": 6, "region_code": 6, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17931}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.93, "schema_type": "RdSAP-Schema-18.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-1f40f9fa24d8", "assessment_type": "RdSAP", "completion_date": "2018-12-09", "inspection_date": "2018-12-06", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 74, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2018-12-09", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 260, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 37.9, "quantity": "square metres"}, "party_wall_length": {"value": 6.8, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 18, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 36, "quantity": "square metres"}, "party_wall_length": {"value": 6.8, "quantity": "metres"}, "heat_loss_perimeter": {"value": 17.4, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 89, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 591, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.4, "energy_rating_average": 60, "energy_rating_current": 65, "lighting_cost_current": {"value": 60, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 373, "currency": "GBP"}, "hot_water_cost_current": {"value": 91, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 177, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 72}, {"sequence": 2, "typical_saving": {"value": 41, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 74}, {"sequence": 3, "typical_saving": {"value": 27, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 76}, {"sequence": 4, "typical_saving": {"value": 294, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 86}], "co2_emissions_potential": 1.1, "energy_rating_potential": 87, "lighting_cost_potential": {"value": 60, "currency": "GBP"}, "schema_version_original": "LIG-18.0", "hot_water_cost_potential": {"value": 64, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2096, "impact_of_solid_wall_insulation": -4035, "space_heating_existing_dwelling": 10881}, "energy_consumption_current": 260, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.0.0", "energy_consumption_potential": 82, "environmental_impact_current": 61, "fixed_lighting_outlets_count": 9, "windows_transmission_details": {"u_value": 3.1, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 86, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 46, "low_energy_fixed_lighting_outlets_count": 8} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/LE113PX/cert-ba628e4f9cbf.json b/tests/fixtures/epc_prediction/LE113PX/cert-ba628e4f9cbf.json new file mode 100644 index 00000000..1d8be668 --- /dev/null +++ b/tests/fixtures/epc_prediction/LE113PX/cert-ba628e4f9cbf.json @@ -0,0 +1 @@ +{"uprn": 100030465795, "roofs": [{"description": {"value": "Pitched, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Pitched, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": {"value": "Pitched, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Cavity wall, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Low energy lighting in 58% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "LE11 3PX", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2020-08-18 12:45:38.000000", "door_count": 2, "glazed_area": 1, "region_code": 6, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 9, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 16886}], "immersion_heating_type": "NA", "secondary_heating_type": 633, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-19.0", "uprn_source": "Address Matched", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-b8a6f18f1027", "assessment_type": "RdSAP", "completion_date": "2020-08-18", "inspection_date": "2020-08-18", "extensions_count": 3, "measurement_type": 1, "total_floor_area": 120, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2020-08-18", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, dual fuel (mineral and wood)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 225, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 40.61, "quantity": "square metres"}, "party_wall_length": {"value": 6.95, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 8.44, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.35, "quantity": "metres"}, "total_floor_area": {"value": 39.53, "quantity": "square metres"}, "party_wall_length": {"value": 6.95, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12.65, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 2.16, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 2.95, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "L", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 8, "wall_construction": 4, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.45, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 7.96, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 5.65, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "L", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 7, "wall_insulation_thickness": "NI", "sloping_ceiling_insulation_thickness": "AB"}, {"identifier": "Extension 3", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 4, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 14.67, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 9.2, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 14.67, "quantity": "square metres"}, "party_wall_length": 0, "heat_loss_perimeter": {"value": 13.21, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "L", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 58, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 848, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.9, "energy_rating_average": 60, "energy_rating_current": 65, "lighting_cost_current": {"value": 121, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 725, "currency": "GBP"}, "hot_water_cost_current": {"value": 105, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 100, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 63}, {"sequence": 2, "typical_saving": {"value": 27, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 64}, {"sequence": 3, "typical_saving": {"value": 31, "currency": "GBP"}, "indicative_cost": "\u00a325", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 65}, {"sequence": 4, "typical_saving": {"value": 32, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 67}, {"sequence": 5, "typical_saving": {"value": 332, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 74}], "co2_emissions_potential": 3.0, "energy_rating_potential": 79, "lighting_cost_potential": {"value": 86, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 74, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2292, "impact_of_loft_insulation": -3828, "impact_of_solid_wall_insulation": -2351, "space_heating_existing_dwelling": 15388}, "energy_consumption_current": 227, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "v94.0.1.1", "energy_consumption_potential": 137, "environmental_impact_current": 58, "fixed_lighting_outlets_count": 12, "current_energy_efficiency_band": "D", "environmental_impact_potential": 74, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 41, "low_energy_fixed_lighting_outlets_count": 7} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-1d45251c4fcc.json b/tests/fixtures/epc_prediction/PE71NT/cert-1d45251c4fcc.json new file mode 100644 index 00000000..eb6e5f9f --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-1d45251c4fcc.json @@ -0,0 +1 @@ +{"uprn": 100090075285, "roofs": [{"description": "Pitched, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in 25% of fixed outlets", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "PE7 1NT", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 3, "created_at": "2018-06-25 16:43:45.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": 12, "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 2038}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 25}, "sap_version": 9.93, "schema_type": "RdSAP-Schema-18.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "End-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-52932cb4ab6d", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2018-06-25", "inspection_date": "2018-06-25", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 60, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2018-06-25", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 290, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 29.48, "quantity": "square metres"}, "party_wall_length": {"value": 7.12, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 14.38, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.41, "quantity": "metres"}, "total_floor_area": {"value": 29.48, "quantity": "square metres"}, "party_wall_length": {"value": 7.12, "quantity": "metres"}, "heat_loss_perimeter": {"value": 15.4, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 290, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 1.44, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 3.84, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 25, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 449, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.0, "energy_rating_average": 60, "energy_rating_current": 64, "lighting_cost_current": {"value": 78, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, TRVs and bypass", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 363, "currency": "GBP"}, "hot_water_cost_current": {"value": 156, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 36, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 63}, {"sequence": 2, "typical_saving": {"value": 10, "currency": "GBP"}, "indicative_cost": 30, "improvement_type": "C", "improvement_details": {"improvement_number": 3}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 64}, {"sequence": 3, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": 30, "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 65}, {"sequence": 4, "typical_saving": {"value": 35, "currency": "GBP"}, "indicative_cost": 450, "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 67}, {"sequence": 5, "typical_saving": {"value": 64, "currency": "GBP"}, "indicative_cost": "3,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 72}, {"sequence": 6, "typical_saving": {"value": 38, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 75}, {"sequence": 7, "typical_saving": {"value": 295, "currency": "GBP"}, "indicative_cost": "8,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 86}], "co2_emissions_potential": 1.0, "energy_rating_potential": 87, "lighting_cost_potential": {"value": 44, "currency": "GBP"}, "schema_version_original": "LIG-18.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 42, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 72, "environmental_impact_rating": 95}, {"sequence": 2, "typical_saving": {"value": 47, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 71, "environmental_impact_rating": 67}], "hot_water_cost_potential": {"value": 65, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2621, "impact_of_loft_insulation": -187, "space_heating_existing_dwelling": 5960}, "energy_consumption_current": 279, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "3.05r03", "energy_consumption_potential": 86, "environmental_impact_current": 61, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "D", "environmental_impact_potential": 86, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 49, "low_energy_fixed_lighting_outlets_count": 2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-215907dd8cab.json b/tests/fixtures/epc_prediction/PE71NT/cert-215907dd8cab.json new file mode 100644 index 00000000..7bfac0c1 --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-215907dd8cab.json @@ -0,0 +1 @@ +{"uprn": 100090075281, "roofs": [{"description": "Pitched, 100 mm loft insulation", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "lighting": {"description": "Low energy lighting in 56% of fixed outlets", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "PE7 1NT", "hot_water": {"description": "From main system", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 4, "created_at": "2014-01-31 08:35:07.000000", "door_count": 1, "glazed_area": 1, "region_code": 2, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "N", "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 101, "main_heating_data_source": 2}], "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.2", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-cd94bcabacd1", "address_line_2": "", "schema_version": "LIG-16.1", "assessment_type": "RdSAP", "completion_date": "2014-01-31", "inspection_date": "2014-01-31", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 56, "transaction_type": 1, "conservatory_type": 2, "heated_room_count": 3, "registration_date": "2014-01-31", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 1, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.4, "floor_insulation": 1, "total_floor_area": 28.08, "floor_construction": 1, "heat_loss_perimeter": 7.8}, {"floor": 1, "room_height": 2.4, "total_floor_area": 28.08, "heat_loss_perimeter": 7.8}], "wall_insulation_type": 4, "construction_age_band": "H", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "100mm"}], "low_energy_lighting": 56, "solar_water_heating": "N", "bedf_revision_number": 352, "habitable_room_count": 3, "heating_cost_current": {"value": 375, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.2, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 57, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, TRVs and bypass", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 308, "currency": "GBP"}, "hot_water_cost_current": {"value": 143, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 23.89, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W", "improvement_details": {"improvement_number": 47}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 72}, {"sequence": 2, "typical_saving": {"value": 14.91, "currency": "GBP"}, "indicative_cost": "\u00a320", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 72}, {"sequence": 3, "typical_saving": {"value": 30.84, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 74}, {"sequence": 4, "typical_saving": {"value": 54.02, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 78}, {"sequence": 5, "typical_saving": {"value": 35.6, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 81}, {"sequence": 6, "typical_saving": {"value": 265.29, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 90, "environmental_impact_rating": 93}, {"sequence": 7, "typical_saving": {"value": 21.46, "currency": "GBP"}, "indicative_cost": "\u00a31,500 - \u00a34,000", "improvement_type": "V", "improvement_details": {"improvement_number": 44}, "improvement_category": 5, "energy_performance_rating": 91, "environmental_impact_rating": 94}], "co2_emissions_potential": 0.4, "energy_rating_potential": 91, "lighting_cost_potential": {"value": 40, "currency": "GBP"}, "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 80.56, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 79, "environmental_impact_rating": 80}, {"sequence": 2, "typical_saving": {"value": 26.43, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 74, "environmental_impact_rating": 74}], "hot_water_cost_potential": {"value": 68, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2364, "impact_of_loft_insulation": -317, "space_heating_existing_dwelling": 4180}, "seller_commission_report": "Y", "energy_consumption_current": 206, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.4.1.0", "energy_consumption_potential": 30, "environmental_impact_current": 70, "fixed_lighting_outlets_count": 9, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 39, "low_energy_fixed_lighting_outlets_count": 5} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-21b634bc4b59.json b/tests/fixtures/epc_prediction/PE71NT/cert-21b634bc4b59.json new file mode 100644 index 00000000..b0ce49d0 --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-21b634bc4b59.json @@ -0,0 +1 @@ +{"uprn": 100090075261, "roofs": [{"description": "Pitched, 75 mm loft insulation", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, limited insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in 63% of fixed outlets", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "PE7 1NT", "hot_water": {"description": "From main system, no cylinder thermostat", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 4, "created_at": "2020-02-26 16:40:29.000000", "door_count": 1, "glazed_area": 1, "glazing_gap": "16+", "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 1, "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 115, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-19.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-2675a79463d5", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2020-02-26", "inspection_date": "2020-02-26", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 56, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 3, "pvc_window_frames": "true", "registration_date": "2020-02-26", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.36, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 27.63, "quantity": "square metres"}, "party_wall_length": {"value": 14.32, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 6.72, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.31, "quantity": "metres"}, "total_floor_area": {"value": 27.63, "quantity": "square metres"}, "party_wall_length": {"value": 14.32, "quantity": "metres"}, "heat_loss_perimeter": {"value": 7.72, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "I", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "75mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.36, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 1.2, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 3.4, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "I", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 63, "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 400, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.0, "energy_rating_average": 60, "energy_rating_current": 63, "lighting_cost_current": {"value": 70, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, TRVs and bypass", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 303, "currency": "GBP"}, "hot_water_cost_current": {"value": 220, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 28, "currency": "GBP"}, "indicative_cost": 350, "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 61}, {"sequence": 2, "typical_saving": {"value": 16, "currency": "GBP"}, "indicative_cost": 15, "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 61}, {"sequence": 3, "typical_saving": {"value": 28, "currency": "GBP"}, "indicative_cost": 400, "improvement_type": "F", "improvement_details": {"improvement_number": 4}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 63}, {"sequence": 4, "typical_saving": {"value": 42, "currency": "GBP"}, "indicative_cost": 450, "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 66}, {"sequence": 5, "typical_saving": {"value": 121, "currency": "GBP"}, "indicative_cost": "3,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 76}, {"sequence": 6, "typical_saving": {"value": 36, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 79}, {"sequence": 7, "typical_saving": {"value": 335, "currency": "GBP"}, "indicative_cost": "5,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 90, "environmental_impact_rating": 90}], "co2_emissions_potential": 0.6, "energy_rating_potential": 90, "lighting_cost_potential": {"value": 51, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 123, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 76, "environmental_impact_rating": 95}, {"sequence": 2, "typical_saving": {"value": 23, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 76, "environmental_impact_rating": 78}, {"sequence": 3, "typical_saving": {"value": 97, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 72, "environmental_impact_rating": 70}], "hot_water_cost_potential": {"value": 64, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3066, "impact_of_loft_insulation": -448, "space_heating_existing_dwelling": 4321}, "energy_consumption_current": 302, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.03r02", "energy_consumption_potential": 57, "environmental_impact_current": 59, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "D", "environmental_impact_potential": 90, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 53, "low_energy_fixed_lighting_outlets_count": 5} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-224f1ce8cb64.json b/tests/fixtures/epc_prediction/PE71NT/cert-224f1ce8cb64.json new file mode 100644 index 00000000..6bc4c929 --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-224f1ce8cb64.json @@ -0,0 +1 @@ +{"uprn": 100090075267, "roofs": [{"description": "Pitched, 200 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "lighting": {"description": "Good lighting efficiency", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "PE7 1NT", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 3, "created_at": "2025-08-12 15:00:50", "door_count": 2, "region_code": 2, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "shower_outlets": [{"shower_outlet": {"shower_wwhrs": 1, "shower_outlet_type": 2}}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17417}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "glazing_gap": "16+", "orientation": 8, "window_type": 1, "glazing_type": 3, "window_width": 0.5, "window_height": 1.2, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 2, "window_type": 1, "glazing_type": 3, "window_width": 1.8, "window_height": 1.2, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 8, "window_type": 1, "glazing_type": 3, "window_width": 0.5, "window_height": 1.2, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 2, "window_type": 1, "glazing_type": 3, "window_width": 1.8, "window_height": 1.2, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 4, "window_type": 1, "glazing_type": 3, "window_width": 0.5, "window_height": 1.2, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 6, "window_type": 1, "glazing_type": 3, "window_width": 0.9, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 8, "window_type": 1, "glazing_type": 3, "window_width": 0.9, "window_height": 1.5, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 8, "window_type": 1, "glazing_type": 3, "window_width": 0.9, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "End-terrace house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-80b5467b46f3", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2025-08-12", "inspection_date": "2025-08-11", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 59, "transaction_type": 15, "conservatory_type": 1, "heated_room_count": 3, "registration_date": "2025-08-12", "sap_energy_source": {"mains_gas": "Y", "meter_type": 3, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "true", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 3, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "extract_fans_count": 1, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.3, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 29.98, "quantity": "square metres"}, "party_wall_length": {"value": 4.16, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 20.62, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.3, "quantity": "metres"}, "total_floor_area": {"value": 29.32, "quantity": "square metres"}, "party_wall_length": {"value": 2.8, "quantity": "metres"}, "heat_loss_perimeter": {"value": 20.46, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 674, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.2, "energy_rating_average": 60, "energy_rating_current": 67, "lighting_cost_current": {"value": 46, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 619, "currency": "GBP"}, "hot_water_cost_current": {"value": 266, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 55, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 73}, {"sequence": 2, "typical_saving": {"value": 218, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 74}, {"sequence": 3, "typical_saving": {"value": 712, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a320,000", "improvement_type": "V2", "improvement_details": {"improvement_number": 44}, "improvement_category": 5, "energy_performance_rating": 93, "environmental_impact_rating": 79}], "co2_emissions_potential": 1.6, "energy_rating_potential": 93, "lighting_cost_potential": {"value": 46, "currency": "GBP"}, "schema_version_original": "21.0.1", "hot_water_cost_potential": {"value": 266, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2088.63, "space_heating_existing_dwelling": 7082.77}, "draughtproofed_door_count": 2, "energy_consumption_current": 209, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0290", "energy_consumption_potential": 110, "environmental_impact_current": 71, "cfl_fixed_lighting_bulbs_count": 4, "current_energy_efficiency_band": "D", "environmental_impact_potential": 79, "led_fixed_lighting_bulbs_count": 3, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 37, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-26619d8e7f8e.json b/tests/fixtures/epc_prediction/PE71NT/cert-26619d8e7f8e.json new file mode 100644 index 00000000..79ab8429 --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-26619d8e7f8e.json @@ -0,0 +1 @@ +{"uprn": 100090075293, "roofs": [{"description": {"value": "Pitched, 100 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": {"value": "Cavity wall, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "addendum": {"addendum_numbers": [8]}, "lighting": {"description": {"value": "Low energy lighting in 50% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "PE7 1NT", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 2, "created_at": "2015-08-25 13:10:06", "door_count": 1, "glazed_area": 1, "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 115, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 1, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 25}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-ab17a7bd7d8f", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2015-08-25", "inspection_date": "2015-08-25", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 65, "transaction_type": 1, "conservatory_type": 2, "heated_room_count": 4, "registration_date": "2015-08-25", "sap_energy_source": {"mains_gas": "Y", "meter_type": 1, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 2, "percent_roof_area": 40}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lzc_energy_sources": [11], "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.36, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 32.6, "quantity": "square metres"}, "party_wall_length": {"value": 6.8, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 16.4, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.28, "quantity": "metres"}, "total_floor_area": {"value": 32.6, "quantity": "square metres"}, "party_wall_length": {"value": 6.8, "quantity": "metres"}, "heat_loss_perimeter": {"value": 16.4, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "100mm", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 50, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 575, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.9, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 74, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, TRVs and bypass", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 392, "currency": "GBP"}, "hot_water_cost_current": {"value": 203, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 24, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 64}, {"sequence": 2, "typical_saving": {"value": 46, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 67}, {"sequence": 3, "typical_saving": {"value": 12, "currency": "GBP"}, "indicative_cost": "\u00a315 - \u00a330", "improvement_type": "C", "improvement_details": {"improvement_number": 3}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 68}, {"sequence": 4, "typical_saving": {"value": 20, "currency": "GBP"}, "indicative_cost": "\u00a325", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 69}, {"sequence": 5, "typical_saving": {"value": 50, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 72}, {"sequence": 6, "typical_saving": {"value": 147, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 83, "environmental_impact_rating": 81}, {"sequence": 7, "typical_saving": {"value": 42, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 84, "environmental_impact_rating": 84}], "co2_emissions_potential": 1.2, "energy_rating_potential": 84, "lighting_cost_potential": {"value": 49, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 161, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 83, "environmental_impact_rating": 103}, {"sequence": 2, "typical_saving": {"value": 102, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 81, "environmental_impact_rating": 83}, {"sequence": 3, "typical_saving": {"value": 119, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 82, "environmental_impact_rating": 77}], "hot_water_cost_potential": {"value": 70, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2673, "impact_of_loft_insulation": -343, "space_heating_existing_dwelling": 6324}, "energy_consumption_current": 248, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.0.x", "energy_consumption_potential": 101, "environmental_impact_current": 63, "fixed_lighting_outlets_count": 10, "current_energy_efficiency_band": "C", "environmental_impact_potential": 84, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 44, "low_energy_fixed_lighting_outlets_count": 5} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-460c2d58495c.json b/tests/fixtures/epc_prediction/PE71NT/cert-460c2d58495c.json new file mode 100644 index 00000000..e00265cb --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-460c2d58495c.json @@ -0,0 +1 @@ +{"uprn": 100090075246, "roofs": [{"description": "Pitched, 150 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PE7 1NT", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 3, "created_at": "2024-03-08 11:04:52", "door_count": 1, "glazed_area": 4, "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 1, "main_heating_data_source": 1, "main_heating_index_number": 15101}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 25}, "sap_version": 9.94, "sap_windows": [{"pvc_frame": "true", "glazing_gap": "16+", "orientation": 8, "window_area": {"value": 2.57, "quantity": "square metres"}, "window_type": 1, "glazing_type": 3, "window_location": 0}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 4, "window_area": {"value": 2.99, "quantity": "square metres"}, "window_type": 1, "glazing_type": 3, "window_location": 0}, {"orientation": 4, "window_area": {"value": 3.69, "quantity": "square metres"}, "window_type": 1, "glazing_type": 2, "window_location": 0}], "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "End-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-ebbcec3eef49", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2024-03-08", "inspection_date": "2024-03-08", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 57, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 3, "registration_date": "2024-03-08", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.38, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 29.09, "quantity": "square metres"}, "party_wall_length": {"value": 7.16, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 17.62, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.31, "quantity": "metres"}, "total_floor_area": {"value": 27.62, "quantity": "square metres"}, "party_wall_length": {"value": 7.16, "quantity": "metres"}, "heat_loss_perimeter": {"value": 14.88, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 672, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.3, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 84, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": "ND", "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 581, "currency": "GBP"}, "hot_water_cost_current": {"value": 232, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 39, "currency": "GBP"}, "indicative_cost": "\u00a3300 - \u00a3600", "improvement_type": "B4", "improvement_details": {"improvement_number": 63}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 69}, {"sequence": 2, "typical_saving": {"value": 60, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 72}, {"sequence": 3, "typical_saving": {"value": 87, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 75}, {"sequence": 4, "typical_saving": {"value": 570, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 87}], "co2_emissions_potential": 0.9, "energy_rating_potential": 87, "lighting_cost_potential": {"value": 84, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 78, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 72, "environmental_impact_rating": 72}}], "hot_water_cost_potential": {"value": 137, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2580, "impact_of_loft_insulation": -177, "space_heating_existing_dwelling": 6089}, "energy_consumption_current": 235, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0001", "energy_consumption_potential": 81, "environmental_impact_current": 68, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "C", "environmental_impact_potential": 87, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 41, "low_energy_fixed_lighting_outlets_count": 8} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-508b303ae8b9.json b/tests/fixtures/epc_prediction/PE71NT/cert-508b303ae8b9.json new file mode 100644 index 00000000..270abf97 --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-508b303ae8b9.json @@ -0,0 +1 @@ +{"uprn": 100090075273, "roofs": [{"description": "Pitched, 100 mm loft insulation", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, limited insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "addendum": {"addendum_numbers": [15]}, "lighting": {"description": "Excellent lighting efficiency", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PE7 1NT", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "psv_count": 0, "built_form": 4, "created_at": "2026-05-14 10:00:49", "door_count": 1, "region_code": 2, "report_type": 2, "sap_heating": {"number_baths": 0, "cylinder_size": 2, "shower_outlets": [{"shower_wwhrs": 1, "shower_outlet_type": 2}], "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "secondary_fuel_type": 0, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 16453}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 25}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "glazing_gap": "16+", "orientation": 7, "window_type": 1, "glazing_type": 3, "window_width": 0.88, "window_height": 1.02, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 7, "window_type": 1, "glazing_type": 3, "window_width": 1.18, "window_height": 1.02, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 3, "window_type": 1, "glazing_type": 3, "window_width": 1.17, "window_height": 1.02, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 3, "window_type": 1, "glazing_type": 3, "window_width": 1.17, "window_height": 1.16, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 7, "window_type": 1, "glazing_type": 3, "window_width": 1.78, "window_height": 2.05, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 7, "window_type": 1, "glazing_type": 3, "window_width": 1, "window_height": 1.02, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Mid-terrace house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-cd7ccbfd8d21", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "extensions_count": 0, "measurement_type": 1, "open_flues_count": 0, "total_floor_area": 57, "transaction_type": 8, "conservatory_type": 1, "has_draught_lobby": "false", "heated_room_count": 3, "other_flues_count": 0, "registration_date": "2026-05-14", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_diverter": "false", "pv_connection": 0, "pv_battery_count": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "true", "is_dwelling_export_capable": "true", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "true", "is_hydro_output_connected_to_dwelling_meter": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "closed_flues_count": 0, "extract_fans_count": 2, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 275, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.38, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 29.09, "quantity": "square metres"}, "party_wall_length": {"value": 14.36, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 10.18, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.31, "quantity": "metres"}, "total_floor_area": {"value": 27.86, "quantity": "square metres"}, "party_wall_length": {"value": 14.36, "quantity": "metres"}, "heat_loss_perimeter": {"value": 7.76, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "I", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "100mm", "wall_insulation_thickness": "NI"}], "boilers_flues_count": 0, "open_chimneys_count": 0, "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 591, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 1.8, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 37, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "blocked_chimneys_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 591, "currency": "GBP"}, "hot_water_cost_current": {"value": 319, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": 275, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 82, "environmental_impact_rating": 78}], "co2_emissions_potential": 1.5, "energy_rating_potential": 82, "lighting_cost_potential": {"value": 37, "currency": "GBP"}, "schema_version_original": "LIG-21.0.1", "flueless_gas_fires_count": 0, "hot_water_cost_potential": {"value": 319, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2240.37, "space_heating_existing_dwelling": 5319.27}, "draughtproofed_door_count": 1, "energy_consumption_current": 182, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.3.74", "energy_consumption_potential": 153, "environmental_impact_current": 75, "cfl_fixed_lighting_bulbs_count": 0, "current_energy_efficiency_band": "C", "environmental_impact_potential": 78, "led_fixed_lighting_bulbs_count": 8, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 31, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-54bbc1fadbf7.json b/tests/fixtures/epc_prediction/PE71NT/cert-54bbc1fadbf7.json new file mode 100644 index 00000000..f17633b3 --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-54bbc1fadbf7.json @@ -0,0 +1 @@ +{"uprn": 100090075291, "roofs": [{"description": "Pitched, 270 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PE7 1NT", "hot_water": {"description": "From main system", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 2, "created_at": "2015-11-18 15:49:17", "door_count": 2, "glazed_area": 1, "glazing_gap": 12, "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 111, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-9d6450b18a2a", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2015-11-18", "inspection_date": "2015-11-18", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 64, "transaction_type": 11, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2015-11-18", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 2, "percent_roof_area": 35}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lzc_energy_sources": [11], "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 285, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.36, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 31.9, "quantity": "square metres"}, "party_wall_length": {"value": 6.73, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 16.21, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.34, "quantity": "metres"}, "total_floor_area": {"value": 31.9, "quantity": "square metres"}, "party_wall_length": {"value": 6.73, "quantity": "metres"}, "heat_loss_perimeter": {"value": 16.21, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "270mm", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 580, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.8, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 44, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, TRVs and bypass", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 394, "currency": "GBP"}, "hot_water_cost_current": {"value": 175, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 43, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 66}, {"sequence": 2, "typical_saving": {"value": 49, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 69}, {"sequence": 3, "typical_saving": {"value": 133, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 80, "environmental_impact_rating": 78}, {"sequence": 4, "typical_saving": {"value": 42, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 81, "environmental_impact_rating": 80}, {"sequence": 5, "typical_saving": {"value": 26, "currency": "GBP"}, "indicative_cost": "\u00a31,000 - \u00a31,400", "improvement_type": "O3", "improvement_details": {"improvement_number": 56}, "improvement_category": 5, "energy_performance_rating": 83, "environmental_impact_rating": 82}], "co2_emissions_potential": 1.3, "energy_rating_potential": 83, "lighting_cost_potential": {"value": 44, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 135, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 79, "environmental_impact_rating": 102}, {"sequence": 2, "typical_saving": {"value": 94, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 78, "environmental_impact_rating": 80}, {"sequence": 3, "typical_saving": {"value": 107, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 79, "environmental_impact_rating": 74}], "hot_water_cost_potential": {"value": 69, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2441, "space_heating_existing_dwelling": 6752}, "energy_consumption_current": 246, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.06r07", "energy_consumption_potential": 115, "environmental_impact_current": 63, "fixed_lighting_outlets_count": 9, "current_energy_efficiency_band": "C", "environmental_impact_potential": 82, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 44, "low_energy_fixed_lighting_outlets_count": 9} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-59bcc003ab93.json b/tests/fixtures/epc_prediction/PE71NT/cert-59bcc003ab93.json new file mode 100644 index 00000000..d5c9b559 --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-59bcc003ab93.json @@ -0,0 +1 @@ +{"uprn": 100090075277, "roofs": [{"description": "Pitched, 100 mm loft insulation", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "lighting": {"description": "Low energy lighting in 88% of fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PE7 1NT", "hot_water": {"description": "From main system, no cylinder thermostat", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 3, "created_at": "2014-08-06 17:27:22.000000", "door_count": 2, "glazed_area": 1, "region_code": 2, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "N", "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 101, "main_heating_data_source": 2}], "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 12}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.3", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "end-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-d715abfdf3b3", "address_line_2": "", "schema_version": "LIG-16.1", "assessment_type": "RdSAP", "completion_date": "2014-08-06", "inspection_date": "2014-08-06", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 59, "transaction_type": 9, "conservatory_type": 1, "heated_room_count": 3, "registration_date": "2014-08-06", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 1, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.36, "floor_insulation": 1, "total_floor_area": 30.22, "floor_construction": 1, "heat_loss_perimeter": 17.7}, {"floor": 1, "room_height": 2.3, "total_floor_area": 28.47, "heat_loss_perimeter": 15.1}], "wall_insulation_type": 4, "construction_age_band": "H", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "100mm"}], "low_energy_lighting": 88, "solar_water_heating": "N", "bedf_revision_number": 346, "habitable_room_count": 3, "heating_cost_current": {"value": 470, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.1, "energy_rating_average": 60, "energy_rating_current": 60, "lighting_cost_current": {"value": 46, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, TRVs and bypass", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 382, "currency": "GBP"}, "hot_water_cost_current": {"value": 232, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 44.0881261140466, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W", "improvement_details": {"improvement_number": 47}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 62}, {"sequence": 2, "typical_saving": {"value": 31.4056839340982, "currency": "GBP"}, "indicative_cost": "\u00a315 - \u00a330", "improvement_type": "C", "improvement_details": {"improvement_number": 3}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 64}, {"sequence": 3, "typical_saving": {"value": 33.1691090772435, "currency": "GBP"}, "indicative_cost": "\u00a3200 - \u00a3400", "improvement_type": "F", "improvement_details": {"improvement_number": 4}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 66}, {"sequence": 4, "typical_saving": {"value": 37.3112826013398, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 68}, {"sequence": 5, "typical_saving": {"value": 73.4491558072725, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 74}, {"sequence": 6, "typical_saving": {"value": 33.311390283234, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 76}, {"sequence": 7, "typical_saving": {"value": 265.29450580574, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 88}, {"sequence": 8, "typical_saving": {"value": 21.464925412419, "currency": "GBP"}, "indicative_cost": "\u00a31,500 - \u00a34,000", "improvement_type": "V", "improvement_details": {"improvement_number": 44}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 89}], "co2_emissions_potential": 0.8, "energy_rating_potential": 87, "lighting_cost_potential": {"value": 46, "currency": "GBP"}, "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 49.0001301938714, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 73, "environmental_impact_rating": 74}}], "hot_water_cost_potential": {"value": 67, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3824, "impact_of_loft_insulation": -315, "space_heating_existing_dwelling": 5891}, "seller_commission_report": "Y", "energy_consumption_current": 277, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.4.0.0", "energy_consumption_potential": 64, "environmental_impact_current": 59, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "D", "environmental_impact_potential": 89, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 53, "low_energy_fixed_lighting_outlets_count": 7} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-5def81fe86c4.json b/tests/fixtures/epc_prediction/PE71NT/cert-5def81fe86c4.json new file mode 100644 index 00000000..7a64dece --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-5def81fe86c4.json @@ -0,0 +1 @@ +{"uprn": 100090075259, "roofs": [{"description": {"value": "Pitched, 270 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Cavity wall, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PE7 1NT", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2023-09-30 11:33:05", "door_count": 1, "glazed_area": 1, "glazing_gap": "16+", "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 16374}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-6e72020adfbc", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2023-09-30", "inspection_date": "2023-09-30", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 55, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2023-09-30", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 290, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.35, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 27.56, "quantity": "square metres"}, "party_wall_length": {"value": 14.28, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 7.72, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 27.56, "quantity": "square metres"}, "party_wall_length": {"value": 14.28, "quantity": "metres"}, "heat_loss_perimeter": {"value": 7.72, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "270mm", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 683, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 1.8, "energy_rating_average": 60, "energy_rating_current": 74, "lighting_cost_current": {"value": 93, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 683, "currency": "GBP"}, "hot_water_cost_current": {"value": 212, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 71, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 78}, {"sequence": 2, "typical_saving": {"value": 673, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 89, "environmental_impact_rating": 90}], "co2_emissions_potential": 0.6, "energy_rating_potential": 89, "lighting_cost_potential": {"value": 93, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 141, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1834, "space_heating_existing_dwelling": 4564}, "energy_consumption_current": 181, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "v94.0.1.1", "energy_consumption_potential": 63, "environmental_impact_current": 75, "fixed_lighting_outlets_count": 10, "current_energy_efficiency_band": "C", "environmental_impact_potential": 90, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 32, "low_energy_fixed_lighting_outlets_count": 10} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-6869127bdda3.json b/tests/fixtures/epc_prediction/PE71NT/cert-6869127bdda3.json new file mode 100644 index 00000000..9bcccd77 --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-6869127bdda3.json @@ -0,0 +1 @@ +{"uprn": 100090075275, "roofs": [{"description": "Pitched, 250 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, limited insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PE7 1NT", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2020-03-18 15:25:17.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 15018}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-19.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-df74f2f60711", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2020-03-18", "inspection_date": "2020-03-18", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 57, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 3, "pvc_window_frames": "true", "registration_date": "2020-03-18", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.37, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 27.71, "quantity": "square metres"}, "party_wall_length": {"value": 14.32, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 6.35, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.3, "quantity": "metres"}, "total_floor_area": {"value": 27.71, "quantity": "square metres"}, "party_wall_length": {"value": 14.32, "quantity": "metres"}, "heat_loss_perimeter": {"value": 7.74, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "I", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "250mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 250, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.37, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 1.68, "quantity": "square metres"}, "party_wall_length": {"value": 1.21, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 2.6, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "I", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 351, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.0, "energy_rating_average": 60, "energy_rating_current": 72, "lighting_cost_current": {"value": 51, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, TRVs and bypass", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 338, "currency": "GBP"}, "hot_water_cost_current": {"value": 124, "currency": "GBP"}, "mechanical_ventilation": 2, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 23, "currency": "GBP"}, "indicative_cost": 450, "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 75}, {"sequence": 2, "typical_saving": {"value": 40, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 78}, {"sequence": 3, "typical_saving": {"value": 335, "currency": "GBP"}, "indicative_cost": "5,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 88, "environmental_impact_rating": 89}], "co2_emissions_potential": 0.7, "energy_rating_potential": 88, "lighting_cost_potential": {"value": 51, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 73, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2439, "impact_of_loft_insulation": -8, "space_heating_existing_dwelling": 3443}, "energy_consumption_current": 198, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.04r06", "energy_consumption_potential": 65, "environmental_impact_current": 73, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "C", "environmental_impact_potential": 89, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 35, "low_energy_fixed_lighting_outlets_count": 8} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-8a3078720253.json b/tests/fixtures/epc_prediction/PE71NT/cert-8a3078720253.json new file mode 100644 index 00000000..b0b39f3b --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-8a3078720253.json @@ -0,0 +1 @@ +{"uprn": 100090075297, "roofs": [{"description": {"value": "Pitched, 250 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Cavity wall, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PE7 1NT", "hot_water": {"description": {"value": "From main system, no cylinder thermostat", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 2, "created_at": "2017-08-04 10:47:15.000000", "door_count": 1, "glazed_area": 1, "glazing_gap": 6, "region_code": 1, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 111, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.1", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-5798cc773431", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2017-08-04", "inspection_date": "2017-08-04", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 65, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2017-08-04", "sap_energy_source": {"mains_gas": "Y", "meter_type": 1, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.35, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 32.3, "quantity": "square metres"}, "party_wall_length": {"value": 6.8, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 16.3, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.35, "quantity": "metres"}, "total_floor_area": {"value": 32.3, "quantity": "square metres"}, "party_wall_length": {"value": 6.8, "quantity": "metres"}, "heat_loss_perimeter": {"value": 16.3, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "250mm", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 530, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.5, "energy_rating_average": 60, "energy_rating_current": 61, "lighting_cost_current": {"value": 50, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, TRVs and bypass", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 402, "currency": "GBP"}, "hot_water_cost_current": {"value": 225, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 42, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 58}, {"sequence": 2, "typical_saving": {"value": 28, "currency": "GBP"}, "indicative_cost": "\u00a3200 - \u00a3400", "improvement_type": "F", "improvement_details": {"improvement_number": 4}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 60}, {"sequence": 3, "typical_saving": {"value": 49, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 63}, {"sequence": 4, "typical_saving": {"value": 125, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 71}, {"sequence": 5, "typical_saving": {"value": 41, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 74}, {"sequence": 6, "typical_saving": {"value": 300, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 85}], "co2_emissions_potential": 1.1, "energy_rating_potential": 86, "lighting_cost_potential": {"value": 50, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 117, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 71, "environmental_impact_rating": 95}, {"sequence": 2, "typical_saving": {"value": 56, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 70, "environmental_impact_rating": 73}, {"sequence": 3, "typical_saving": {"value": 109, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 71, "environmental_impact_rating": 67}], "hot_water_cost_potential": {"value": 69, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3156, "space_heating_existing_dwelling": 6293}, "energy_consumption_current": 308, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.0.0.0", "energy_consumption_potential": 92, "environmental_impact_current": 55, "fixed_lighting_outlets_count": 9, "current_energy_efficiency_band": "D", "environmental_impact_potential": 85, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 54, "low_energy_fixed_lighting_outlets_count": 9} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-8abc9d149c76.json b/tests/fixtures/epc_prediction/PE71NT/cert-8abc9d149c76.json new file mode 100644 index 00000000..3d37e8c7 --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-8abc9d149c76.json @@ -0,0 +1 @@ +{"uprn": 100090075259, "roofs": [{"description": "Pitched, 250 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "lighting": {"description": "Low energy lighting in 78% of fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PE7 1NT", "hot_water": {"description": "From main system, no cylinder thermostat", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 4, "created_at": "2013-09-13 10:11:02.000000", "door_count": 1, "glazed_area": 1, "region_code": 2, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 111, "main_heating_data_source": 2}], "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.2", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-6b2975d2dee5", "address_line_2": "", "schema_version": "LIG-16.1", "assessment_type": "RdSAP", "completion_date": "2013-09-13", "inspection_date": "2013-07-30", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 56, "transaction_type": 5, "conservatory_type": 1, "heated_room_count": 3, "registration_date": "2013-09-13", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.4, "floor_insulation": 1, "total_floor_area": 28.08, "floor_construction": 1, "heat_loss_perimeter": 7.8}, {"floor": 1, "room_height": 2.4, "total_floor_area": 28.08, "heat_loss_perimeter": 7.8}], "wall_insulation_type": 4, "construction_age_band": "G", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "250mm"}], "low_energy_lighting": 78, "solar_water_heating": "N", "bedf_revision_number": 344, "habitable_room_count": 3, "heating_cost_current": {"value": 352, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.4, "energy_rating_average": 60, "energy_rating_current": 67, "lighting_cost_current": {"value": 43, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, TRVs and bypass", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 281, "currency": "GBP"}, "hot_water_cost_current": {"value": 196, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 23, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W", "improvement_details": {"improvement_number": 47}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 69}, {"sequence": 2, "typical_saving": {"value": 36, "currency": "GBP"}, "indicative_cost": "\u00a3200 - \u00a3400", "improvement_type": "F", "improvement_details": {"improvement_number": 4}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 71}, {"sequence": 3, "typical_saving": {"value": 31, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 73}, {"sequence": 4, "typical_saving": {"value": 75, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 79}, {"sequence": 5, "typical_saving": {"value": 33, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 81}, {"sequence": 6, "typical_saving": {"value": 245, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 90, "environmental_impact_rating": 94}, {"sequence": 7, "typical_saving": {"value": 19, "currency": "GBP"}, "indicative_cost": "\u00a31,500 - \u00a34,000", "improvement_type": "V", "improvement_details": {"improvement_number": 44}, "improvement_category": 5, "energy_performance_rating": 92, "environmental_impact_rating": 95}], "co2_emissions_potential": 0.3, "energy_rating_potential": 92, "lighting_cost_potential": {"value": 43, "currency": "GBP"}, "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 39, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 76, "environmental_impact_rating": 93}, {"sequence": 2, "typical_saving": {"value": 124, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 79, "environmental_impact_rating": 81}, {"sequence": 3, "typical_saving": {"value": 46, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 74, "environmental_impact_rating": 75}], "hot_water_cost_potential": {"value": 68, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3109, "space_heating_existing_dwelling": 3580}, "seller_commission_report": "Y", "energy_consumption_current": 227, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.10r06", "energy_consumption_potential": 26, "environmental_impact_current": 67, "fixed_lighting_outlets_count": 9, "current_energy_efficiency_band": "D", "environmental_impact_potential": 95, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 44, "low_energy_fixed_lighting_outlets_count": 7} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-8b40d6410b80.json b/tests/fixtures/epc_prediction/PE71NT/cert-8b40d6410b80.json new file mode 100644 index 00000000..9d327fc2 --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-8b40d6410b80.json @@ -0,0 +1 @@ +{"uprn": 100090075257, "roofs": [{"description": {"value": "Pitched, 75 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": {"value": "Cavity wall, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "No low energy lighting", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "postcode": "PE7 1NT", "hot_water": {"description": {"value": "From main system, no cylinder thermostat", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 3, "created_at": "2017-07-05 11:29:23.000000", "door_count": 1, "glazed_area": 1, "glazing_gap": "16+", "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 115, "central_heating_pump_age": 1, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 25}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.1", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "End-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-8ff6ee8ba9ff", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2017-07-05", "inspection_date": "2017-07-05", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 58, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 3, "pvc_window_frames": "true", "registration_date": "2017-07-05", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 275, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.37, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 29.14, "quantity": "square metres"}, "party_wall_length": {"value": 7.16, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 17.64, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.32, "quantity": "metres"}, "total_floor_area": {"value": 28.44, "quantity": "square metres"}, "party_wall_length": {"value": 7.16, "quantity": "metres"}, "heat_loss_perimeter": {"value": 15.76, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "75mm", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 0, "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 541, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.9, "energy_rating_average": 60, "energy_rating_current": 54, "lighting_cost_current": {"value": 83, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, TRVs and bypass", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 376, "currency": "GBP"}, "hot_water_cost_current": {"value": 240, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 28, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 56, "environmental_impact_rating": 50}, {"sequence": 2, "typical_saving": {"value": 46, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 58, "environmental_impact_rating": 53}, {"sequence": 3, "typical_saving": {"value": 16, "currency": "GBP"}, "indicative_cost": "\u00a315 - \u00a330", "improvement_type": "C", "improvement_details": {"improvement_number": 3}, "improvement_category": 5, "energy_performance_rating": 59, "environmental_impact_rating": 54}, {"sequence": 4, "typical_saving": {"value": 35, "currency": "GBP"}, "indicative_cost": "\u00a340", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 60, "environmental_impact_rating": 55}, {"sequence": 5, "typical_saving": {"value": 28, "currency": "GBP"}, "indicative_cost": "\u00a3200 - \u00a3400", "improvement_type": "F", "improvement_details": {"improvement_number": 4}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 57}, {"sequence": 6, "typical_saving": {"value": 49, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 61}, {"sequence": 7, "typical_saving": {"value": 143, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 71}, {"sequence": 8, "typical_saving": {"value": 39, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 74}, {"sequence": 9, "typical_saving": {"value": 288, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 85}], "co2_emissions_potential": 1.0, "energy_rating_potential": 86, "lighting_cost_potential": {"value": 41, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 128, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 71, "environmental_impact_rating": 95}, {"sequence": 2, "typical_saving": {"value": 67, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 70, "environmental_impact_rating": 73}, {"sequence": 3, "typical_saving": {"value": 121, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 70, "environmental_impact_rating": 66}], "hot_water_cost_potential": {"value": 65, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3268, "impact_of_loft_insulation": -422, "space_heating_existing_dwelling": 6259}, "energy_consumption_current": 380, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "9.0.0", "energy_consumption_potential": 92, "environmental_impact_current": 49, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "E", "environmental_impact_potential": 85, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 67, "low_energy_fixed_lighting_outlets_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-8c68ea944ce9.json b/tests/fixtures/epc_prediction/PE71NT/cert-8c68ea944ce9.json new file mode 100644 index 00000000..d8c6f694 --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-8c68ea944ce9.json @@ -0,0 +1 @@ +{"uprn": 100090075269, "roofs": [{"description": {"value": "Pitched, 100 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": {"value": "Cavity wall, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Solid, limited insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 38% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "PE7 1NT", "hot_water": {"description": {"value": "From main system, no cylinder thermostat", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 4, "created_at": "2016-07-21 10:01:45.000000", "door_count": 1, "glazed_area": 1, "glazing_gap": 6, "region_code": 1, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "N", "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 101, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-e4a4e353214e", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2016-07-21", "inspection_date": "2016-07-21", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 57, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 3, "pvc_window_frames": "true", "registration_date": "2016-07-21", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.37, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 28.88, "quantity": "square metres"}, "party_wall_length": {"value": 9.5, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 12.6, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.37, "quantity": "metres"}, "total_floor_area": {"value": 27.88, "quantity": "square metres"}, "party_wall_length": {"value": 10.5, "quantity": "metres"}, "heat_loss_perimeter": {"value": 11.6, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "I", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "100mm", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 38, "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 435, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.9, "energy_rating_average": 60, "energy_rating_current": 63, "lighting_cost_current": {"value": 70, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, TRVs and bypass", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 388, "currency": "GBP"}, "hot_water_cost_current": {"value": 208, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 22, "currency": "GBP"}, "indicative_cost": "\u00a325", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 61}, {"sequence": 2, "typical_saving": {"value": 26, "currency": "GBP"}, "indicative_cost": "\u00a3200 - \u00a3400", "improvement_type": "F", "improvement_details": {"improvement_number": 4}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 62}, {"sequence": 3, "typical_saving": {"value": 40, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 65}, {"sequence": 4, "typical_saving": {"value": 86, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 71}, {"sequence": 5, "typical_saving": {"value": 41, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 74}, {"sequence": 6, "typical_saving": {"value": 281, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 86}], "co2_emissions_potential": 0.9, "energy_rating_potential": 86, "lighting_cost_potential": {"value": 43, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 98, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 71, "environmental_impact_rating": 95}, {"sequence": 2, "typical_saving": {"value": 51, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 70, "environmental_impact_rating": 73}, {"sequence": 3, "typical_saving": {"value": 48, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 70, "environmental_impact_rating": 66}], "hot_water_cost_potential": {"value": 67, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3069, "impact_of_loft_insulation": -315, "space_heating_existing_dwelling": 5054}, "energy_consumption_current": 294, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.0.0.0", "energy_consumption_potential": 90, "environmental_impact_current": 60, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "D", "environmental_impact_potential": 86, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 52, "low_energy_fixed_lighting_outlets_count": 3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-91fd87067727.json b/tests/fixtures/epc_prediction/PE71NT/cert-91fd87067727.json new file mode 100644 index 00000000..c5f3da8f --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-91fd87067727.json @@ -0,0 +1 @@ +{"uprn": 100090075271, "roofs": [{"description": {"value": "Pitched, 270 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Cavity wall, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Solid, limited insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 33% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "PE7 1NT", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2015-02-12 18:02:21.000000", "door_count": 1, "glazed_area": 1, "glazing_gap": "16+", "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 1, "main_heating_data_source": 1, "main_heating_index_number": 16006}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-877703f73993", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2015-02-12", "inspection_date": "2015-02-12", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 56, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 3, "pvc_window_frames": "true", "registration_date": "2015-02-12", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.39, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 27.78, "quantity": "square metres"}, "party_wall_length": {"value": 14.32, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 7.76, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.3, "quantity": "metres"}, "total_floor_area": {"value": 27.78, "quantity": "square metres"}, "party_wall_length": {"value": 14.32, "quantity": "metres"}, "heat_loss_perimeter": {"value": 7.76, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "I", "party_wall_construction": 3, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "270mm", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 33, "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 312, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 1.9, "energy_rating_average": 60, "energy_rating_current": 73, "lighting_cost_current": {"value": 68, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, TRVs and bypass", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 302, "currency": "GBP"}, "hot_water_cost_current": {"value": 123, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 23, "currency": "GBP"}, "indicative_cost": "\u00a320", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 75}, {"sequence": 2, "typical_saving": {"value": 22, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 77}, {"sequence": 3, "typical_saving": {"value": 41, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 80}, {"sequence": 4, "typical_saving": {"value": 271, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 90, "environmental_impact_rating": 91}], "co2_emissions_potential": 0.5, "energy_rating_potential": 90, "lighting_cost_potential": {"value": 41, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 73, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2349, "space_heating_existing_dwelling": 3556}, "energy_consumption_current": 192, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.0.0.0", "energy_consumption_potential": 49, "environmental_impact_current": 74, "fixed_lighting_outlets_count": 6, "current_energy_efficiency_band": "C", "environmental_impact_potential": 91, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 34, "low_energy_fixed_lighting_outlets_count": 2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-927d8fb46c85.json b/tests/fixtures/epc_prediction/PE71NT/cert-927d8fb46c85.json new file mode 100644 index 00000000..296eac5a --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-927d8fb46c85.json @@ -0,0 +1 @@ +{"uprn": 100090075242, "roofs": [{"description": "Pitched, 75 mm loft insulation", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "lighting": {"description": "Low energy lighting in 25% of fixed outlets", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "PE7 1NT", "hot_water": {"description": "From main system", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 3, "created_at": "2014-03-21 14:27:04.000000", "door_count": 1, "glazed_area": 1, "region_code": 2, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 111, "main_heating_data_source": 2}], "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 25}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.3", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "End-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-ec175794d321", "address_line_2": "", "schema_version": "LIG-16.1", "assessment_type": "RdSAP", "completion_date": "2014-03-21", "inspection_date": "2014-03-18", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 56, "transaction_type": 8, "conservatory_type": 2, "heated_room_count": 3, "registration_date": "2014-03-21", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.38, "floor_insulation": 1, "total_floor_area": 28.88, "floor_construction": 1, "heat_loss_perimeter": 17.31}, {"floor": 1, "room_height": 2.31, "total_floor_area": 27.59, "heat_loss_perimeter": 14.87}], "wall_insulation_type": 4, "construction_age_band": "H", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "75mm"}], "low_energy_lighting": 25, "solar_water_heating": "N", "bedf_revision_number": 354, "habitable_room_count": 3, "heating_cost_current": {"value": 506, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.0, "energy_rating_average": 60, "energy_rating_current": 60, "lighting_cost_current": {"value": 63, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, TRVs and bypass", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 353, "currency": "GBP"}, "hot_water_cost_current": {"value": 164, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 25, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 61, "environmental_impact_rating": 60}, {"sequence": 2, "typical_saving": {"value": 47, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W", "improvement_details": {"improvement_number": 47}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 64}, {"sequence": 3, "typical_saving": {"value": 11, "currency": "GBP"}, "indicative_cost": "\u00a315 - \u00a330", "improvement_type": "C", "improvement_details": {"improvement_number": 3}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 65}, {"sequence": 4, "typical_saving": {"value": 22, "currency": "GBP"}, "indicative_cost": "\u00a330", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 66}, {"sequence": 5, "typical_saving": {"value": 39, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 68}, {"sequence": 6, "typical_saving": {"value": 99, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 75}, {"sequence": 7, "typical_saving": {"value": 34, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 78}, {"sequence": 8, "typical_saving": {"value": 253, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 88, "environmental_impact_rating": 90}, {"sequence": 9, "typical_saving": {"value": 20, "currency": "GBP"}, "indicative_cost": "\u00a31,500 - \u00a34,000", "improvement_type": "V", "improvement_details": {"improvement_number": 44}, "improvement_category": 5, "energy_performance_rating": 89, "environmental_impact_rating": 91}], "co2_emissions_potential": 0.6, "energy_rating_potential": 89, "lighting_cost_potential": {"value": 36, "currency": "GBP"}, "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 23, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 72, "environmental_impact_rating": 93}, {"sequence": 2, "typical_saving": {"value": 103, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 74, "environmental_impact_rating": 76}, {"sequence": 3, "typical_saving": {"value": 82, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 72, "environmental_impact_rating": 72}], "hot_water_cost_potential": {"value": 67, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2513, "impact_of_loft_insulation": -426, "space_heating_existing_dwelling": 6004}, "seller_commission_report": "Y", "energy_consumption_current": 281, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": 8.3, "energy_consumption_potential": 52, "environmental_impact_current": 59, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "D", "environmental_impact_potential": 91, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 54, "low_energy_fixed_lighting_outlets_count": 2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-930bb8ec03a9.json b/tests/fixtures/epc_prediction/PE71NT/cert-930bb8ec03a9.json new file mode 100644 index 00000000..cfa3f42c --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-930bb8ec03a9.json @@ -0,0 +1 @@ +{"uprn": 100090075273, "roofs": [{"description": "Pitched, 150 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, limited insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "lighting": {"description": "Low energy lighting in 57% of fixed outlets", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "PE7 1NT", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2014-10-20 20:40:46.000000", "door_count": 1, "glazed_area": 1, "region_code": 2, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "boiler_index_number": 16453, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "main_heating_data_source": 1}], "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.3", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-85c2604a29e0", "address_line_2": "", "schema_version": "LIG-16.1", "assessment_type": "RdSAP", "completion_date": "2014-10-20", "inspection_date": "2014-10-20", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 55, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 3, "registration_date": "2014-10-20", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 3, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.37, "floor_insulation": 1, "total_floor_area": 27.39, "floor_construction": 1, "heat_loss_perimeter": 7.64}, {"floor": 1, "room_height": 2.3, "total_floor_area": 27.39, "heat_loss_perimeter": 7.64}], "wall_insulation_type": 4, "construction_age_band": "I", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm"}], "low_energy_lighting": 57, "solar_water_heating": "N", "bedf_revision_number": 366, "habitable_room_count": 3, "heating_cost_current": {"value": 286, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 1.5, "energy_rating_average": 60, "energy_rating_current": 76, "lighting_cost_current": {"value": 56, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 290, "currency": "GBP"}, "hot_water_cost_current": {"value": 109, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 14.61, "currency": "GBP"}, "indicative_cost": "\u00a315", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 79}, {"sequence": 2, "typical_saving": {"value": 35.99, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 82}, {"sequence": 3, "typical_saving": {"value": 260.66, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 91, "environmental_impact_rating": 94}, {"sequence": 4, "typical_saving": {"value": 20.7, "currency": "GBP"}, "indicative_cost": "\u00a31,500 - \u00a34,000", "improvement_type": "V", "improvement_details": {"improvement_number": 44}, "improvement_category": 5, "energy_performance_rating": 92, "environmental_impact_rating": 95}], "co2_emissions_potential": 0.3, "energy_rating_potential": 92, "lighting_cost_potential": {"value": 39, "currency": "GBP"}, "hot_water_cost_potential": {"value": 72, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2276, "impact_of_loft_insulation": -177, "space_heating_existing_dwelling": 3301}, "seller_commission_report": "Y", "energy_consumption_current": 148, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.4.1.0", "energy_consumption_potential": 22, "environmental_impact_current": 79, "fixed_lighting_outlets_count": 7, "current_energy_efficiency_band": "C", "environmental_impact_potential": 95, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 28, "low_energy_fixed_lighting_outlets_count": 4} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-97d0dabaac20.json b/tests/fixtures/epc_prediction/PE71NT/cert-97d0dabaac20.json new file mode 100644 index 00000000..9d807578 --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-97d0dabaac20.json @@ -0,0 +1 @@ +{"uprn": 100090075244, "roofs": [{"description": {"value": "Pitched, 100 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": {"value": "Cavity wall, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PE7 1NT", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2019-09-21 12:12:55.000000", "door_count": 1, "glazed_area": 1, "glazing_gap": 12, "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17823}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.93, "schema_type": "RdSAP-Schema-18.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-d421b037e3cc", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2019-09-21", "inspection_date": "2019-09-21", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 57, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 3, "pvc_window_frames": "true", "registration_date": "2019-09-21", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.3, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 29.08, "quantity": "square metres"}, "party_wall_length": {"value": 14.4, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 9.8, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.3, "quantity": "metres"}, "total_floor_area": {"value": 28.08, "quantity": "square metres"}, "party_wall_length": {"value": 14.4, "quantity": "metres"}, "heat_loss_perimeter": {"value": 7.8, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "G", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "100mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 330, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.0, "energy_rating_average": 60, "energy_rating_current": 73, "lighting_cost_current": {"value": 46, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 333, "currency": "GBP"}, "hot_water_cost_current": {"value": 113, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 39, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 76}, {"sequence": 2, "typical_saving": {"value": 322, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 88, "environmental_impact_rating": 87}], "co2_emissions_potential": 0.8, "energy_rating_potential": 88, "lighting_cost_potential": {"value": 46, "currency": "GBP"}, "schema_version_original": "LIG-18.0", "hot_water_cost_potential": {"value": 71, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2439, "impact_of_loft_insulation": -318, "space_heating_existing_dwelling": 4903}, "energy_consumption_current": 200, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.0.0", "energy_consumption_potential": 78, "environmental_impact_current": 73, "fixed_lighting_outlets_count": 7, "windows_transmission_details": {"u_value": 2.8, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "C", "environmental_impact_potential": 87, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 35, "low_energy_fixed_lighting_outlets_count": 7} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-99a1e6622b01.json b/tests/fixtures/epc_prediction/PE71NT/cert-99a1e6622b01.json new file mode 100644 index 00000000..f227d097 --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-99a1e6622b01.json @@ -0,0 +1 @@ +{"uprn": 100090075255, "roofs": [{"description": "Pitched, 270 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in 63% of fixed outlets", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "PE7 1NT", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 3, "created_at": "2021-04-07 16:51:02.165197", "door_count": 1, "glazed_area": 1, "glazing_gap": "16+", "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10163}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 25}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "End-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-57521446c7ea", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2021-04-07", "inspection_date": "2021-04-07", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 57, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 3, "pvc_window_frames": "true", "registration_date": "2021-04-07", "sap_energy_source": {"mains_gas": "Y", "meter_type": 1, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 260, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.38, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 29.34, "quantity": "square metres"}, "party_wall_length": {"value": 7.22, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 17.42, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.32, "quantity": "metres"}, "total_floor_area": {"value": 28.01, "quantity": "square metres"}, "party_wall_length": {"value": 7.22, "quantity": "metres"}, "heat_loss_perimeter": {"value": 14.98, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "270mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 63, "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 425, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.6, "energy_rating_average": 60, "energy_rating_current": 66, "lighting_cost_current": {"value": 76, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, TRVs and bypass", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 355, "currency": "GBP"}, "hot_water_cost_current": {"value": 131, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 22, "currency": "GBP"}, "indicative_cost": "\u00a3300 - \u00a3600", "improvement_type": "B4", "improvement_details": {"improvement_number": 63}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 66}, {"sequence": 2, "typical_saving": {"value": 34, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 68}, {"sequence": 3, "typical_saving": {"value": 19, "currency": "GBP"}, "indicative_cost": "\u00a315", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 69}, {"sequence": 4, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 71}, {"sequence": 5, "typical_saving": {"value": 44, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 74}, {"sequence": 6, "typical_saving": {"value": 365, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 86}], "co2_emissions_potential": 0.9, "energy_rating_potential": 87, "lighting_cost_potential": {"value": 55, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 42, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 69, "environmental_impact_rating": 69}}], "hot_water_cost_potential": {"value": 74, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2587, "space_heating_existing_dwelling": 6124}, "energy_consumption_current": 261, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.07r0002", "energy_consumption_potential": 87, "environmental_impact_current": 64, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "D", "environmental_impact_potential": 86, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 46, "low_energy_fixed_lighting_outlets_count": 5} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-a84d17d26bad.json b/tests/fixtures/epc_prediction/PE71NT/cert-a84d17d26bad.json new file mode 100644 index 00000000..758a0c7b --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-a84d17d26bad.json @@ -0,0 +1 @@ +{"uprn": 100090075289, "roofs": [{"description": "Pitched, 150 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in 90% of fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PE7 1NT", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2023-08-23 14:24:25", "door_count": 1, "glazed_area": 1, "glazing_gap": 12, "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 15017}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-c864570211c6", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2023-08-23", "inspection_date": "2023-08-23", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 66, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2023-08-23", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 260, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.38, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 33.04, "quantity": "square metres"}, "party_wall_length": {"value": 6.77, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 17.67, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.3, "quantity": "metres"}, "total_floor_area": {"value": 33.04, "quantity": "square metres"}, "party_wall_length": {"value": 6.77, "quantity": "metres"}, "heat_loss_perimeter": {"value": 17.67, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 90, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 958, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.6, "energy_rating_average": 60, "energy_rating_current": 70, "lighting_cost_current": {"value": 121, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 883, "currency": "GBP"}, "hot_water_cost_current": {"value": 307, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 81, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 70}, {"sequence": 2, "typical_saving": {"value": 111, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 73}, {"sequence": 3, "typical_saving": {"value": 673, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 85, "environmental_impact_rating": 83}], "co2_emissions_potential": 1.2, "energy_rating_potential": 85, "lighting_cost_potential": {"value": 121, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 189, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2536, "impact_of_loft_insulation": -198, "space_heating_existing_dwelling": 6946}, "energy_consumption_current": 222, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.12r0003", "energy_consumption_potential": 101, "environmental_impact_current": 68, "fixed_lighting_outlets_count": 10, "current_energy_efficiency_band": "C", "environmental_impact_potential": 83, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 39, "low_energy_fixed_lighting_outlets_count": 9} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-b45627ecc223.json b/tests/fixtures/epc_prediction/PE71NT/cert-b45627ecc223.json new file mode 100644 index 00000000..3a5f9d2d --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-b45627ecc223.json @@ -0,0 +1 @@ +{"uprn": 100090075287, "roofs": [{"description": {"value": "Pitched, 100 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": {"value": "Cavity wall, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 88% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PE7 1NT", "hot_water": {"description": {"value": "From main system, no cylinder thermostat", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 2, "created_at": "2021-09-20 08:11:29.323567", "door_count": 1, "glazed_area": 1, "glazing_gap": 12, "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 1, "fan_flue_present": "N", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 114, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-5f86f641a468", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2021-09-20", "inspection_date": "2021-09-20", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 66, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2021-09-20", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 285, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.39, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 32.77, "quantity": "square metres"}, "party_wall_length": {"value": 6.87, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 16.41, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.38, "quantity": "metres"}, "total_floor_area": {"value": 32.77, "quantity": "square metres"}, "party_wall_length": {"value": 6.87, "quantity": "metres"}, "heat_loss_perimeter": {"value": 16.41, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "100mm", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 88, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 428, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.9, "energy_rating_average": 60, "energy_rating_current": 66, "lighting_cost_current": {"value": 64, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, TRVs and bypass", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 414, "currency": "GBP"}, "hot_water_cost_current": {"value": 160, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 30, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 65}, {"sequence": 2, "typical_saving": {"value": 64, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 70}, {"sequence": 3, "typical_saving": {"value": 350, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 83, "environmental_impact_rating": 81}], "co2_emissions_potential": 1.4, "energy_rating_potential": 83, "lighting_cost_potential": {"value": 64, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 80, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3166, "impact_of_loft_insulation": -340, "space_heating_existing_dwelling": 6417}, "energy_consumption_current": 254, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "v94.0.1.1", "energy_consumption_potential": 119, "environmental_impact_current": 63, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "D", "environmental_impact_potential": 81, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 45, "low_energy_fixed_lighting_outlets_count": 7} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-b7c9160cefd9.json b/tests/fixtures/epc_prediction/PE71NT/cert-b7c9160cefd9.json new file mode 100644 index 00000000..78463e4e --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-b7c9160cefd9.json @@ -0,0 +1 @@ +{"uprn": 100090075295, "roofs": [{"description": "Pitched, 200 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PE7 1NT", "hot_water": {"description": "From main system", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 2, "created_at": "2016-05-26 17:06:50", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 111, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-d62804cc97b8", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2016-05-26", "inspection_date": "2016-05-25", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 65, "transaction_type": 5, "conservatory_type": 2, "heated_room_count": 3, "pvc_window_frames": "true", "registration_date": "2016-05-26", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 2, "percent_roof_area": 35}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lzc_energy_sources": [11], "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.36, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 32.33, "quantity": "square metres"}, "party_wall_length": {"value": 6.75, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 16.23, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.34, "quantity": "metres"}, "total_floor_area": {"value": 32.33, "quantity": "square metres"}, "party_wall_length": {"value": 6.75, "quantity": "metres"}, "heat_loss_perimeter": {"value": 16.23, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 588, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.9, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 45, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, TRVs and bypass", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 424, "currency": "GBP"}, "hot_water_cost_current": {"value": 184, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 46, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 66}, {"sequence": 2, "typical_saving": {"value": 50, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 69}, {"sequence": 3, "typical_saving": {"value": 140, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 80, "environmental_impact_rating": 78}, {"sequence": 4, "typical_saving": {"value": 43, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 81, "environmental_impact_rating": 80}], "co2_emissions_potential": 1.5, "energy_rating_potential": 81, "lighting_cost_potential": {"value": 45, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 142, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 79, "environmental_impact_rating": 102}, {"sequence": 2, "typical_saving": {"value": 93, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 78, "environmental_impact_rating": 80}, {"sequence": 3, "typical_saving": {"value": 116, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 79, "environmental_impact_rating": 74}], "hot_water_cost_potential": {"value": 70, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2522, "space_heating_existing_dwelling": 6853}, "energy_consumption_current": 248, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.08r02", "energy_consumption_potential": 126, "environmental_impact_current": 63, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "C", "environmental_impact_potential": 80, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 44, "low_energy_fixed_lighting_outlets_count": 8} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-c86e5701dc90.json b/tests/fixtures/epc_prediction/PE71NT/cert-c86e5701dc90.json new file mode 100644 index 00000000..0add941e --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-c86e5701dc90.json @@ -0,0 +1 @@ +{"uprn": 100090075253, "roofs": [{"description": "Pitched, 100 mm loft insulation", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in 75% of fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PE7 1NT", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2022-01-18 14:46:29.015312", "door_count": 1, "glazed_area": 1, "glazing_gap": "16+", "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 18514}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-eaf3abb29e4e", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2022-01-18", "inspection_date": "2022-01-18", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 57, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 3, "pvc_window_frames": "true", "registration_date": "2022-01-18", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.37, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 27.94, "quantity": "square metres"}, "party_wall_length": {"value": 14.44, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 6.65, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.31, "quantity": "metres"}, "total_floor_area": {"value": 27.94, "quantity": "square metres"}, "party_wall_length": {"value": 14.44, "quantity": "metres"}, "heat_loss_perimeter": {"value": 7.74, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "100mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.37, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 1.33, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 3.53, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 75, "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 305, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 1.7, "energy_rating_average": 60, "energy_rating_current": 75, "lighting_cost_current": {"value": 64, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 305, "currency": "GBP"}, "hot_water_cost_current": {"value": 65, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 22, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 79}, {"sequence": 2, "typical_saving": {"value": 356, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 90, "environmental_impact_rating": 91}], "co2_emissions_potential": 0.6, "energy_rating_potential": 90, "lighting_cost_potential": {"value": 64, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 42, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1582, "impact_of_loft_insulation": -329, "space_heating_existing_dwelling": 4411}, "energy_consumption_current": 169, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.08r0002", "energy_consumption_potential": 54, "environmental_impact_current": 77, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "C", "environmental_impact_potential": 91, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 30, "low_energy_fixed_lighting_outlets_count": 6} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PE71NT/cert-d2364db0dfd0.json b/tests/fixtures/epc_prediction/PE71NT/cert-d2364db0dfd0.json new file mode 100644 index 00000000..17849a46 --- /dev/null +++ b/tests/fixtures/epc_prediction/PE71NT/cert-d2364db0dfd0.json @@ -0,0 +1 @@ +{"uprn": 100090075283, "roofs": [{"description": "Pitched, 75 mm loft insulation", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PE7 1NT", "hot_water": {"description": "From main system, no cylinder thermostat", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 4, "created_at": "2019-07-19 15:36:07.000000", "door_count": 2, "glazed_area": 1, "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 101, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 25}, "sap_version": 9.93, "schema_type": "RdSAP-Schema-18.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-a958c367372f", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2019-07-19", "inspection_date": "2019-07-19", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 57, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 3, "pvc_window_frames": "false", "registration_date": "2019-07-19", "sap_energy_source": {"mains_gas": "Y", "meter_type": 1, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 265, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.37, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 28.91, "quantity": "square metres"}, "party_wall_length": {"value": 14.32, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 10.14, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.32, "quantity": "metres"}, "total_floor_area": {"value": 27.71, "quantity": "square metres"}, "party_wall_length": {"value": 14.32, "quantity": "metres"}, "heat_loss_perimeter": {"value": 7.74, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "75mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 481, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.3, "energy_rating_average": 60, "energy_rating_current": 60, "lighting_cost_current": {"value": 50, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and room thermostat", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 323, "currency": "GBP"}, "hot_water_cost_current": {"value": 200, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 25, "currency": "GBP"}, "indicative_cost": 350, "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 61, "environmental_impact_rating": 57}, {"sequence": 2, "typical_saving": {"value": 56, "currency": "GBP"}, "indicative_cost": 600, "improvement_type": "B4", "improvement_details": {"improvement_number": 63}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 61}, {"sequence": 3, "typical_saving": {"value": 24, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 63}, {"sequence": 4, "typical_saving": {"value": 13, "currency": "GBP"}, "indicative_cost": 30, "improvement_type": "C", "improvement_details": {"improvement_number": 3}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 64}, {"sequence": 5, "typical_saving": {"value": 52, "currency": "GBP"}, "indicative_cost": 400, "improvement_type": "F", "improvement_details": {"improvement_number": 4}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 68}, {"sequence": 6, "typical_saving": {"value": 88, "currency": "GBP"}, "indicative_cost": "3,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 74}, {"sequence": 7, "typical_saving": {"value": 35, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 77}, {"sequence": 8, "typical_saving": {"value": 339, "currency": "GBP"}, "indicative_cost": "5,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 89, "environmental_impact_rating": 89}], "co2_emissions_potential": 0.7, "energy_rating_potential": 89, "lighting_cost_potential": {"value": 50, "currency": "GBP"}, "schema_version_original": "LIG-18.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 23, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 65, "environmental_impact_rating": 63}, {"sequence": 2, "typical_saving": {"value": 77, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 74, "environmental_impact_rating": 95}, {"sequence": 3, "typical_saving": {"value": 77, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 72, "environmental_impact_rating": 69}], "hot_water_cost_potential": {"value": 64, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3257, "impact_of_loft_insulation": -445, "space_heating_existing_dwelling": 6328}, "energy_consumption_current": 330, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "3.10r02", "energy_consumption_potential": 67, "environmental_impact_current": 55, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "D", "environmental_impact_potential": 89, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 58, "low_energy_fixed_lighting_outlets_count": 8} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-0073289bd539.json b/tests/fixtures/epc_prediction/PL36BL/cert-0073289bd539.json new file mode 100644 index 00000000..cff016c5 --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-0073289bd539.json @@ -0,0 +1 @@ +{"uprn": 100040471327, "roofs": [{"description": "Pitched, 200 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Flat, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Granite or whinstone, with internal insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, insulated", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "addendum": {"addendum_numbers": [8]}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PL3 6BL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2023-05-18 15:31:52", "door_count": 2, "glazed_area": 1, "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 9, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2110, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 18514}], "immersion_heating_type": "NA", "secondary_heating_type": 633, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-ffc9af33b304", "assessment_type": "RdSAP", "completion_date": "2023-05-18", "inspection_date": "2023-05-18", "extensions_count": 2, "measurement_type": 1, "total_floor_area": 95, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2023-05-18", "sap_energy_source": {"mains_gas": "Y", "meter_type": 3, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 2, "percent_roof_area": 38}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, dual fuel (mineral and wood)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lzc_energy_sources": [11], "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 360, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 1, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.78, "quantity": "metres"}, "floor_insulation": 2, "total_floor_area": {"value": 34.26, "quantity": "square metres"}, "party_wall_length": {"value": 7.82, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 12.8, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.51, "quantity": "metres"}, "total_floor_area": {"value": 33, "quantity": "square metres"}, "party_wall_length": {"value": 3.91, "quantity": "metres"}, "heat_loss_perimeter": {"value": 16.15, "quantity": "metres"}}], "wall_insulation_type": 3, "construction_age_band": "B", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "100mm", "floor_insulation_thickness": "100mm"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 310, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 1, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.38, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 12.07, "quantity": "square metres"}, "party_wall_length": {"value": 3.03, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 4.04, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.52, "quantity": "metres"}, "total_floor_area": {"value": 12.07, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "heat_loss_perimeter": {"value": 10.7, "quantity": "metres"}}], "wall_insulation_type": 3, "construction_age_band": "B", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "100mm", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "wall_thickness": 310, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 1, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.38, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 3.95, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 6.41, "quantity": "metres"}}], "wall_insulation_type": 3, "construction_age_band": "B", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "100mm", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1144, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 1.9, "energy_rating_average": 60, "energy_rating_current": 82, "lighting_cost_current": {"value": 146, "currency": "GBP"}, "main_heating_controls": [{"description": "Time and temperature zone control", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "multiple_glazing_type": 2, "open_fireplaces_count": 1, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 1014, "currency": "GBP"}, "hot_water_cost_current": {"value": 207, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 130, "currency": "GBP"}, "indicative_cost": "\u00a3850 - \u00a31,500", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 84, "environmental_impact_rating": 81}, {"sequence": 2, "typical_saving": {"value": 78, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 85, "environmental_impact_rating": 83}], "co2_emissions_potential": 1.4, "energy_rating_potential": 85, "lighting_cost_potential": {"value": 146, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 129, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1893, "space_heating_existing_dwelling": 8694}, "energy_consumption_current": 106, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.11r0005", "energy_consumption_potential": 78, "environmental_impact_current": 78, "fixed_lighting_outlets_count": 24, "current_energy_efficiency_band": "B", "environmental_impact_potential": 83, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 20, "low_energy_fixed_lighting_outlets_count": 24} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-0b44fb2b512e.json b/tests/fixtures/epc_prediction/PL36BL/cert-0b44fb2b512e.json new file mode 100644 index 00000000..55c22ef8 --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-0b44fb2b512e.json @@ -0,0 +1 @@ +{"uprn": 100040471338, "roofs": [{"description": {"value": "Pitched, 300 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, {"description": {"value": "Pitched, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Cavity wall, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PL3 6BL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2024-03-11 11:48:40", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 9, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 16839}], "immersion_heating_type": "NA", "secondary_heating_type": 631, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-376b15e22ac6", "assessment_type": "RdSAP", "completion_date": "2024-03-11", "inspection_date": "2024-03-11", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 85, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2024-03-11", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, dual fuel (mineral and wood)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 240, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.44, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 37.96, "quantity": "square metres"}, "party_wall_length": {"value": 15.56, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 7.21, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.42, "quantity": "metres"}, "total_floor_area": {"value": 37.96, "quantity": "square metres"}, "party_wall_length": {"value": 15.56, "quantity": "metres"}, "heat_loss_perimeter": {"value": 9.76, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 320, "floor_heat_loss": 7, "roof_construction": 8, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.38, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 9.18, "quantity": "square metres"}, "party_wall_length": {"value": 3.6, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 6.15, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 7, "wall_insulation_thickness": "NI", "sloping_ceiling_insulation_thickness": "AB"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 1082, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.2, "energy_rating_average": 60, "energy_rating_current": 67, "lighting_cost_current": {"value": 113, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 1, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 873, "currency": "GBP"}, "hot_water_cost_current": {"value": 163, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 144, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 68}, {"sequence": 2, "typical_saving": {"value": 65, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 69}, {"sequence": 3, "typical_saving": {"value": 59, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 71}, {"sequence": 4, "typical_saving": {"value": 602, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 83, "environmental_impact_rating": 81}], "co2_emissions_potential": 1.5, "energy_rating_potential": 83, "lighting_cost_potential": {"value": 113, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 104, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1907, "impact_of_solid_wall_insulation": -1360, "space_heating_existing_dwelling": 8711}, "energy_consumption_current": 207, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "v94.0.1.1", "energy_consumption_potential": 89, "environmental_impact_current": 63, "fixed_lighting_outlets_count": 19, "current_energy_efficiency_band": "D", "environmental_impact_potential": 81, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 38, "low_energy_fixed_lighting_outlets_count": 19} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-13ca8619948b.json b/tests/fixtures/epc_prediction/PL36BL/cert-13ca8619948b.json new file mode 100644 index 00000000..3941dae0 --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-13ca8619948b.json @@ -0,0 +1 @@ +{"uprn": 100040471402, "roofs": [{"description": {"value": "Pitched, 200 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": {"value": "Pitched, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Mostly double glazing", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PL3 6BL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2020-09-18 10:55:09.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": 12, "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17038}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-19.0", "uprn_source": "Address Matched", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-f3132efbeedb", "assessment_type": "RdSAP", "completion_date": "2020-09-18", "inspection_date": "2020-09-17", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 84, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2020-09-18", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "Y", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 35.7, "quantity": "square metres"}, "party_wall_length": {"value": 15.3, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 5.4, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 35.1, "quantity": "square metres"}, "party_wall_length": {"value": 15.2, "quantity": "metres"}, "heat_loss_perimeter": {"value": 9.2, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension", "wall_dry_lined": "N", "wall_thickness": 210, "floor_heat_loss": 7, "roof_construction": 8, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 12.9, "quantity": "square metres"}, "party_wall_length": {"value": 3.2, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 7.8, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 7, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "sloping_ceiling_insulation_thickness": "AB"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 544, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.0, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 67, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, TRVs and bypass", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 406, "currency": "GBP"}, "hot_water_cost_current": {"value": 82, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 88, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 57, "currency": "GBP"}, "indicative_cost": "\u00a3850 - \u00a31,500", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 69}, {"sequence": 2, "typical_saving": {"value": 80, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 74}, {"sequence": 3, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 76}, {"sequence": 4, "typical_saving": {"value": 362, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 85}], "co2_emissions_potential": 1.1, "energy_rating_potential": 86, "lighting_cost_potential": {"value": 67, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 53, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1853, "impact_of_solid_wall_insulation": -1649, "space_heating_existing_dwelling": 8954}, "energy_consumption_current": 204, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 88, "calculation_software_version": "2.1.1.0", "energy_consumption_potential": 70, "environmental_impact_current": 65, "fixed_lighting_outlets_count": 9, "windows_transmission_details": {"u_value": 2.8, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "C", "environmental_impact_potential": 85, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 36, "low_energy_fixed_lighting_outlets_count": 9} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-2cfdb30266e5.json b/tests/fixtures/epc_prediction/PL36BL/cert-2cfdb30266e5.json new file mode 100644 index 00000000..000f966c --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-2cfdb30266e5.json @@ -0,0 +1 @@ +{"uprn": 100040471409, "roofs": [{"description": "Pitched, 300 mm loft insulation", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, {"description": "Flat, insulated (assumed)", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PL3 6BL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2022-05-26 21:45:19.943312", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17985}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-26ea8ffc3ac1", "assessment_type": "RdSAP", "completion_date": "2022-05-26", "inspection_date": "2022-05-26", "extensions_count": 2, "measurement_type": 1, "total_floor_area": 89, "transaction_type": 2, "conservatory_type": 1, "heated_room_count": 3, "pvc_window_frames": "true", "registration_date": "2022-05-26", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "Y", "wall_thickness": 290, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.77, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 36, "quantity": "square metres"}, "party_wall_length": {"value": 15, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 4.62, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.64, "quantity": "metres"}, "total_floor_area": {"value": 36, "quantity": "square metres"}, "party_wall_length": {"value": 15, "quantity": "metres"}, "heat_loss_perimeter": {"value": 7, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.27, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 7.54, "quantity": "square metres"}, "party_wall_length": {"value": 2.9, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 5.5, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.31, "quantity": "metres"}, "total_floor_area": {"value": 7.54, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "heat_loss_perimeter": {"value": 8.4, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "G", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}, {"identifier": "Extension 2", "wall_dry_lined": "Y", "wall_thickness": 290, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.77, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 1.45, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 3.25, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 441, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.7, "energy_rating_average": 60, "energy_rating_current": 73, "lighting_cost_current": {"value": 73, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 400, "currency": "GBP"}, "hot_water_cost_current": {"value": 87, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 41, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 73}, {"sequence": 2, "typical_saving": {"value": 26, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 75}, {"sequence": 3, "typical_saving": {"value": 376, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 84}], "co2_emissions_potential": 1.2, "energy_rating_potential": 86, "lighting_cost_potential": {"value": 73, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 61, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2127, "impact_of_loft_insulation": -128, "impact_of_solid_wall_insulation": -1020, "space_heating_existing_dwelling": 7819}, "energy_consumption_current": 171, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.09r0002", "energy_consumption_potential": 76, "environmental_impact_current": 70, "fixed_lighting_outlets_count": 11, "current_energy_efficiency_band": "C", "environmental_impact_potential": 84, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 30, "low_energy_fixed_lighting_outlets_count": 11} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-39d5c1b47fad.json b/tests/fixtures/epc_prediction/PL36BL/cert-39d5c1b47fad.json new file mode 100644 index 00000000..e1f3aecd --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-39d5c1b47fad.json @@ -0,0 +1 @@ +{"uprn": 100040471356, "roofs": [{"description": "Pitched, 75 mm loft insulation", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, {"description": "Pitched, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PL3 6BL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2020-12-03 14:05:45.906167", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10242}], "immersion_heating_type": "NA", "secondary_heating_type": 605, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-3064006261b3", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2020-12-03", "inspection_date": "2020-12-03", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 80, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2020-12-03", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 33.39, "quantity": "square metres"}, "party_wall_length": {"value": 13.2, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 8.7, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.5, "quantity": "metres"}, "total_floor_area": {"value": 31.68, "quantity": "square metres"}, "party_wall_length": {"value": 13.2, "quantity": "metres"}, "heat_loss_perimeter": {"value": 6.9, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "75mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 7.56, "quantity": "square metres"}, "party_wall_length": {"value": 2.8, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 5.5, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.5, "quantity": "metres"}, "total_floor_area": {"value": 7.56, "quantity": "square metres"}, "party_wall_length": {"value": 2.8, "quantity": "metres"}, "heat_loss_perimeter": {"value": 5.5, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 694, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.9, "energy_rating_average": 60, "energy_rating_current": 60, "lighting_cost_current": {"value": 65, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 2, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 559, "currency": "GBP"}, "hot_water_cost_current": {"value": 98, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 68, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 58}, {"sequence": 2, "typical_saving": {"value": 37, "currency": "GBP"}, "indicative_cost": "\u00a3300 - \u00a3600", "improvement_type": "B4", "improvement_details": {"improvement_number": 63}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 60}, {"sequence": 3, "typical_saving": {"value": 30, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 62}, {"sequence": 4, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 64}, {"sequence": 5, "typical_saving": {"value": 362, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 74}], "co2_emissions_potential": 2.0, "energy_rating_potential": 79, "lighting_cost_potential": {"value": 65, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 36, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 67, "environmental_impact_rating": 63}}], "hot_water_cost_potential": {"value": 69, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2206, "impact_of_loft_insulation": -954, "impact_of_cavity_insulation": -1404, "space_heating_existing_dwelling": 11580}, "energy_consumption_current": 278, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.06r0007", "energy_consumption_potential": 139, "environmental_impact_current": 54, "fixed_lighting_outlets_count": 9, "current_energy_efficiency_band": "D", "environmental_impact_potential": 74, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 49, "low_energy_fixed_lighting_outlets_count": 9} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-407fc878c72c.json b/tests/fixtures/epc_prediction/PL36BL/cert-407fc878c72c.json new file mode 100644 index 00000000..7a89f379 --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-407fc878c72c.json @@ -0,0 +1 @@ +{"uprn": 10000796837, "roofs": [{"description": {"value": "Pitched, 12 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Cavity wall, as built, partial insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": {"value": "No low energy lighting", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "postcode": "PL3 6BL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 4, "created_at": "2019-11-15 17:53:21.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": 12, "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 118, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "secondary_heating_type": 691, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-19.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-39ef3c969601", "assessment_type": "RdSAP", "completion_date": "2019-11-15", "inspection_date": "2019-11-15", "extensions_count": 0, "measurement_type": 2, "total_floor_area": 99, "transaction_type": 9, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2019-11-15", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 310, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 58, "quantity": "square metres"}, "party_wall_length": {"value": 16, "quantity": "metres"}, "floor_construction": 3, "heat_loss_perimeter": {"value": 14, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.5, "quantity": "metres"}, "total_floor_area": {"value": 54, "quantity": "square metres"}, "party_wall_length": {"value": 14, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "F", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "12mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 0, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 917, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 5.2, "energy_rating_average": 60, "energy_rating_current": 52, "lighting_cost_current": {"value": 144, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 478, "currency": "GBP"}, "hot_water_cost_current": {"value": 141, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 80, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 186, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 60, "environmental_impact_rating": 55}, {"sequence": 2, "typical_saving": {"value": 74, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 59}, {"sequence": 3, "typical_saving": {"value": 67, "currency": "GBP"}, "indicative_cost": "\u00a3300 - \u00a3600", "improvement_type": "B4", "improvement_details": {"improvement_number": 63}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 63}, {"sequence": 4, "typical_saving": {"value": 41, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 65}, {"sequence": 5, "typical_saving": {"value": 59, "currency": "GBP"}, "indicative_cost": "\u00a350", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 66}, {"sequence": 6, "typical_saving": {"value": 121, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 73}, {"sequence": 7, "typical_saving": {"value": 33, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 75}, {"sequence": 8, "typical_saving": {"value": 340, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 84, "environmental_impact_rating": 83}], "co2_emissions_potential": 1.4, "energy_rating_potential": 84, "lighting_cost_potential": {"value": 72, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 13, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 66, "environmental_impact_rating": 63}, {"sequence": 2, "typical_saving": {"value": 87, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 73, "environmental_impact_rating": 92}, {"sequence": 3, "typical_saving": {"value": 38, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 75, "environmental_impact_rating": 78}, {"sequence": 4, "typical_saving": {"value": 219, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 76, "environmental_impact_rating": 72}], "hot_water_cost_potential": {"value": 70, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2232, "impact_of_loft_insulation": -2619, "impact_of_cavity_insulation": -1051, "space_heating_existing_dwelling": 11358}, "energy_consumption_current": 300, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.1.0", "energy_consumption_potential": 77, "environmental_impact_current": 47, "fixed_lighting_outlets_count": 10, "windows_transmission_details": {"u_value": 2.8, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "E", "environmental_impact_potential": 83, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 53, "low_energy_fixed_lighting_outlets_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-427bab8c0ce3.json b/tests/fixtures/epc_prediction/PL36BL/cert-427bab8c0ce3.json new file mode 100644 index 00000000..2d37b493 --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-427bab8c0ce3.json @@ -0,0 +1 @@ +{"uprn": 10000796838, "roofs": [{"description": {"value": "Pitched, 50 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "walls": [{"description": {"value": "Cavity wall, filled cavity", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 75% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PL3 6BL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 4, "created_at": "2021-05-17 13:29:03.849511", "door_count": 2, "glazed_area": 1, "glazing_gap": 12, "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 118, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-03d0c7182bda", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2021-05-17", "inspection_date": "2019-12-20", "extensions_count": 0, "measurement_type": 2, "total_floor_area": 88, "transaction_type": 9, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2021-05-17", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 310, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 52, "quantity": "square metres"}, "party_wall_length": {"value": 18, "quantity": "metres"}, "floor_construction": 3, "heat_loss_perimeter": {"value": 14, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.5, "quantity": "metres"}, "total_floor_area": {"value": 48, "quantity": "square metres"}, "party_wall_length": {"value": 16, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "F", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "50mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 75, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 625, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.9, "energy_rating_average": 60, "energy_rating_current": 63, "lighting_cost_current": {"value": 86, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 382, "currency": "GBP"}, "hot_water_cost_current": {"value": 139, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 80, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 57, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 60}, {"sequence": 2, "typical_saving": {"value": 64, "currency": "GBP"}, "indicative_cost": "\u00a3300 - \u00a3600", "improvement_type": "B4", "improvement_details": {"improvement_number": 63}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 64}, {"sequence": 3, "typical_saving": {"value": 35, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 66}, {"sequence": 4, "typical_saving": {"value": 125, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 74}, {"sequence": 5, "typical_saving": {"value": 33, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 76}, {"sequence": 6, "typical_saving": {"value": 354, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 85}], "co2_emissions_potential": 1.1, "energy_rating_potential": 86, "lighting_cost_potential": {"value": 86, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 95, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 74, "environmental_impact_rating": 95}, {"sequence": 2, "typical_saving": {"value": 137, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 75, "environmental_impact_rating": 71}], "hot_water_cost_potential": {"value": 69, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2169, "impact_of_loft_insulation": -947, "space_heating_existing_dwelling": 8532}, "energy_consumption_current": 250, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.0.1", "energy_consumption_potential": 69, "environmental_impact_current": 56, "fixed_lighting_outlets_count": 8, "windows_transmission_details": {"u_value": 2.8, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 85, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 44, "low_energy_fixed_lighting_outlets_count": 6} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-4c92c05a7872.json b/tests/fixtures/epc_prediction/PL36BL/cert-4c92c05a7872.json new file mode 100644 index 00000000..8309156e --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-4c92c05a7872.json @@ -0,0 +1 @@ +{"uprn": 100040471400, "roofs": [{"description": "Pitched, 200 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Pitched, no insulation", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "lighting": {"description": "Good lighting efficiency", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "PL3 6BL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 10:01:03", "door_count": 0, "region_code": 15, "report_type": 2, "sap_heating": {"number_baths": 0, "cylinder_size": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_outlet_type": 1}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 18219}], "immersion_heating_type": "NA", "secondary_heating_type": 612, "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 1, "window_width": 2.43, "window_height": 2.14, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 1, "window_width": 0.8, "window_height": 1.7, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 7, "window_type": 1, "glazing_type": 1, "window_width": 0.56, "window_height": 1.09, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 7, "window_type": 2, "glazing_type": 1, "window_width": 0.6, "window_height": 0.6, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 7, "window_type": 1, "glazing_type": 1, "window_width": 1.17, "window_height": 0.37, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 1, "window_width": 0.38, "window_height": 0.45, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 1, "window_width": 0.72, "window_height": 1.64, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 1, "window_width": 1.02, "window_height": 1.85, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 1, "window_width": 1, "window_height": 1.85, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 1, "window_width": 0.8, "window_height": 1.73, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Mid-terrace house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-e8a3a0574a67", "assessment_type": "RdSAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-13", "extensions_count": 1, "measurement_type": 2, "total_floor_area": 85, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2026-05-14", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "true"}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "extract_fans_count": 1, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.75, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 42.65, "quantity": "square metres"}, "party_wall_length": {"value": 16.22, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 7.14, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.66, "quantity": "metres"}, "total_floor_area": {"value": 41.36, "quantity": "square metres"}, "party_wall_length": {"value": 16.22, "quantity": "metres"}, "heat_loss_perimeter": {"value": 10.2, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 250, "floor_heat_loss": 7, "roof_construction": 8, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.19, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 12.62, "quantity": "square metres"}, "party_wall_length": {"value": 3.17, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 8.31, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 7, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "sloping_ceiling_insulation_thickness": "AB"}], "open_chimneys_count": 2, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1347, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.1, "energy_rating_average": 60, "energy_rating_current": 59, "lighting_cost_current": {"value": 60, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 957, "currency": "GBP"}, "hot_water_cost_current": {"value": 206, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 97, "currency": "GBP"}, "indicative_cost": "\u00a3900 - \u00a31,200", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 57}, {"sequence": 2, "typical_saving": {"value": 232, "currency": "GBP"}, "indicative_cost": "\u00a37,500 - \u00a311,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 65}, {"sequence": 3, "typical_saving": {"value": 60, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 67}, {"sequence": 4, "typical_saving": {"value": 225, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 68}], "co2_emissions_potential": 2.8, "energy_rating_potential": 73, "lighting_cost_potential": {"value": 60, "currency": "GBP"}, "schema_version_original": "21.0.1", "hot_water_cost_potential": {"value": 207, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2397.59, "space_heating_existing_dwelling": 10790.19}, "draughtproofed_door_count": 0, "energy_consumption_current": 262, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0344", "energy_consumption_potential": 177, "environmental_impact_current": 54, "cfl_fixed_lighting_bulbs_count": 4, "current_energy_efficiency_band": "D", "environmental_impact_potential": 68, "led_fixed_lighting_bulbs_count": 26, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 48, "incandescent_fixed_lighting_bulbs_count": 2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-55420d5fff65.json b/tests/fixtures/epc_prediction/PL36BL/cert-55420d5fff65.json new file mode 100644 index 00000000..d2b6874c --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-55420d5fff65.json @@ -0,0 +1 @@ +{"uprn": 10000796835, "roofs": [{"description": {"value": "Pitched, 50 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "walls": [{"description": {"value": "Cavity wall, filled cavity", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 80% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PL3 6BL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 4, "created_at": "2021-05-17 13:27:29.093070", "door_count": 2, "glazed_area": 1, "glazing_gap": 12, "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 118, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-0e5e1753c458", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2021-05-17", "inspection_date": "2019-12-20", "extensions_count": 0, "measurement_type": 2, "total_floor_area": 87, "transaction_type": 9, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2021-05-17", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 310, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 52, "quantity": "square metres"}, "party_wall_length": {"value": 18, "quantity": "metres"}, "floor_construction": 3, "heat_loss_perimeter": {"value": 15, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.5, "quantity": "metres"}, "total_floor_area": {"value": 48, "quantity": "square metres"}, "party_wall_length": {"value": 17, "quantity": "metres"}, "heat_loss_perimeter": {"value": 13, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "F", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "50mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 80, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 631, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.9, "energy_rating_average": 60, "energy_rating_current": 62, "lighting_cost_current": {"value": 82, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 386, "currency": "GBP"}, "hot_water_cost_current": {"value": 139, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 80, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 55, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 59}, {"sequence": 2, "typical_saving": {"value": 64, "currency": "GBP"}, "indicative_cost": "\u00a3300 - \u00a3600", "improvement_type": "B4", "improvement_details": {"improvement_number": 63}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 64}, {"sequence": 3, "typical_saving": {"value": 36, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 66}, {"sequence": 4, "typical_saving": {"value": 126, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 74}, {"sequence": 5, "typical_saving": {"value": 32, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 76}, {"sequence": 6, "typical_saving": {"value": 354, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 85}], "co2_emissions_potential": 1.1, "energy_rating_potential": 86, "lighting_cost_potential": {"value": 82, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 95, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 74, "environmental_impact_rating": 95}, {"sequence": 2, "typical_saving": {"value": 139, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 75, "environmental_impact_rating": 71}], "hot_water_cost_potential": {"value": 69, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2167, "impact_of_loft_insulation": -921, "space_heating_existing_dwelling": 8625}, "energy_consumption_current": 252, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.0.1", "energy_consumption_potential": 70, "environmental_impact_current": 56, "fixed_lighting_outlets_count": 10, "windows_transmission_details": {"u_value": 2.8, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 85, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 44, "low_energy_fixed_lighting_outlets_count": 8} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-57002765c222.json b/tests/fixtures/epc_prediction/PL36BL/cert-57002765c222.json new file mode 100644 index 00000000..21f97482 --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-57002765c222.json @@ -0,0 +1 @@ +{"uprn": 10000796833, "roofs": [{"description": {"value": "Pitched, 50 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "walls": [{"description": {"value": "Cavity wall, filled cavity", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 75% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PL3 6BL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 4, "created_at": "2021-05-17 13:18:59.587711", "door_count": 2, "glazed_area": 1, "glazing_gap": 12, "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 118, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-8e687c4c8329", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2021-05-17", "inspection_date": "2019-12-20", "extensions_count": 0, "measurement_type": 2, "total_floor_area": 76, "transaction_type": 9, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2021-05-17", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 310, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 46, "quantity": "square metres"}, "party_wall_length": {"value": 16, "quantity": "metres"}, "floor_construction": 3, "heat_loss_perimeter": {"value": 14, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.5, "quantity": "metres"}, "total_floor_area": {"value": 42, "quantity": "square metres"}, "party_wall_length": {"value": 14, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "F", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "50mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 75, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 572, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.5, "energy_rating_average": 60, "energy_rating_current": 62, "lighting_cost_current": {"value": 77, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 357, "currency": "GBP"}, "hot_water_cost_current": {"value": 133, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 80, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 49, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 60}, {"sequence": 2, "typical_saving": {"value": 55, "currency": "GBP"}, "indicative_cost": "\u00a3300 - \u00a3600", "improvement_type": "B4", "improvement_details": {"improvement_number": 63}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 64}, {"sequence": 3, "typical_saving": {"value": 34, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 66}, {"sequence": 4, "typical_saving": {"value": 114, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 74}, {"sequence": 5, "typical_saving": {"value": 31, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 76}, {"sequence": 6, "typical_saving": {"value": 354, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 86}], "co2_emissions_potential": 0.9, "energy_rating_potential": 87, "lighting_cost_potential": {"value": 77, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 92, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 74, "environmental_impact_rating": 95}, {"sequence": 2, "typical_saving": {"value": 115, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 74, "environmental_impact_rating": 70}], "hot_water_cost_potential": {"value": 65, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2072, "impact_of_loft_insulation": -815, "space_heating_existing_dwelling": 7654}, "energy_consumption_current": 261, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.0.1", "energy_consumption_potential": 66, "environmental_impact_current": 56, "fixed_lighting_outlets_count": 8, "windows_transmission_details": {"u_value": 2.8, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 86, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 46, "low_energy_fixed_lighting_outlets_count": 6} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-7748ba172c7d.json b/tests/fixtures/epc_prediction/PL36BL/cert-7748ba172c7d.json new file mode 100644 index 00000000..e40bb24d --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-7748ba172c7d.json @@ -0,0 +1 @@ +{"uprn": 100040471383, "roofs": [{"description": {"value": "Pitched, 50 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Mostly double glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PL3 6BL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2021-03-13 12:02:46.724783", "door_count": 2, "glazed_area": 1, "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17507}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-7d325926c33a", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2021-03-13", "inspection_date": "2021-03-13", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 85, "transaction_type": 1, "conservatory_type": 4, "heated_room_count": 5, "registration_date": "2021-03-13", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"floor_area": {"value": 4.1, "quantity": "square metres"}, "room_height": 1.5, "double_glazed": "Y", "glazed_perimeter": {"value": 2.1, "quantity": "metres"}}, {"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 220, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.6, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 35.9, "quantity": "square metres"}, "party_wall_length": {"value": 14.8, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 4.9, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.6, "quantity": "metres"}, "total_floor_area": {"value": 36, "quantity": "square metres"}, "party_wall_length": {"value": 14.7, "quantity": "metres"}, "heat_loss_perimeter": {"value": 9.8, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "50mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension", "wall_dry_lined": "Y", "wall_thickness": 340, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 8.6, "quantity": "square metres"}, "party_wall_length": {"value": 3.1, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 3.8, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "50mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 479, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.7, "energy_rating_average": 60, "energy_rating_current": 71, "lighting_cost_current": {"value": 68, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 378, "currency": "GBP"}, "hot_water_cost_current": {"value": 87, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 89, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 37, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 70}, {"sequence": 2, "typical_saving": {"value": 64, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 75}, {"sequence": 3, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 76}, {"sequence": 4, "typical_saving": {"value": 366, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 86}], "co2_emissions_potential": 1.0, "energy_rating_potential": 87, "lighting_cost_potential": {"value": 68, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 58, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1996, "impact_of_loft_insulation": -861, "impact_of_solid_wall_insulation": -1490, "space_heating_existing_dwelling": 8297}, "energy_consumption_current": 184, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 85, "calculation_software_version": "2.1.1.0", "energy_consumption_potential": 64, "environmental_impact_current": 68, "fixed_lighting_outlets_count": 9, "windows_transmission_details": {"u_value": 2, "data_source": 2, "solar_transmittance": 0.72}, "current_energy_efficiency_band": "C", "environmental_impact_potential": 86, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 32, "low_energy_fixed_lighting_outlets_count": 9} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-7857da83454e.json b/tests/fixtures/epc_prediction/PL36BL/cert-7857da83454e.json new file mode 100644 index 00000000..961fbef1 --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-7857da83454e.json @@ -0,0 +1 @@ +{"uprn": 100040471389, "roofs": [{"description": "Pitched, no insulation", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": "Pitched, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": "Timber frame, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PL3 6BL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2020-10-01 19:45:09.512664", "door_count": 1, "glazed_area": 1, "glazing_gap": "16+", "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 18218}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Address Matched", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-5c9ffe8708d9", "assessment_type": "RdSAP", "completion_date": "2020-10-01", "inspection_date": "2020-09-30", "extensions_count": 2, "measurement_type": 1, "total_floor_area": 84, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2020-10-01", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 350, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.7, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 36.61, "quantity": "square metres"}, "party_wall_length": {"value": 14.92, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 5.61, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.6, "quantity": "metres"}, "total_floor_area": {"value": 35.3, "quantity": "square metres"}, "party_wall_length": {"value": 14.92, "quantity": "metres"}, "heat_loss_perimeter": {"value": 9.46, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 5, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 200, "floor_heat_loss": 7, "roof_construction": 8, "wall_construction": 5, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 9.05, "quantity": "square metres"}, "party_wall_length": {"value": 3.09, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 4.27, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 7, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "sloping_ceiling_insulation_thickness": "AB"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "wall_thickness": 160, "floor_heat_loss": 7, "roof_construction": 8, "wall_construction": 3, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.7, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 3.1, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 3.52, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 7, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "sloping_ceiling_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 660, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.8, "energy_rating_average": 60, "energy_rating_current": 63, "lighting_cost_current": {"value": 67, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 416, "currency": "GBP"}, "hot_water_cost_current": {"value": 98, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 80, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 123, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 64}, {"sequence": 2, "typical_saving": {"value": 37, "currency": "GBP"}, "indicative_cost": "\u00a3850 - \u00a31,500", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 67}, {"sequence": 3, "typical_saving": {"value": 84, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 72}, {"sequence": 4, "typical_saving": {"value": 31, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 74}, {"sequence": 5, "typical_saving": {"value": 362, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 85, "environmental_impact_rating": 84}], "co2_emissions_potential": 1.2, "energy_rating_potential": 85, "lighting_cost_potential": {"value": 67, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 67, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2144, "impact_of_loft_insulation": -2822, "impact_of_solid_wall_insulation": -1864, "space_heating_existing_dwelling": 12325}, "energy_consumption_current": 253, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.06r0006", "energy_consumption_potential": 80, "environmental_impact_current": 56, "fixed_lighting_outlets_count": 14, "current_energy_efficiency_band": "D", "environmental_impact_potential": 84, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 45, "low_energy_fixed_lighting_outlets_count": 14} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-85ef6b6fb9d7.json b/tests/fixtures/epc_prediction/PL36BL/cert-85ef6b6fb9d7.json new file mode 100644 index 00000000..a5c0f625 --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-85ef6b6fb9d7.json @@ -0,0 +1 @@ +{"uprn": 100040471411, "roofs": [{"description": "Pitched, 75 mm loft insulation", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PL3 6BL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2024-10-29 13:51:54", "door_count": 2, "glazed_area": 1, "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 19018}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-2e445487644b", "assessment_type": "RdSAP", "completion_date": "2024-10-29", "inspection_date": "2024-10-21", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 87, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2024-10-29", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 230, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.74, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 43.79, "quantity": "square metres"}, "party_wall_length": {"value": 17.92, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 13.31, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.7, "quantity": "metres"}, "total_floor_area": {"value": 43.38, "quantity": "square metres"}, "party_wall_length": {"value": 17.92, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12.56, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "75mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 779, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.1, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 93, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 481, "currency": "GBP"}, "hot_water_cost_current": {"value": 141, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 38, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 67}, {"sequence": 2, "typical_saving": {"value": 197, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 75}, {"sequence": 3, "typical_saving": {"value": 63, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 78}, {"sequence": 4, "typical_saving": {"value": 46, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 80}, {"sequence": 5, "typical_saving": {"value": 485, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 89, "environmental_impact_rating": 89}], "co2_emissions_potential": 0.8, "energy_rating_potential": 89, "lighting_cost_potential": {"value": 93, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 95, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2112, "impact_of_loft_insulation": -571, "impact_of_solid_wall_insulation": -2996, "space_heating_existing_dwelling": 9499}, "energy_consumption_current": 199, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0002", "energy_consumption_potential": 49, "environmental_impact_current": 66, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "C", "environmental_impact_potential": 89, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 35, "low_energy_fixed_lighting_outlets_count": 8} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-886e9a131657.json b/tests/fixtures/epc_prediction/PL36BL/cert-886e9a131657.json new file mode 100644 index 00000000..6433c412 --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-886e9a131657.json @@ -0,0 +1 @@ +{"uprn": 100040471417, "roofs": [{"description": {"value": "Pitched, 200 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 78% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PL3 6BL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2022-10-05 10:05:19.027616", "door_count": 1, "glazed_area": 1, "glazing_gap": "16+", "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10108}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-452bd9047ec8", "assessment_type": "RdSAP", "completion_date": "2022-10-05", "inspection_date": "2022-10-05", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 91, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 3, "pvc_window_frames": "true", "registration_date": "2022-10-05", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Portable electric heaters (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 260, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.72, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 35.6, "quantity": "square metres"}, "party_wall_length": {"value": 7.5, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 14.6, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.71, "quantity": "metres"}, "total_floor_area": {"value": 34.5, "quantity": "square metres"}, "party_wall_length": {"value": 7.5, "quantity": "metres"}, "heat_loss_perimeter": {"value": 13.8, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension", "wall_dry_lined": "N", "wall_thickness": 260, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.39, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 10.44, "quantity": "square metres"}, "party_wall_length": {"value": 3.6, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 6.5, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 10.44, "quantity": "square metres"}, "party_wall_length": {"value": 3.6, "quantity": "metres"}, "heat_loss_perimeter": {"value": 6.5, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 78, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 813, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.3, "energy_rating_average": 60, "energy_rating_current": 57, "lighting_cost_current": {"value": 91, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 480, "currency": "GBP"}, "hot_water_cost_current": {"value": 110, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 279, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 68}, {"sequence": 2, "typical_saving": {"value": 53, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 71}, {"sequence": 3, "typical_saving": {"value": 30, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 72}, {"sequence": 4, "typical_saving": {"value": 376, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 82, "environmental_impact_rating": 81}], "co2_emissions_potential": 1.5, "energy_rating_potential": 82, "lighting_cost_potential": {"value": 91, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 81, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2504, "impact_of_solid_wall_insulation": -4921, "space_heating_existing_dwelling": 12059}, "energy_consumption_current": 269, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.1.0", "energy_consumption_potential": 91, "environmental_impact_current": 53, "fixed_lighting_outlets_count": 9, "windows_transmission_details": {"u_value": 2.6, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 81, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 47, "low_energy_fixed_lighting_outlets_count": 7} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-89e434c273da.json b/tests/fixtures/epc_prediction/PL36BL/cert-89e434c273da.json new file mode 100644 index 00000000..f74955f1 --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-89e434c273da.json @@ -0,0 +1 @@ +{"uprn": 10000796836, "roofs": [{"description": "Pitched, 200 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, partial insulation (assumed)", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Good lighting efficiency", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "PL3 6BL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2026-06-02 15:43:11", "door_count": 2, "region_code": 15, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_outlet_type": 2}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17959}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "glazing_gap": 12, "orientation": 3, "window_type": 1, "glazing_type": 3, "window_width": 0.41, "window_height": 0.91, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 1.31, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 0.64, "window_height": 0.76, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 1.11, "window_height": 1.13, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 1.32, "window_height": 1.13, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 0.64, "window_height": 1.11, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 1.31, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Mid-terrace house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-ced1d14e437b", "assessment_type": "RdSAP", "completion_date": "2026-06-02", "inspection_date": "2026-06-02", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 85, "transaction_type": 5, "conservatory_type": 1, "heated_room_count": 3, "registration_date": "2026-06-02", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "extract_fans_count": 3, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 320, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 40.42, "quantity": "square metres"}, "party_wall_length": {"value": 15.7, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 8.65, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.38, "quantity": "metres"}, "total_floor_area": {"value": 40.42, "quantity": "square metres"}, "party_wall_length": {"value": 15.7, "quantity": "metres"}, "heat_loss_perimeter": {"value": 10.3, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "F", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 320, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 4.04, "quantity": "square metres"}, "party_wall_length": {"value": 2.45, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 4.1, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "F", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 775, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.2, "energy_rating_average": 60, "energy_rating_current": 71, "lighting_cost_current": {"value": 65, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 704, "currency": "GBP"}, "hot_water_cost_current": {"value": 267, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 89, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 71, "currency": "GBP"}, "indicative_cost": "\u00a3900 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 77}, {"sequence": 2, "typical_saving": {"value": 243, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 78}], "co2_emissions_potential": 1.9, "energy_rating_potential": 78, "lighting_cost_potential": {"value": 65, "currency": "GBP"}, "schema_version_original": "21.0.1", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 41, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 74, "environmental_impact_rating": 78}], "hot_water_cost_potential": {"value": 267, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1734.73, "space_heating_existing_dwelling": 7551.25}, "draughtproofed_door_count": 1, "energy_consumption_current": 149, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0344", "energy_consumption_potential": 121, "environmental_impact_current": 75, "current_energy_efficiency_band": "C", "environmental_impact_potential": 78, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 26, "low_energy_fixed_lighting_bulbs_count": 10, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-9ba483c38571.json b/tests/fixtures/epc_prediction/PL36BL/cert-9ba483c38571.json new file mode 100644 index 00000000..67d805b8 --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-9ba483c38571.json @@ -0,0 +1 @@ +{"uprn": 100040471338, "roofs": [{"description": {"value": "Pitched, 100 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, {"description": {"value": "Pitched, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Cavity wall, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PL3 6BL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2023-11-13 14:25:27", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 9, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 16839}], "immersion_heating_type": "NA", "secondary_heating_type": 631, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-376b15e22ac6", "assessment_type": "RdSAP", "completion_date": "2023-11-13", "inspection_date": "2023-11-08", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 85, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2023-11-13", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, dual fuel (mineral and wood)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 240, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.44, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 37.96, "quantity": "square metres"}, "party_wall_length": {"value": 15.56, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 7.21, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.42, "quantity": "metres"}, "total_floor_area": {"value": 37.96, "quantity": "square metres"}, "party_wall_length": {"value": 15.56, "quantity": "metres"}, "heat_loss_perimeter": {"value": 9.76, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "100mm", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 320, "floor_heat_loss": 7, "roof_construction": 8, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.38, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 9.18, "quantity": "square metres"}, "party_wall_length": {"value": 3.6, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 6.15, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 7, "wall_insulation_thickness": "NI", "sloping_ceiling_insulation_thickness": "AB"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 1365, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.3, "energy_rating_average": 60, "energy_rating_current": 66, "lighting_cost_current": {"value": 134, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 1, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 1109, "currency": "GBP"}, "hot_water_cost_current": {"value": 219, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 177, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 66}, {"sequence": 2, "typical_saving": {"value": 79, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 68}, {"sequence": 3, "typical_saving": {"value": 82, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 70}, {"sequence": 4, "typical_saving": {"value": 711, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 82, "environmental_impact_rating": 79}], "co2_emissions_potential": 1.6, "energy_rating_potential": 82, "lighting_cost_potential": {"value": 134, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 138, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1907, "impact_of_loft_insulation": -349, "impact_of_solid_wall_insulation": -1359, "space_heating_existing_dwelling": 9089}, "energy_consumption_current": 214, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "v94.0.1.1", "energy_consumption_potential": 97, "environmental_impact_current": 62, "fixed_lighting_outlets_count": 19, "current_energy_efficiency_band": "D", "environmental_impact_potential": 79, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 39, "low_energy_fixed_lighting_outlets_count": 19} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-a59856f2585e.json b/tests/fixtures/epc_prediction/PL36BL/cert-a59856f2585e.json new file mode 100644 index 00000000..e2ed7843 --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-a59856f2585e.json @@ -0,0 +1 @@ +{"uprn": 100040471368, "roofs": [{"description": {"value": "Pitched, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 23% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "postcode": "PL3 6BL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2024-01-26 12:35:05", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10241}], "immersion_heating_type": "NA", "secondary_heating_type": 605, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-d26acc147f55", "assessment_type": "RdSAP", "completion_date": "2024-01-26", "inspection_date": "2024-01-26", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 80, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2024-01-26", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, mains gas", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.62, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 36.64, "quantity": "square metres"}, "party_wall_length": {"value": 15.02, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 7.69, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.6, "quantity": "metres"}, "total_floor_area": {"value": 36.16, "quantity": "square metres"}, "party_wall_length": {"value": 14.97, "quantity": "metres"}, "heat_loss_perimeter": {"value": 9.67, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 250, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.26, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 6.96, "quantity": "square metres"}, "party_wall_length": {"value": 2.73, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 5.33, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 23, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1222, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4, "energy_rating_average": 60, "energy_rating_current": 59, "lighting_cost_current": {"value": 190, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 996, "currency": "GBP"}, "hot_water_cost_current": {"value": 194, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 185, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 59}, {"sequence": 2, "typical_saving": {"value": 51, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 60}, {"sequence": 3, "typical_saving": {"value": 72, "currency": "GBP"}, "indicative_cost": "\u00a350", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 62}, {"sequence": 4, "typical_saving": {"value": 58, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 63}, {"sequence": 5, "typical_saving": {"value": 602, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 73}], "co2_emissions_potential": 2, "energy_rating_potential": 78, "lighting_cost_potential": {"value": 107, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 135, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2255, "impact_of_loft_insulation": -3360, "impact_of_solid_wall_insulation": -2197, "space_heating_existing_dwelling": 11199}, "energy_consumption_current": 283, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "v94.0.1.1", "energy_consumption_potential": 140, "environmental_impact_current": 53, "fixed_lighting_outlets_count": 13, "current_energy_efficiency_band": "D", "environmental_impact_potential": 73, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 50, "low_energy_fixed_lighting_outlets_count": 3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-b7159c96c56a.json b/tests/fixtures/epc_prediction/PL36BL/cert-b7159c96c56a.json new file mode 100644 index 00000000..b4c21f30 --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-b7159c96c56a.json @@ -0,0 +1 @@ +{"uprn": 10000796832, "roofs": [{"description": {"value": "Pitched, 50 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "walls": [{"description": {"value": "Cavity wall, filled cavity", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 75% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PL3 6BL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 4, "created_at": "2021-05-17 13:17:32.714500", "door_count": 2, "glazed_area": 1, "glazing_gap": 12, "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 118, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-37e5ac832ffc", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2021-05-17", "inspection_date": "2019-12-20", "extensions_count": 0, "measurement_type": 2, "total_floor_area": 88, "transaction_type": 9, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2021-05-17", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 310, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 52, "quantity": "square metres"}, "party_wall_length": {"value": 18, "quantity": "metres"}, "floor_construction": 3, "heat_loss_perimeter": {"value": 14, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.5, "quantity": "metres"}, "total_floor_area": {"value": 48, "quantity": "square metres"}, "party_wall_length": {"value": 16, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "F", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "50mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 75, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 625, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.9, "energy_rating_average": 60, "energy_rating_current": 63, "lighting_cost_current": {"value": 86, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 382, "currency": "GBP"}, "hot_water_cost_current": {"value": 139, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 80, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 57, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 60}, {"sequence": 2, "typical_saving": {"value": 64, "currency": "GBP"}, "indicative_cost": "\u00a3300 - \u00a3600", "improvement_type": "B4", "improvement_details": {"improvement_number": 63}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 64}, {"sequence": 3, "typical_saving": {"value": 35, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 66}, {"sequence": 4, "typical_saving": {"value": 125, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 74}, {"sequence": 5, "typical_saving": {"value": 33, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 76}, {"sequence": 6, "typical_saving": {"value": 354, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 85}], "co2_emissions_potential": 1.1, "energy_rating_potential": 86, "lighting_cost_potential": {"value": 86, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 95, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 74, "environmental_impact_rating": 95}, {"sequence": 2, "typical_saving": {"value": 137, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 75, "environmental_impact_rating": 71}], "hot_water_cost_potential": {"value": 69, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2169, "impact_of_loft_insulation": -947, "space_heating_existing_dwelling": 8532}, "energy_consumption_current": 250, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.0.1", "energy_consumption_potential": 69, "environmental_impact_current": 56, "fixed_lighting_outlets_count": 8, "windows_transmission_details": {"u_value": 2.8, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 85, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 44, "low_energy_fixed_lighting_outlets_count": 6} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-b84d67cbebb2.json b/tests/fixtures/epc_prediction/PL36BL/cert-b84d67cbebb2.json new file mode 100644 index 00000000..c1ed1af4 --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-b84d67cbebb2.json @@ -0,0 +1 @@ +{"uprn": 100040471329, "roofs": [{"description": "Pitched, 150 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Pitched, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PL3 6BL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2024-04-04 19:54:07", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 16848}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-a4a74761209e", "assessment_type": "RdSAP", "completion_date": "2024-04-04", "inspection_date": "2024-04-03", "extensions_count": 1, "measurement_type": 2, "total_floor_area": 79, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2024-04-04", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.75, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 42.08, "quantity": "square metres"}, "party_wall_length": {"value": 15.22, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 9.13, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.3, "quantity": "metres"}, "total_floor_area": {"value": 40.64, "quantity": "square metres"}, "party_wall_length": {"value": 11.61, "quantity": "metres"}, "heat_loss_perimeter": {"value": 14.29, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.3, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 6.8, "quantity": "square metres"}, "party_wall_length": {"value": 3.25, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 5.6, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 988, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.1, "energy_rating_average": 60, "energy_rating_current": 66, "lighting_cost_current": {"value": 106, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, TRVs and bypass", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 645, "currency": "GBP"}, "hot_water_cost_current": {"value": 189, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 246, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 71}, {"sequence": 2, "typical_saving": {"value": 56, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 72}, {"sequence": 3, "typical_saving": {"value": 40, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 74}, {"sequence": 4, "typical_saving": {"value": 63, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 76}, {"sequence": 5, "typical_saving": {"value": 602, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 85}], "co2_emissions_potential": 1.0, "energy_rating_potential": 87, "lighting_cost_potential": {"value": 106, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 128, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2125, "impact_of_loft_insulation": -664, "impact_of_solid_wall_insulation": -2829, "space_heating_existing_dwelling": 9143}, "energy_consumption_current": 227, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0001", "energy_consumption_potential": 69, "environmental_impact_current": 62, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "D", "environmental_impact_potential": 85, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 40, "low_energy_fixed_lighting_outlets_count": 8} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-be94d604163d.json b/tests/fixtures/epc_prediction/PL36BL/cert-be94d604163d.json new file mode 100644 index 00000000..0f78b276 --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-be94d604163d.json @@ -0,0 +1 @@ +{"uprn": 100040471385, "roofs": [{"description": "Pitched, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": "Roof room(s), no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Granite or whinstone, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"stone_walls": "true"}, "lighting": {"description": "No low energy lighting", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "postcode": "PL3 6BL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2021-08-11 14:56:40.253455", "door_count": 0, "glazed_area": 1, "glazing_gap": 12, "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 8216}], "immersion_heating_type": "NA", "secondary_heating_type": 691, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-7a9f4ba1e490", "assessment_type": "RdSAP", "completion_date": "2021-08-11", "inspection_date": "2021-08-11", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 111, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2021-08-11", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, electric", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 500, "floor_heat_loss": 7, "sap_room_in_roof": {"floor_area": 24.91, "insulation": "AB", "roof_room_connected": "N", "construction_age_band": "B"}, "roof_construction": 5, "wall_construction": 1, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.6, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 35.37, "quantity": "square metres"}, "party_wall_length": {"value": 14.4, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 8.8, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.6, "quantity": "metres"}, "total_floor_area": {"value": 33.84, "quantity": "square metres"}, "party_wall_length": {"value": 14.4, "quantity": "metres"}, "heat_loss_perimeter": {"value": 7, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 240, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 8.64, "quantity": "square metres"}, "party_wall_length": {"value": 3.6, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 6, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.5, "quantity": "metres"}, "total_floor_area": {"value": 8.64, "quantity": "square metres"}, "party_wall_length": {"value": 3.6, "quantity": "metres"}, "heat_loss_perimeter": {"value": 6, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 0, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1259, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 7.1, "energy_rating_average": 60, "energy_rating_current": 42, "lighting_cost_current": {"value": 168, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, TRVs and bypass", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 637, "currency": "GBP"}, "hot_water_cost_current": {"value": 178, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 335, "currency": "GBP"}, "indicative_cost": "\u00a31,500 - \u00a32,700", "improvement_type": "A3", "improvement_details": {"improvement_number": 46}, "improvement_category": 5, "energy_performance_rating": 54, "environmental_impact_rating": 49}, {"sequence": 2, "typical_saving": {"value": 226, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 58}, {"sequence": 3, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 60}, {"sequence": 4, "typical_saving": {"value": 72, "currency": "GBP"}, "indicative_cost": "\u00a350", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 61}, {"sequence": 5, "typical_saving": {"value": 31, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 63}, {"sequence": 6, "typical_saving": {"value": 92, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 68}, {"sequence": 7, "typical_saving": {"value": 31, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 70}, {"sequence": 8, "typical_saving": {"value": 370, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 80, "environmental_impact_rating": 77}], "co2_emissions_potential": 2.1, "energy_rating_potential": 80, "lighting_cost_potential": {"value": 84, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 290, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 74, "environmental_impact_rating": 69}}], "hot_water_cost_potential": {"value": 69, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3571, "impact_of_loft_insulation": -1400, "impact_of_solid_wall_insulation": -3196, "space_heating_existing_dwelling": 17425}, "energy_consumption_current": 362, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.07r0003", "energy_consumption_potential": 106, "environmental_impact_current": 38, "fixed_lighting_outlets_count": 10, "current_energy_efficiency_band": "E", "environmental_impact_potential": 77, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 64, "low_energy_fixed_lighting_outlets_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-c3b3c1b65da2.json b/tests/fixtures/epc_prediction/PL36BL/cert-c3b3c1b65da2.json new file mode 100644 index 00000000..9dfbd59c --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-c3b3c1b65da2.json @@ -0,0 +1 @@ +{"uprn": 100040471336, "roofs": [{"description": "Pitched, 150 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "lighting": {"description": "Excellent lighting efficiency", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PL3 6BL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2026-02-17 20:50:16", "door_count": 3, "region_code": 15, "report_type": 2, "sap_heating": {"number_baths": 0, "cylinder_size": 1, "shower_outlets": [{"shower_outlet": {"shower_wwhrs": 1, "shower_outlet_type": 2}}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 16839}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "glazing_gap": "16+", "orientation": 6, "window_type": 1, "glazing_type": 3, "window_width": 0.6, "window_height": 1.91, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 1.17, "window_height": 1.91, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 4, "window_type": 1, "glazing_type": 3, "window_width": 0.6, "window_height": 1.91, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 0.99, "window_height": 1.88, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 0.59, "window_height": 1.23, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 0.98, "window_height": 1.71, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 0.97, "window_height": 1.67, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 0.8, "window_height": 1.92, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Mid-terrace house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-0654b81f55f0", "assessment_type": "RdSAP", "completion_date": "2026-02-17", "inspection_date": "2026-02-17", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 77, "transaction_type": 1, "conservatory_type": 1, "has_draught_lobby": "true", "heated_room_count": 1, "registration_date": "2026-02-17", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "true"}, "secondary_heating": {"description": "Portable electric heaters (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "extract_fans_count": 1, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 350, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.72, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 39.32, "quantity": "square metres"}, "party_wall_length": {"value": 14.94, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 10.7, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.77, "quantity": "metres"}, "total_floor_area": {"value": 37.73, "quantity": "square metres"}, "party_wall_length": {"value": 14.94, "quantity": "metres"}, "heat_loss_perimeter": {"value": 10.1, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 854, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.1, "energy_rating_average": 60, "energy_rating_current": 66, "lighting_cost_current": {"value": 50, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 579, "currency": "GBP"}, "hot_water_cost_current": {"value": 286, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 170, "currency": "GBP"}, "indicative_cost": "\u00a37,500 - \u00a311,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 80}, {"sequence": 2, "typical_saving": {"value": 68, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 81}, {"sequence": 3, "typical_saving": {"value": 36, "currency": "GBP"}, "indicative_cost": "\u00a32,700 - \u00a33,600", "improvement_type": "X", "improvement_details": {"improvement_number": 48}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 83}, {"sequence": 4, "typical_saving": {"value": 254, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 84}], "co2_emissions_potential": 1.3, "energy_rating_potential": 78, "lighting_cost_potential": {"value": 50, "currency": "GBP"}, "schema_version_original": "21.0.1", "hot_water_cost_potential": {"value": 286, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1712.68, "space_heating_existing_dwelling": 7421.09}, "draughtproofed_door_count": 3, "energy_consumption_current": 163, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0332", "energy_consumption_potential": 97, "environmental_impact_current": 74, "current_energy_efficiency_band": "D", "environmental_impact_potential": 84, "led_fixed_lighting_bulbs_count": 28, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 27, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-d143c59c1539.json b/tests/fixtures/epc_prediction/PL36BL/cert-d143c59c1539.json new file mode 100644 index 00000000..b7d98871 --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-d143c59c1539.json @@ -0,0 +1 @@ +{"uprn": 100040471395, "roofs": [{"description": {"value": "Pitched, 100 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, {"description": {"value": "Pitched, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Flat, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Timber frame, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "No low energy lighting", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "postcode": "PL3 6BL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2021-07-05 12:54:19.006020", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "N", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 104, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-d22644e44bcd", "assessment_type": "RdSAP", "completion_date": "2021-07-05", "inspection_date": "2021-07-05", "extensions_count": 3, "measurement_type": 1, "total_floor_area": 91, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2021-07-05", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.45, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 37.39, "quantity": "square metres"}, "party_wall_length": {"value": 15.08, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 9, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.5, "quantity": "metres"}, "total_floor_area": {"value": 35.47, "quantity": "square metres"}, "party_wall_length": {"value": 15.08, "quantity": "metres"}, "heat_loss_perimeter": {"value": 7.8, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "100mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 7, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.35, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 6.2, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 4, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": "ND", "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "wall_thickness": 200, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.35, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 5.27, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 6.5, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 3", "wall_dry_lined": "N", "wall_thickness": 180, "floor_heat_loss": 8, "roof_construction": 1, "wall_construction": 5, "building_part_number": 4, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.25, "quantity": "metres"}, "total_floor_area": {"value": 6.2, "quantity": "square metres"}, "party_wall_length": 0, "heat_loss_perimeter": {"value": 7.5, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 0, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 684, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.2, "energy_rating_average": 60, "energy_rating_current": 60, "lighting_cost_current": {"value": 144, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, TRVs and bypass", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 483, "currency": "GBP"}, "hot_water_cost_current": {"value": 105, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 23, "currency": "GBP"}, "indicative_cost": "\u00a3850 - \u00a31,500", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 61, "environmental_impact_rating": 55}, {"sequence": 2, "typical_saving": {"value": 124, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 63}, {"sequence": 3, "typical_saving": {"value": 31, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 65}, {"sequence": 4, "typical_saving": {"value": 64, "currency": "GBP"}, "indicative_cost": "\u00a355", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 66}, {"sequence": 5, "typical_saving": {"value": 30, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 68}, {"sequence": 6, "typical_saving": {"value": 34, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 70}, {"sequence": 7, "typical_saving": {"value": 366, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 82, "environmental_impact_rating": 79}], "co2_emissions_potential": 1.7, "energy_rating_potential": 82, "lighting_cost_potential": {"value": 72, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 72, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2189, "impact_of_loft_insulation": -739, "impact_of_solid_wall_insulation": -2564, "space_heating_existing_dwelling": 11470}, "energy_consumption_current": 264, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.0.1", "energy_consumption_potential": 103, "environmental_impact_current": 54, "fixed_lighting_outlets_count": 11, "windows_transmission_details": {"u_value": 2.6, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 79, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 46, "low_energy_fixed_lighting_outlets_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-d2d80ec7d995.json b/tests/fixtures/epc_prediction/PL36BL/cert-d2d80ec7d995.json new file mode 100644 index 00000000..a1067013 --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-d2d80ec7d995.json @@ -0,0 +1 @@ +{"uprn": 100040471350, "roofs": [{"description": {"value": "Pitched, 200 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": {"value": "Flat, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 80% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PL3 6BL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2019-11-14 00:42:58.000000", "door_count": 0, "glazed_area": 1, "glazing_gap": "16+", "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 104, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "secondary_heating_type": 605, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-19.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-0891d3de5052", "assessment_type": "RdSAP", "completion_date": "2019-11-14", "inspection_date": "2019-11-11", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 85, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2019-11-14", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, mains gas", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 260, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.7, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 36.91, "quantity": "square metres"}, "party_wall_length": {"value": 15.02, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 7.89, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.8, "quantity": "metres"}, "total_floor_area": {"value": 35.45, "quantity": "square metres"}, "party_wall_length": {"value": 15.02, "quantity": "metres"}, "heat_loss_perimeter": {"value": 9.44, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.3, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 12.98, "quantity": "square metres"}, "party_wall_length": {"value": 2.39, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 11.32, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 80, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 680, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.0, "energy_rating_average": 60, "energy_rating_current": 61, "lighting_cost_current": {"value": 77, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 403, "currency": "GBP"}, "hot_water_cost_current": {"value": 105, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 80, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 52, "currency": "GBP"}, "indicative_cost": "\u00a3850 - \u00a31,500", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 58}, {"sequence": 2, "typical_saving": {"value": 168, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 69}, {"sequence": 3, "typical_saving": {"value": 35, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 71}, {"sequence": 4, "typical_saving": {"value": 21, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 72}, {"sequence": 5, "typical_saving": {"value": 35, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 74}, {"sequence": 6, "typical_saving": {"value": 340, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 85, "environmental_impact_rating": 83}], "co2_emissions_potential": 1.3, "energy_rating_potential": 85, "lighting_cost_potential": {"value": 77, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 71, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2154, "impact_of_solid_wall_insulation": -3121, "space_heating_existing_dwelling": 10849}, "energy_consumption_current": 265, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.0.1", "energy_consumption_potential": 81, "environmental_impact_current": 54, "fixed_lighting_outlets_count": 10, "windows_transmission_details": {"u_value": 2.6, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 83, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 47, "low_energy_fixed_lighting_outlets_count": 8} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-dc4bd2310e04.json b/tests/fixtures/epc_prediction/PL36BL/cert-dc4bd2310e04.json new file mode 100644 index 00000000..66756547 --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-dc4bd2310e04.json @@ -0,0 +1 @@ +{"uprn": 10000796839, "roofs": [{"description": {"value": "Pitched, 25 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "walls": [{"description": {"value": "Cavity wall, filled cavity", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 83% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PL3 6BL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 3, "created_at": "2021-05-17 13:30:34.671550", "door_count": 2, "glazed_area": 1, "glazing_gap": 12, "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 118, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "end-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-d989c8cb971a", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2021-05-17", "inspection_date": "2019-12-20", "extensions_count": 0, "measurement_type": 2, "total_floor_area": 96, "transaction_type": 9, "conservatory_type": 1, "heated_room_count": 6, "pvc_window_frames": "true", "registration_date": "2021-05-17", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 310, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 58, "quantity": "square metres"}, "party_wall_length": {"value": 9, "quantity": "metres"}, "floor_construction": 3, "heat_loss_perimeter": {"value": 24, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.5, "quantity": "metres"}, "total_floor_area": {"value": 54, "quantity": "square metres"}, "party_wall_length": {"value": 9, "quantity": "metres"}, "heat_loss_perimeter": {"value": 22, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "F", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "25mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 83, "solar_water_heating": "N", "habitable_room_count": 6, "heating_cost_current": {"value": 714, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.4, "energy_rating_average": 60, "energy_rating_current": 61, "lighting_cost_current": {"value": 85, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 429, "currency": "GBP"}, "hot_water_cost_current": {"value": 142, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 80, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 96, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 59}, {"sequence": 2, "typical_saving": {"value": 32, "currency": "GBP"}, "indicative_cost": "\u00a3300 - \u00a3600", "improvement_type": "B4", "improvement_details": {"improvement_number": 63}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 61}, {"sequence": 3, "typical_saving": {"value": 54, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 64}, {"sequence": 4, "typical_saving": {"value": 142, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 73}, {"sequence": 5, "typical_saving": {"value": 33, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 75}, {"sequence": 6, "typical_saving": {"value": 354, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 85, "environmental_impact_rating": 83}], "co2_emissions_potential": 1.4, "energy_rating_potential": 85, "lighting_cost_potential": {"value": 85, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 98, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 73, "environmental_impact_rating": 95}, {"sequence": 2, "typical_saving": {"value": 166, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 75, "environmental_impact_rating": 70}], "hot_water_cost_potential": {"value": 71, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2219, "impact_of_loft_insulation": -1605, "space_heating_existing_dwelling": 10014}, "energy_consumption_current": 257, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.0.1", "energy_consumption_potential": 78, "environmental_impact_current": 54, "fixed_lighting_outlets_count": 12, "windows_transmission_details": {"u_value": 2.8, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 83, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 45, "low_energy_fixed_lighting_outlets_count": 10} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/PL36BL/cert-e5caf6a54908.json b/tests/fixtures/epc_prediction/PL36BL/cert-e5caf6a54908.json new file mode 100644 index 00000000..8bfc0162 --- /dev/null +++ b/tests/fixtures/epc_prediction/PL36BL/cert-e5caf6a54908.json @@ -0,0 +1 @@ +{"uprn": 10000796837, "roofs": [{"description": {"value": "Pitched, 12 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Cavity wall, filled cavity", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 80% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "PL3 6BL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 4, "created_at": "2021-05-13 15:04:31.766649", "door_count": 2, "glazed_area": 1, "glazing_gap": 12, "region_code": 15, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 118, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-83d067d9aac6", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2021-05-13", "inspection_date": "2019-12-19", "extensions_count": 0, "measurement_type": 2, "total_floor_area": 99, "transaction_type": 9, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2021-05-13", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 310, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 58, "quantity": "square metres"}, "party_wall_length": {"value": 16, "quantity": "metres"}, "floor_construction": 3, "heat_loss_perimeter": {"value": 14, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.5, "quantity": "metres"}, "total_floor_area": {"value": 54, "quantity": "square metres"}, "party_wall_length": {"value": 14, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "F", "party_wall_construction": 2, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "12mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 80, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 746, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.5, "energy_rating_average": 60, "energy_rating_current": 60, "lighting_cost_current": {"value": 90, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 399, "currency": "GBP"}, "hot_water_cost_current": {"value": 142, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 80, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 162, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 62}, {"sequence": 2, "typical_saving": {"value": 57, "currency": "GBP"}, "indicative_cost": "\u00a3300 - \u00a3600", "improvement_type": "B4", "improvement_details": {"improvement_number": 63}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 65}, {"sequence": 3, "typical_saving": {"value": 34, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 67}, {"sequence": 4, "typical_saving": {"value": 132, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 75}, {"sequence": 5, "typical_saving": {"value": 33, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 77}, {"sequence": 6, "typical_saving": {"value": 354, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 85}], "co2_emissions_potential": 1.2, "energy_rating_potential": 87, "lighting_cost_potential": {"value": 90, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 98, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 75, "environmental_impact_rating": 95}, {"sequence": 2, "typical_saving": {"value": 150, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 76, "environmental_impact_rating": 72}], "hot_water_cost_potential": {"value": 71, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2232, "impact_of_loft_insulation": -2705, "space_heating_existing_dwelling": 10538}, "energy_consumption_current": 260, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.0.1", "energy_consumption_potential": 68, "environmental_impact_current": 53, "fixed_lighting_outlets_count": 10, "windows_transmission_details": {"u_value": 2.8, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 85, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 46, "low_energy_fixed_lighting_outlets_count": 8} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-012fa6bcc804.json b/tests/fixtures/epc_prediction/RG13NS/cert-012fa6bcc804.json new file mode 100644 index 00000000..21e6280f --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-012fa6bcc804.json @@ -0,0 +1 @@ +{"der": 6.84, "dfee": 18.7, "dper": 72.21, "uprn": 310091576, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.3 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 00:26:46", "living_area": 16.5, "orientation": 1, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 9.3, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.8 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-377df279c38a", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 3.8, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 3, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 1, "storeys": 5}, "total_floor_area": 77, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.4, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 76.9, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 76.9}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.3, "wall_type": 2, "kappa_value": 70, "total_wall_area": 27, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 62, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 169.52, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Windows", "width": 1.8, "height": 2.5, "location": "Walls (1)", "orientation": 5}, {"name": "Opening", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 5}, {"name": "Opening", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 5}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 76.9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 188, "currency": "GBP"}, "co2_emissions_current": 0.5, "energy_rating_average": 60, "energy_rating_current": 72, "lighting_cost_current": {"value": 49, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 188, "currency": "GBP"}, "hot_water_cost_current": {"value": 673, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.5, "energy_rating_potential": 72, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 49, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 673, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 66, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 66, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 6.2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-219c647f317c.json b/tests/fixtures/epc_prediction/RG13NS/cert-219c647f317c.json new file mode 100644 index 00000000..26ecf88e --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-219c647f317c.json @@ -0,0 +1 @@ +{"der": 9.11, "dfee": 17.1, "dper": 96.96, "uprn": 310091584, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.3 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 00:34:23", "living_area": 25, "orientation": 5, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 11, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.5 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Mid-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-d6d210ad2d2b", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 4.5, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 2, "storeys": 5}, "total_floor_area": 42, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.4, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 42.2, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 42.2}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.3, "wall_type": 2, "kappa_value": 70, "total_wall_area": 13.9, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 55.25, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 43.4, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Windows", "width": 1.4, "height": 1.8, "location": "Walls (1)", "orientation": 1}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 1, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 42.2}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 82, "currency": "GBP"}, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 71, "lighting_cost_current": {"value": 39, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 82, "currency": "GBP"}, "hot_water_cost_current": {"value": 571, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.4, "energy_rating_potential": 71, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 39, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 571, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 91, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 91, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 8.5} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-275720156db0.json b/tests/fixtures/epc_prediction/RG13NS/cert-275720156db0.json new file mode 100644 index 00000000..5b6a44d4 --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-275720156db0.json @@ -0,0 +1 @@ +{"der": 10.41, "dfee": 32.9, "dper": 109.6, "uprn": 310091564, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.3 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff, waste water heat recovery", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 3, "created_at": "2026-05-14 00:16:14", "living_area": 30, "orientation": 1, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 2, "shower_flow_rate": 9.3, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "instantaneous_wwhrs": {"wwhrs_index_number1": 80074}, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 18, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.0 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-1ce1d93890e7", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 3, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 1, "storeys": 5}, "total_floor_area": 38, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.6, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 38.3, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 38.3}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.3, "wall_type": 2, "kappa_value": 70, "total_wall_area": 27.15, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 36.4, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 41.6, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Windows", "width": 1.8, "height": 2.5, "location": "Walls (1)", "orientation": 5}, {"name": "Opening 1", "type": "Windows", "width": 1.8, "height": 2.5, "location": "Walls (1)", "orientation": 5}, {"name": "Opening 2", "type": "Windows", "width": 1.9, "height": 1.8, "location": "Walls (1)", "orientation": 7}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.55, "heat_loss_area": 0, "total_floor_area": 38.3}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 185, "currency": "GBP"}, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 28, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 185, "currency": "GBP"}, "hot_water_cost_current": {"value": 473, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.4, "energy_rating_potential": 69, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 28, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 473, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 100, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 100, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 9.4} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-2f49ca73f5bd.json b/tests/fixtures/epc_prediction/RG13NS/cert-2f49ca73f5bd.json new file mode 100644 index 00000000..ae878a1f --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-2f49ca73f5bd.json @@ -0,0 +1 @@ +{"der": 8.05, "dfee": 28.0, "dper": 84.48, "uprn": 310091570, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.44 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 00:21:54", "living_area": 18, "orientation": 1, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 9, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.1, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.6 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-d76b99e2b4e6", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 3.6, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 2, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 1, "storeys": 5}, "total_floor_area": 71, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.4, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 71.3, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 71.3}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.3, "wall_type": 2, "kappa_value": 70, "total_wall_area": 26.7, "is_curtain_walling": "false"}, {"name": "Walls (2)", "u_value": 0.52, "wall_type": 2, "kappa_value": 190, "total_wall_area": 12.25, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 53.69, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 140.9, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 5}, {"name": "Opening 1", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 5}, {"name": "Opening", "type": "Windows", "width": 1.9, "height": 2.5, "location": "Walls (1)", "orientation": 3}, {"name": "Opening", "type": "Windows", "width": 1.9, "height": 2.5, "location": "Walls (1)", "orientation": 3}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.5, "heat_loss_area": 0, "total_floor_area": 71.3}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 287, "currency": "GBP"}, "co2_emissions_current": 0.5, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 45, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 287, "currency": "GBP"}, "hot_water_cost_current": {"value": 638, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.5, "energy_rating_potential": 69, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 45, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 638, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 76, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 76, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 7.2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-30dc65e9be56.json b/tests/fixtures/epc_prediction/RG13NS/cert-30dc65e9be56.json new file mode 100644 index 00000000..c6b122b8 --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-30dc65e9be56.json @@ -0,0 +1 @@ +{"der": 9.14, "dfee": 27.0, "dper": 96.26, "uprn": 310091583, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.3 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 3, "created_at": "2026-05-14 00:33:50", "living_area": 25, "orientation": 5, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 9, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.6 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Mid-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-a979a429f6f4", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 3.6, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 2, "storeys": 5}, "total_floor_area": 52, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.6, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 51.7, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 51.7}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.3, "wall_type": 2, "kappa_value": 70, "total_wall_area": 27.6, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 49.27, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 83.95, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Windows", "width": 1.4, "height": 1.8, "location": "Walls (1)", "orientation": 1}, {"name": "Opening 1", "type": "Windows", "width": 1.4, "height": 1.8, "location": "Walls (1)", "orientation": 1}, {"name": "Opening 2", "type": "Windows", "width": 1.5, "height": 1.8, "location": "Walls (1)", "orientation": 7}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 1, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.5, "heat_loss_area": 0, "total_floor_area": 51.7}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 214, "currency": "GBP"}, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 36, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 214, "currency": "GBP"}, "hot_water_cost_current": {"value": 561, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.4, "energy_rating_potential": 69, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 36, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 561, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 87, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 87, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 8.3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-3711c927db34.json b/tests/fixtures/epc_prediction/RG13NS/cert-3711c927db34.json new file mode 100644 index 00000000..3a7e532e --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-3711c927db34.json @@ -0,0 +1 @@ +{"der": 7.39, "dfee": 23.9, "dper": 77.69, "uprn": 310091577, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.3 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 00:27:56", "living_area": 29, "orientation": 1, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 9.3, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.8 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-e2ee92618dc0", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 3.8, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 1, "storeys": 5}, "total_floor_area": 78, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.4, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 77.5, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 77.5}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.3, "wall_type": 2, "kappa_value": 70, "total_wall_area": 36.53, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 58.35, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 115.7, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 5}, {"name": "Opening 1", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 5}, {"name": "Opening 1", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 5}, {"name": "Opening", "type": "Windows", "width": 1.9, "height": 2.6, "location": "Walls (1)", "orientation": 7}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.55, "heat_loss_area": 0, "total_floor_area": 77.5}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 256, "currency": "GBP"}, "co2_emissions_current": 0.5, "energy_rating_average": 60, "energy_rating_current": 70, "lighting_cost_current": {"value": 48, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 256, "currency": "GBP"}, "hot_water_cost_current": {"value": 675, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.5, "energy_rating_potential": 70, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 48, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 675, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 70, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 70, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 6.7} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-4b7df9c37060.json b/tests/fixtures/epc_prediction/RG13NS/cert-4b7df9c37060.json new file mode 100644 index 00000000..3694157f --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-4b7df9c37060.json @@ -0,0 +1 @@ +{"der": 8.19, "dfee": 21.4, "dper": 86.59, "uprn": 310091585, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.3 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 00:34:57", "living_area": 26.5, "orientation": 5, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 9.1, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.5 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Mid-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-cd435dfdc23e", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 4.5, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 2, "storeys": 5}, "total_floor_area": 54, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.4, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 54.5, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 54.5}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.3, "wall_type": 2, "kappa_value": 70, "total_wall_area": 17.8, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 59.93, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 68.65, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Windows", "width": 3.2, "height": 2.5, "location": "Walls (1)", "orientation": 1}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 1, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.5, "heat_loss_area": 0, "total_floor_area": 54.5}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 159, "currency": "GBP"}, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 71, "lighting_cost_current": {"value": 38, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 159, "currency": "GBP"}, "hot_water_cost_current": {"value": 577, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.4, "energy_rating_potential": 71, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 38, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 577, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 79, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 79, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 7.4} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-4e21bc8153e8.json b/tests/fixtures/epc_prediction/RG13NS/cert-4e21bc8153e8.json new file mode 100644 index 00000000..77551d51 --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-4e21bc8153e8.json @@ -0,0 +1 @@ +{"der": 7.92, "dfee": 17.8, "dper": 83.99, "uprn": 310091581, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.3 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 00:31:34", "living_area": 17, "orientation": 1, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 9.3, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 18, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.5 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Mid-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-b544bde28cbd", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 4.5, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 2, "storeys": 5}, "total_floor_area": 52, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.6, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 51.6, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 51.6}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.3, "wall_type": 2, "kappa_value": 70, "total_wall_area": 18.85, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 68.4, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 88.4, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Windows", "width": 1.8, "height": 1.7, "location": "Walls (1)", "orientation": 5}, {"name": "Opening 1", "type": "Windows", "width": 1.8, "height": 1.7, "location": "Walls (1)", "orientation": 5}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 1, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 51.6}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 114, "currency": "GBP"}, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 73, "lighting_cost_current": {"value": 38, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 114, "currency": "GBP"}, "hot_water_cost_current": {"value": 569, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.4, "energy_rating_potential": 73, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 38, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 569, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 77, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 77, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 7.3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-57f30bfdbe7b.json b/tests/fixtures/epc_prediction/RG13NS/cert-57f30bfdbe7b.json new file mode 100644 index 00000000..c996ccd1 --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-57f30bfdbe7b.json @@ -0,0 +1 @@ +{"der": 7.91, "dfee": 34.1, "dper": 82.53, "uprn": 310091569, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.28 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff, waste water heat recovery", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 3, "created_at": "2026-05-14 00:20:16", "living_area": 24, "orientation": 5, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 2, "shower_flow_rate": 9, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "instantaneous_wwhrs": {"wwhrs_index_number1": 80199}, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.6 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-a893c0b1760a", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 3.6, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 2, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 1, "storeys": 5}, "total_floor_area": 72, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.4, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 72.2, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 72.2}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.28, "wall_type": 2, "kappa_value": 70, "total_wall_area": 41, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 44.45, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 136.5, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 1}, {"name": "Opening 1", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 1}, {"name": "Opening 1", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 1}, {"name": "Opening", "type": "Windows", "width": 1.9, "height": 2.5, "location": "Walls (1)", "orientation": 3}, {"name": "Opening", "type": "Windows", "width": 1.9, "height": 2.5, "location": "Walls (1)", "orientation": 3}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.4, "heat_loss_area": 0, "total_floor_area": 72.2}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 392, "currency": "GBP"}, "co2_emissions_current": 0.5, "energy_rating_average": 60, "energy_rating_current": 70, "lighting_cost_current": {"value": 46, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 392, "currency": "GBP"}, "hot_water_cost_current": {"value": 505, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.5, "energy_rating_potential": 70, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 46, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 505, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 73, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 73, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 7.0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-61d34287b460.json b/tests/fixtures/epc_prediction/RG13NS/cert-61d34287b460.json new file mode 100644 index 00000000..83da28af --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-61d34287b460.json @@ -0,0 +1 @@ +{"der": 8.3, "dfee": 19.9, "dper": 87.9, "uprn": 310091568, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.3 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 00:19:38", "living_area": 23, "orientation": 5, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 9.3, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.6 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-9c159091c9ce", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 3.6, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 1, "storeys": 5}, "total_floor_area": 51, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.6, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 51, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 51}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.3, "wall_type": 2, "kappa_value": 70, "total_wall_area": 16.9, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 58.25, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 98.8, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 1}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 51}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 139, "currency": "GBP"}, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 72, "lighting_cost_current": {"value": 39, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 139, "currency": "GBP"}, "hot_water_cost_current": {"value": 566, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.4, "energy_rating_potential": 72, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 39, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 566, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 81, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 81, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 7.6} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-68447442fa47.json b/tests/fixtures/epc_prediction/RG13NS/cert-68447442fa47.json new file mode 100644 index 00000000..4a48a56a --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-68447442fa47.json @@ -0,0 +1 @@ +{"der": 9.33, "dfee": 21.5, "dper": 99.0, "uprn": 310091575, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.3 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 00:25:55", "living_area": 31, "orientation": 1, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 9.3, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.8 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-eb369a055b68", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 3.8, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 1, "storeys": 5}, "total_floor_area": 38, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.4, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 38.2, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 38.2}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.3, "wall_type": 2, "kappa_value": 70, "total_wall_area": 16, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 58.25, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 52.5, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 5}, {"name": "Opening", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 5}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 38.2}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 92, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 72, "lighting_cost_current": {"value": 29, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 92, "currency": "GBP"}, "hot_water_cost_current": {"value": 510, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.3, "energy_rating_potential": 72, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 29, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 510, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 92, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 92, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 8.6} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-7e14aa2076f0.json b/tests/fixtures/epc_prediction/RG13NS/cert-7e14aa2076f0.json new file mode 100644 index 00000000..ecbf637d --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-7e14aa2076f0.json @@ -0,0 +1 @@ +{"der": 8.34, "dfee": 22.1, "dper": 88.15, "uprn": 310091567, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.3 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 00:18:48", "living_area": 26.5, "orientation": 5, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 9.3, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.6 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-1496a34ccd25", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 3.6, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 1, "storeys": 5}, "total_floor_area": 54, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.4, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 54.5, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 54.5}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.3, "wall_type": 2, "kappa_value": 70, "total_wall_area": 18.6, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 59.93, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 68.65, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Windows", "width": 3.2, "height": 2.5, "location": "Walls (1)", "orientation": 1}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 54.5}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 169, "currency": "GBP"}, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 71, "lighting_cost_current": {"value": 38, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 169, "currency": "GBP"}, "hot_water_cost_current": {"value": 583, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.4, "energy_rating_potential": 71, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 38, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 583, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 80, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 80, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 7.6} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-83fa2282454e.json b/tests/fixtures/epc_prediction/RG13NS/cert-83fa2282454e.json new file mode 100644 index 00000000..8bd8daa8 --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-83fa2282454e.json @@ -0,0 +1 @@ +{"der": 9.2, "dfee": 27.9, "dper": 96.88, "uprn": 310091565, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.28 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 3, "created_at": "2026-05-14 00:17:23", "living_area": 25, "orientation": 5, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 9, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.0 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-4f46b47bf535", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 3, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 1, "storeys": 5}, "total_floor_area": 52, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.6, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 51.7, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 51.7}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.28, "wall_type": 2, "kappa_value": 70, "total_wall_area": 27.5, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 49.27, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 83.95, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 1}, {"name": "Opening 2", "type": "Windows", "width": 1.9, "height": 2.5, "location": "Walls (1)", "orientation": 7}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.5, "heat_loss_area": 0, "total_floor_area": 51.7}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 220, "currency": "GBP"}, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 35, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 220, "currency": "GBP"}, "hot_water_cost_current": {"value": 561, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.4, "energy_rating_potential": 69, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 35, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 561, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 88, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 88, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 8.3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-8978dcc72852.json b/tests/fixtures/epc_prediction/RG13NS/cert-8978dcc72852.json new file mode 100644 index 00000000..f0cc8364 --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-8978dcc72852.json @@ -0,0 +1 @@ +{"der": 8.11, "dfee": 31.9, "dper": 84.83, "uprn": 310091573, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.28 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff, waste water heat recovery", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 00:24:37", "living_area": 16.5, "orientation": 5, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 2, "shower_flow_rate": 9.3, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "instantaneous_wwhrs": {"wwhrs_index_number1": 80011}, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.8 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-1b762366cdf7", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 3.8, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 2, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 1, "storeys": 5}, "total_floor_area": 72, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.6, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 72, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 72}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.28, "wall_type": 2, "kappa_value": 70, "total_wall_area": 34, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 60.71, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 129, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 1}, {"name": "Opening", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 1}, {"name": "Opening", "type": "Windows", "width": 1.9, "height": 2.5, "location": "Walls (1)", "orientation": 3}, {"name": "Opening", "type": "Windows", "width": 1.9, "height": 2.5, "location": "Walls (1)", "orientation": 3}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.5, "heat_loss_area": 0, "total_floor_area": 72}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 360, "currency": "GBP"}, "co2_emissions_current": 0.5, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 46, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 360, "currency": "GBP"}, "hot_water_cost_current": {"value": 569, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.5, "energy_rating_potential": 69, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 46, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 569, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 76, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 76, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 7.2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-89bd9a976d69.json b/tests/fixtures/epc_prediction/RG13NS/cert-89bd9a976d69.json new file mode 100644 index 00000000..46a27394 --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-89bd9a976d69.json @@ -0,0 +1 @@ +{"der": 9.81, "dfee": 42.7, "dper": 107.89, "uprn": 310091654, "roofs": [{"description": {"value": "Average thermal transmittance 0.16 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.28 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, off-peak", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 11:57:26", "living_area": 27, "orientation": 3, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 10, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "secondary_fuel_type": 39, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "storage_heaters": [{"index_number": 230004, "number_of_heaters": 2, "high_heat_retention": "true"}], "main_heating_code": 409, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2404, "main_heating_category": 7, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "secondary_heating_code": 691, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.1, "has_fixed_air_conditioning": "false", "secondary_heating_category": 10, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "secondary_heating_data_source": 3, "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Electric storage heaters", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.2 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Top-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-ab1d36435a7d", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 4.2, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 3, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 3, "storeys": 5}, "total_floor_area": 81, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 2}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.4, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 81.2, "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.16, "roof_type": 2, "kappa_value": 9, "total_roof_area": 81.2}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.28, "wall_type": 2, "kappa_value": 70, "total_wall_area": 42, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 56.4, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 199.4, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Windows", "width": 5.9, "height": 1.8, "location": "Walls (1)", "orientation": 7}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 1, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.55, "heat_loss_area": 0, "total_floor_area": 81.2}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 450, "currency": "GBP"}, "co2_emissions_current": 0.7, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 63, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Controls for high heat retention storage heaters", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 450, "currency": "GBP"}, "hot_water_cost_current": {"value": 526, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.7, "energy_rating_potential": 69, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 63, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 526, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 98, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 98, "environmental_impact_current": 92, "current_energy_efficiency_band": "C", "environmental_impact_potential": 92, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 8.9} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-9cff43efea45.json b/tests/fixtures/epc_prediction/RG13NS/cert-9cff43efea45.json new file mode 100644 index 00000000..f3f8d9ed --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-9cff43efea45.json @@ -0,0 +1 @@ +{"der": 8.02, "dfee": 20.3, "dper": 84.84, "uprn": 310091572, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.3 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 00:24:03", "living_area": 35, "orientation": 7, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 9.3, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.8 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-14c2ab85e2c2", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 3.8, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 1, "storeys": 5}, "total_floor_area": 55, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.4, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 55, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 55}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.3, "wall_type": 2, "kappa_value": 70, "total_wall_area": 19.11, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 78.5, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 95.4, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening", "type": "Windows", "width": 1.45, "height": 2.5, "location": "Walls (1)", "orientation": 3}, {"name": "Opening", "type": "Windows", "width": 1.45, "height": 2.5, "location": "Walls (1)", "orientation": 3}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 55}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 146, "currency": "GBP"}, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 72, "lighting_cost_current": {"value": 39, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 146, "currency": "GBP"}, "hot_water_cost_current": {"value": 585, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.4, "energy_rating_potential": 72, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 39, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 585, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 78, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 78, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 7.3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-a97a2552889a.json b/tests/fixtures/epc_prediction/RG13NS/cert-a97a2552889a.json new file mode 100644 index 00000000..e0a8c056 --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-a97a2552889a.json @@ -0,0 +1 @@ +{"der": 11.44, "dfee": 45.5, "dper": 126.34, "uprn": 310091653, "roofs": [{"description": {"value": "Average thermal transmittance 0.16 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.28 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, off-peak", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 11:55:55", "living_area": 27, "orientation": 3, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 10, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "secondary_fuel_type": 39, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "storage_heaters": [{"index_number": 230004, "number_of_heaters": 2, "high_heat_retention": "true"}], "main_heating_code": 409, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2404, "main_heating_category": 7, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "secondary_heating_code": 691, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.1, "has_fixed_air_conditioning": "false", "secondary_heating_category": 10, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "secondary_heating_data_source": 3, "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Electric storage heaters", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "(not tested)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Top-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-1ce09f64e3f1", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 3, "air_permeability": 15, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 3, "storeys": 5}, "total_floor_area": 52, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 2}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.4, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 51.9, "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.16, "roof_type": 2, "kappa_value": 9, "total_roof_area": 51.9}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.28, "wall_type": 2, "kappa_value": 70, "total_wall_area": 13, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 45.5, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 66.3, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Windows", "width": 1.5, "height": 1.8, "location": "Walls (1)", "orientation": 7}, {"name": "Opening 1", "type": "Windows", "width": 1.5, "height": 1.8, "location": "Walls (1)", "orientation": 7}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 1, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.5, "heat_loss_area": 0, "total_floor_area": 51.9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 288, "currency": "GBP"}, "co2_emissions_current": 0.5, "energy_rating_average": 60, "energy_rating_current": 70, "lighting_cost_current": {"value": 45, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Controls for high heat retention storage heaters", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 288, "currency": "GBP"}, "hot_water_cost_current": {"value": 422, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.5, "energy_rating_potential": 70, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 45, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 422, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 112, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 112, "environmental_impact_current": 92, "current_energy_efficiency_band": "C", "environmental_impact_potential": 92, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 10.2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-b3dda6bae036.json b/tests/fixtures/epc_prediction/RG13NS/cert-b3dda6bae036.json new file mode 100644 index 00000000..c071f10b --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-b3dda6bae036.json @@ -0,0 +1 @@ +{"der": 7.73, "dfee": 16.7, "dper": 82.0, "uprn": 310091580, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.3 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 00:30:03", "living_area": 27, "orientation": 3, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 9.3, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 18, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.2 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Mid-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-0fde446f2fc3", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 4.2, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 2, "storeys": 5}, "total_floor_area": 52, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.6, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 52.1, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 52.1}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.3, "wall_type": 2, "kappa_value": 70, "total_wall_area": 11.95, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 63.7, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 72, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Windows", "width": 1.4, "height": 1.8, "location": "Walls (1)", "orientation": 7}, {"name": "Opening 1", "type": "Windows", "width": 1.4, "height": 1.8, "location": "Walls (1)", "orientation": 7}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 1, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 52.1}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 103, "currency": "GBP"}, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 73, "lighting_cost_current": {"value": 40, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 103, "currency": "GBP"}, "hot_water_cost_current": {"value": 572, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.4, "energy_rating_potential": 73, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 40, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 572, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 76, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 76, "environmental_impact_current": 95, "current_energy_efficiency_band": "C", "environmental_impact_potential": 95, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 7.1} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-e54b3a80a018.json b/tests/fixtures/epc_prediction/RG13NS/cert-e54b3a80a018.json new file mode 100644 index 00000000..8031b44d --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-e54b3a80a018.json @@ -0,0 +1 @@ +{"der": 7.7, "dfee": 16.5, "dper": 81.71, "uprn": 310091579, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.3 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 00:29:22", "living_area": 27, "orientation": 3, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 9.3, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.8 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-c2bf1031b108", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 3.8, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 1, "storeys": 5}, "total_floor_area": 52, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.4, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 51.9, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 51.9}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.3, "wall_type": 2, "kappa_value": 70, "total_wall_area": 13, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 45.5, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 66.3, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Windows", "width": 1.5, "height": 1.8, "location": "Walls (1)", "orientation": 7}, {"name": "Opening 1", "type": "Windows", "width": 1.5, "height": 1.8, "location": "Walls (1)", "orientation": 7}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 51.9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 101, "currency": "GBP"}, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 73, "lighting_cost_current": {"value": 39, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 101, "currency": "GBP"}, "hot_water_cost_current": {"value": 571, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.4, "energy_rating_potential": 73, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 39, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 571, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 76, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 76, "environmental_impact_current": 95, "current_energy_efficiency_band": "C", "environmental_impact_potential": 95, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 7.1} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-e5d8f7fa5244.json b/tests/fixtures/epc_prediction/RG13NS/cert-e5d8f7fa5244.json new file mode 100644 index 00000000..5b484bea --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-e5d8f7fa5244.json @@ -0,0 +1 @@ +{"der": 7.49, "dfee": 18.6, "dper": 79.26, "uprn": 310091571, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.3 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 00:23:12", "living_area": 35, "orientation": 7, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 9.3, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.8 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-3269922b6d66", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 3.8, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 1, "storeys": 5}, "total_floor_area": 62, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.4, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 62, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 62}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.3, "wall_type": 2, "kappa_value": 70, "total_wall_area": 18.7, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 70.6, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 95.4, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening", "type": "Windows", "width": 1.45, "height": 2.5, "location": "Walls (1)", "orientation": 3}, {"name": "Opening", "type": "Windows", "width": 1.45, "height": 2.5, "location": "Walls (1)", "orientation": 3}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 62}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 152, "currency": "GBP"}, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 72, "lighting_cost_current": {"value": 45, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 152, "currency": "GBP"}, "hot_water_cost_current": {"value": 616, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.4, "energy_rating_potential": 72, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 45, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 616, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 73, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 73, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 6.8} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-e65f100dfd90.json b/tests/fixtures/epc_prediction/RG13NS/cert-e65f100dfd90.json new file mode 100644 index 00000000..e97bcd9f --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-e65f100dfd90.json @@ -0,0 +1 @@ +{"der": 9.33, "dfee": 21.5, "dper": 99.0, "uprn": 310091574, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.3 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 00:25:16", "living_area": 31, "orientation": 1, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 9.3, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.8 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-53dbe812ea2e", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 3.8, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 1, "storeys": 5}, "total_floor_area": 38, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.4, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 38.2, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 38.2}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.3, "wall_type": 2, "kappa_value": 70, "total_wall_area": 16, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 58.25, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 52.5, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 5}, {"name": "Opening", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 5}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 38.2}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 92, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 72, "lighting_cost_current": {"value": 29, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 92, "currency": "GBP"}, "hot_water_cost_current": {"value": 510, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.3, "energy_rating_potential": 72, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 29, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 510, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 92, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 92, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 8.6} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-e67ca51531ad.json b/tests/fixtures/epc_prediction/RG13NS/cert-e67ca51531ad.json new file mode 100644 index 00000000..d8138efd --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-e67ca51531ad.json @@ -0,0 +1 @@ +{"der": 10.59, "dfee": 29.3, "dper": 111.74, "uprn": 310091582, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.3 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 3, "created_at": "2026-05-14 00:32:51", "living_area": 30, "orientation": 1, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 9.3, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 18, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.6 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Mid-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-f34101cb30b9", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 3.6, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 2, "storeys": 5}, "total_floor_area": 38, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.6, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 38.3, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 38.3}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.3, "wall_type": 2, "kappa_value": 70, "total_wall_area": 27.95, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 36.4, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 41.6, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Windows", "width": 1.7, "height": 1.3, "location": "Walls (1)", "orientation": 5}, {"name": "Opening 1", "type": "Windows", "width": 1.7, "height": 1.3, "location": "Walls (1)", "orientation": 5}, {"name": "Opening 2", "type": "Windows", "width": 1.7, "height": 1.3, "location": "Walls (1)", "orientation": 7}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 1, "u_value": 0, "floor_type": 4, "kappa_value": 80, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 38.3}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 159, "currency": "GBP"}, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 28, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 159, "currency": "GBP"}, "hot_water_cost_current": {"value": 511, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.4, "energy_rating_potential": 69, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 28, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 511, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 101, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 101, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 9.5} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-ec11e653a063.json b/tests/fixtures/epc_prediction/RG13NS/cert-ec11e653a063.json new file mode 100644 index 00000000..07e922a7 --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-ec11e653a063.json @@ -0,0 +1 @@ +{"der": 8.93, "dfee": 25.9, "dper": 94.22, "uprn": 310091578, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.3 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 00:28:31", "living_area": 18.8, "orientation": 5, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 9.3, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.8 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-73cda45e82c1", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 3.8, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 2, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 1, "storeys": 5}, "total_floor_area": 52, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.4, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 51.5, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 51.5}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.3, "wall_type": 2, "kappa_value": 70, "total_wall_area": 20.15, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 56.42, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 74, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Windows", "width": 2, "height": 1.8, "location": "Walls (1)", "orientation": 1}, {"name": "Opening 1", "type": "Windows", "width": 2, "height": 1.8, "location": "Walls (1)", "orientation": 1}, {"name": "Opening", "type": "Windows", "width": 2, "height": 2, "location": "Walls (1)", "orientation": 7}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 51.5}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 189, "currency": "GBP"}, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 70, "lighting_cost_current": {"value": 34, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 189, "currency": "GBP"}, "hot_water_cost_current": {"value": 569, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.4, "energy_rating_potential": 70, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 34, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 569, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 85, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 85, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 8.1} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-fc680ac36a75.json b/tests/fixtures/epc_prediction/RG13NS/cert-fc680ac36a75.json new file mode 100644 index 00000000..888da3f4 --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-fc680ac36a75.json @@ -0,0 +1 @@ +{"der": 8.85, "dfee": 19.4, "dper": 93.96, "uprn": 310091566, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.3 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 00:18:02", "living_area": 25, "orientation": 5, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 9.3, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.0 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-24fe9f95ec4d", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 3, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 1, "storeys": 5}, "total_floor_area": 42, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.4, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 42.2, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 42.2}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.3, "wall_type": 2, "kappa_value": 70, "total_wall_area": 13.9, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 55.25, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 43.4, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 1}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 42.2}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 101, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 72, "lighting_cost_current": {"value": 34, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 101, "currency": "GBP"}, "hot_water_cost_current": {"value": 527, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.3, "energy_rating_potential": 72, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 34, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 527, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 87, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 87, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 8.2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RG13NS/cert-fe6e513ab355.json b/tests/fixtures/epc_prediction/RG13NS/cert-fe6e513ab355.json new file mode 100644 index 00000000..afed9d8b --- /dev/null +++ b/tests/fixtures/epc_prediction/RG13NS/cert-fe6e513ab355.json @@ -0,0 +1 @@ +{"der": 9.19, "dfee": 26.6, "dper": 96.88, "uprn": 310091601, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.28 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 3, "created_at": "2026-05-14 12:33:07", "living_area": 25, "orientation": 5, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 9.5, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.3 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Mid-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-5a6554b06f14", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 3.3, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 2, "storeys": 5}, "total_floor_area": 52, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.6, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 51.7, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 51.7}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.28, "wall_type": 2, "kappa_value": 70, "total_wall_area": 27, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 49.27, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 83.95, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Windows", "width": 1.4, "height": 1.8, "location": "Walls (1)", "orientation": 1}, {"name": "Opening 1", "type": "Windows", "width": 1.4, "height": 1.8, "location": "Walls (1)", "orientation": 1}, {"name": "Opening 2", "type": "Windows", "width": 1.5, "height": 1.8, "location": "Walls (1)", "orientation": 7}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 1, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.55, "heat_loss_area": 0, "total_floor_area": 51.7}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 208, "currency": "GBP"}, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 36, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 208, "currency": "GBP"}, "hot_water_cost_current": {"value": 575, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.4, "energy_rating_potential": 69, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 36, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 575, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 88, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 88, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 8.3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-06dd4ab9474a.json b/tests/fixtures/epc_prediction/RM143YU/cert-06dd4ab9474a.json new file mode 100644 index 00000000..c51b15df --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-06dd4ab9474a.json @@ -0,0 +1 @@ +{"uprn": 100021408529, "roofs": [{"description": "Pitched, 300 mm loft insulation", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Cavity wall, as built, partial insulation (assumed)", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "RM14 3YU", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2021-08-28 21:16:04.697725", "door_count": 2, "glazed_area": 1, "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 18221}], "immersion_heating_type": "NA", "secondary_heating_type": 691, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-2749160b9f01", "assessment_type": "RdSAP", "completion_date": "2021-08-28", "inspection_date": "2021-08-26", "extensions_count": 1, "measurement_type": 2, "total_floor_area": 119, "transaction_type": 1, "conservatory_type": 2, "heated_room_count": 6, "registration_date": "2021-08-28", "sap_energy_source": {"mains_gas": "Y", "meter_type": 3, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, electric", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 290, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.47, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 46.89, "quantity": "square metres"}, "party_wall_length": {"value": 7.51, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 12.63, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.39, "quantity": "metres"}, "total_floor_area": {"value": 46.89, "quantity": "square metres"}, "party_wall_length": {"value": 7.51, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12.63, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 290, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.48, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 20.88, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 13.07, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.41, "quantity": "metres"}, "total_floor_area": {"value": 20.88, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "heat_loss_perimeter": {"value": 13.07, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "F", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 6, "heating_cost_current": {"value": 810, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.1, "energy_rating_average": 60, "energy_rating_current": 66, "lighting_cost_current": {"value": 88, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 578, "currency": "GBP"}, "hot_water_cost_current": {"value": 99, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 161, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 69}, {"sequence": 2, "typical_saving": {"value": 71, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 72}, {"sequence": 3, "typical_saving": {"value": 30, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 74}, {"sequence": 4, "typical_saving": {"value": 352, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 83, "environmental_impact_rating": 81}], "co2_emissions_potential": 1.9, "energy_rating_potential": 83, "lighting_cost_potential": {"value": 88, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 57, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 73, "environmental_impact_rating": 71}}], "hot_water_cost_potential": {"value": 70, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2288, "impact_of_cavity_insulation": -2863, "space_heating_existing_dwelling": 12136}, "energy_consumption_current": 199, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.07r0003", "energy_consumption_potential": 89, "environmental_impact_current": 62, "fixed_lighting_outlets_count": 17, "current_energy_efficiency_band": "D", "environmental_impact_potential": 81, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 35, "low_energy_fixed_lighting_outlets_count": 17} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-10c9fc509969.json b/tests/fixtures/epc_prediction/RM143YU/cert-10c9fc509969.json new file mode 100644 index 00000000..d6f9929b --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-10c9fc509969.json @@ -0,0 +1 @@ +{"uprn": 100021408549, "roofs": [{"description": "Pitched, limited insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": "Flat, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Roof room(s), insulated (assumed)", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, insulated (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "RM14 3YU", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2021-04-08 15:10:46.858480", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10327}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-01f4738663ec", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2021-04-08", "inspection_date": "2021-04-08", "extensions_count": 2, "measurement_type": 1, "total_floor_area": 141, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 6, "pvc_window_frames": "true", "registration_date": "2021-04-08", "sap_energy_source": {"mains_gas": "Y", "meter_type": 3, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 360, "floor_heat_loss": 7, "sap_room_in_roof": {"floor_area": 25.8, "insulation": "AB", "roof_room_connected": "N", "construction_age_band": "L"}, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.53, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 38.64, "quantity": "square metres"}, "party_wall_length": {"value": 7, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 9.95, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.46, "quantity": "metres"}, "total_floor_area": {"value": 38.64, "quantity": "square metres"}, "party_wall_length": {"value": 7, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.04, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "E", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 360, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.53, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 28.35, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 15.06, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "L", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "wall_thickness": 360, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 9.28, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 6.74, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "L", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 6, "heating_cost_current": {"value": 713, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.2, "energy_rating_average": 60, "energy_rating_current": 71, "lighting_cost_current": {"value": 95, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 637, "currency": "GBP"}, "hot_water_cost_current": {"value": 105, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 75, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 70}, {"sequence": 2, "typical_saving": {"value": 348, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 81, "environmental_impact_rating": 76}], "co2_emissions_potential": 2.8, "energy_rating_potential": 81, "lighting_cost_potential": {"value": 95, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 37, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 75, "environmental_impact_rating": 71}}], "hot_water_cost_potential": {"value": 105, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2314, "impact_of_loft_insulation": -711, "impact_of_cavity_insulation": -1785, "space_heating_existing_dwelling": 13652}, "energy_consumption_current": 170, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.07r0002", "energy_consumption_potential": 113, "environmental_impact_current": 66, "fixed_lighting_outlets_count": 19, "current_energy_efficiency_band": "C", "environmental_impact_potential": 76, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 30, "low_energy_fixed_lighting_outlets_count": 19} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-13b0e4c085a1.json b/tests/fixtures/epc_prediction/RM143YU/cert-13b0e4c085a1.json new file mode 100644 index 00000000..e07639f0 --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-13b0e4c085a1.json @@ -0,0 +1 @@ +{"uprn": 100021408537, "roofs": [{"description": "Pitched, 100 mm loft insulation", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "High performance glazing", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "addendum": {"addendum_numbers": [15]}, "lighting": {"description": "Good lighting efficiency", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RM14 3YU", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2026-05-14 10:00:17", "door_count": 2, "region_code": 2, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17974}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"orientation": 5, "window_type": 1, "glazing_type": 13, "window_width": 0.61, "window_height": 0.81, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 5, "window_type": 1, "glazing_type": 13, "window_width": 0.61, "window_height": 0.81, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 5, "window_type": 1, "glazing_type": 13, "window_width": 0.77, "window_height": 0.81, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 5, "window_type": 1, "glazing_type": 13, "window_width": 0.77, "window_height": 0.81, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 3, "window_type": 1, "glazing_type": 13, "window_width": 0.42, "window_height": 0.5, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 3, "window_type": 1, "glazing_type": 13, "window_width": 0.44, "window_height": 1.1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 1, "window_type": 1, "glazing_type": 13, "window_width": 0.44, "window_height": 0.79, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 1, "window_type": 1, "glazing_type": 13, "window_width": 0.64, "window_height": 0.81, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 1, "window_type": 1, "glazing_type": 13, "window_width": 0.64, "window_height": 0.81, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 5, "window_type": 1, "glazing_type": 13, "window_width": 0.59, "window_height": 1.09, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 5, "window_type": 1, "glazing_type": 13, "window_width": 0.59, "window_height": 1.09, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 1, "window_type": 1, "glazing_type": 13, "window_width": 0.43, "window_height": 1.14, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 1, "window_type": 1, "glazing_type": 13, "window_width": 0.43, "window_height": 1.14, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 2, "window_type": 1, "glazing_type": 13, "window_width": 0.42, "window_height": 0.79, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 2, "window_type": 1, "glazing_type": 13, "window_width": 0.42, "window_height": 0.79, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 1, "window_type": 1, "glazing_type": 13, "window_width": 0.44, "window_height": 0.82, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Semi-detached house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-fc8f9fdb56ec", "assessment_type": "RdSAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-13", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 80, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2026-05-14", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "true", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "true"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 40.17, "quantity": "square metres"}, "party_wall_length": {"value": 7.05, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 18.45, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 40.17, "quantity": "square metres"}, "party_wall_length": {"value": 7.05, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.45, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "100mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1022, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.2, "energy_rating_average": 60, "energy_rating_current": 65, "lighting_cost_current": {"value": 65, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 587, "currency": "GBP"}, "hot_water_cost_current": {"value": 211, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 353, "currency": "GBP"}, "indicative_cost": "\u00a37,500 - \u00a311,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 74}, {"sequence": 2, "typical_saving": {"value": 80, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 77}, {"sequence": 3, "typical_saving": {"value": 215, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 81, "environmental_impact_rating": 78}], "co2_emissions_potential": 1.8, "energy_rating_potential": 81, "lighting_cost_potential": {"value": 65, "currency": "GBP"}, "schema_version_original": "21.0.1", "hot_water_cost_potential": {"value": 213, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2460.69, "space_heating_existing_dwelling": 10569.29}, "draughtproofed_door_count": 2, "energy_consumption_current": 215, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0344", "energy_consumption_potential": 117, "environmental_impact_current": 63, "cfl_fixed_lighting_bulbs_count": 1, "current_energy_efficiency_band": "D", "environmental_impact_potential": 78, "led_fixed_lighting_bulbs_count": 6, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 39, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-20ba6a050f47.json b/tests/fixtures/epc_prediction/RM143YU/cert-20ba6a050f47.json new file mode 100644 index 00000000..0444dcda --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-20ba6a050f47.json @@ -0,0 +1 @@ +{"uprn": 100021408551, "roofs": [{"description": "Pitched, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": "Flat, limited insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "walls": [{"description": "Cavity wall, filled cavity", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, {"description": "Timber frame, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in 82% of fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "RM14 3YU", "hot_water": {"description": "From main system, no cylinder thermostat", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 2, "created_at": "2022-04-19 13:55:31.531148", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 117, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "cylinder_insulation_type": 2, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 80}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-9b3a2161dc3b", "assessment_type": "RdSAP", "completion_date": "2022-04-19", "inspection_date": "2022-04-19", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 100, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 6, "pvc_window_frames": "true", "registration_date": "2022-04-19", "sap_energy_source": {"mains_gas": "Y", "meter_type": 3, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.39, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 43.95, "quantity": "square metres"}, "party_wall_length": {"value": 7.59, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 15.17, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.38, "quantity": "metres"}, "total_floor_area": {"value": 43.95, "quantity": "square metres"}, "party_wall_length": {"value": 7.59, "quantity": "metres"}, "heat_loss_perimeter": {"value": 19.2, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "D", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 5, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.47, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 11.68, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 9.75, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "F", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 82, "solar_water_heating": "N", "habitable_room_count": 6, "heating_cost_current": {"value": 814, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 5.8, "energy_rating_average": 60, "energy_rating_current": 52, "lighting_cost_current": {"value": 94, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 587, "currency": "GBP"}, "hot_water_cost_current": {"value": 231, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 48, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 54, "environmental_impact_rating": 46}, {"sequence": 2, "typical_saving": {"value": 92, "currency": "GBP"}, "indicative_cost": "\u00a3200 - \u00a3400", "improvement_type": "F", "improvement_details": {"improvement_number": 4}, "improvement_category": 5, "energy_performance_rating": 58, "environmental_impact_rating": 50}, {"sequence": 3, "typical_saving": {"value": 214, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 62}, {"sequence": 4, "typical_saving": {"value": 36, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 65}, {"sequence": 5, "typical_saving": {"value": 358, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 73}], "co2_emissions_potential": 2.5, "energy_rating_potential": 78, "lighting_cost_potential": {"value": 94, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 309, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 69, "environmental_impact_rating": 61}}], "hot_water_cost_potential": {"value": 69, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3592, "impact_of_loft_insulation": -3707, "space_heating_existing_dwelling": 11683}, "energy_consumption_current": 331, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.09r0002", "energy_consumption_potential": 140, "environmental_impact_current": 44, "fixed_lighting_outlets_count": 11, "current_energy_efficiency_band": "E", "environmental_impact_potential": 73, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 58, "low_energy_fixed_lighting_outlets_count": 9} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-46231289c9c8.json b/tests/fixtures/epc_prediction/RM143YU/cert-46231289c9c8.json new file mode 100644 index 00000000..af3e34a7 --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-46231289c9c8.json @@ -0,0 +1 @@ +{"uprn": 100021408551, "roofs": [{"description": {"value": "Pitched, 100 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, {"description": {"value": "Flat, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": {"value": "Cavity wall, filled cavity", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, {"description": {"value": "Timber frame, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "RM14 3YU", "hot_water": {"description": {"value": "From main system, no cylinder thermostat", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 2, "created_at": "2022-04-29 15:10:40.677183", "door_count": 2, "glazed_area": 1, "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 101, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "cylinder_insulation_type": 2, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-9b3a2161dc3b", "assessment_type": "RdSAP", "completion_date": "2022-04-29", "inspection_date": "2022-04-26", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 100, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2022-04-29", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.36, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 42, "quantity": "square metres"}, "party_wall_length": {"value": 7, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 19, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.36, "quantity": "metres"}, "total_floor_area": {"value": 42, "quantity": "square metres"}, "party_wall_length": {"value": 7, "quantity": "metres"}, "heat_loss_perimeter": {"value": 19, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "100mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 5, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.33, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 16, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 6, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "H", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 571, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.3, "energy_rating_average": 60, "energy_rating_current": 63, "lighting_cost_current": {"value": 79, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 455, "currency": "GBP"}, "hot_water_cost_current": {"value": 233, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 51, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 59}, {"sequence": 2, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": "\u00a315 - \u00a330", "improvement_type": "C", "improvement_details": {"improvement_number": 2}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 61}, {"sequence": 3, "typical_saving": {"value": 60, "currency": "GBP"}, "indicative_cost": "\u00a3200 - \u00a3400", "improvement_type": "F", "improvement_details": {"improvement_number": 4}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 65}, {"sequence": 4, "typical_saving": {"value": 103, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 71}, {"sequence": 5, "typical_saving": {"value": 36, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 73}, {"sequence": 6, "typical_saving": {"value": 358, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 84, "environmental_impact_rating": 81}], "co2_emissions_potential": 1.7, "energy_rating_potential": 84, "lighting_cost_potential": {"value": 79, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 165, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 74, "environmental_impact_rating": 69}}], "hot_water_cost_potential": {"value": 70, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 4099, "impact_of_loft_insulation": -430, "space_heating_existing_dwelling": 8442}, "energy_consumption_current": 245, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.1.0", "energy_consumption_potential": 93, "environmental_impact_current": 56, "fixed_lighting_outlets_count": 8, "windows_transmission_details": {"u_value": 2, "data_source": 2, "solar_transmittance": 0.72}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 81, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 43, "low_energy_fixed_lighting_outlets_count": 8} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-599e37dc5fcc.json b/tests/fixtures/epc_prediction/RM143YU/cert-599e37dc5fcc.json new file mode 100644 index 00000000..680dac21 --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-599e37dc5fcc.json @@ -0,0 +1 @@ +{"uprn": 100021408547, "roofs": [{"description": {"value": "Pitched, 25 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": {"value": "Flat, limited insulation", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "walls": [{"description": {"value": "Cavity wall, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": {"value": "Solid brick, as built, partial insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": {"value": "No low energy lighting", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "postcode": "RM14 3YU", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 2, "created_at": "2017-01-30 21:19:58.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": "16+", "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 3, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 290}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-26deb9a8fabe", "assessment_type": "RdSAP", "completion_date": "2017-01-30", "inspection_date": "2017-01-29", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 91, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2017-01-30", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.37, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 42.18, "quantity": "square metres"}, "party_wall_length": {"value": 7.4, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 16.5, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.41, "quantity": "metres"}, "total_floor_area": {"value": 42.18, "quantity": "square metres"}, "party_wall_length": {"value": 7.4, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.8, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "25mm", "wall_insulation_thickness": "NI"}, {"identifier": "Extension", "wall_dry_lined": "N", "wall_thickness": 120, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.3, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 6.91, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 10.5, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "F", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 0, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 940, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 5.7, "energy_rating_average": 60, "energy_rating_current": 50, "lighting_cost_current": {"value": 120, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer and room thermostat", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 420, "currency": "GBP"}, "hot_water_cost_current": {"value": 188, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 87, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 53, "environmental_impact_rating": 46}, {"sequence": 2, "typical_saving": {"value": 205, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 61, "environmental_impact_rating": 55}, {"sequence": 3, "typical_saving": {"value": 46, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 57}, {"sequence": 4, "typical_saving": {"value": 69, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 61}, {"sequence": 5, "typical_saving": {"value": 49, "currency": "GBP"}, "indicative_cost": "\u00a345", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 63}, {"sequence": 6, "typical_saving": {"value": 27, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 64}, {"sequence": 7, "typical_saving": {"value": 160, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 73}, {"sequence": 8, "typical_saving": {"value": 48, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 76}, {"sequence": 9, "typical_saving": {"value": 286, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 84}], "co2_emissions_potential": 1.3, "energy_rating_potential": 86, "lighting_cost_potential": {"value": 60, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 41, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 65, "environmental_impact_rating": 60}, {"sequence": 2, "typical_saving": {"value": 154, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 74, "environmental_impact_rating": 95}, {"sequence": 3, "typical_saving": {"value": 94, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 73, "environmental_impact_rating": 76}, {"sequence": 4, "typical_saving": {"value": 151, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 75, "environmental_impact_rating": 70}], "hot_water_cost_potential": {"value": 76, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2766, "impact_of_loft_insulation": -1373, "impact_of_cavity_insulation": -3245, "impact_of_solid_wall_insulation": -733, "space_heating_existing_dwelling": 13063}, "energy_consumption_current": 354, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.0.0.0", "energy_consumption_potential": 77, "environmental_impact_current": 42, "fixed_lighting_outlets_count": 9, "windows_transmission_details": {"u_value": 2.6, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "E", "environmental_impact_potential": 84, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 63, "low_energy_fixed_lighting_outlets_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-6bde4cfcf10f.json b/tests/fixtures/epc_prediction/RM143YU/cert-6bde4cfcf10f.json new file mode 100644 index 00000000..c47162c2 --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-6bde4cfcf10f.json @@ -0,0 +1 @@ +{"uprn": 100021408541, "roofs": [{"description": "Pitched, 25 mm loft insulation", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Flat, limited insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Solid brick, as built, partial insulation (assumed)", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Low energy lighting in 44% of fixed outlets", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "RM14 3YU", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2018-05-08 14:19:42.000000", "door_count": 1, "glazed_area": 1, "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 1966}], "immersion_heating_type": "NA", "secondary_heating_type": 691, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 25}, "sap_version": 9.93, "schema_type": "RdSAP-Schema-18.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-a132b05fe9fb", "assessment_type": "RdSAP", "completion_date": "2018-05-08", "inspection_date": "2018-05-04", "extensions_count": 2, "measurement_type": 2, "total_floor_area": 115, "transaction_type": 1, "conservatory_type": 2, "heated_room_count": 4, "pvc_window_frames": "false", "registration_date": "2018-05-08", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, electric", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 290, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.38, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 52.08, "quantity": "square metres"}, "party_wall_length": {"value": 7.61, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 10.69, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.39, "quantity": "metres"}, "total_floor_area": {"value": 52.08, "quantity": "square metres"}, "party_wall_length": {"value": 7.61, "quantity": "metres"}, "heat_loss_perimeter": {"value": 21.55, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "25mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 230, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.39, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 18.35, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 9.09, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "F", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "wall_thickness": 210, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 3, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.16, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 9.2, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 10.57, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "F", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 44, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 1079, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 6.0, "energy_rating_average": 60, "energy_rating_current": 52, "lighting_cost_current": {"value": 113, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and room thermostat", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 589, "currency": "GBP"}, "hot_water_cost_current": {"value": 165, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 100, "currency": "GBP"}, "indicative_cost": 350, "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 56, "environmental_impact_rating": 50}, {"sequence": 2, "typical_saving": {"value": 33, "currency": "GBP"}, "indicative_cost": "1,500", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 57, "environmental_impact_rating": 51}, {"sequence": 3, "typical_saving": {"value": 131, "currency": "GBP"}, "indicative_cost": "1,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 61, "environmental_impact_rating": 56}, {"sequence": 4, "typical_saving": {"value": 78, "currency": "GBP"}, "indicative_cost": "14,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 60}, {"sequence": 5, "typical_saving": {"value": 71, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 63}, {"sequence": 6, "typical_saving": {"value": 33, "currency": "GBP"}, "indicative_cost": 70, "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 64}, {"sequence": 7, "typical_saving": {"value": 35, "currency": "GBP"}, "indicative_cost": 450, "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 65}, {"sequence": 8, "typical_saving": {"value": 98, "currency": "GBP"}, "indicative_cost": "3,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 70}, {"sequence": 9, "typical_saving": {"value": 42, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 72}, {"sequence": 10, "typical_saving": {"value": 297, "currency": "GBP"}, "indicative_cost": "8,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 81, "environmental_impact_rating": 80}], "co2_emissions_potential": 2.0, "energy_rating_potential": 81, "lighting_cost_potential": {"value": 72, "currency": "GBP"}, "schema_version_original": "LIG-18.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 69, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 64, "environmental_impact_rating": 59}, {"sequence": 2, "typical_saving": {"value": 45, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 70, "environmental_impact_rating": 91}, {"sequence": 3, "typical_saving": {"value": 42, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 72, "environmental_impact_rating": 75}, {"sequence": 4, "typical_saving": {"value": 218, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 76, "environmental_impact_rating": 71}], "hot_water_cost_potential": {"value": 76, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2955, "impact_of_loft_insulation": -1574, "impact_of_cavity_insulation": -2041, "impact_of_solid_wall_insulation": -1211, "space_heating_existing_dwelling": 15177}, "energy_consumption_current": 298, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "3.05r04", "energy_consumption_potential": 98, "environmental_impact_current": 47, "fixed_lighting_outlets_count": 25, "current_energy_efficiency_band": "E", "environmental_impact_potential": 80, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 52, "low_energy_fixed_lighting_outlets_count": 11} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-6f28f47a317d.json b/tests/fixtures/epc_prediction/RM143YU/cert-6f28f47a317d.json new file mode 100644 index 00000000..522e0edd --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-6f28f47a317d.json @@ -0,0 +1 @@ +{"uprn": 100021408552, "roofs": [{"description": "Pitched, 75 mm loft insulation", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "No low energy lighting", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "postcode": "RM14 3YU", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2014-07-11 15:47:56", "door_count": 1, "glazed_area": 1, "region_code": 2, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "boiler_index_number": 10328, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "main_heating_data_source": 1}], "has_fixed_air_conditioning": "false"}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.3", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-69ebc64f9bf6", "schema_version": "LIG-16.1", "assessment_type": "RdSAP", "completion_date": "2014-07-11", "inspection_date": "2014-07-11", "windows_u_value": 3.1, "extensions_count": 0, "measurement_type": 2, "total_floor_area": 83, "transaction_type": 11, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2014-07-11", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 2, "photovoltaic_supply": [[{"pitch": 3, "peak_power": 2, "orientation": 5, "overshading": 1}], [{"pitch": 3, "peak_power": 1.5, "orientation": 3, "overshading": 1}]], "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lzc_energy_sources": [11], "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.411, "floor_insulation": 0, "total_floor_area": 47.05, "floor_construction": 2, "heat_loss_perimeter": 21.5}, {"floor": 1, "room_height": 2.423, "total_floor_area": 48.8, "heat_loss_perimeter": 20.2}], "wall_insulation_type": 4, "construction_age_band": "D", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "75mm"}], "low_energy_lighting": 0, "solar_transmittance": 0.76, "solar_water_heating": "N", "windows_data_source": 2, "bedf_revision_number": 359, "habitable_room_count": 4, "heating_cost_current": {"value": 659, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.1, "energy_rating_average": 60, "energy_rating_current": 79, "lighting_cost_current": {"value": 100, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 483, "currency": "GBP"}, "hot_water_cost_current": {"value": 97, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 24.24, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 80, "environmental_impact_rating": 77}, {"sequence": 2, "typical_saving": {"value": 158.54, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 86}, {"sequence": 3, "typical_saving": {"value": 43.32, "currency": "GBP"}, "indicative_cost": "\u00a3270", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 89, "environmental_impact_rating": 88}, {"sequence": 4, "typical_saving": {"value": 28.54, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 90, "environmental_impact_rating": 89}], "co2_emissions_potential": 0.9, "energy_rating_potential": 90, "lighting_cost_potential": {"value": 50, "currency": "GBP"}, "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 30.99, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 88, "environmental_impact_rating": 88}}], "hot_water_cost_potential": {"value": 69, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2158, "impact_of_loft_insulation": -568, "impact_of_cavity_insulation": -3714, "space_heating_existing_dwelling": 12120}, "seller_commission_report": "Y", "energy_consumption_current": 129, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.4.1.0", "energy_consumption_potential": 50, "environmental_impact_current": 76, "fixed_lighting_outlets_count": 54, "current_energy_efficiency_band": "C", "environmental_impact_potential": 89, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 26, "low_energy_fixed_lighting_outlets_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-720d5771bfd7.json b/tests/fixtures/epc_prediction/RM143YU/cert-720d5771bfd7.json new file mode 100644 index 00000000..f8c4658e --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-720d5771bfd7.json @@ -0,0 +1 @@ +{"uprn": 100021408545, "roofs": [{"description": {"value": "Pitched, 150 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": {"value": "Flat, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Cavity wall, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": {"value": "Cavity wall, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "RM14 3YU", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2019-11-06 11:33:42.000000", "door_count": 2, "glazed_area": 1, "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 15, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 104, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "secondary_heating_type": 631, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-19.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-84e4761a679d", "assessment_type": "RdSAP", "completion_date": "2019-11-06", "inspection_date": "2019-11-06", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 107, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2019-11-06", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, smokeless fuel", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 42.75, "quantity": "square metres"}, "party_wall_length": {"value": 7.5, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 8.4, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 42.75, "quantity": "square metres"}, "party_wall_length": {"value": 7.5, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.9, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": 1, "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 21.63, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 75.8, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "J", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 869, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 5.7, "energy_rating_average": 60, "energy_rating_current": 59, "lighting_cost_current": {"value": 75, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 1, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 776, "currency": "GBP"}, "hot_water_cost_current": {"value": 111, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 93, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 51}, {"sequence": 2, "typical_saving": {"value": 35, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 52}, {"sequence": 3, "typical_saving": {"value": 324, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 60}], "co2_emissions_potential": 3.9, "energy_rating_potential": 73, "lighting_cost_potential": {"value": 75, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 48, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 65, "environmental_impact_rating": 53}}], "hot_water_cost_potential": {"value": 76, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2261, "impact_of_loft_insulation": -230, "impact_of_cavity_insulation": -1608, "space_heating_existing_dwelling": 12912}, "energy_consumption_current": 252, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.1.0", "energy_consumption_potential": 163, "environmental_impact_current": 46, "fixed_lighting_outlets_count": 14, "windows_transmission_details": {"u_value": 2, "data_source": 2, "solar_transmittance": 0.72}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 60, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 53, "low_energy_fixed_lighting_outlets_count": 14} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-728a620566a1.json b/tests/fixtures/epc_prediction/RM143YU/cert-728a620566a1.json new file mode 100644 index 00000000..0e1009d1 --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-728a620566a1.json @@ -0,0 +1 @@ +{"uprn": 100021408553, "roofs": [{"description": "Pitched, 75 mm loft insulation", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": "Pitched, 150 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "addendum": {"narrow_cavities": "true"}, "lighting": {"description": "No low energy lighting", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "postcode": "RM14 3YU", "hot_water": {"description": "From main system", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 1, "created_at": "2014-03-25 17:15:30.000000", "door_count": 2, "glazed_area": 1, "region_code": 2, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 1}, "cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "N", "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 117, "main_heating_data_source": 2}], "secondary_heating_type": 605, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 12}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.3", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 3}], "dwelling_type": "Detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-ad1b388293df", "schema_version": "LIG-16.1", "assessment_type": "RdSAP", "completion_date": "2014-03-25", "inspection_date": "2014-03-25", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 126, "transaction_type": 5, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2014-03-25", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 320, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.48, "floor_insulation": 1, "total_floor_area": 41.35, "floor_construction": 2, "heat_loss_perimeter": 20.42}, {"floor": 1, "room_height": 2.45, "total_floor_area": 40.39, "heat_loss_perimeter": 19.98}], "wall_insulation_type": 4, "construction_age_band": "D", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "75mm"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.48, "floor_insulation": 1, "total_floor_area": 24.45, "floor_construction": 1, "heat_loss_perimeter": 14.24}, {"floor": 1, "room_height": 2.45, "total_floor_area": 19.99, "heat_loss_perimeter": 13.83}], "wall_insulation_type": 4, "construction_age_band": "G", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm"}], "low_energy_lighting": 0, "solar_water_heating": "N", "bedf_revision_number": 346, "habitable_room_count": 5, "heating_cost_current": {"value": 1332, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 7.9, "energy_rating_average": 60, "energy_rating_current": 46, "lighting_cost_current": {"value": 133, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, TRVs and bypass", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 732, "currency": "GBP"}, "hot_water_cost_current": {"value": 223, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 44.5440286992623, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 47, "environmental_impact_rating": 42}, {"sequence": 2, "typical_saving": {"value": 257.15883129179, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 56, "environmental_impact_rating": 50}, {"sequence": 3, "typical_saving": {"value": 106.640247199958, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W", "improvement_details": {"improvement_number": 47}, "improvement_category": 5, "energy_performance_rating": 59, "environmental_impact_rating": 54}, {"sequence": 4, "typical_saving": {"value": 24.5120361726345, "currency": "GBP"}, "indicative_cost": "\u00a315 - \u00a330", "improvement_type": "C", "improvement_details": {"improvement_number": 3}, "improvement_category": 5, "energy_performance_rating": 60, "environmental_impact_rating": 55}, {"sequence": 5, "typical_saving": {"value": 52.0764405357982, "currency": "GBP"}, "indicative_cost": "\u00a3145", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 61, "environmental_impact_rating": 56}, {"sequence": 6, "typical_saving": {"value": 73.3022344750348, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 59}, {"sequence": 7, "typical_saving": {"value": 216.109178066975, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 68}, {"sequence": 8, "typical_saving": {"value": 38.3245175036501, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 70}, {"sequence": 9, "typical_saving": {"value": 252.73011835245, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 77}], "co2_emissions_potential": 2.8, "energy_rating_potential": 79, "lighting_cost_potential": {"value": 67, "currency": "GBP"}, "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 49.163355573198, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 57, "environmental_impact_rating": 52}, {"sequence": 2, "typical_saving": {"value": 133.706166948364, "currency": "GBP"}, "improvement_type": "Z1", "improvement_details": {"improvement_number": 51}, "improvement_category": 6, "energy_performance_rating": 70, "environmental_impact_rating": 71}], "hot_water_cost_potential": {"value": 78, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3291, "impact_of_loft_insulation": -675, "space_heating_existing_dwelling": 17995}, "seller_commission_report": "Y", "energy_consumption_current": 324, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.4.0.0", "energy_consumption_potential": 114, "environmental_impact_current": 41, "fixed_lighting_outlets_count": 29, "current_energy_efficiency_band": "E", "environmental_impact_potential": 77, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 62, "low_energy_fixed_lighting_outlets_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-73504c02d38b.json b/tests/fixtures/epc_prediction/RM143YU/cert-73504c02d38b.json new file mode 100644 index 00000000..af0b7c08 --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-73504c02d38b.json @@ -0,0 +1 @@ +{"uprn": 100021408528, "roofs": [{"description": {"value": "Pitched, 270 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": {"value": "Flat, limited insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "walls": [{"description": {"value": "Cavity wall, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": {"value": "Cavity wall, as built, partial insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": {"value": "Low energy lighting in 41% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "RM14 3YU", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 1, "created_at": "2022-06-02 15:43:47.746228", "door_count": 1, "glazed_area": 1, "glazing_gap": "16+", "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 101, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "secondary_heating_type": 605, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 25}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-457249785853", "assessment_type": "RdSAP", "completion_date": "2022-06-02", "inspection_date": "2022-05-31", "extensions_count": 2, "measurement_type": 1, "total_floor_area": 108, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "true", "registration_date": "2022-06-02", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, mains gas", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 295, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.47, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 33.04, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 15.75, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.41, "quantity": "metres"}, "total_floor_area": {"value": 33.04, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "heat_loss_perimeter": {"value": 20.52, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "270mm", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 295, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.45, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 26.34, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 21.74, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "F", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "wall_thickness": 295, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.47, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 7.88, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 3.09, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.41, "quantity": "metres"}, "total_floor_area": {"value": 7.88, "quantity": "square metres"}, "party_wall_length": 0, "heat_loss_perimeter": {"value": 5.64, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "270mm", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 41, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 1049, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 6.7, "energy_rating_average": 60, "energy_rating_current": 48, "lighting_cost_current": {"value": 131, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer and room thermostat", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 590, "currency": "GBP"}, "hot_water_cost_current": {"value": 157, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 26, "currency": "GBP"}, "indicative_cost": "\u00a3850 - \u00a31,500", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 49, "environmental_impact_rating": 41}, {"sequence": 2, "typical_saving": {"value": 232, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 58, "environmental_impact_rating": 50}, {"sequence": 3, "typical_saving": {"value": 47, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 60, "environmental_impact_rating": 53}, {"sequence": 4, "typical_saving": {"value": 51, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 55}, {"sequence": 5, "typical_saving": {"value": 42, "currency": "GBP"}, "indicative_cost": "\u00a350", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 56}, {"sequence": 6, "typical_saving": {"value": 39, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 58}, {"sequence": 7, "typical_saving": {"value": 118, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 65}, {"sequence": 8, "typical_saving": {"value": 37, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 67}, {"sequence": 9, "typical_saving": {"value": 352, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 80, "environmental_impact_rating": 75}], "co2_emissions_potential": 2.4, "energy_rating_potential": 80, "lighting_cost_potential": {"value": 83, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 106, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 62, "environmental_impact_rating": 55}, {"sequence": 2, "typical_saving": {"value": 244, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 73, "environmental_impact_rating": 66}], "hot_water_cost_potential": {"value": 72, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2940, "impact_of_cavity_insulation": -4160, "space_heating_existing_dwelling": 16833}, "energy_consumption_current": 350, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "v94.0.1.1", "energy_consumption_potential": 125, "environmental_impact_current": 40, "fixed_lighting_outlets_count": 17, "current_energy_efficiency_band": "E", "environmental_impact_potential": 75, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 62, "low_energy_fixed_lighting_outlets_count": 7} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-7bc8560fb4f5.json b/tests/fixtures/epc_prediction/RM143YU/cert-7bc8560fb4f5.json new file mode 100644 index 00000000..ede5401f --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-7bc8560fb4f5.json @@ -0,0 +1 @@ +{"uprn": 100021408559, "roofs": [{"description": {"value": "Pitched, 250 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": {"value": "Flat, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": {"value": "Cavity wall, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": {"value": "Cavity wall, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "RM14 3YU", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2017-05-25 09:03:35.000000", "door_count": 2, "glazed_area": 1, "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 9895}], "immersion_heating_type": "NA", "secondary_heating_type": 612, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 25}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.1", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-26ba7949b90b", "assessment_type": "RdSAP", "completion_date": "2017-05-25", "inspection_date": "2017-05-23", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 92, "transaction_type": 1, "conservatory_type": 3, "heated_room_count": 5, "pvc_window_frames": "false", "registration_date": "2017-05-25", "sap_energy_source": {"mains_gas": "Y", "meter_type": 1, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, mains gas", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.46, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 37.93, "quantity": "square metres"}, "party_wall_length": {"value": 6.92, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 8.58, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.39, "quantity": "metres"}, "total_floor_area": {"value": 37.93, "quantity": "square metres"}, "party_wall_length": {"value": 6.92, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.07, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "250mm", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 16.43, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 11.5, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "G", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 744, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.2, "energy_rating_average": 60, "energy_rating_current": 61, "lighting_cost_current": {"value": 66, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 568, "currency": "GBP"}, "hot_water_cost_current": {"value": 141, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 155, "currency": "GBP"}, "indicative_cost": "1,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 63}, {"sequence": 2, "typical_saving": {"value": 27, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 64}, {"sequence": 3, "typical_saving": {"value": 50, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 67}, {"sequence": 4, "typical_saving": {"value": 302, "currency": "GBP"}, "indicative_cost": "8,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 80, "environmental_impact_rating": 75}], "co2_emissions_potential": 2.1, "energy_rating_potential": 80, "lighting_cost_potential": {"value": 66, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 30, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 68, "environmental_impact_rating": 64}}], "hot_water_cost_potential": {"value": 85, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2882, "impact_of_cavity_insulation": -2231, "space_heating_existing_dwelling": 9983}, "energy_consumption_current": 260, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.0.x", "energy_consumption_potential": 124, "environmental_impact_current": 54, "fixed_lighting_outlets_count": 9, "current_energy_efficiency_band": "D", "environmental_impact_potential": 75, "has_heated_separate_conservatory": "true", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 46, "low_energy_fixed_lighting_outlets_count": 9} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-854f49ab70db.json b/tests/fixtures/epc_prediction/RM143YU/cert-854f49ab70db.json new file mode 100644 index 00000000..b49b8801 --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-854f49ab70db.json @@ -0,0 +1 @@ +{"uprn": 100021408552, "roofs": [{"description": {"value": "Pitched, 100 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": {"value": "Cavity wall, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"addendum_numbers": [8], "cavity_fill_recommended": "true"}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "RM14 3YU", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2019-08-14 11:46:31", "door_count": 2, "glazed_area": 1, "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10328}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.93, "schema_type": "RdSAP-Schema-18.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-69ebc64f9bf6", "assessment_type": "RdSAP", "completion_date": "2019-08-14", "inspection_date": "2019-07-26", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 84, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "false", "registration_date": "2019-08-14", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 2, "percent_roof_area": 45}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lzc_energy_sources": [11], "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 42, "quantity": "square metres"}, "party_wall_length": {"value": 7.5, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 18.7, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 42, "quantity": "square metres"}, "party_wall_length": {"value": 7.5, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.7, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": 1, "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "100mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 582, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.3, "energy_rating_average": 60, "energy_rating_current": 78, "lighting_cost_current": {"value": 64, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 438, "currency": "GBP"}, "hot_water_cost_current": {"value": 99, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 103, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 82, "environmental_impact_rating": 78}, {"sequence": 2, "typical_saving": {"value": 40, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 84, "environmental_impact_rating": 81}, {"sequence": 3, "typical_saving": {"value": 32, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 85, "environmental_impact_rating": 83}], "co2_emissions_potential": 1.3, "energy_rating_potential": 85, "lighting_cost_potential": {"value": 64, "currency": "GBP"}, "schema_version_original": "LIG-18.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 55, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 84, "environmental_impact_rating": 81}}], "hot_water_cost_potential": {"value": 68, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2163, "impact_of_loft_insulation": -387, "impact_of_cavity_insulation": -2386, "space_heating_existing_dwelling": 10608}, "energy_consumption_current": 153, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.0.0", "energy_consumption_potential": 87, "environmental_impact_current": 72, "fixed_lighting_outlets_count": 12, "windows_transmission_details": {"u_value": 3.1, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "C", "environmental_impact_potential": 83, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 28, "low_energy_fixed_lighting_outlets_count": 12} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-86b54caf4ff4.json b/tests/fixtures/epc_prediction/RM143YU/cert-86b54caf4ff4.json new file mode 100644 index 00000000..6c379ee8 --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-86b54caf4ff4.json @@ -0,0 +1 @@ +{"uprn": 100021408533, "roofs": [{"description": {"value": "Pitched, 250 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": {"value": "Flat, limited insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Pitched, 200 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Cavity wall, filled cavity", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in 50% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RM14 3YU", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2022-01-29 14:01:35.915555", "door_count": 1, "glazed_area": 1, "glazing_gap": "16+", "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10462}], "immersion_heating_type": "NA", "secondary_heating_type": 612, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-6d7e93b70fb3", "assessment_type": "RdSAP", "completion_date": "2022-01-29", "inspection_date": "2022-01-26", "extensions_count": 2, "measurement_type": 1, "total_floor_area": 107, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2022-01-29", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "Room heaters, mains gas", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 290, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.49, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 32.94, "quantity": "square metres"}, "party_wall_length": {"value": 6.91, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 9.87, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.39, "quantity": "metres"}, "total_floor_area": {"value": 32.94, "quantity": "square metres"}, "party_wall_length": {"value": 6.91, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12.8, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "D", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "250mm", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 260, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 25.64, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 17.01, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "E", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "wall_thickness": 290, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.49, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 7.63, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 1, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.39, "quantity": "metres"}, "total_floor_area": {"value": 7.63, "quantity": "square metres"}, "party_wall_length": 0, "heat_loss_perimeter": {"value": 5.54, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "D", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 50, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 765, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.8, "energy_rating_average": 60, "energy_rating_current": 60, "lighting_cost_current": {"value": 123, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 1, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 621, "currency": "GBP"}, "hot_water_cost_current": {"value": 123, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 78, "currency": "GBP"}, "indicative_cost": "\u00a3850 - \u00a31,500", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 57}, {"sequence": 2, "typical_saving": {"value": 37, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 59}, {"sequence": 3, "typical_saving": {"value": 37, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 61}, {"sequence": 4, "typical_saving": {"value": 36, "currency": "GBP"}, "indicative_cost": "\u00a340", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 62}, {"sequence": 5, "typical_saving": {"value": 40, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 64}, {"sequence": 6, "typical_saving": {"value": 352, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 72}], "co2_emissions_potential": 2.6, "energy_rating_potential": 78, "lighting_cost_potential": {"value": 82, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 80, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2791, "space_heating_existing_dwelling": 11375}, "energy_consumption_current": 256, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "v94.0.1.1", "energy_consumption_potential": 138, "environmental_impact_current": 53, "fixed_lighting_outlets_count": 16, "current_energy_efficiency_band": "D", "environmental_impact_potential": 72, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 45, "low_energy_fixed_lighting_outlets_count": 8} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-8c6945676927.json b/tests/fixtures/epc_prediction/RM143YU/cert-8c6945676927.json new file mode 100644 index 00000000..851f1ed2 --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-8c6945676927.json @@ -0,0 +1 @@ +{"uprn": 100021408557, "roofs": [{"description": "Pitched, no insulation", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": "Roof room(s), insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "addendum": {"addendum_numbers": [15], "cavity_fill_recommended": "true"}, "lighting": {"description": "Good lighting efficiency", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RM14 3YU", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2026-04-30 19:20:25", "door_count": 4, "region_code": 2, "report_type": 2, "sap_heating": {"number_baths": 2, "cylinder_size": 4, "shower_outlets": [{"shower_outlet": {"shower_wwhrs": 1, "shower_outlet_type": 1}}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 19130}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "orientation": 5, "window_type": 1, "glazing_type": 2, "window_width": 1.06, "window_height": 0.55, "draught_proofed": "true", "window_location": 0, "window_wall_type": 4, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 2, "window_width": 0.52, "window_height": 0.76, "draught_proofed": "true", "window_location": 0, "window_wall_type": 4, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 0.45, "window_height": 0.88, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 0.46, "window_height": 0.3, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 0.45, "window_height": 0.88, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 0.46, "window_height": 0.88, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 0.46, "window_height": 0.33, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 0.46, "window_height": 0.33, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 0.46, "window_height": 0.88, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 0.49, "window_height": 0.65, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 0.49, "window_height": 0.65, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 0.49, "window_height": 0.28, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 0.49, "window_height": 0.28, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 0.49, "window_height": 0.65, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 0.49, "window_height": 0.65, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 0.49, "window_height": 0.28, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 0.44, "window_height": 0.52, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 0.42, "window_height": 0.32, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 0.42, "window_height": 0.88, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 0.42, "window_height": 0.88, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 0.42, "window_height": 0.32, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 0.42, "window_height": 0.32, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Semi-detached house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-a767ecb05c85", "assessment_type": "RdSAP", "completion_date": "2026-04-30", "inspection_date": "2026-04-30", "extensions_count": 3, "measurement_type": 1, "total_floor_area": 148, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 7, "registration_date": "2026-04-30", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "sap_room_in_roof": {"floor_area": 27.16, "room_in_roof_type_1": {"gable_wall_type_1": 1, "gable_wall_type_2": 0, "gable_wall_length_1": 1.71, "gable_wall_length_2": 1.71}, "construction_age_band": "L"}, "roof_construction": 8, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 39.93, "quantity": "square metres"}, "party_wall_length": {"value": 7.03, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 4.61, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 39.93, "quantity": "square metres"}, "party_wall_length": {"value": 7.03, "quantity": "metres"}, "heat_loss_perimeter": {"value": 6.38, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 7, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "sloping_ceiling_insulation_thickness": "AB"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 8, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 2.04, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 4.09, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": "NA", "wall_thickness_measured": "N", "roof_insulation_location": 7, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "sloping_ceiling_insulation_thickness": "AB"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 8, "wall_construction": 4, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 23.26, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 13.15, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": "NA", "wall_thickness_measured": "N", "roof_insulation_location": 7, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "sloping_ceiling_insulation_thickness": "AB"}, {"identifier": "Extension 3", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 8, "wall_construction": 4, "building_part_number": 4, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 15.22, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 11.67, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "C", "party_wall_construction": "NA", "wall_thickness_measured": "N", "roof_insulation_location": 7, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "sloping_ceiling_insulation_thickness": "AB"}], "solar_water_heating": "N", "habitable_room_count": 7, "heating_cost_current": {"value": 1833, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 5.7, "energy_rating_average": 60, "energy_rating_current": 63, "lighting_cost_current": {"value": 112, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 991, "currency": "GBP"}, "hot_water_cost_current": {"value": 278, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 404, "currency": "GBP"}, "indicative_cost": "\u00a3900 - \u00a31,200", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 65}, {"sequence": 2, "typical_saving": {"value": 213, "currency": "GBP"}, "indicative_cost": "\u00a3900 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 69}, {"sequence": 3, "typical_saving": {"value": 98, "currency": "GBP"}, "indicative_cost": "\u00a37,500 - \u00a311,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 71}, {"sequence": 4, "typical_saving": {"value": 125, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 74}, {"sequence": 5, "typical_saving": {"value": 246, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 75}], "co2_emissions_potential": 3.2, "energy_rating_potential": 79, "lighting_cost_potential": {"value": 112, "currency": "GBP"}, "schema_version_original": "21.0.1", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 59, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 73, "environmental_impact_rating": 71}}], "hot_water_cost_potential": {"value": 280, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3237.23, "space_heating_existing_dwelling": 20368.71}, "draughtproofed_door_count": 4, "energy_consumption_current": 211, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0344", "energy_consumption_potential": 114, "environmental_impact_current": 56, "current_energy_efficiency_band": "D", "environmental_impact_potential": 75, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 39, "low_energy_fixed_lighting_bulbs_count": 56, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-9124910a43bd.json b/tests/fixtures/epc_prediction/RM143YU/cert-9124910a43bd.json new file mode 100644 index 00000000..3c69415d --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-9124910a43bd.json @@ -0,0 +1 @@ +{"uprn": 100021408534, "roofs": [{"description": "Pitched, 250 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Pitched, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "No low energy lighting", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "postcode": "RM14 3YU", "hot_water": {"description": "From main system", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "post_town": "", "built_form": 2, "created_at": "2022-04-26 13:48:44.211199", "door_count": 2, "glazed_area": 4, "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 105, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "secondary_heating_type": 601, "cylinder_insulation_type": 2, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 38}, "sap_version": 9.94, "sap_windows": [{"pvc_frame": "true", "glazing_gap": "16+", "orientation": 8, "window_area": {"value": 7.36, "quantity": "square metres"}, "window_type": 2, "glazing_type": 3, "window_location": 1}], "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-1e2cfc4b7eb1", "assessment_type": "RdSAP", "completion_date": "2022-04-26", "inspection_date": "2022-04-26", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 87, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2022-04-26", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, mains gas", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "Y", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 39.86, "quantity": "square metres"}, "party_wall_length": {"value": 6.75, "quantity": "metres"}, "floor_construction": 3, "heat_loss_perimeter": {"value": 16.05, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.41, "quantity": "metres"}, "total_floor_area": {"value": 39.86, "quantity": "square metres"}, "party_wall_length": {"value": 6.75, "quantity": "metres"}, "heat_loss_perimeter": {"value": 17.65, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "250mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "Y", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 8, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.42, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 7.36, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 9.19, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "D", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 7, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "sloping_ceiling_insulation_thickness": "AB"}], "low_energy_lighting": 0, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 694, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 5.0, "energy_rating_average": 60, "energy_rating_current": 54, "lighting_cost_current": {"value": 164, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and room thermostat", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": "ND", "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 457, "currency": "GBP"}, "hot_water_cost_current": {"value": 180, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 120, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 59, "environmental_impact_rating": 53}, {"sequence": 2, "typical_saving": {"value": 39, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 61, "environmental_impact_rating": 56}, {"sequence": 3, "typical_saving": {"value": 21, "currency": "GBP"}, "indicative_cost": "\u00a315 - \u00a330", "improvement_type": "C", "improvement_details": {"improvement_number": 2}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 57}, {"sequence": 4, "typical_saving": {"value": 72, "currency": "GBP"}, "indicative_cost": "\u00a350", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 58}, {"sequence": 5, "typical_saving": {"value": 27, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 60}, {"sequence": 6, "typical_saving": {"value": 118, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 68}, {"sequence": 7, "typical_saving": {"value": 35, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 70}, {"sequence": 8, "typical_saving": {"value": 358, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 82, "environmental_impact_rating": 79}], "co2_emissions_potential": 1.7, "energy_rating_potential": 82, "lighting_cost_potential": {"value": 82, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 104, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 64, "environmental_impact_rating": 60}, {"sequence": 2, "typical_saving": {"value": 196, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 72, "environmental_impact_rating": 67}], "hot_water_cost_potential": {"value": 68, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 3243, "impact_of_cavity_insulation": -2249, "space_heating_existing_dwelling": 10503}, "energy_consumption_current": 324, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.09r0002", "energy_consumption_potential": 107, "environmental_impact_current": 47, "fixed_lighting_outlets_count": 10, "current_energy_efficiency_band": "E", "environmental_impact_potential": 79, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 57, "low_energy_fixed_lighting_outlets_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-b9251277c24d.json b/tests/fixtures/epc_prediction/RM143YU/cert-b9251277c24d.json new file mode 100644 index 00000000..d7c9a647 --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-b9251277c24d.json @@ -0,0 +1 @@ +{"uprn": 100021408542, "roofs": [{"description": "Pitched, 250 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Flat, insulated (assumed)", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Cavity wall, filled cavity", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "RM14 3YU", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2014-01-08 14:42:23.000000", "door_count": 3, "glazed_area": 1, "region_code": 2, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 0}, "cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "boiler_index_number": 10327, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "main_heating_data_source": 1}], "has_fixed_air_conditioning": "false"}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.2", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-b4fc3b543340", "schema_version": "LIG-16.1", "assessment_type": "RdSAP", "completion_date": "2014-01-08", "inspection_date": "2014-01-08", "extensions_count": 2, "measurement_type": 1, "total_floor_area": 120, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 7, "registration_date": "2014-01-08", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.5, "floor_insulation": 1, "total_floor_area": 41.8, "floor_construction": 1, "heat_loss_perimeter": 10.4}, {"floor": 1, "room_height": 2.4, "total_floor_area": 41.8, "heat_loss_perimeter": 12}], "wall_insulation_type": 2, "construction_age_band": "D", "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "250mm"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.5, "floor_insulation": 1, "total_floor_area": 14.3, "floor_construction": 1, "heat_loss_perimeter": 10.7}], "wall_insulation_type": 4, "construction_age_band": "G", "wall_thickness_measured": "N", "roof_insulation_location": 4, "roof_insulation_thickness": "NI"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.4, "floor_insulation": 1, "total_floor_area": 6, "floor_construction": 1, "heat_loss_perimeter": 7}, {"floor": 1, "room_height": 2.5, "total_floor_area": 15.7, "heat_loss_perimeter": 114}], "wall_insulation_type": 2, "construction_age_band": "F", "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "250mm"}], "low_energy_lighting": 100, "solar_water_heating": "N", "bedf_revision_number": 352, "habitable_room_count": 7, "heating_cost_current": {"value": 921, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.9, "energy_rating_average": 60, "energy_rating_current": 64, "lighting_cost_current": {"value": 64, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 1, "open_fireplaces_count": 1, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 863, "currency": "GBP"}, "hot_water_cost_current": {"value": 103, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 57.7, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W", "improvement_details": {"improvement_number": 47}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 62}, {"sequence": 2, "typical_saving": {"value": 252.73, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 69}], "co2_emissions_potential": 3.6, "energy_rating_potential": 73, "lighting_cost_potential": {"value": 64, "currency": "GBP"}, "hot_water_cost_potential": {"value": 103, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2296, "space_heating_existing_dwelling": 18255}, "seller_commission_report": "Y", "energy_consumption_current": 212, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.4.1.0", "energy_consumption_potential": 155, "environmental_impact_current": 59, "fixed_lighting_outlets_count": 13, "current_energy_efficiency_band": "D", "environmental_impact_potential": 69, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 41, "low_energy_fixed_lighting_outlets_count": 13} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-c93fcb1d9cf7.json b/tests/fixtures/epc_prediction/RM143YU/cert-c93fcb1d9cf7.json new file mode 100644 index 00000000..d7536f91 --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-c93fcb1d9cf7.json @@ -0,0 +1 @@ +{"uprn": 100021408554, "roofs": [{"description": "Pitched, 25 mm loft insulation", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Pitched, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, insulated (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "lighting": {"description": "Low energy lighting in 40% of fixed outlets", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "RM14 3YU", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2014-08-12 05:58:55.000000", "door_count": 2, "glazed_area": 2, "region_code": 2, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 1}, "cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "boiler_index_number": 10327, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "main_heating_data_source": 1}], "has_fixed_air_conditioning": "false"}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.3", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-6cb8cf247890", "schema_version": "LIG-16.1", "assessment_type": "RdSAP", "completion_date": "2014-08-12", "inspection_date": "2014-08-12", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 126, "transaction_type": 5, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2014-08-12", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.45, "floor_insulation": 1, "total_floor_area": 41.78, "floor_construction": 1, "heat_loss_perimeter": 5.7}, {"floor": 1, "room_height": 2.45, "total_floor_area": 41.78, "heat_loss_perimeter": 18.73}], "wall_insulation_type": 4, "construction_age_band": "D", "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "25mm"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.63, "floor_insulation": 1, "total_floor_area": 42.46, "floor_construction": 1, "heat_loss_perimeter": 21.04}], "wall_insulation_type": 4, "construction_age_band": "K", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "NI"}], "low_energy_lighting": 40, "solar_water_heating": "N", "bedf_revision_number": 346, "habitable_room_count": 5, "heating_cost_current": {"value": 710, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.8, "energy_rating_average": 60, "energy_rating_current": 71, "lighting_cost_current": {"value": 107, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 547, "currency": "GBP"}, "hot_water_cost_current": {"value": 109, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 69.9204397752441, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 72}, {"sequence": 2, "typical_saving": {"value": 98.255650010857, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 76}, {"sequence": 3, "typical_saving": {"value": 34.2017052907536, "currency": "GBP"}, "indicative_cost": "\u00a375", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 77}, {"sequence": 4, "typical_saving": {"value": 260.661716949552, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 85, "environmental_impact_rating": 84}], "co2_emissions_potential": 1.9, "energy_rating_potential": 85, "lighting_cost_potential": {"value": 67, "currency": "GBP"}, "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 18.4567923421866, "currency": "GBP"}, "improvement_type": "Q2", "improvement_details": {"improvement_number": 55}, "improvement_category": 6, "energy_performance_rating": 77, "environmental_impact_rating": 77}}], "hot_water_cost_potential": {"value": 109, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2305, "impact_of_loft_insulation": -1558, "space_heating_existing_dwelling": 12713}, "seller_commission_report": "Y", "energy_consumption_current": 158, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.4.0.0", "energy_consumption_potential": 77, "environmental_impact_current": 69, "fixed_lighting_outlets_count": 25, "current_energy_efficiency_band": "C", "environmental_impact_potential": 84, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 30, "low_energy_fixed_lighting_outlets_count": 10} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-d32b112ed162.json b/tests/fixtures/epc_prediction/RM143YU/cert-d32b112ed162.json new file mode 100644 index 00000000..fe878b19 --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-d32b112ed162.json @@ -0,0 +1 @@ +{"uprn": 100021408530, "roofs": [{"description": {"value": "Pitched, 250 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Cavity wall, filled cavity", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "RM14 3YU", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2019-10-25 12:49:49.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": 12, "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 16842}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-19.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Semi-detached house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-65e4d20dce7d", "assessment_type": "RdSAP", "completion_date": "2019-10-25", "inspection_date": "2019-10-25", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 81, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "true", "registration_date": "2019-10-25", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 41, "quantity": "square metres"}, "party_wall_length": {"value": 7.1, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 18.8, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 40.3, "quantity": "square metres"}, "party_wall_length": {"value": 7.1, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.3, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "D", "party_wall_construction": 1, "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "250mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 449, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.6, "energy_rating_average": 60, "energy_rating_current": 72, "lighting_cost_current": {"value": 62, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 408, "currency": "GBP"}, "hot_water_cost_current": {"value": 84, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 80, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 41, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 73}, {"sequence": 2, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 74}, {"sequence": 3, "typical_saving": {"value": 324, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 84}], "co2_emissions_potential": 1.2, "energy_rating_potential": 86, "lighting_cost_potential": {"value": 62, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 55, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1903, "space_heating_existing_dwelling": 7629}, "energy_consumption_current": 179, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.1.1.0", "energy_consumption_potential": 81, "environmental_impact_current": 70, "fixed_lighting_outlets_count": 12, "windows_transmission_details": {"u_value": 2.8, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "C", "environmental_impact_potential": 84, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 31, "low_energy_fixed_lighting_outlets_count": 12} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-e0092f52f8d0.json b/tests/fixtures/epc_prediction/RM143YU/cert-e0092f52f8d0.json new file mode 100644 index 00000000..1e2b3a91 --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-e0092f52f8d0.json @@ -0,0 +1 @@ +{"uprn": 100021408541, "roofs": [{"description": "Pitched, 200 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Flat, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, with external insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Suspended, insulated (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "RM14 3YU", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2022-03-09 19:13:54.782838", "door_count": 0, "glazed_area": 1, "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 1, "fan_flue_present": "Y", "heat_emitter_type": 2, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2110, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 101, "central_heating_pump_age": 2, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and underfloor heating, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-71ac21fce4c6", "assessment_type": "RdSAP", "completion_date": "2022-03-09", "inspection_date": "2022-03-09", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 110, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 14, "registration_date": "2022-03-09", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 340, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.2, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 43.49, "quantity": "square metres"}, "party_wall_length": {"value": 7.7, "quantity": "metres"}, "floor_construction": 3, "heat_loss_perimeter": {"value": 9.03, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.2, "quantity": "metres"}, "total_floor_area": {"value": 43.49, "quantity": "square metres"}, "party_wall_length": {"value": 7.7, "quantity": "metres"}, "heat_loss_perimeter": {"value": 18.97, "quantity": "metres"}}], "wall_insulation_type": 1, "construction_age_band": "E", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "200mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 340, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.2, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 22.73, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 3, "heat_loss_perimeter": {"value": 17.71, "quantity": "metres"}}], "wall_insulation_type": 1, "construction_age_band": "L", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 14, "heating_cost_current": {"value": 408, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.9, "energy_rating_average": 60, "energy_rating_current": 75, "lighting_cost_current": {"value": 84, "currency": "GBP"}, "main_heating_controls": [{"description": "Time and temperature zone control", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 348, "currency": "GBP"}, "hot_water_cost_current": {"value": 144, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 97, "currency": "GBP"}, "indicative_cost": "\u00a32,200 - \u00a33,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 78}, {"sequence": 2, "typical_saving": {"value": 37, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 80, "environmental_impact_rating": 80}, {"sequence": 3, "typical_saving": {"value": 358, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 89, "environmental_impact_rating": 88}], "co2_emissions_potential": 1.1, "energy_rating_potential": 89, "lighting_cost_potential": {"value": 84, "currency": "GBP"}, "schema_version_original": "20.0.0", "alternative_improvements": [{"improvement": {"sequence": 1, "typical_saving": {"value": 123, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 78, "environmental_impact_rating": 74}}], "hot_water_cost_potential": {"value": 71, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2726, "space_heating_existing_dwelling": 6092}, "energy_consumption_current": 150, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.08r0002", "energy_consumption_potential": 56, "environmental_impact_current": 72, "fixed_lighting_outlets_count": 14, "current_energy_efficiency_band": "C", "environmental_impact_potential": 88, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 26, "low_energy_fixed_lighting_outlets_count": 14} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-ef7108c2ef93.json b/tests/fixtures/epc_prediction/RM143YU/cert-ef7108c2ef93.json new file mode 100644 index 00000000..0c7642d1 --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-ef7108c2ef93.json @@ -0,0 +1 @@ +{"uprn": 100021408531, "roofs": [{"description": "Pitched, 270 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Flat, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Cavity wall, filled cavity", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, insulated (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": "Low energy lighting in 50% of fixed outlets", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RM14 3YU", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2020-10-07 11:24:35.252364", "door_count": 2, "glazed_area": 1, "region_code": 2, "report_type": 2, "sap_heating": {"cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10201}], "immersion_heating_type": "NA", "secondary_heating_type": 691, "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-e328fd3e7f43", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2020-10-07", "inspection_date": "2020-10-01", "extensions_count": 1, "measurement_type": 2, "total_floor_area": 97, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2020-10-07", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "Room heaters, electric", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.46, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 46.87, "quantity": "square metres"}, "party_wall_length": {"value": 7.43, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 15.85, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.39, "quantity": "metres"}, "total_floor_area": {"value": 46.87, "quantity": "square metres"}, "party_wall_length": {"value": 7.43, "quantity": "metres"}, "heat_loss_perimeter": {"value": 20.27, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "C", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "270mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.13, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 18.59, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 16, "quantity": "metres"}}], "wall_insulation_type": 2, "construction_age_band": "J", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 50, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 587, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.2, "energy_rating_average": 60, "energy_rating_current": 68, "lighting_cost_current": {"value": 112, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 546, "currency": "GBP"}, "hot_water_cost_current": {"value": 125, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 48, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 69}, {"sequence": 2, "typical_saving": {"value": 32, "currency": "GBP"}, "indicative_cost": "\u00a340", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 70}, {"sequence": 3, "typical_saving": {"value": 40, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 72}, {"sequence": 4, "typical_saving": {"value": 345, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 82, "environmental_impact_rating": 80}], "co2_emissions_potential": 1.7, "energy_rating_potential": 82, "lighting_cost_potential": {"value": 75, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 82, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2686, "space_heating_existing_dwelling": 8005}, "energy_consumption_current": 190, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.06r0006", "energy_consumption_potential": 99, "environmental_impact_current": 66, "fixed_lighting_outlets_count": 16, "current_energy_efficiency_band": "D", "environmental_impact_potential": 80, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 33, "low_energy_fixed_lighting_outlets_count": 8} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/RM143YU/cert-fc5e9d928216.json b/tests/fixtures/epc_prediction/RM143YU/cert-fc5e9d928216.json new file mode 100644 index 00000000..a83ce246 --- /dev/null +++ b/tests/fixtures/epc_prediction/RM143YU/cert-fc5e9d928216.json @@ -0,0 +1 @@ +{"uprn": 100021408550, "roofs": [{"description": "Pitched, 300+ mm loft insulation", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, {"description": "Flat, insulated (assumed)", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Cavity wall, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": [{"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "addendum": {"cavity_fill_recommended": "true"}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "RM14 3YU", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 2, "created_at": "2014-11-22 14:33:06.000000", "door_count": 2, "glazed_area": 1, "region_code": 2, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "cylinder_size": 2, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "boiler_index_number": 15018, "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "main_heating_data_source": 1}], "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.3", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-f651e443c727", "schema_version": "LIG-16.1", "assessment_type": "RdSAP", "completion_date": "2014-11-22", "inspection_date": "2014-11-07", "extensions_count": 2, "measurement_type": 1, "total_floor_area": 102, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2014-11-22", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 4, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.4, "floor_insulation": 1, "total_floor_area": 39.6, "floor_construction": 2, "heat_loss_perimeter": 9.1}, {"floor": 1, "room_height": 2.4, "total_floor_area": 39.6, "heat_loss_perimeter": 18.2}], "wall_insulation_type": 4, "construction_age_band": "D", "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "300mm+"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.3, "floor_insulation": 1, "total_floor_area": 12.6, "floor_construction": 1, "heat_loss_perimeter": 9.8}], "wall_insulation_type": 4, "construction_age_band": "G", "wall_thickness_measured": "N", "roof_insulation_location": 4, "roof_insulation_thickness": "NI"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 4, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.4, "floor_insulation": 1, "total_floor_area": 10, "floor_construction": 1, "heat_loss_perimeter": 9.2}], "wall_insulation_type": 4, "construction_age_band": "H", "wall_thickness_measured": "N", "roof_insulation_location": 4, "roof_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "bedf_revision_number": 367, "habitable_room_count": 4, "heating_cost_current": {"value": 749, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.9, "energy_rating_average": 60, "energy_rating_current": 66, "lighting_cost_current": {"value": 60, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and room thermostat", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 1, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 570, "currency": "GBP"}, "hot_water_cost_current": {"value": 126, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 114.8, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a31,500", "improvement_type": "B", "improvement_details": {"improvement_number": 6}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 69}, {"sequence": 2, "typical_saving": {"value": 65.55, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W", "improvement_details": {"improvement_number": 47}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 72}, {"sequence": 3, "typical_saving": {"value": 40.99, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 74}, {"sequence": 4, "typical_saving": {"value": 260.66, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 83, "environmental_impact_rating": 82}], "co2_emissions_potential": 1.9, "energy_rating_potential": 83, "lighting_cost_potential": {"value": 60, "currency": "GBP"}, "hot_water_cost_potential": {"value": 83, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2641, "impact_of_cavity_insulation": -2547, "space_heating_existing_dwelling": 13507}, "seller_commission_report": "Y", "energy_consumption_current": 199, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "1.4.1.0", "energy_consumption_potential": 92, "environmental_impact_current": 63, "fixed_lighting_outlets_count": 13, "current_energy_efficiency_band": "D", "environmental_impact_potential": 82, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 38, "low_energy_fixed_lighting_outlets_count": 13} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-006fcca19e8e.json b/tests/fixtures/epc_prediction/W104HL/cert-006fcca19e8e.json new file mode 100644 index 00000000..7c0dfc58 --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-006fcca19e8e.json @@ -0,0 +1 @@ +{"uprn": 100022784900, "roofs": [{"description": "Pitched, 50 mm loft insulation", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Partial double glazing", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "lighting": {"description": "Low energy lighting in 33% of fixed outlets", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "W10 4HL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2018-11-16 16:10:03.000000", "door_count": 0, "glazed_area": 1, "glazing_gap": "16+", "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 103, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.93, "schema_type": "RdSAP-Schema-18.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-bee30d6e6d5a", "assessment_type": "RdSAP", "completion_date": "2018-11-16", "inspection_date": "2018-11-15", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 77, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 3, "pvc_window_frames": "true", "registration_date": "2018-11-16", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 260, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.79, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 38.28, "quantity": "square metres"}, "party_wall_length": {"value": 17.45, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 11.91, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.79, "quantity": "metres"}, "total_floor_area": {"value": 38.28, "quantity": "square metres"}, "party_wall_length": {"value": 17.45, "quantity": "metres"}, "heat_loss_perimeter": {"value": 11.91, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "50mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 33, "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 618, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.8, "energy_rating_average": 60, "energy_rating_current": 58, "lighting_cost_current": {"value": 92, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 1, "open_fireplaces_count": 1, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 294, "currency": "GBP"}, "hot_water_cost_current": {"value": 117, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 40, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 39, "currency": "GBP"}, "indicative_cost": 350, "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 60, "environmental_impact_rating": 54}, {"sequence": 2, "typical_saving": {"value": 155, "currency": "GBP"}, "indicative_cost": "14,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 64}, {"sequence": 3, "typical_saving": {"value": 38, "currency": "GBP"}, "indicative_cost": "1,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 67}, {"sequence": 4, "typical_saving": {"value": 12, "currency": "GBP"}, "indicative_cost": 120, "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 69}, {"sequence": 5, "typical_saving": {"value": 32, "currency": "GBP"}, "indicative_cost": 30, "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 70}, {"sequence": 6, "typical_saving": {"value": 67, "currency": "GBP"}, "indicative_cost": "3,000", "improvement_type": "I", "improvement_details": {"improvement_number": 20}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 74}, {"sequence": 7, "typical_saving": {"value": 31, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 77}, {"sequence": 8, "typical_saving": {"value": 37, "currency": "GBP"}, "indicative_cost": "6,500", "improvement_type": "O", "improvement_details": {"improvement_number": 8}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 79}, {"sequence": 9, "typical_saving": {"value": 296, "currency": "GBP"}, "indicative_cost": "8,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 89, "environmental_impact_rating": 89}], "co2_emissions_potential": 0.7, "energy_rating_potential": 89, "lighting_cost_potential": {"value": 55, "currency": "GBP"}, "schema_version_original": "LIG-18.0", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 51, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 75, "environmental_impact_rating": 95}, {"sequence": 2, "typical_saving": {"value": 53, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 74, "environmental_impact_rating": 71}], "hot_water_cost_potential": {"value": 65, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2076, "impact_of_loft_insulation": -735, "impact_of_solid_wall_insulation": -2932, "space_heating_existing_dwelling": 9460}, "energy_consumption_current": 280, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 45, "calculation_software_version": "3.08r07", "energy_consumption_potential": 46, "environmental_impact_current": 52, "fixed_lighting_outlets_count": 9, "current_energy_efficiency_band": "D", "environmental_impact_potential": 89, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 49, "low_energy_fixed_lighting_outlets_count": 3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-030dfe4e4da3.json b/tests/fixtures/epc_prediction/W104HL/cert-030dfe4e4da3.json new file mode 100644 index 00000000..4461db26 --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-030dfe4e4da3.json @@ -0,0 +1 @@ +{"uprn": 100022784850, "roofs": [{"description": "Pitched, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "W10 4HL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2016-03-18 16:44:11.000000", "door_count": 2, "glazed_area": 1, "glazing_gap": 12, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 16840}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-e2c7c375ba51", "assessment_type": "RdSAP", "completion_date": "2016-03-18", "inspection_date": "2016-03-18", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 77, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 3, "pvc_window_frames": "true", "registration_date": "2016-03-18", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 260, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.6, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 29.01, "quantity": "square metres"}, "party_wall_length": {"value": 12.68, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 6.34, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.74, "quantity": "metres"}, "total_floor_area": {"value": 29.28, "quantity": "square metres"}, "party_wall_length": {"value": 13.28, "quantity": "metres"}, "heat_loss_perimeter": {"value": 6.05, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.3, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 9.49, "quantity": "square metres"}, "party_wall_length": {"value": 2.66, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 6.23, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.2, "quantity": "metres"}, "total_floor_area": {"value": 9.49, "quantity": "square metres"}, "party_wall_length": {"value": 2.66, "quantity": "metres"}, "heat_loss_perimeter": {"value": 6.23, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 739, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.8, "energy_rating_average": 60, "energy_rating_current": 59, "lighting_cost_current": {"value": 52, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, TRVs and bypass", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 563, "currency": "GBP"}, "hot_water_cost_current": {"value": 88, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 144, "currency": "GBP"}, "indicative_cost": "14,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 61}, {"sequence": 2, "typical_saving": {"value": 32, "currency": "GBP"}, "indicative_cost": 450, "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 63}, {"sequence": 3, "typical_saving": {"value": 33, "currency": "GBP"}, "indicative_cost": "6,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 65}, {"sequence": 4, "typical_saving": {"value": 274, "currency": "GBP"}, "indicative_cost": "8,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 75}], "co2_emissions_potential": 1.8, "energy_rating_potential": 79, "lighting_cost_potential": {"value": 52, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 55, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1812, "impact_of_loft_insulation": -2969, "impact_of_solid_wall_insulation": -3126, "space_heating_existing_dwelling": 12064}, "energy_consumption_current": 278, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.06r14", "energy_consumption_potential": 130, "environmental_impact_current": 52, "fixed_lighting_outlets_count": 10, "current_energy_efficiency_band": "D", "environmental_impact_potential": 75, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 49, "low_energy_fixed_lighting_outlets_count": 10} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-12e3aec4db53.json b/tests/fixtures/epc_prediction/W104HL/cert-12e3aec4db53.json new file mode 100644 index 00000000..96ca02fb --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-12e3aec4db53.json @@ -0,0 +1 @@ +{"uprn": 100022784860, "roofs": [{"description": {"value": "Pitched, 270 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Solid brick, with internal insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": {"value": "Single glazed", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "lighting": {"description": {"value": "Low energy lighting in 60% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "W10 4HL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2025-01-14 16:54:53", "door_count": 2, "glazed_area": 2, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17507}], "immersion_heating_type": "NA", "cylinder_insulation_type": 0, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-82d3507b139c", "assessment_type": "RdSAP", "completion_date": "2025-01-14", "inspection_date": "2025-01-11", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 74, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "false", "registration_date": "2025-01-14", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 1}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.6, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 37, "quantity": "square metres"}, "party_wall_length": {"value": 16.88, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 12.1, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.7, "quantity": "metres"}, "total_floor_area": {"value": 36.61, "quantity": "square metres"}, "party_wall_length": {"value": 16.7, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12.1, "quantity": "metres"}}], "wall_insulation_type": 3, "construction_age_band": "B", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "270mm", "wall_insulation_thickness": "100mm"}], "low_energy_lighting": 60, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 639, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.5, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 114, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": "ND", "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 472, "currency": "GBP"}, "hot_water_cost_current": {"value": 128, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 0, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 41, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 68}, {"sequence": 2, "typical_saving": {"value": 17, "currency": "GBP"}, "indicative_cost": "\u00a380 - \u00a3120", "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 70}, {"sequence": 3, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": "\u00a320", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 70}, {"sequence": 4, "typical_saving": {"value": 43, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 72}, {"sequence": 5, "typical_saving": {"value": 112, "currency": "GBP"}, "indicative_cost": "\u00a33,300 - \u00a36,500", "improvement_type": "O", "improvement_details": {"improvement_number": 8}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 77}, {"sequence": 6, "typical_saving": {"value": 480, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 88, "environmental_impact_rating": 88}], "co2_emissions_potential": 0.8, "energy_rating_potential": 88, "lighting_cost_potential": {"value": 81, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 85, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1911, "space_heating_existing_dwelling": 7368}, "energy_consumption_current": 196, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 0, "calculation_software_version": "v94.0.2.1", "energy_consumption_potential": 57, "environmental_impact_current": 66, "fixed_lighting_outlets_count": 10, "current_energy_efficiency_band": "C", "environmental_impact_potential": 88, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 35, "low_energy_fixed_lighting_outlets_count": 6} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-17063430c61f.json b/tests/fixtures/epc_prediction/W104HL/cert-17063430c61f.json new file mode 100644 index 00000000..ab38229b --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-17063430c61f.json @@ -0,0 +1 @@ +{"uprn": 100022784890, "roofs": [{"description": {"value": "Pitched, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Roof room(s), no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Cavity wall, as built, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Fully double glazed", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "lighting": {"description": {"value": "No low energy lighting", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "postcode": "W10 4HL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2015-04-09 10:52:02.000000", "door_count": 1, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "N", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10612}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-2372c3fe6279", "assessment_type": "RdSAP", "completion_date": "2015-04-09", "inspection_date": "2015-04-08", "extensions_count": 2, "measurement_type": 1, "total_floor_area": 90, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 5, "pvc_window_frames": "false", "registration_date": "2015-04-09", "sap_energy_source": {"mains_gas": "Y", "meter_type": 3, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 260, "floor_heat_loss": 7, "sap_room_in_roof": {"floor_area": {"value": 12.16, "quantity": "square metres"}, "insulation": 0, "roof_room_connected": "N", "construction_age_band": "B", "roof_insulation_thickness": "ND"}, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.73, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 28.6, "quantity": "square metres"}, "party_wall_length": {"value": 13.3, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 5.7, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.73, "quantity": "metres"}, "total_floor_area": {"value": 28.6, "quantity": "square metres"}, "party_wall_length": {"value": 13.3, "quantity": "metres"}, "heat_loss_perimeter": {"value": 5.7, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 260, "floor_heat_loss": 7, "roof_construction": 8, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.3, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 8.28, "quantity": "square metres"}, "party_wall_length": {"value": 3.6, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 3.5, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.3, "quantity": "metres"}, "total_floor_area": {"value": 8.28, "quantity": "square metres"}, "party_wall_length": {"value": 3.6, "quantity": "metres"}, "heat_loss_perimeter": {"value": 5.9, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 8, "wall_construction": 4, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 4.5, "quantity": "square metres"}, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": {"value": 4.5, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "L", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 0, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 805, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.5, "energy_rating_average": 60, "energy_rating_current": 57, "lighting_cost_current": {"value": 113, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer and room thermostat", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 3, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 672, "currency": "GBP"}, "hot_water_cost_current": {"value": 107, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 103, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 61, "environmental_impact_rating": 55}, {"sequence": 2, "typical_saving": {"value": 49, "currency": "GBP"}, "indicative_cost": "\u00a360", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 56}, {"sequence": 3, "typical_saving": {"value": 37, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 58}, {"sequence": 4, "typical_saving": {"value": 35, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 60}, {"sequence": 5, "typical_saving": {"value": 265, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 69}], "co2_emissions_potential": 2.5, "energy_rating_potential": 75, "lighting_cost_potential": {"value": 56, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 72, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2188, "impact_of_loft_insulation": -1147, "impact_of_solid_wall_insulation": -2356, "space_heating_existing_dwelling": 14413}, "energy_consumption_current": 283, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "2.0.0.0", "energy_consumption_potential": 154, "environmental_impact_current": 50, "fixed_lighting_outlets_count": 12, "windows_transmission_details": {"u_value": 3.1, "data_source": 2, "solar_transmittance": 0.76}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 69, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 50, "low_energy_fixed_lighting_outlets_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-319c92383e50.json b/tests/fixtures/epc_prediction/W104HL/cert-319c92383e50.json new file mode 100644 index 00000000..9f7c7a97 --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-319c92383e50.json @@ -0,0 +1 @@ +{"uprn": 100022784848, "roofs": [{"description": "Pitched, insulated at rafters", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": "Roof room(s), insulated (assumed)", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "W10 4HL", "hot_water": {"description": "Gas boiler/circulator, no cylinder thermostat", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "post_town": "", "built_form": 4, "created_at": "2025-03-12 17:54:02", "door_count": 2, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 0, "water_heating_code": 911, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10326}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-6b9c7d486b36", "assessment_type": "RdSAP", "completion_date": "2025-03-12", "inspection_date": "2025-03-12", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 90, "transaction_type": 5, "conservatory_type": 1, "heated_room_count": 6, "registration_date": "2025-03-12", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 1}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 250, "floor_heat_loss": 7, "sap_room_in_roof": {"floor_area": 11, "insulation": 0, "roof_room_connected": "N", "construction_age_band": "L", "roof_insulation_thickness": "ND"}, "roof_construction": 5, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.55, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 39, "quantity": "square metres"}, "party_wall_length": {"value": 17.2, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 13.1, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.43, "quantity": "metres"}, "total_floor_area": {"value": 40, "quantity": "square metres"}, "party_wall_length": {"value": 17.9, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12.3, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 1, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "rafter_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 6, "heating_cost_current": {"value": 804, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.5, "energy_rating_average": 60, "energy_rating_current": 58, "lighting_cost_current": {"value": 92, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and room thermostat", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 2, "open_fireplaces_count": 1, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 620, "currency": "GBP"}, "hot_water_cost_current": {"value": 461, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 156, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 56}, {"sequence": 2, "typical_saving": {"value": 50, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 59}, {"sequence": 3, "typical_saving": {"value": 36, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 60}, {"sequence": 4, "typical_saving": {"value": 251, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 70}, {"sequence": 5, "typical_saving": {"value": 432, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 82, "environmental_impact_rating": 78}], "co2_emissions_potential": 1.7, "energy_rating_potential": 82, "lighting_cost_potential": {"value": 92, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 152, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 5225, "impact_of_solid_wall_insulation": -2447, "space_heating_existing_dwelling": 10184}, "energy_consumption_current": 281, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0002", "energy_consumption_potential": 103, "environmental_impact_current": 51, "fixed_lighting_outlets_count": 14, "current_energy_efficiency_band": "D", "environmental_impact_potential": 78, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 50, "low_energy_fixed_lighting_outlets_count": 14} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-334412a166a0.json b/tests/fixtures/epc_prediction/W104HL/cert-334412a166a0.json new file mode 100644 index 00000000..0a58f56c --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-334412a166a0.json @@ -0,0 +1 @@ +{"uprn": 100022784886, "roofs": [{"description": {"value": "Pitched, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Pitched, limited insulation", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": {"value": "Single glazed", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "lighting": {"description": {"value": "No low energy lighting", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "postcode": "W10 4HL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 3, "created_at": "2018-02-22 21:06:36.000000", "door_count": 1, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2107, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10445}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.93, "schema_type": "RdSAP-Schema-18.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "End-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-ef2399cd1782", "assessment_type": "RdSAP", "completion_date": "2018-02-22", "inspection_date": "2018-02-22", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 77, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 3, "registration_date": "2018-02-22", "sap_energy_source": {"mains_gas": "Y", "meter_type": 3, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 240, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.6, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 30.1, "quantity": "square metres"}, "party_wall_length": {"value": 14, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 13.2, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.8, "quantity": "metres"}, "total_floor_area": {"value": 30.1, "quantity": "square metres"}, "party_wall_length": {"value": 14, "quantity": "metres"}, "heat_loss_perimeter": {"value": 13.2, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 8, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.6, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 8.4, "quantity": "square metres"}, "party_wall_length": {"value": 3.5, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 5.9, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.5, "quantity": "metres"}, "total_floor_area": {"value": 8.4, "quantity": "square metres"}, "party_wall_length": {"value": 3.5, "quantity": "metres"}, "heat_loss_perimeter": {"value": 5.9, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 7, "wall_insulation_thickness": "NI", "sloping_ceiling_insulation_thickness": "AB"}], "low_energy_lighting": 0, "solar_water_heating": "N", "habitable_room_count": 3, "heating_cost_current": {"value": 820, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.8, "energy_rating_average": 60, "energy_rating_current": 50, "lighting_cost_current": {"value": 108, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, TRVs and bypass", "language": "1"}, "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": "ND", "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 431, "currency": "GBP"}, "hot_water_cost_current": {"value": 97, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 0, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 35, "currency": "GBP"}, "indicative_cost": "\u00a3850 - \u00a31,500", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 51, "environmental_impact_rating": 44}, {"sequence": 2, "typical_saving": {"value": 206, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 61, "environmental_impact_rating": 56}, {"sequence": 3, "typical_saving": {"value": 30, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 63, "environmental_impact_rating": 58}, {"sequence": 4, "typical_saving": {"value": 12, "currency": "GBP"}, "indicative_cost": "\u00a380 - \u00a3120", "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 59}, {"sequence": 5, "typical_saving": {"value": 48, "currency": "GBP"}, "indicative_cost": "\u00a340", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 61}, {"sequence": 6, "typical_saving": {"value": 62, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 14}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 65}, {"sequence": 7, "typical_saving": {"value": 32, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 67}, {"sequence": 8, "typical_saving": {"value": 49, "currency": "GBP"}, "indicative_cost": "\u00a33,300 - \u00a36,500", "improvement_type": "O", "improvement_details": {"improvement_number": 8}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 71}, {"sequence": 9, "typical_saving": {"value": 288, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 83, "environmental_impact_rating": 81}], "co2_emissions_potential": 1.4, "energy_rating_potential": 83, "lighting_cost_potential": {"value": 54, "currency": "GBP"}, "schema_version_original": "LIG-18.0", "hot_water_cost_potential": {"value": 66, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2081, "impact_of_loft_insulation": -2270, "impact_of_solid_wall_insulation": -4436, "space_heating_existing_dwelling": 14764}, "energy_consumption_current": 350, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 0, "calculation_software_version": "2.0.x", "energy_consumption_potential": 99, "environmental_impact_current": 43, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "E", "environmental_impact_potential": 81, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 62, "low_energy_fixed_lighting_outlets_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-4783505481c9.json b/tests/fixtures/epc_prediction/W104HL/cert-4783505481c9.json new file mode 100644 index 00000000..7d6100bd --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-4783505481c9.json @@ -0,0 +1 @@ +{"uprn": 100022784858, "roofs": [{"description": "Pitched, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": "Roof room(s), no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Partial double glazing", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "W10 4HL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2023-10-09 13:49:40", "door_count": 2, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 3, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "Y", "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2104, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17964}], "immersion_heating_type": "NA", "cylinder_insulation_type": 1, "has_fixed_air_conditioning": "false", "cylinder_insulation_thickness": 50}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-99509a679421", "assessment_type": "RdSAP", "completion_date": "2023-10-09", "inspection_date": "2023-10-09", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 92, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2023-10-09", "sap_energy_source": {"mains_gas": "Y", "meter_type": 1, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "sap_room_in_roof": {"floor_area": 13.77, "insulation": "AB", "roof_room_connected": "N", "construction_age_band": "A"}, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.62, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 29.62, "quantity": "square metres"}, "party_wall_length": {"value": 13.62, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 6.3, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.69, "quantity": "metres"}, "total_floor_area": {"value": 29.62, "quantity": "square metres"}, "party_wall_length": {"value": 13.62, "quantity": "metres"}, "heat_loss_perimeter": {"value": 6.3, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 230, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.62, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 9.31, "quantity": "square metres"}, "party_wall_length": {"value": 3.88, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 6.28, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.69, "quantity": "metres"}, "total_floor_area": {"value": 9.31, "quantity": "square metres"}, "party_wall_length": {"value": 3.88, "quantity": "metres"}, "heat_loss_perimeter": {"value": 6.28, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 1922, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.7, "energy_rating_average": 60, "energy_rating_current": 56, "lighting_cost_current": {"value": 175, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer and room thermostat", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 992, "currency": "GBP"}, "hot_water_cost_current": {"value": 328, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 42, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 378, "currency": "GBP"}, "indicative_cost": "\u00a31,500 - \u00a32,700", "improvement_type": "A3", "improvement_details": {"improvement_number": 46}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 56}, {"sequence": 2, "typical_saving": {"value": 292, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 63}, {"sequence": 3, "typical_saving": {"value": 76, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 65}, {"sequence": 4, "typical_saving": {"value": 24, "currency": "GBP"}, "indicative_cost": "\u00a380 - \u00a3120", "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 66}, {"sequence": 5, "typical_saving": {"value": 66, "currency": "GBP"}, "indicative_cost": "\u00a3350 - \u00a3450", "improvement_type": "G", "improvement_details": {"improvement_number": 13}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 67}, {"sequence": 6, "typical_saving": {"value": 114, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 70}, {"sequence": 7, "typical_saving": {"value": 97, "currency": "GBP"}, "indicative_cost": "\u00a33,300 - \u00a36,500", "improvement_type": "O", "improvement_details": {"improvement_number": 8}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 72}, {"sequence": 8, "typical_saving": {"value": 737, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 84, "environmental_impact_rating": 81}], "co2_emissions_potential": 1.5, "energy_rating_potential": 84, "lighting_cost_potential": {"value": 176, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 209, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2768, "impact_of_loft_insulation": -1747, "impact_of_solid_wall_insulation": -2406, "space_heating_existing_dwelling": 15460}, "energy_consumption_current": 288, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 42, "calculation_software_version": "4.13r0001", "energy_consumption_potential": 90, "environmental_impact_current": 48, "fixed_lighting_outlets_count": 13, "current_energy_efficiency_band": "D", "environmental_impact_potential": 81, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 51, "low_energy_fixed_lighting_outlets_count": 13} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-62b545a4a1aa.json b/tests/fixtures/epc_prediction/W104HL/cert-62b545a4a1aa.json new file mode 100644 index 00000000..a82e482f --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-62b545a4a1aa.json @@ -0,0 +1 @@ +{"uprn": 100022784902, "roofs": [{"description": "Pitched, insulated at rafters", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Flat, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "W10 4HL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 3, "created_at": "2024-12-11 10:14:12", "door_count": 1, "glazed_area": 2, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 18225}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "End-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-2a6b350c1a76", "assessment_type": "RdSAP", "completion_date": "2024-12-11", "inspection_date": "2024-12-10", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 81, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2024-12-11", "sap_energy_source": {"mains_gas": "Y", "meter_type": 3, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "Y", "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.59, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 39.5, "quantity": "square metres"}, "party_wall_length": {"value": 6.95, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 16.97, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.72, "quantity": "metres"}, "total_floor_area": {"value": 37.32, "quantity": "square metres"}, "party_wall_length": {"value": 6.82, "quantity": "metres"}, "heat_loss_perimeter": {"value": 20.82, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 1, "wall_thickness_measured": "N", "roof_insulation_location": 1, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "rafter_insulation_thickness": "50mm"}, {"identifier": "Extension 1", "wall_dry_lined": "Y", "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.75, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 4.52, "quantity": "square metres"}, "party_wall_length": {"value": 3.01, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 1.5, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 817, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.2, "energy_rating_average": 60, "energy_rating_current": 66, "lighting_cost_current": {"value": 88, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 556, "currency": "GBP"}, "hot_water_cost_current": {"value": 147, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 214, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 70}, {"sequence": 2, "typical_saving": {"value": 46, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "W2", "improvement_details": {"improvement_number": 58}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 72}, {"sequence": 3, "typical_saving": {"value": 47, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 74}, {"sequence": 4, "typical_saving": {"value": 448, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 84}], "co2_emissions_potential": 1.1, "energy_rating_potential": 86, "lighting_cost_potential": {"value": 88, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 100, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2122, "impact_of_solid_wall_insulation": -3260, "space_heating_existing_dwelling": 10068}, "energy_consumption_current": 223, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0002", "energy_consumption_potential": 77, "environmental_impact_current": 61, "fixed_lighting_outlets_count": 21, "current_energy_efficiency_band": "D", "environmental_impact_potential": 84, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 39, "low_energy_fixed_lighting_outlets_count": 21} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-784f6ac96b11.json b/tests/fixtures/epc_prediction/W104HL/cert-784f6ac96b11.json new file mode 100644 index 00000000..8ff2b93f --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-784f6ac96b11.json @@ -0,0 +1 @@ +{"uprn": 100022784892, "roofs": [{"description": "Pitched, 270 mm loft insulation", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": "Single glazed", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "addendum": {"addendum_numbers": [8, 15]}, "lighting": {"description": "Good lighting efficiency", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "W10 4HL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "psv_count": 3, "built_form": 4, "created_at": "2026-05-04 21:18:08", "door_count": 2, "region_code": 17, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "shower_outlets": [{"shower_outlet": {"shower_wwhrs": 1, "shower_outlet_type": 1}}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 18908}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 5, "window_width": 1.27, "window_height": 1.79, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "Y", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 5, "window_width": 1.1, "window_height": 1.81, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "Y", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 5, "window_width": 1.27, "window_height": 1.79, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "Y", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 5, "window_type": 1, "glazing_type": 5, "window_width": 1.19, "window_height": 1.79, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "Y", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 5, "window_type": 1, "glazing_type": 5, "window_width": 1.12, "window_height": 1.31, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "Y", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 5, "window_type": 1, "glazing_type": 5, "window_width": 1.71, "window_height": 1.8, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "Y", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Mid-terrace house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-dd816c70a95d", "assessment_type": "RdSAP", "completion_date": "2026-05-04", "inspection_date": "2026-04-29", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 84, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2026-05-04", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 2, "photovoltaic_supply": {"pv_arrays": [{"pitch": 2, "peak_power": 3.64, "orientation": 5, "overshading": 1}]}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "extract_fans_count": 1, "lzc_energy_sources": [11], "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "Y", "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.62, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 42.05, "quantity": "square metres"}, "party_wall_length": {"value": 19.49, "quantity": "metres"}, "floor_construction": 0, "heat_loss_perimeter": {"value": 12.87, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.62, "quantity": "metres"}, "total_floor_area": {"value": 42.05, "quantity": "square metres"}, "party_wall_length": {"value": 19.49, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12.87, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "270mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 817, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.4, "energy_rating_average": 60, "energy_rating_current": 76, "lighting_cost_current": {"value": 55, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 566, "currency": "GBP"}, "hot_water_cost_current": {"value": 196, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 25, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 173, "currency": "GBP"}, "indicative_cost": "\u00a37,500 - \u00a311,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 80, "environmental_impact_rating": 76}, {"sequence": 2, "typical_saving": {"value": 26, "currency": "GBP"}, "indicative_cost": "\u00a3150 - \u00a3250", "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 81, "environmental_impact_rating": 77}, {"sequence": 3, "typical_saving": {"value": 52, "currency": "GBP"}, "indicative_cost": "\u00a34,500 - \u00a36,000", "improvement_type": "O", "improvement_details": {"improvement_number": 8}, "improvement_category": 5, "energy_performance_rating": 83, "environmental_impact_rating": 79}, {"sequence": 4, "typical_saving": {"value": 220, "currency": "GBP"}, "indicative_cost": "\u00a3500 - \u00a35,000", "improvement_type": "U1", "improvement_details": {"improvement_number": 72}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 80}], "co2_emissions_potential": 1.6, "energy_rating_potential": 87, "lighting_cost_potential": {"value": 56, "currency": "GBP"}, "schema_version_original": "21.0.1", "hot_water_cost_potential": {"value": 196, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2371.37, "space_heating_existing_dwelling": 8050.43}, "draughtproofed_door_count": 2, "energy_consumption_current": 146, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 0, "calculation_software_version": "5.02r0344", "energy_consumption_potential": 86, "environmental_impact_current": 70, "current_energy_efficiency_band": "C", "environmental_impact_potential": 80, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 28, "low_energy_fixed_lighting_bulbs_count": 12, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-7cb4490ee346.json b/tests/fixtures/epc_prediction/W104HL/cert-7cb4490ee346.json new file mode 100644 index 00000000..c740310b --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-7cb4490ee346.json @@ -0,0 +1 @@ +{"uprn": 100022784888, "roofs": [{"description": {"value": "Pitched, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": {"value": "Roof room(s), insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": {"value": "Solid, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": {"value": "Solid, insulated (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Partial double glazing", "language": "1"}, "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "W10 4HL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2023-06-15 13:35:14", "door_count": 1, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "secondary_fuel_type": 29, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10244}], "immersion_heating_type": "NA", "secondary_heating_type": 691, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-31901b41e493", "assessment_type": "RdSAP", "completion_date": "2023-06-15", "inspection_date": "2023-06-14", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 107, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2023-06-15", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 1}, "secondary_heating": {"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "sap_room_in_roof": {"floor_area": {"value": 25.61, "quantity": "square metres"}, "insulation": "AB", "roof_room_connected": "N", "construction_age_band": "K"}, "roof_construction": 8, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.35, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 37.58, "quantity": "square metres"}, "party_wall_length": {"value": 16.59, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 7.09, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.35, "quantity": "metres"}, "total_floor_area": {"value": 37.58, "quantity": "square metres"}, "party_wall_length": {"value": 16.59, "quantity": "metres"}, "heat_loss_perimeter": {"value": 11.87, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 1, "wall_thickness_measured": "N", "roof_insulation_location": 7, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "sloping_ceiling_insulation_thickness": "AB"}, {"identifier": "Extension", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 8, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.35, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 6.46, "quantity": "square metres"}, "party_wall_length": {"value": 3.65, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 1.77, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "K", "party_wall_construction": 1, "wall_thickness_measured": "N", "roof_insulation_location": 7, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "sloping_ceiling_insulation_thickness": "AB"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 1416, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.4, "energy_rating_average": 60, "energy_rating_current": 68, "lighting_cost_current": {"value": 156, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 852, "currency": "GBP"}, "hot_water_cost_current": {"value": 247, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 40, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 161, "currency": "GBP"}, "indicative_cost": "\u00a3850 - \u00a31,500", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 69}, {"sequence": 2, "typical_saving": {"value": 217, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 73}, {"sequence": 3, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": "\u00a380 - \u00a3120", "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 74}, {"sequence": 4, "typical_saving": {"value": 77, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 75}, {"sequence": 5, "typical_saving": {"value": 154, "currency": "GBP"}, "indicative_cost": "\u00a33,300 - \u00a36,500", "improvement_type": "O", "improvement_details": {"improvement_number": 8}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 79}, {"sequence": 6, "typical_saving": {"value": 658, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 86}], "co2_emissions_potential": 1.1, "energy_rating_potential": 87, "lighting_cost_potential": {"value": 158, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 171, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2264, "impact_of_solid_wall_insulation": -1555, "space_heating_existing_dwelling": 9322}, "energy_consumption_current": 178, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 40, "calculation_software_version": "2.1.1.0", "energy_consumption_potential": 58, "environmental_impact_current": 65, "fixed_lighting_outlets_count": 16, "windows_transmission_details": {"u_value": 2, "data_source": 2, "solar_transmittance": 0.72}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 86, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 31, "low_energy_fixed_lighting_outlets_count": 16} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-7f13ce574386.json b/tests/fixtures/epc_prediction/W104HL/cert-7f13ce574386.json new file mode 100644 index 00000000..a70a4651 --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-7f13ce574386.json @@ -0,0 +1 @@ +{"uprn": 100022784897, "roofs": [{"description": "Pitched, insulated (assumed)", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, {"description": "Pitched, limited insulation", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": "Roof room(s), limited insulation (assumed)", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": "Solid brick, as built, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Partial double glazing", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "lighting": {"description": "Below average lighting efficiency", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "postcode": "W10 4HL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "psv_count": 0, "built_form": 4, "created_at": "2026-01-30 20:23:32", "door_count": 1, "region_code": 1, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_outlet_type": 1}, {"shower_wwhrs": 1, "shower_outlet_type": 1}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "N", "heat_emitter_type": 1, "emitter_temperature": 1, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17503}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "false", "orientation": 1, "window_type": 1, "glazing_type": 5, "window_width": {"value": 1.06, "quantity": "m"}, "window_height": {"value": 1.7, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 1, "window_type": 1, "glazing_type": 5, "window_width": {"value": 0.89, "quantity": "m"}, "window_height": {"value": 1.7, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 1, "window_type": 1, "glazing_type": 5, "window_width": {"value": 0.89, "quantity": "m"}, "window_height": {"value": 1.7, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 9, "window_type": 2, "glazing_type": 3, "window_width": {"value": 1, "quantity": "m"}, "window_height": {"value": 1, "quantity": "m"}, "draught_proofed": "true", "window_location": 2, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 5, "window_type": 1, "glazing_type": 5, "window_width": {"value": 1.78, "quantity": "m"}, "window_height": {"value": 1.02, "quantity": "m"}, "draught_proofed": "false", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 5, "window_type": 1, "glazing_type": 5, "window_width": {"value": 0.98, "quantity": "m"}, "window_height": {"value": 1.64, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 7, "window_type": 1, "glazing_type": 5, "window_width": {"value": 0.59, "quantity": "m"}, "window_height": {"value": 0.71, "quantity": "m"}, "draught_proofed": "false", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": {"value": 1.09, "quantity": "m"}, "window_height": {"value": 1.45, "quantity": "m"}, "draught_proofed": "true", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 2, "window_width": {"value": 0.86, "quantity": "m"}, "window_height": {"value": 0.96, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 2, "window_width": {"value": 0.96, "quantity": "m"}, "window_height": {"value": 1.33, "quantity": "m"}, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Mid-terrace house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-de8952203bf9", "assessment_type": "RdSAP", "completion_date": "2026-01-30", "inspection_date": "2026-01-28", "extensions_count": 2, "measurement_type": 1, "open_flues_count": 0, "total_floor_area": 103, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "other_flues_count": 0, "registration_date": "2026-01-30", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "true", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "true"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "closed_flues_count": 0, "extract_fans_count": 2, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 260, "floor_heat_loss": 7, "sap_room_in_roof": {"floor_area": 19.4, "room_in_roof_type_1": {"gable_wall_type_1": 2, "gable_wall_type_2": 2, "gable_wall_length_1": 4.6, "gable_wall_length_2": 4.6}, "construction_age_band": "L"}, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.62, "floor_insulation": 1, "total_floor_area": 28.57, "party_wall_length": 13.56, "floor_construction": 2, "heat_loss_perimeter": 4.21}, {"floor": 1, "room_height": 2.34, "total_floor_area": 28.49, "party_wall_length": 13.51, "heat_loss_perimeter": 5.37}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "NI", "wall_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 250, "floor_heat_loss": 7, "roof_construction": 8, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.37, "floor_insulation": 1, "total_floor_area": 11.24, "party_wall_length": 3.62, "floor_construction": 1, "heat_loss_perimeter": 3.11}, {"floor": 1, "room_height": 2.34, "total_floor_area": 11.06, "party_wall_length": 3.62, "heat_loss_perimeter": 6.72}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 7, "wall_insulation_thickness": "NI", "sloping_ceiling_insulation_thickness": "AB"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "wall_thickness": 370, "floor_heat_loss": 7, "roof_construction": 8, "wall_construction": 3, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.32, "floor_insulation": 1, "total_floor_area": 4, "party_wall_length": 0, "floor_construction": 1, "heat_loss_perimeter": 4.72}], "wall_insulation_type": 4, "construction_age_band": "L", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 7, "wall_insulation_thickness": "NI", "sloping_ceiling_insulation_thickness": "AB"}], "boilers_flues_count": 0, "open_chimneys_count": 0, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 952, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.3, "energy_rating_average": 60, "energy_rating_current": 67, "lighting_cost_current": {"value": 142, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "blocked_chimneys_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 610, "currency": "GBP"}, "hot_water_cost_current": {"value": 185, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 36, "schema_version_current": "LIG-21.0", "suggested_improvements": [{"sequence": 1, "typical_saving": 73, "indicative_cost": "\u00a3900 - \u00a31,200", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 67}, {"sequence": 2, "typical_saving": 179, "indicative_cost": "\u00a37,500 - \u00a311,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 73}, {"sequence": 3, "typical_saving": 22, "indicative_cost": "\u00a3150 - \u00a3250", "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 74}, {"sequence": 4, "typical_saving": 57, "indicative_cost": "\u00a3810 - \u00a3945", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 74}, {"sequence": 5, "typical_saving": 73, "indicative_cost": "\u00a34,500 - \u00a36,000", "improvement_type": "O", "improvement_details": {"improvement_number": 8}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 77}, {"sequence": 6, "typical_saving": 285, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 79}], "co2_emissions_potential": 1.9, "energy_rating_potential": 86, "lighting_cost_potential": {"value": 79, "currency": "GBP"}, "schema_version_original": "LIG-21.0", "hot_water_cost_potential": {"value": 185, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2490.09, "space_heating_existing_dwelling": 10924.11}, "draughtproofed_door_count": 0, "energy_consumption_current": 175, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 35, "calculation_software_version": "10.2.2.0", "energy_consumption_potential": 99, "environmental_impact_current": 65, "cfl_fixed_lighting_bulbs_count": 0, "current_energy_efficiency_band": "D", "environmental_impact_potential": 79, "led_fixed_lighting_bulbs_count": 16, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 32, "incandescent_fixed_lighting_bulbs_count": 27} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-7f945fa04966.json b/tests/fixtures/epc_prediction/W104HL/cert-7f945fa04966.json new file mode 100644 index 00000000..97dd96db --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-7f945fa04966.json @@ -0,0 +1 @@ +{"uprn": 100022784866, "roofs": [{"description": "Pitched, 100 mm loft insulation", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, {"description": "Pitched, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": "Roof room(s), insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Suspended, insulated (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "W10 4HL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2024-01-04 14:43:14", "door_count": 1, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 2, "rooms_with_mixer_shower_no_bath": 1, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 18219}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-e1b2567f0a27", "assessment_type": "RdSAP", "completion_date": "2024-01-04", "inspection_date": "2024-01-03", "extensions_count": 2, "measurement_type": 1, "total_floor_area": 101, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2024-01-04", "sap_energy_source": {"mains_gas": "Y", "meter_type": 3, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 1}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "Y", "wall_thickness": 300, "floor_heat_loss": 7, "sap_room_in_roof": {"floor_area": 15, "insulation": "AB", "roof_room_connected": "N", "construction_age_band": "H"}, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.57, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 30.01, "quantity": "square metres"}, "party_wall_length": {"value": 13.96, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 4.3, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.72, "quantity": "metres"}, "total_floor_area": {"value": 30.01, "quantity": "square metres"}, "party_wall_length": {"value": 13.96, "quantity": "metres"}, "heat_loss_perimeter": {"value": 6.29, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "100mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "Y", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.23, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 9.05, "quantity": "square metres"}, "party_wall_length": {"value": 3.92, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 2.31, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.35, "quantity": "metres"}, "total_floor_area": {"value": 9.05, "quantity": "square metres"}, "party_wall_length": {"value": 3.92, "quantity": "metres"}, "heat_loss_perimeter": {"value": 6.23, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "wall_thickness": 260, "floor_heat_loss": 7, "roof_construction": 8, "wall_construction": 4, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.46, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 7.8, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 5.91, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "L", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 7, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "sloping_ceiling_insulation_thickness": "AB"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 1130, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.9, "energy_rating_average": 60, "energy_rating_current": 72, "lighting_cost_current": {"value": 151, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 978, "currency": "GBP"}, "hot_water_cost_current": {"value": 267, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 151, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 72}, {"sequence": 2, "typical_saving": {"value": 87, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 74}, {"sequence": 3, "typical_saving": {"value": 656, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 85, "environmental_impact_rating": 82}], "co2_emissions_potential": 1.5, "energy_rating_potential": 85, "lighting_cost_potential": {"value": 151, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 180, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2240, "impact_of_loft_insulation": -949, "impact_of_solid_wall_insulation": -1385, "space_heating_existing_dwelling": 8538}, "energy_consumption_current": 163, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "4.13r0001", "energy_consumption_potential": 80, "environmental_impact_current": 69, "fixed_lighting_outlets_count": 9, "current_energy_efficiency_band": "C", "environmental_impact_potential": 82, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 29, "low_energy_fixed_lighting_outlets_count": 9} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-80729c033186.json b/tests/fixtures/epc_prediction/W104HL/cert-80729c033186.json new file mode 100644 index 00000000..f7132183 --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-80729c033186.json @@ -0,0 +1 @@ +{"uprn": 100022784872, "roofs": [{"description": "Pitched, 150 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Partial multiple glazing", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "addendum": {"addendum_numbers": [15]}, "lighting": {"description": "Below average lighting efficiency", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "W10 4HL", "hot_water": {"description": "Gas multipoint", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 10:01:16", "door_count": 1, "region_code": 17, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "number_baths_wwhrs": 0, "water_heating_code": 908, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 29, "heat_emitter_type": 0, "emitter_temperature": "NA", "main_heating_number": 1, "main_heating_control": 2601, "main_heating_category": 10, "main_heating_fraction": 1, "sap_main_heating_code": 691, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"orientation": 5, "window_type": 1, "glazing_type": 4, "window_width": 0.9, "window_height": 1.62, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 5, "window_type": 1, "glazing_type": 4, "window_width": 0.9, "window_height": 1.62, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 1, "window_type": 1, "glazing_type": 4, "window_width": 0.97, "window_height": 1.66, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 1, "window_type": 1, "glazing_type": 4, "window_width": 0.9, "window_height": 1.51, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"orientation": 5, "window_type": 1, "glazing_type": 4, "window_width": 1.02, "window_height": 1.69, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 5, "window_width": 1.03, "window_height": 1.62, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 7, "window_type": 1, "glazing_type": 3, "window_width": 0.55, "window_height": 0.94, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 5, "window_width": 0.8, "window_height": 1.18, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 0.7, "window_height": 0.66, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Room heaters, electric", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Mid-terrace house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-1a34f8522bd9", "assessment_type": "RdSAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-13", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 80, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 1, "registration_date": "2026-05-14", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 1, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "Portable electric heaters (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 260, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.41, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 39.31, "quantity": "square metres"}, "party_wall_length": {"value": 16.9, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 12.99, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.41, "quantity": "metres"}, "total_floor_area": {"value": 40.42, "quantity": "square metres"}, "party_wall_length": {"value": 17.42, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12.91, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 0, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 2619, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.0, "energy_rating_average": 60, "energy_rating_current": 26, "lighting_cost_current": {"value": 61, "currency": "GBP"}, "main_heating_controls": [{"description": "No thermostatic control of room temperature", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 533, "currency": "GBP"}, "hot_water_cost_current": {"value": 209, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 70, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 56, "currency": "GBP"}, "indicative_cost": "\u00a3900 - \u00a31,200", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 27, "environmental_impact_rating": 76}, {"sequence": 2, "typical_saving": {"value": 787, "currency": "GBP"}, "indicative_cost": "\u00a37,500 - \u00a311,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 42, "environmental_impact_rating": 81}, {"sequence": 3, "typical_saving": {"value": 197, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 47, "environmental_impact_rating": 82}, {"sequence": 4, "typical_saving": {"value": 22, "currency": "GBP"}, "indicative_cost": "\u00a3150 - \u00a3250", "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 48, "environmental_impact_rating": 82}, {"sequence": 5, "typical_saving": {"value": 1054, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a310,000", "improvement_type": "T", "improvement_details": {"improvement_number": 29}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 79}, {"sequence": 6, "typical_saving": {"value": 208, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 82, "environmental_impact_rating": 80}], "co2_emissions_potential": 1.6, "energy_rating_potential": 82, "lighting_cost_potential": {"value": 61, "currency": "GBP"}, "schema_version_original": "21.0.1", "alternative_improvements": [{"sequence": 1, "typical_saving": {"value": 1183, "currency": "GBP"}, "improvement_type": "J2", "improvement_details": {"improvement_number": 54}, "improvement_category": 6, "energy_performance_rating": 77, "environmental_impact_rating": 96}, {"sequence": 2, "typical_saving": {"value": 869, "currency": "GBP"}, "improvement_type": "Z3", "improvement_details": {"improvement_number": 53}, "improvement_category": 6, "energy_performance_rating": 73, "environmental_impact_rating": 70}], "hot_water_cost_potential": {"value": 180, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1855.18, "space_heating_existing_dwelling": 9073.28}, "draughtproofed_door_count": 0, "energy_consumption_current": 223, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 77, "calculation_software_version": "5.02r0344", "energy_consumption_potential": 104, "environmental_impact_current": 75, "cfl_fixed_lighting_bulbs_count": 7, "current_energy_efficiency_band": "F", "environmental_impact_potential": 80, "led_fixed_lighting_bulbs_count": 2, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 25, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-82f19e8a1d12.json b/tests/fixtures/epc_prediction/W104HL/cert-82f19e8a1d12.json new file mode 100644 index 00000000..53f6129a --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-82f19e8a1d12.json @@ -0,0 +1 @@ +{"uprn": 100022784850, "roofs": [{"description": "Pitched, 175 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": "Fully double glazed", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "lighting": {"description": "Excellent lighting efficiency", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "W10 4HL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2026-03-05 13:15:59", "door_count": 0, "region_code": 17, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "shower_outlets": [{"shower_outlet": {"shower_wwhrs": 1, "shower_outlet_type": 1}}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 16840}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "glazing_gap": 12, "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 1.2, "window_height": 1.8, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 1, "window_height": 1.8, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 5, "window_type": 1, "glazing_type": 3, "window_width": 1, "window_height": 1.8, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 0.9, "window_height": 1.78, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": 12, "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 0.9, "window_height": 1.78, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 3, "window_type": 1, "glazing_type": 3, "window_width": 0.9, "window_height": 2.2, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 3, "window_type": 1, "glazing_type": 3, "window_width": 0.5, "window_height": 0.6, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 1.8, "window_height": 1, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "glazing_gap": "16+", "orientation": 1, "window_type": 1, "glazing_type": 3, "window_width": 0.8, "window_height": 0.9, "draught_proofed": "true", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Mid-terrace house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-581da56220c3", "assessment_type": "RdSAP", "completion_date": "2026-03-05", "inspection_date": "2026-03-05", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 81, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 5, "registration_date": "2026-03-05", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 2, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "extract_fans_count": 1, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 280, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.87, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 40.55, "quantity": "square metres"}, "party_wall_length": {"value": 17.9, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 12.7, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.85, "quantity": "metres"}, "total_floor_area": {"value": 40.55, "quantity": "square metres"}, "party_wall_length": {"value": 17.9, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12.7, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "175mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 5, "heating_cost_current": {"value": 722, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.4, "energy_rating_average": 60, "energy_rating_current": 71, "lighting_cost_current": {"value": 53, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 477, "currency": "GBP"}, "hot_water_cost_current": {"value": 170, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 193, "currency": "GBP"}, "indicative_cost": "\u00a37,500 - \u00a311,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 77}, {"sequence": 2, "typical_saving": {"value": 52, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 79}, {"sequence": 3, "typical_saving": {"value": 216, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 82, "environmental_impact_rating": 80}], "co2_emissions_potential": 1.5, "energy_rating_potential": 82, "lighting_cost_potential": {"value": 53, "currency": "GBP"}, "schema_version_original": "21.0.1", "hot_water_cost_potential": {"value": 170, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2280.19, "space_heating_existing_dwelling": 7732.6}, "draughtproofed_door_count": 0, "energy_consumption_current": 164, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "5.02r0334", "energy_consumption_potential": 98, "environmental_impact_current": 70, "current_energy_efficiency_band": "C", "environmental_impact_potential": 80, "led_fixed_lighting_bulbs_count": 9, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 30, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-840b1ec0da75.json b/tests/fixtures/epc_prediction/W104HL/cert-840b1ec0da75.json new file mode 100644 index 00000000..5fb7beab --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-840b1ec0da75.json @@ -0,0 +1 @@ +{"uprn": 100022784868, "roofs": [{"description": "Pitched, 50 mm loft insulation", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, {"description": "Pitched, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "windows": [{"description": "Single glazed", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "lighting": {"description": "Low energy lighting in 33% of fixed outlets", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "W10 4HL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2013-08-01 16:11:34.000000", "door_count": 1, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "boiler_index_number": 10265, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "main_heating_data_source": 1}], "has_fixed_air_conditioning": "false"}, "sap_version": 9.91, "schema_type": "SAP-Schema-16.2", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-9bb5e6b9fa1b", "schema_version": "LIG-16.1", "assessment_type": "RdSAP", "completion_date": "2013-08-01", "inspection_date": "2013-07-31", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 78, "transaction_type": 9, "conservatory_type": 1, "heated_room_count": 3, "registration_date": "2013-08-01", "restricted_access": 0, "sap_energy_source": {"main_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"percent_roof_area": 0}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 240, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.61, "floor_insulation": 1, "total_floor_area": 30.1, "floor_construction": 1, "heat_loss_perimeter": 6.1}, {"floor": 1, "room_height": 2.73, "total_floor_area": 30.1, "heat_loss_perimeter": 6.1}], "wall_insulation_type": 4, "construction_age_band": "A", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "50mm"}, {"wall_dry_lined": "N", "wall_thickness": 240, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.26, "floor_insulation": 1, "total_floor_area": 8.75, "floor_construction": 1, "heat_loss_perimeter": 6}, {"floor": 1, "room_height": 2.33, "total_floor_area": 8.75, "heat_loss_perimeter": 6}], "wall_insulation_type": 4, "construction_age_band": "A", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "NI"}], "low_energy_lighting": 33, "solar_water_heating": "N", "bedf_revision_number": 341, "habitable_room_count": 3, "heating_cost_current": {"value": 578, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.2, "energy_rating_average": 60, "energy_rating_current": 64, "lighting_cost_current": {"value": 77, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 5, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 330, "currency": "GBP"}, "hot_water_cost_current": {"value": 88, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 90, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 25, "currency": "GBP"}, "indicative_cost": "\u00a3100 - \u00a3350", "improvement_type": "A", "improvement_details": {"improvement_number": 5}, "improvement_category": 5, "energy_performance_rating": 66, "environmental_impact_rating": 64}, {"sequence": 2, "typical_saving": {"value": 134, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 73}, {"sequence": 3, "typical_saving": {"value": 24, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W", "improvement_details": {"improvement_number": 47}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 74}, {"sequence": 4, "typical_saving": {"value": 27, "currency": "GBP"}, "indicative_cost": "\u00a340", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 75}, {"sequence": 5, "typical_saving": {"value": 26, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 77}, {"sequence": 6, "typical_saving": {"value": 68, "currency": "GBP"}, "indicative_cost": "\u00a33,300 - \u00a36,500", "improvement_type": "O", "improvement_details": {"improvement_number": 8}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 81}, {"sequence": 7, "typical_saving": {"value": 243, "currency": "GBP"}, "indicative_cost": "\u00a39,000 - \u00a314,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 89, "environmental_impact_rating": 91}], "co2_emissions_potential": 0.7, "energy_rating_potential": 89, "lighting_cost_potential": {"value": 46, "currency": "GBP"}, "hot_water_cost_potential": {"value": 63, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2091, "impact_of_loft_insulation": -1354, "impact_of_solid_wall_insulation": -3432, "space_heating_existing_dwelling": 10795}, "seller_commission_report": "Y", "energy_consumption_current": 217, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 0, "calculation_software_version": 8.3, "energy_consumption_potential": 42, "environmental_impact_current": 63, "fixed_lighting_outlets_count": 12, "current_energy_efficiency_band": "D", "environmental_impact_potential": 91, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 42, "low_energy_fixed_lighting_outlets_count": 4} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-b180ada05905.json b/tests/fixtures/epc_prediction/W104HL/cert-b180ada05905.json new file mode 100644 index 00000000..01a98eeb --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-b180ada05905.json @@ -0,0 +1 @@ +{"uprn": 100022784860, "roofs": [{"description": "Pitched, insulated (assumed)", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Solid brick, with internal insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": "Full secondary glazing", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "lighting": {"description": "Excellent lighting efficiency", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "W10 4HL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "psv_count": 0, "built_form": 4, "created_at": "2025-09-22 17:14:30", "door_count": 2, "region_code": 1, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "shower_outlets": [{"shower_outlet": {"shower_wwhrs": 1, "shower_outlet_type": 2}}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 1, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 1, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17507}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "false", "orientation": 1, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1.8, "quantity": "m"}, "window_height": {"value": 1, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 1, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1.1, "quantity": "m"}, "window_height": {"value": 1.7, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 5, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1.1, "quantity": "m"}, "window_height": {"value": 1.7, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 1, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1.5, "quantity": "m"}, "window_height": {"value": 1, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 1, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1.1, "quantity": "m"}, "window_height": {"value": 1.7, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 7, "window_type": 1, "glazing_type": 4, "window_width": {"value": 0.6, "quantity": "m"}, "window_height": {"value": 0.9, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 5, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1.1, "quantity": "m"}, "window_height": {"value": 1.7, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 1, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1.1, "quantity": "m"}, "window_height": {"value": 1.7, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Mid-terrace house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-82d3507b139c", "assessment_type": "RdSAP", "completion_date": "2025-09-22", "inspection_date": "2025-09-04", "extensions_count": 0, "measurement_type": 1, "open_flues_count": 0, "total_floor_area": 74, "transaction_type": 5, "conservatory_type": 1, "heated_room_count": 4, "other_flues_count": 0, "registration_date": "2025-09-22", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 1, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "closed_flues_count": 0, "extract_fans_count": 0, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.6, "floor_insulation": 1, "total_floor_area": 37, "party_wall_length": 16.88, "floor_construction": 2, "heat_loss_perimeter": 12.1}, {"floor": 1, "room_height": 2.7, "total_floor_area": 36.61, "party_wall_length": 16.7, "heat_loss_perimeter": 12.1}], "wall_insulation_type": 3, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "NI", "wall_insulation_thickness": "NI"}], "boilers_flues_count": 0, "open_chimneys_count": 0, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 560, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 1.8, "energy_rating_average": 60, "energy_rating_current": 72, "lighting_cost_current": {"value": 46, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "blocked_chimneys_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 501, "currency": "GBP"}, "hot_water_cost_current": {"value": 274, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 0, "schema_version_current": "LIG-21.0", "suggested_improvements": [{"sequence": 1, "typical_saving": 42, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 78}, {"sequence": 2, "typical_saving": 17, "indicative_cost": "\u00a3150 - \u00a3250", "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 79}, {"sequence": 3, "typical_saving": 282, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 85, "environmental_impact_rating": 82}], "co2_emissions_potential": 1.4, "energy_rating_potential": 85, "lighting_cost_potential": {"value": 46, "currency": "GBP"}, "schema_version_original": "LIG-21.0", "hot_water_cost_potential": {"value": 274, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2058.59, "space_heating_existing_dwelling": 5263.12}, "draughtproofed_door_count": 0, "energy_consumption_current": 141, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "10.2.2.0", "energy_consumption_potential": 104, "environmental_impact_current": 76, "cfl_fixed_lighting_bulbs_count": 0, "current_energy_efficiency_band": "C", "environmental_impact_potential": 82, "led_fixed_lighting_bulbs_count": 10, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 24, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-b58783a23f96.json b/tests/fixtures/epc_prediction/W104HL/cert-b58783a23f96.json new file mode 100644 index 00000000..993ef5f7 --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-b58783a23f96.json @@ -0,0 +1 @@ +{"uprn": 100022784868, "roofs": [{"description": "Pitched, 270 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Pitched, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": "Pitched, insulated (assumed)", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, {"description": "Cavity wall, as built, insulated (assumed)", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, insulated (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Some double glazing", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "lighting": {"description": "Low energy lighting in 25% of fixed outlets", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}, "postcode": "W10 4HL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2024-01-15 16:10:46", "door_count": 1, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10265}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-7407e2657444", "assessment_type": "RdSAP", "completion_date": "2024-01-15", "inspection_date": "2024-01-15", "extensions_count": 2, "measurement_type": 1, "total_floor_area": 86, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2024-01-15", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 220, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.7, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 30.96, "quantity": "square metres"}, "party_wall_length": {"value": 14.4, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 4.3, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.7, "quantity": "metres"}, "total_floor_area": {"value": 30.96, "quantity": "square metres"}, "party_wall_length": {"value": 14.4, "quantity": "metres"}, "heat_loss_perimeter": {"value": 6, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "270mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 220, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 8.64, "quantity": "square metres"}, "party_wall_length": {"value": 3.6, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 2.4, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.4, "quantity": "metres"}, "total_floor_area": {"value": 8.64, "quantity": "square metres"}, "party_wall_length": {"value": 3.6, "quantity": "metres"}, "heat_loss_perimeter": {"value": 6, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 2", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 4, "building_part_number": 3, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.4, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 6.84, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 5.5, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "L", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 25, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 839, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.9, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 198, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": 2, "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 599, "currency": "GBP"}, "hot_water_cost_current": {"value": 192, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 156, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 71}, {"sequence": 2, "typical_saving": {"value": 75, "currency": "GBP"}, "indicative_cost": "\u00a330", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 72}, {"sequence": 3, "typical_saving": {"value": 62, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 74}, {"sequence": 4, "typical_saving": {"value": 93, "currency": "GBP"}, "indicative_cost": "\u00a33,300 - \u00a36,500", "improvement_type": "O", "improvement_details": {"improvement_number": 8}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 77}, {"sequence": 5, "typical_saving": {"value": 555, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 86}], "co2_emissions_potential": 1.0, "energy_rating_potential": 87, "lighting_cost_potential": {"value": 114, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 131, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2159, "impact_of_loft_insulation": -725, "impact_of_solid_wall_insulation": -1910, "space_heating_existing_dwelling": 8103}, "energy_consumption_current": 192, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 29, "calculation_software_version": "4.13r0001", "energy_consumption_potential": 61, "environmental_impact_current": 66, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "C", "environmental_impact_potential": 86, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 34, "low_energy_fixed_lighting_outlets_count": 2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-c1c558b665e4.json b/tests/fixtures/epc_prediction/W104HL/cert-c1c558b665e4.json new file mode 100644 index 00000000..3aa6ce66 --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-c1c558b665e4.json @@ -0,0 +1 @@ +{"uprn": 100022784864, "roofs": [{"description": {"value": "Pitched, 250 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Solid brick, with internal insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": {"value": "Single glazed", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "lighting": {"description": {"value": "Low energy lighting in 50% of fixed outlets", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "W10 4HL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2025-01-14 16:53:09", "door_count": 2, "glazed_area": 2, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17507}], "immersion_heating_type": "NA", "cylinder_insulation_type": 0, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-8e99b09098b9", "assessment_type": "RdSAP", "completion_date": "2025-01-14", "inspection_date": "2025-01-11", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 74, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 4, "pvc_window_frames": "false", "registration_date": "2025-01-14", "sap_energy_source": {"mains_gas": "N", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 1}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.62, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 37, "quantity": "square metres"}, "party_wall_length": {"value": 16.88, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 12.1, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.7, "quantity": "metres"}, "total_floor_area": {"value": 36.61, "quantity": "square metres"}, "party_wall_length": {"value": 16.7, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12.1, "quantity": "metres"}}], "wall_insulation_type": 3, "construction_age_band": "B", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "250mm", "wall_insulation_thickness": "100mm"}], "low_energy_lighting": 50, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 640, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.6, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 122, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": "ND", "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 474, "currency": "GBP"}, "hot_water_cost_current": {"value": 128, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 0, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 41, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 68}, {"sequence": 2, "typical_saving": {"value": 17, "currency": "GBP"}, "indicative_cost": "\u00a380 - \u00a3120", "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 69}, {"sequence": 3, "typical_saving": {"value": 36, "currency": "GBP"}, "indicative_cost": "\u00a325", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 70}, {"sequence": 4, "typical_saving": {"value": 43, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 72}, {"sequence": 5, "typical_saving": {"value": 111, "currency": "GBP"}, "indicative_cost": "\u00a33,300 - \u00a36,500", "improvement_type": "O", "improvement_details": {"improvement_number": 8}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 77}, {"sequence": 6, "typical_saving": {"value": 480, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 88, "environmental_impact_rating": 88}], "co2_emissions_potential": 0.8, "energy_rating_potential": 88, "lighting_cost_potential": {"value": 81, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 85, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 1911, "space_heating_existing_dwelling": 7384}, "energy_consumption_current": 198, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 0, "calculation_software_version": "v94.0.2.1", "energy_consumption_potential": 57, "environmental_impact_current": 66, "fixed_lighting_outlets_count": 10, "current_energy_efficiency_band": "C", "environmental_impact_potential": 88, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 35, "low_energy_fixed_lighting_outlets_count": 5} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-c99dbb94e07d.json b/tests/fixtures/epc_prediction/W104HL/cert-c99dbb94e07d.json new file mode 100644 index 00000000..2582950d --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-c99dbb94e07d.json @@ -0,0 +1 @@ +{"uprn": 100022784874, "roofs": [{"description": "Pitched, insulated (assumed)", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Solid brick, with internal insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": "Full secondary glazing", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "lighting": {"description": "Excellent lighting efficiency", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "W10 4HL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "psv_count": 0, "built_form": 4, "created_at": "2025-09-22 17:16:01", "door_count": 1, "region_code": 1, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "shower_outlets": [{"shower_outlet": {"shower_wwhrs": 1, "shower_outlet_type": 2}}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 1, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 1, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10243}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "false", "orientation": 1, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1.8, "quantity": "m"}, "window_height": {"value": 1, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 1, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1.1, "quantity": "m"}, "window_height": {"value": 1.7, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 5, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1.1, "quantity": "m"}, "window_height": {"value": 1.7, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 1, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1, "quantity": "m"}, "window_height": {"value": 1.5, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 3, "window_type": 1, "glazing_type": 4, "window_width": {"value": 0.6, "quantity": "m"}, "window_height": {"value": 0.9, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 1, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1.1, "quantity": "m"}, "window_height": {"value": 1.7, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 5, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1.1, "quantity": "m"}, "window_height": {"value": 1.7, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 5, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1.1, "quantity": "m"}, "window_height": {"value": 1.7, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Mid-terrace house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-6f0fdb53aeac", "assessment_type": "RdSAP", "completion_date": "2025-09-22", "inspection_date": "2025-09-04", "extensions_count": 0, "measurement_type": 1, "open_flues_count": 0, "total_floor_area": 74, "transaction_type": 5, "conservatory_type": 1, "heated_room_count": 4, "other_flues_count": 0, "registration_date": "2025-09-22", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 1, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "closed_flues_count": 0, "extract_fans_count": 0, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 260, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.65, "floor_insulation": 1, "total_floor_area": 37.12, "party_wall_length": 16.77, "floor_construction": 2, "heat_loss_perimeter": 12.35}, {"floor": 1, "room_height": 2.72, "total_floor_area": 36.72, "party_wall_length": 16.6, "heat_loss_perimeter": 12.2}], "wall_insulation_type": 3, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "NI", "wall_insulation_thickness": "NI"}], "boilers_flues_count": 0, "open_chimneys_count": 0, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 548, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 1.8, "energy_rating_average": 60, "energy_rating_current": 72, "lighting_cost_current": {"value": 46, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "blocked_chimneys_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 488, "currency": "GBP"}, "hot_water_cost_current": {"value": 286, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 0, "schema_version_current": "LIG-21.0", "suggested_improvements": [{"sequence": 1, "typical_saving": 42, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 78}, {"sequence": 2, "typical_saving": 18, "indicative_cost": "\u00a3150 - \u00a3250", "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 79}, {"sequence": 3, "typical_saving": 282, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 85, "environmental_impact_rating": 82}], "co2_emissions_potential": 1.4, "energy_rating_potential": 85, "lighting_cost_potential": {"value": 46, "currency": "GBP"}, "schema_version_original": "LIG-21.0", "hot_water_cost_potential": {"value": 286, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2221.19, "space_heating_existing_dwelling": 5084.77}, "draughtproofed_door_count": 0, "energy_consumption_current": 140, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "10.2.2.0", "energy_consumption_potential": 104, "environmental_impact_current": 76, "cfl_fixed_lighting_bulbs_count": 0, "current_energy_efficiency_band": "C", "environmental_impact_potential": 82, "led_fixed_lighting_bulbs_count": 10, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 24, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-da229c5051b4.json b/tests/fixtures/epc_prediction/W104HL/cert-da229c5051b4.json new file mode 100644 index 00000000..5d91902a --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-da229c5051b4.json @@ -0,0 +1 @@ +{"uprn": 100022784892, "roofs": [{"description": "Pitched, 270 mm loft insulation", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, {"description": "Pitched, 12 mm loft insulation", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": "Single glazed", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "lighting": {"description": "Good lighting efficiency", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "W10 4HL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "psv_count": 4, "built_form": 4, "created_at": "2026-03-30 11:27:34", "door_count": 2, "region_code": 17, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "shower_outlets": [{"shower_outlet": {"shower_wwhrs": 1, "shower_outlet_type": 1}}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 18908}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "true", "orientation": 5, "window_type": 1, "glazing_type": 5, "window_width": 1.71, "window_height": 1.8, "draught_proofed": "false", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 5, "window_type": 1, "glazing_type": 5, "window_width": 1.19, "window_height": 1.8, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 5, "window_width": 1.27, "window_height": 1.79, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 5, "window_type": 1, "glazing_type": 5, "window_width": 1.19, "window_height": 1.79, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 5, "window_width": 1.1, "window_height": 1.81, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 1, "window_type": 1, "glazing_type": 5, "window_width": 1.1, "window_height": 1.81, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "true", "orientation": 5, "window_type": 1, "glazing_type": 5, "window_width": 1.12, "window_height": 1.31, "draught_proofed": "false", "window_location": 1, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Mid-terrace house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-dd816c70a95d", "assessment_type": "RdSAP", "completion_date": "2026-03-30", "inspection_date": "2025-12-20", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 82, "transaction_type": 5, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2026-03-30", "sap_energy_source": {"mains_gas": "Y", "meter_type": 1, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 1, "electricity_smart_meter_present": "true"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "extract_fans_count": 2, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.6, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 29.94, "quantity": "square metres"}, "party_wall_length": {"value": 7.42, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 13.17, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.77, "quantity": "metres"}, "total_floor_area": {"value": 31.02, "quantity": "square metres"}, "party_wall_length": {"value": 7.42, "quantity": "metres"}, "heat_loss_perimeter": {"value": 13.39, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "270mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 270, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.6, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 10.76, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 11.59, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.7, "quantity": "metres"}, "total_floor_area": {"value": 10.76, "quantity": "square metres"}, "party_wall_length": {"value": 0, "quantity": "metres"}, "heat_loss_perimeter": {"value": 11.59, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": "NA", "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "12mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 1209, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.0, "energy_rating_average": 60, "energy_rating_current": 57, "lighting_cost_current": {"value": 62, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 644, "currency": "GBP"}, "hot_water_cost_current": {"value": 174, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 0, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 399, "currency": "GBP"}, "indicative_cost": "\u00a37,500 - \u00a311,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 66}, {"sequence": 2, "typical_saving": {"value": 49, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 69, "environmental_impact_rating": 68}, {"sequence": 3, "typical_saving": {"value": 27, "currency": "GBP"}, "indicative_cost": "\u00a3150 - \u00a3250", "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 70, "environmental_impact_rating": 69}, {"sequence": 4, "typical_saving": {"value": 89, "currency": "GBP"}, "indicative_cost": "\u00a34,500 - \u00a36,000", "improvement_type": "O", "improvement_details": {"improvement_number": 8}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 73}, {"sequence": 5, "typical_saving": {"value": 250, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 74}], "co2_emissions_potential": 2.1, "energy_rating_potential": 78, "lighting_cost_potential": {"value": 63, "currency": "GBP"}, "schema_version_original": "21.0.1", "hot_water_cost_potential": {"value": 175, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2357.32, "space_heating_existing_dwelling": 14254.17}, "draughtproofed_door_count": 0, "energy_consumption_current": 263, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 0, "calculation_software_version": "5.02r0335", "energy_consumption_potential": 131, "environmental_impact_current": 51, "current_energy_efficiency_band": "D", "environmental_impact_potential": 74, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 48, "low_energy_fixed_lighting_bulbs_count": 8, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-db58af092f54.json b/tests/fixtures/epc_prediction/W104HL/cert-db58af092f54.json new file mode 100644 index 00000000..4e686c84 --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-db58af092f54.json @@ -0,0 +1 @@ +{"uprn": 100022784892, "roofs": [{"description": "Pitched, 150 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": "Single glazed", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "lighting": {"description": "Low energy lighting in all fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "W10 4HL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2023-10-25 12:36:27", "door_count": 2, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 0}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 104, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-dd816c70a95d", "assessment_type": "RdSAP", "completion_date": "2023-10-25", "inspection_date": "2023-10-24", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 72, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2023-10-25", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 225, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.5, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 36, "quantity": "square metres"}, "party_wall_length": {"value": 16, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 9, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.5, "quantity": "metres"}, "total_floor_area": {"value": 36, "quantity": "square metres"}, "party_wall_length": {"value": 16, "quantity": "metres"}, "heat_loss_perimeter": {"value": 9, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 1006, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.6, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 117, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": "ND", "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 579, "currency": "GBP"}, "hot_water_cost_current": {"value": 259, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 100, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 187, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 71}, {"sequence": 2, "typical_saving": {"value": 61, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 73}, {"sequence": 3, "typical_saving": {"value": 90, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 75, "environmental_impact_rating": 75}, {"sequence": 4, "typical_saving": {"value": 177, "currency": "GBP"}, "indicative_cost": "\u00a33,300 - \u00a36,500", "improvement_type": "O", "improvement_details": {"improvement_number": 8}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 80}, {"sequence": 5, "typical_saving": {"value": 656, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 90, "environmental_impact_rating": 90}], "co2_emissions_potential": 0.6, "energy_rating_potential": 90, "lighting_cost_potential": {"value": 117, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 172, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2026, "impact_of_loft_insulation": -193, "impact_of_solid_wall_insulation": -1554, "space_heating_existing_dwelling": 6919}, "energy_consumption_current": 203, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 0, "calculation_software_version": "4.13r0001", "energy_consumption_potential": 41, "environmental_impact_current": 66, "fixed_lighting_outlets_count": 6, "current_energy_efficiency_band": "C", "environmental_impact_potential": 90, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 36, "low_energy_fixed_lighting_outlets_count": 6} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-e2c4a36966b6.json b/tests/fixtures/epc_prediction/W104HL/cert-e2c4a36966b6.json new file mode 100644 index 00000000..b3f7cead --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-e2c4a36966b6.json @@ -0,0 +1 @@ +{"uprn": 100022784899, "roofs": [{"description": "Pitched, 150 mm loft insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, {"description": "Flat, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": "Solid brick, as built, no insulation (assumed)", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, {"description": "Solid, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "window": {"description": "Single glazed", "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "lighting": {"description": "Low energy lighting in 75% of fixed outlets", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "W10 4HL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2021-03-22 16:57:03.337205", "door_count": 1, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10265}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": "Mid-terrace house", "language_code": 1, "property_type": 0, "address_line_1": "addr-2ac303e9acf4", "address_line_2": "", "assessment_type": "RdSAP", "completion_date": "2021-03-22", "inspection_date": "2021-03-19", "extensions_count": 1, "measurement_type": 1, "total_floor_area": 75, "transaction_type": 8, "conservatory_type": 2, "heated_room_count": 4, "registration_date": "2021-03-22", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 2}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 240, "floor_heat_loss": 7, "roof_construction": 4, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.59, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 28.42, "quantity": "square metres"}, "party_wall_length": {"value": 13.52, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 6.05, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.72, "quantity": "metres"}, "total_floor_area": {"value": 28.42, "quantity": "square metres"}, "party_wall_length": {"value": 13.52, "quantity": "metres"}, "heat_loss_perimeter": {"value": 6.05, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 2, "roof_insulation_thickness": "150mm", "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI"}, {"identifier": "Extension 1", "wall_dry_lined": "N", "wall_thickness": 240, "floor_heat_loss": 7, "roof_construction": 1, "wall_construction": 3, "building_part_number": 2, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.26, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 9.01, "quantity": "square metres"}, "party_wall_length": {"value": 3.8, "quantity": "metres"}, "floor_construction": 1, "heat_loss_perimeter": {"value": 6.17, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.25, "quantity": "metres"}, "total_floor_area": {"value": 9.01, "quantity": "square metres"}, "party_wall_length": {"value": 3.8, "quantity": "metres"}, "heat_loss_perimeter": {"value": 6.17, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "A", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 6, "wall_insulation_thickness": "NI", "floor_insulation_thickness": "NI", "flat_roof_insulation_thickness": "AB"}], "low_energy_lighting": 75, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 513, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 3.0, "energy_rating_average": 60, "energy_rating_current": 65, "lighting_cost_current": {"value": 78, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": "ND", "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 289, "currency": "GBP"}, "hot_water_cost_current": {"value": 93, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 0, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": "\u00a3850 - \u00a31,500", "improvement_type": "A2", "improvement_details": {"improvement_number": 45}, "improvement_category": 5, "energy_performance_rating": 67, "environmental_impact_rating": 63}, {"sequence": 2, "typical_saving": {"value": 103, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 70}, {"sequence": 3, "typical_saving": {"value": 17, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 72}, {"sequence": 4, "typical_saving": {"value": 12, "currency": "GBP"}, "indicative_cost": "\u00a380 - \u00a3120", "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 73}, {"sequence": 5, "typical_saving": {"value": 14, "currency": "GBP"}, "indicative_cost": "\u00a310", "improvement_type": "E", "improvement_details": {"improvement_number": 35}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 74}, {"sequence": 6, "typical_saving": {"value": 29, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 76, "environmental_impact_rating": 76}, {"sequence": 7, "typical_saving": {"value": 63, "currency": "GBP"}, "indicative_cost": "\u00a33,300 - \u00a36,500", "improvement_type": "O", "improvement_details": {"improvement_number": 8}, "improvement_category": 5, "energy_performance_rating": 79, "environmental_impact_rating": 80}, {"sequence": 8, "typical_saving": {"value": 338, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 90, "environmental_impact_rating": 90}], "co2_emissions_potential": 0.6, "energy_rating_potential": 90, "lighting_cost_potential": {"value": 62, "currency": "GBP"}, "schema_version_original": "20.0.0", "hot_water_cost_potential": {"value": 65, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2058, "impact_of_loft_insulation": -142, "impact_of_solid_wall_insulation": -2365, "space_heating_existing_dwelling": 9079}, "energy_consumption_current": 226, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 0, "calculation_software_version": "4.07r0002", "energy_consumption_potential": 42, "environmental_impact_current": 61, "fixed_lighting_outlets_count": 8, "current_energy_efficiency_band": "D", "environmental_impact_potential": 90, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 40, "low_energy_fixed_lighting_outlets_count": 6} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-f8f650d8a598.json b/tests/fixtures/epc_prediction/W104HL/cert-f8f650d8a598.json new file mode 100644 index 00000000..63d05007 --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-f8f650d8a598.json @@ -0,0 +1 @@ +{"uprn": 100022784874, "roofs": [{"description": {"value": "Pitched, 270 mm loft insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "walls": [{"description": {"value": "Solid brick, with internal insulation", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": {"value": "Single glazed", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "W10 4HL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2025-01-14 16:57:35", "door_count": 1, "glazed_area": 2, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 1, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 1}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "mcs_installed_heat_pump": "false", "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 10243}], "immersion_heating_type": "NA", "cylinder_insulation_type": 0, "has_fixed_air_conditioning": "false"}, "sap_version": 9.94, "schema_type": "RdSAP-Schema-20.0.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-6f0fdb53aeac", "assessment_type": "RdSAP", "completion_date": "2025-01-14", "inspection_date": "2025-01-11", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 74, "transaction_type": 8, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2025-01-14", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 1}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.65, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 37.12, "quantity": "square metres"}, "party_wall_length": {"value": 16.77, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 12.35, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.72, "quantity": "metres"}, "total_floor_area": {"value": 36.72, "quantity": "square metres"}, "party_wall_length": {"value": 16.6, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12.2, "quantity": "metres"}}], "wall_insulation_type": 3, "construction_age_band": "B", "party_wall_construction": 0, "wall_thickness_measured": "N", "roof_insulation_location": 2, "roof_insulation_thickness": "270mm", "wall_insulation_thickness": "100mm"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 637, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 2.5, "energy_rating_average": 60, "energy_rating_current": 69, "lighting_cost_current": {"value": 81, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": "ND", "open_fireplaces_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 464, "currency": "GBP"}, "hot_water_cost_current": {"value": 139, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 0, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 43, "currency": "GBP"}, "indicative_cost": "\u00a3800 - \u00a31,200", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 71, "environmental_impact_rating": 69}, {"sequence": 2, "typical_saving": {"value": 18, "currency": "GBP"}, "indicative_cost": "\u00a380 - \u00a3120", "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 72, "environmental_impact_rating": 70}, {"sequence": 3, "typical_saving": {"value": 43, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 72}, {"sequence": 4, "typical_saving": {"value": 113, "currency": "GBP"}, "indicative_cost": "\u00a33,300 - \u00a36,500", "improvement_type": "O", "improvement_details": {"improvement_number": 8}, "improvement_category": 5, "energy_performance_rating": 77, "environmental_impact_rating": 77}, {"sequence": 5, "typical_saving": {"value": 480, "currency": "GBP"}, "indicative_cost": "\u00a33,500 - \u00a35,500", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 88, "environmental_impact_rating": 88}], "co2_emissions_potential": 0.8, "energy_rating_potential": 88, "lighting_cost_potential": {"value": 81, "currency": "GBP"}, "schema_version_original": "LIG-19.0", "hot_water_cost_potential": {"value": 96, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2074, "space_heating_existing_dwelling": 7311}, "energy_consumption_current": 193, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 0, "calculation_software_version": "v94.0.2.1", "energy_consumption_potential": 57, "environmental_impact_current": 67, "fixed_lighting_outlets_count": 10, "current_energy_efficiency_band": "C", "environmental_impact_potential": 88, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 34, "low_energy_fixed_lighting_outlets_count": 10} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-f96b9b6f471b.json b/tests/fixtures/epc_prediction/W104HL/cert-f96b9b6f471b.json new file mode 100644 index 00000000..af090b8d --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-f96b9b6f471b.json @@ -0,0 +1 @@ +{"uprn": 100022784876, "roofs": [{"description": {"value": "Pitched, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "walls": [{"description": {"value": "Solid brick, as built, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}], "floors": [{"description": {"value": "Suspended, no insulation (assumed)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 1, "window": {"description": {"value": "Single glazed", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 1}, "lighting": {"description": {"value": "Low energy lighting in all fixed outlets", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "W10 4HL", "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "built_form": 4, "created_at": "2016-07-06 14:41:12.000000", "door_count": 2, "glazed_area": 1, "region_code": 17, "report_type": 2, "sap_heating": {"cylinder_size": 1, "water_heating_code": 901, "water_heating_fuel": 26, "instantaneous_wwhrs": {"rooms_with_bath_and_or_shower": 4, "rooms_with_mixer_shower_no_bath": 0, "rooms_with_bath_and_mixer_shower": 4}, "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 2, "fan_flue_present": "N", "heat_emitter_type": 1, "emitter_temperature": 0, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "sap_main_heating_code": 104, "central_heating_pump_age": 0, "main_heating_data_source": 2}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 9.92, "schema_type": "RdSAP-Schema-17.0", "uprn_source": "Energy Assessor", "country_code": "EAW", "main_heating": [{"description": {"value": "Boiler and radiators, mains gas", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "dwelling_type": {"value": "Mid-terrace house", "language": "1"}, "language_code": 1, "property_type": 0, "address_line_1": "addr-1b5de7d6b912", "assessment_type": "RdSAP", "completion_date": "2016-07-06", "inspection_date": "2016-07-06", "extensions_count": 0, "measurement_type": 1, "total_floor_area": 89, "transaction_type": 1, "conservatory_type": 1, "heated_room_count": 4, "registration_date": "2016-07-06", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "photovoltaic_supply": {"none_or_no_details": {"pv_connection": 0, "percent_roof_area": 0}}, "wind_turbines_count": 0, "wind_turbines_terrain_type": 1}, "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "wall_thickness": 300, "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": {"value": 2.64, "quantity": "metres"}, "floor_insulation": 1, "total_floor_area": {"value": 38.02, "quantity": "square metres"}, "party_wall_length": {"value": 17.21, "quantity": "metres"}, "floor_construction": 2, "heat_loss_perimeter": {"value": 12.26, "quantity": "metres"}}, {"floor": 1, "room_height": {"value": 2.71, "quantity": "metres"}, "total_floor_area": {"value": 38.02, "quantity": "square metres"}, "party_wall_length": {"value": 17.21, "quantity": "metres"}, "heat_loss_perimeter": {"value": 12.26, "quantity": "metres"}}, {"floor": 2, "room_height": {"value": 1.95, "quantity": "metres"}, "total_floor_area": {"value": 12.71, "quantity": "square metres"}, "party_wall_length": {"value": 8.12, "quantity": "metres"}, "heat_loss_perimeter": {"value": 6.26, "quantity": "metres"}}], "wall_insulation_type": 4, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "Y", "roof_insulation_location": 4, "roof_insulation_thickness": "ND", "wall_insulation_thickness": "NI"}], "low_energy_lighting": 100, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 880, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 4.7, "energy_rating_average": 60, "energy_rating_current": 55, "lighting_cost_current": {"value": 57, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Programmer, room thermostat and TRVs", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "multiple_glazing_type": "ND", "open_fireplaces_count": 2, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 593, "currency": "GBP"}, "hot_water_cost_current": {"value": 117, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 0, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 195, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a314,000", "improvement_type": "Q", "improvement_details": {"improvement_number": 7}, "improvement_category": 5, "energy_performance_rating": 62, "environmental_impact_rating": 56}, {"sequence": 2, "typical_saving": {"value": 23, "currency": "GBP"}, "indicative_cost": "\u00a380 - \u00a3120", "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 64, "environmental_impact_rating": 57}, {"sequence": 3, "typical_saving": {"value": 39, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a36,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 65, "environmental_impact_rating": 59}, {"sequence": 4, "typical_saving": {"value": 68, "currency": "GBP"}, "indicative_cost": "\u00a33,300 - \u00a36,500", "improvement_type": "O", "improvement_details": {"improvement_number": 8}, "improvement_category": 5, "energy_performance_rating": 68, "environmental_impact_rating": 63}, {"sequence": 5, "typical_saving": {"value": 274, "currency": "GBP"}, "indicative_cost": "\u00a35,000 - \u00a38,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 78, "environmental_impact_rating": 72}], "co2_emissions_potential": 2.1, "energy_rating_potential": 78, "lighting_cost_potential": {"value": 58, "currency": "GBP"}, "schema_version_original": "LIG-17.0", "hot_water_cost_potential": {"value": 78, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2178, "impact_of_loft_insulation": -2789, "impact_of_solid_wall_insulation": -4029, "space_heating_existing_dwelling": 14908}, "energy_consumption_current": 298, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 0, "calculation_software_version": "2.0.0.0", "energy_consumption_potential": 132, "environmental_impact_current": 46, "fixed_lighting_outlets_count": 24, "windows_transmission_details": {"u_value": 4.8, "data_source": 2, "solar_transmittance": 0.85}, "current_energy_efficiency_band": "D", "environmental_impact_potential": 72, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 53, "low_energy_fixed_lighting_outlets_count": 24} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/W104HL/cert-fdb7d8dcc402.json b/tests/fixtures/epc_prediction/W104HL/cert-fdb7d8dcc402.json new file mode 100644 index 00000000..e90d7dcc --- /dev/null +++ b/tests/fixtures/epc_prediction/W104HL/cert-fdb7d8dcc402.json @@ -0,0 +1 @@ +{"uprn": 100022784864, "roofs": [{"description": "Pitched, insulated (assumed)", "energy_efficiency_rating": 3, "environmental_efficiency_rating": 3}], "walls": [{"description": "Solid brick, with internal insulation", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": "Suspended, no insulation (assumed)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 2, "window": {"description": "Full secondary glazing", "energy_efficiency_rating": 2, "environmental_efficiency_rating": 2}, "lighting": {"description": "Excellent lighting efficiency", "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "W10 4HL", "hot_water": {"description": "From main system", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "post_town": "", "psv_count": 0, "built_form": 4, "created_at": "2025-09-22 17:15:07", "door_count": 2, "region_code": 1, "report_type": 2, "sap_heating": {"number_baths": 1, "cylinder_size": 1, "shower_outlets": [{"shower_outlet": {"shower_wwhrs": 1, "shower_outlet_type": 2}}], "number_baths_wwhrs": 0, "water_heating_code": 901, "water_heating_fuel": 26, "cylinder_thermostat": "N", "main_heating_details": [{"has_fghrs": "N", "main_fuel_type": 26, "boiler_flue_type": 1, "fan_flue_present": "Y", "heat_emitter_type": 1, "emitter_temperature": 1, "main_heating_number": 1, "main_heating_control": 2106, "main_heating_category": 2, "main_heating_fraction": 1, "central_heating_pump_age": 0, "main_heating_data_source": 1, "main_heating_index_number": 17507}], "immersion_heating_type": "NA", "has_fixed_air_conditioning": "false"}, "sap_version": 10.2, "sap_windows": [{"pvc_frame": "false", "orientation": 1, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1.8, "quantity": "m"}, "window_height": {"value": 1, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 1, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1.1, "quantity": "m"}, "window_height": {"value": 1.7, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 5, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1.1, "quantity": "m"}, "window_height": {"value": 1.7, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 1, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1.5, "quantity": "m"}, "window_height": {"value": 1, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 1, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1.1, "quantity": "m"}, "window_height": {"value": 1.7, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 7, "window_type": 1, "glazing_type": 4, "window_width": {"value": 0.6, "quantity": "m"}, "window_height": {"value": 0.7, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 5, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1.1, "quantity": "m"}, "window_height": {"value": 1.7, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}, {"pvc_frame": "false", "orientation": 5, "window_type": 1, "glazing_type": 4, "window_width": {"value": 1.1, "quantity": "m"}, "window_height": {"value": 1.7, "quantity": "m"}, "draught_proofed": "false", "window_location": 0, "window_wall_type": 1, "permanent_shutters_present": "N", "permanent_shutters_insulated": "N"}], "schema_type": "RdSAP-Schema-21.0.1", "uprn_source": "Energy Assessor", "country_code": "ENG", "main_heating": [{"description": "Boiler and radiators, mains gas", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "air_tightness": {"description": "(not tested)", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "dwelling_type": "Mid-terrace house", "language_code": 1, "pressure_test": 4, "property_type": 0, "address_line_1": "addr-8e99b09098b9", "assessment_type": "RdSAP", "completion_date": "2025-09-22", "inspection_date": "2025-09-04", "extensions_count": 0, "measurement_type": 1, "open_flues_count": 0, "total_floor_area": 74, "transaction_type": 5, "conservatory_type": 1, "heated_room_count": 4, "other_flues_count": 0, "registration_date": "2025-09-22", "sap_energy_source": {"mains_gas": "Y", "meter_type": 2, "pv_connection": 0, "photovoltaic_supply": {"none_or_no_details": {"percent_roof_area": 0}}, "wind_turbines_count": 0, "gas_smart_meter_present": "false", "is_dwelling_export_capable": "false", "wind_turbines_terrain_type": 1, "electricity_smart_meter_present": "false"}, "secondary_heating": {"description": "None", "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "closed_flues_count": 0, "extract_fans_count": 0, "sap_building_parts": [{"identifier": "Main Dwelling", "wall_dry_lined": "N", "floor_heat_loss": 7, "roof_construction": 5, "wall_construction": 3, "building_part_number": 1, "sap_floor_dimensions": [{"floor": 0, "room_height": 2.62, "floor_insulation": 1, "total_floor_area": 37, "party_wall_length": 16.88, "floor_construction": 2, "heat_loss_perimeter": 12.1}, {"floor": 1, "room_height": 2.7, "total_floor_area": 36.61, "party_wall_length": 16.7, "heat_loss_perimeter": 12.1}], "wall_insulation_type": 3, "construction_age_band": "B", "party_wall_construction": 1, "wall_thickness_measured": "N", "roof_insulation_location": 4, "roof_insulation_thickness": "NI", "wall_insulation_thickness": "NI"}], "boilers_flues_count": 0, "open_chimneys_count": 0, "solar_water_heating": "N", "habitable_room_count": 4, "heating_cost_current": {"value": 554, "currency": "GBP"}, "insulated_door_count": 0, "co2_emissions_current": 1.8, "energy_rating_average": 60, "energy_rating_current": 72, "lighting_cost_current": {"value": 46, "currency": "GBP"}, "main_heating_controls": [{"description": "Programmer, room thermostat and TRVs", "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "blocked_chimneys_count": 0, "has_hot_water_cylinder": "false", "heating_cost_potential": {"value": 495, "currency": "GBP"}, "hot_water_cost_current": {"value": 274, "currency": "GBP"}, "mechanical_ventilation": 0, "percent_draughtproofed": 0, "schema_version_current": "LIG-21.0", "suggested_improvements": [{"sequence": 1, "typical_saving": 42, "indicative_cost": "\u00a35,000 - \u00a310,000", "improvement_type": "W1", "improvement_details": {"improvement_number": 57}, "improvement_category": 5, "energy_performance_rating": 73, "environmental_impact_rating": 78}, {"sequence": 2, "typical_saving": 17, "indicative_cost": "\u00a3150 - \u00a3250", "improvement_type": "D", "improvement_details": {"improvement_number": 10}, "improvement_category": 5, "energy_performance_rating": 74, "environmental_impact_rating": 79}, {"sequence": 3, "typical_saving": 282, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 82}], "co2_emissions_potential": 1.4, "energy_rating_potential": 86, "lighting_cost_potential": {"value": 46, "currency": "GBP"}, "schema_version_original": "LIG-21.0", "hot_water_cost_potential": {"value": 274, "currency": "GBP"}, "renewable_heat_incentive": {"water_heating": 2058.59, "space_heating_existing_dwelling": 5182.27}, "draughtproofed_door_count": 0, "energy_consumption_current": 139, "has_fixed_air_conditioning": "false", "multiple_glazed_proportion": 100, "calculation_software_version": "10.2.2.0", "energy_consumption_potential": 103, "environmental_impact_current": 76, "cfl_fixed_lighting_bulbs_count": 0, "current_energy_efficiency_band": "C", "environmental_impact_potential": 82, "led_fixed_lighting_bulbs_count": 10, "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 24, "incandescent_fixed_lighting_bulbs_count": 0} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-030ab0b24dfb.json b/tests/fixtures/epc_prediction/WA53GF/cert-030ab0b24dfb.json new file mode 100644 index 00000000..61370f36 --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-030ab0b24dfb.json @@ -0,0 +1 @@ +{"der": 3.38, "ter": 10.79, "dfee": 35.8, "dper": 35.27, "tfee": 36.5, "tper": 56.4, "uprn": 10097320596, "roofs": [{"description": {"value": "Average thermal transmittance 0.13 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2025-12-04 15:39:34", "living_area": 16.7, "orientation": 3, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 210, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.55, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "true", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 3, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 14, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.8 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-fc0df43fa4e6", "assessment_date": "2025-12-04", "assessment_type": "SAP", "completion_date": "2025-12-04", "inspection_date": "2025-12-04", "sap_ventilation": {"psv_count": 0, "wall_type": 1, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.85, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 108, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2025-12-04", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.43}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}, {"name": "Roof Light", "type": 5, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 40.44, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 19.66}, {"name": "Roof (2)", "u_value": 0.16, "roof_type": 2, "kappa_value": 9, "total_roof_area": 24.85}, {"name": "Roof (3)", "u_value": 0.12, "roof_type": 2, "kappa_value": 9, "total_roof_area": 13.45}, {"name": "Roof (4)", "u_value": 0.16, "roof_type": 2, "kappa_value": 9, "total_roof_area": 13.35}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 99.23, "is_curtain_walling": "false"}, {"name": "Walls (2)", "u_value": 0.23, "wall_type": 2, "kappa_value": 18, "total_wall_area": 15.83, "is_curtain_walling": "false"}, {"name": "Walls (3)", "u_value": 0.12, "wall_type": 2, "kappa_value": 18, "total_wall_area": 14.82, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 110, "total_wall_area": 47.04, "is_curtain_walling": "false"}, {"name": "Party Wall (2)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 15.83, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 193.57, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "Opening 2", "type": "Windows", "width": 5.25, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "Opening", "type": "Roof Light", "pitch": 40, "width": 1.78, "height": 1, "location": "Roof (2)", "orientation": 3}, {"name": "Opening", "type": "Windows", "width": 1.54, "height": 1, "location": "Walls (1)", "orientation": 5}, {"name": "Opening", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 7}, {"name": "Opening", "type": "Windows", "width": 1.4, "height": 1, "location": "Walls (1)", "orientation": 7}, {"name": "Opening", "type": "Roof Light", "pitch": 40, "width": 1.78, "height": 1, "location": "Roof (2)", "orientation": 7}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 6.84, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 5.82, "psi_value": 0.022, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 16.68, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 18.18, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 24.39, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 6.73, "psi_value": 0.0419, "psi_value_source": 1, "thermal_bridge_type": "E11"}, {"length": 4.51, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 11.7, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 11.7, "psi_value": 0.0343, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 9.29, "psi_value": 0.06, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 9.29, "psi_value": 0, "psi_value_source": 4, "thermal_bridge_type": "P2"}, {"length": 4.51, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "P4"}, {"length": 5.74, "psi_value": 0.094, "psi_value_source": 1, "thermal_bridge_type": "E13"}, {"length": 4.81, "psi_value": 0.04, "psi_value_source": 1, "thermal_bridge_type": "P5"}, {"length": 8.72, "psi_value": 0.019, "psi_value_source": 1, "thermal_bridge_type": "R6"}, {"length": 2.72, "psi_value": 0.115, "psi_value_source": 1, "thermal_bridge_type": "R1"}, {"length": 2.72, "psi_value": 0.113, "psi_value_source": 1, "thermal_bridge_type": "R2"}, {"length": 5.56, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "R3"}, {"length": 1.27, "psi_value": 0.15, "psi_value_source": 4, "thermal_bridge_type": "E11"}, {"length": 3.85, "psi_value": 0.12, "psi_value_source": 4, "thermal_bridge_type": "R5"}, {"length": 2.94, "psi_value": 0.12, "psi_value_source": 4, "thermal_bridge_type": "R4"}, {"length": 3.69, "psi_value": 0.25, "psi_value_source": 4, "thermal_bridge_type": "E13"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.11, "floor_type": 2, "kappa_value": 160, "storey_height": 2.38, "heat_loss_area": 40.44, "total_floor_area": 40.44}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 40.44, "kappa_value_from_below": 9}, {"storey": 2, "u_value": 0, "floor_type": 3, "storey_height": 2.27, "heat_loss_area": 0, "total_floor_area": 26.99}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 282, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 85, "lighting_cost_current": {"value": 73, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 305, "currency": "GBP"}, "hot_water_cost_current": {"value": 301, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 51, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 343, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 93, "environmental_impact_rating": 99}], "user_interface_version": "2.25.1", "co2_emissions_potential": 0.1, "energy_rating_potential": 93, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 73, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 227, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 33, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.25.1", "energy_consumption_potential": 15, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 99, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-0b3aada57a2b.json b/tests/fixtures/epc_prediction/WA53GF/cert-0b3aada57a2b.json new file mode 100644 index 00000000..be51662a --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-0b3aada57a2b.json @@ -0,0 +1 @@ +{"der": 3.53, "ter": 11.06, "dfee": 33.2, "dper": 37.12, "tfee": 35.2, "tper": 57.75, "uprn": 10097320611, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.12 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2026-04-09 11:05:07", "living_area": 16.12, "orientation": 2, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 180, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.39, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "false", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 9, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.9 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-0d9617d8cbf1", "assessment_date": "2026-04-09", "assessment_type": "SAP", "completion_date": "2026-04-09", "inspection_date": "2026-04-09", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 3, "air_permeability": 4.93, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 2, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 82, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-04-09", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.43}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 40.82, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 40.81999969482422}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 91.61, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 110, "total_wall_area": 45.36, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 138.25, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Opening 2", "type": "Windows", "width": 4.67, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Opening 5", "type": "Windows", "width": 1.44, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Opening 6", "type": "Windows", "width": 1.4, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "French Doors", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 6}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 4.9, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 3.88, "psi_value": 0.022, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 13.06, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 18.07, "psi_value": 0.076, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 18.07, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 8.95, "psi_value": 0.0383, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 9.12, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 10.14, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 10.14, "psi_value": 0.0343, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 8.95, "psi_value": 0.06, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 8.95, "psi_value": 0, "psi_value_source": 4, "thermal_bridge_type": "P2"}, {"length": 8.95, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "P4"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.12, "floor_type": 2, "kappa_value": 160, "storey_height": 2.38, "heat_loss_area": 40.82, "total_floor_area": 40.82}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 40.82, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 174, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 86, "lighting_cost_current": {"value": 63, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 197, "currency": "GBP"}, "hot_water_cost_current": {"value": 272, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 48, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 323, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 95, "environmental_impact_rating": 100}], "user_interface_version": "3.1.55", "co2_emissions_potential": 0.0, "energy_rating_potential": 95, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 63, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 201, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 35, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.55", "energy_consumption_potential": 12, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 100, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-0bcbc7bf951d.json b/tests/fixtures/epc_prediction/WA53GF/cert-0bcbc7bf951d.json new file mode 100644 index 00000000..45d7aa3a --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-0bcbc7bf951d.json @@ -0,0 +1 @@ +{"der": 3.51, "ter": 11.3, "dfee": 34.4, "dper": 36.87, "tfee": 36.4, "tper": 59.05, "uprn": 10097320589, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.12 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Excellent lighting efficiency", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2026-03-13 13:19:52", "living_area": 16.12, "orientation": 3, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 180, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.39, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "false", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 4, "lighting_efficacy": 75}, {"lighting_power": 10, "lighting_outlets": 12, "lighting_efficacy": 96}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.9 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-779245ddda67", "assessment_date": "2026-03-13", "assessment_type": "SAP", "completion_date": "2026-03-13", "inspection_date": "2026-03-13", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 3, "air_permeability": 4.92, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 2, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 2, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 82, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-03-13", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.43}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 40.82, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 40.81999969482422}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 91.61, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 110, "total_wall_area": 45.36, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 138.25, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "Opening 2", "type": "Windows", "width": 4.67, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "Opening 5", "type": "Windows", "width": 1.44, "height": 1, "location": "Walls (1)", "orientation": 1}, {"name": "Opening 6", "type": "Windows", "width": 1.4, "height": 1, "location": "Walls (1)", "orientation": 7}, {"name": "French Doors", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 7}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 4.9, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 3.88, "psi_value": 0.022, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 13.06, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 18.07, "psi_value": 0.076, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 18.07, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 8.95, "psi_value": 0.0383, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 9.12, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 10.14, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 10.14, "psi_value": 0.0343, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 8.95, "psi_value": 0.06, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 8.95, "psi_value": 0, "psi_value_source": 4, "thermal_bridge_type": "P2"}, {"length": 8.95, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "P4"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.12, "floor_type": 2, "kappa_value": 160, "storey_height": 2.38, "heat_loss_area": 40.82, "total_floor_area": 40.82}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 40.82, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 184, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 86, "lighting_cost_current": {"value": 55, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 207, "currency": "GBP"}, "hot_water_cost_current": {"value": 279, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 49, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 330, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 96, "environmental_impact_rating": 100}], "user_interface_version": "2.26.17", "co2_emissions_potential": 0.0, "energy_rating_potential": 96, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 55, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 207, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 34, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.26.17", "energy_consumption_potential": 12, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 100, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-10e5f1e68812.json b/tests/fixtures/epc_prediction/WA53GF/cert-10e5f1e68812.json new file mode 100644 index 00000000..5935461b --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-10e5f1e68812.json @@ -0,0 +1 @@ +{"der": 1.59, "ter": 10.8, "dfee": 33.8, "dper": 21.75, "tfee": 36.5, "tper": 56.31, "uprn": 10097320587, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.12 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2026-02-25 15:48:58", "living_area": 18.61, "orientation": 4, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.29, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "false", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 3, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 13, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.9 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "pv_connection": 2, "address_line_1": "addr-4469789c0a6d", "assessment_date": "2026-02-25", "assessment_type": "SAP", "completion_date": "2026-02-25", "inspection_date": "2026-02-25", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.86, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 4, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 91, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-02-25", "sap_energy_source": {"pv_arrays": [{"pitch": 2, "peak_power": 2.2, "orientation": 2, "overshading": 1}], "electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.43}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 44.73, "lzc_energy_sources": [9, 11], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 45.849998474121094}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 98.82, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 110, "total_wall_area": 43.97, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 179.99, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "Opening 2", "type": "Windows", "width": 5.96, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "Opening 5", "type": "Windows", "width": 0.72, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Opening 6", "type": "Windows", "width": 4.11, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "French Doors", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 8}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 9.33, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 8.31, "psi_value": 0.023, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 17.42, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 19.82, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 17.41, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 8.95, "psi_value": 0.0383, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 10.23, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 12.83, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 10.14, "psi_value": 0.0343, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 8.33, "psi_value": 0.06, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 8.95, "psi_value": 0, "psi_value_source": 4, "thermal_bridge_type": "P2"}, {"length": 8.95, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "P4"}, {"length": 2.41, "psi_value": 0.32, "psi_value_source": 4, "thermal_bridge_type": "E20"}, {"length": 2.41, "psi_value": 0.025, "psi_value_source": 1, "thermal_bridge_type": "E21"}, {"length": 2.38, "psi_value": -0.091, "psi_value_source": 1, "thermal_bridge_type": "E17"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.12, "floor_type": 2, "kappa_value": 160, "storey_height": 2.38, "heat_loss_area": 44.73, "total_floor_area": 44.73}, {"storey": 0, "u_value": 0.12, "floor_type": 3, "kappa_value": 20, "storey_height": 2.38, "heat_loss_area": 1.12, "total_floor_area": 44.73}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 45.85, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 218, "currency": "GBP"}, "co2_emissions_current": 0.1, "energy_rating_average": 60, "energy_rating_current": 92, "lighting_cost_current": {"value": 62, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 241, "currency": "GBP"}, "hot_water_cost_current": {"value": 286, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 45, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 93, "environmental_impact_rating": 99}], "user_interface_version": "2.26.17", "co2_emissions_potential": 0.1, "energy_rating_potential": 93, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 62, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 213, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 20, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.26.17", "energy_consumption_potential": 17, "environmental_impact_current": 99, "current_energy_efficiency_band": "A", "environmental_impact_potential": 99, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 1.4} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-18249db041df.json b/tests/fixtures/epc_prediction/WA53GF/cert-18249db041df.json new file mode 100644 index 00000000..fa973e07 --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-18249db041df.json @@ -0,0 +1 @@ +{"der": 3.43, "ter": 10.95, "dfee": 36.6, "dper": 35.78, "tfee": 37.2, "tper": 57.26, "uprn": 10097320580, "roofs": [{"description": {"value": "Average thermal transmittance 0.13 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2026-03-19 09:35:19", "living_area": 16.7, "orientation": 7, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 210, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.55, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "true", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 3, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 14, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.7 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-7e3a817ef025", "assessment_date": "2026-03-19", "assessment_type": "SAP", "completion_date": "2026-03-19", "inspection_date": "2026-03-19", "sap_ventilation": {"psv_count": 0, "wall_type": 1, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.73, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 108, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-03-19", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.43}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}, {"name": "Roof Light", "type": 5, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 40.44, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 19.66}, {"name": "Roof (2)", "u_value": 0.16, "roof_type": 2, "kappa_value": 9, "total_roof_area": 24.85}, {"name": "Roof (3)", "u_value": 0.12, "roof_type": 2, "kappa_value": 9, "total_roof_area": 13.45}, {"name": "Roof (4)", "u_value": 0.16, "roof_type": 2, "kappa_value": 9, "total_roof_area": 13.35}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 99.23, "is_curtain_walling": "false"}, {"name": "Walls (2)", "u_value": 0.23, "wall_type": 2, "kappa_value": 18, "total_wall_area": 15.83, "is_curtain_walling": "false"}, {"name": "Walls (3)", "u_value": 0.12, "wall_type": 2, "kappa_value": 18, "total_wall_area": 14.82, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 110, "total_wall_area": 47.04, "is_curtain_walling": "false"}, {"name": "Party Wall (2)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 15.83, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 193.57, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 7}, {"name": "Opening 2", "type": "Windows", "width": 5.25, "height": 1, "location": "Walls (1)", "orientation": 7}, {"name": "Opening", "type": "Roof Light", "pitch": 40, "width": 1.78, "height": 1, "location": "Roof (2)", "orientation": 7}, {"name": "Opening", "type": "Windows", "width": 1.54, "height": 1, "location": "Walls (1)", "orientation": 1}, {"name": "Opening", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "Opening", "type": "Windows", "width": 1.4, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "Opening", "type": "Roof Light", "pitch": 40, "width": 1.78, "height": 1, "location": "Roof (2)", "orientation": 3}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 6.84, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 5.82, "psi_value": 0.022, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 16.68, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 18.18, "psi_value": 0.076, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 24.39, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 6.73, "psi_value": 0.0419, "psi_value_source": 1, "thermal_bridge_type": "E11"}, {"length": 4.51, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 11.7, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 11.7, "psi_value": 0.0343, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 9.29, "psi_value": 0.06, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 9.29, "psi_value": 0, "psi_value_source": 4, "thermal_bridge_type": "P2"}, {"length": 4.51, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "P4"}, {"length": 5.74, "psi_value": 0.094, "psi_value_source": 1, "thermal_bridge_type": "E13"}, {"length": 4.81, "psi_value": 0.04, "psi_value_source": 1, "thermal_bridge_type": "P5"}, {"length": 8.72, "psi_value": 0.019, "psi_value_source": 1, "thermal_bridge_type": "R6"}, {"length": 2.72, "psi_value": 0.115, "psi_value_source": 1, "thermal_bridge_type": "R1"}, {"length": 2.72, "psi_value": 0.113, "psi_value_source": 1, "thermal_bridge_type": "R2"}, {"length": 5.56, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "R3"}, {"length": 1.27, "psi_value": 0.15, "psi_value_source": 4, "thermal_bridge_type": "E11"}, {"length": 3.85, "psi_value": 0.12, "psi_value_source": 4, "thermal_bridge_type": "R5"}, {"length": 2.94, "psi_value": 0.12, "psi_value_source": 4, "thermal_bridge_type": "R4"}, {"length": 3.69, "psi_value": 0.25, "psi_value_source": 4, "thermal_bridge_type": "E13"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.11, "floor_type": 2, "kappa_value": 160, "storey_height": 2.38, "heat_loss_area": 40.44, "total_floor_area": 40.44}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 40.44, "kappa_value_from_below": 9}, {"storey": 2, "u_value": 0, "floor_type": 3, "storey_height": 2.27, "heat_loss_area": 0, "total_floor_area": 26.99}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 291, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 85, "lighting_cost_current": {"value": 73, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 314, "currency": "GBP"}, "hot_water_cost_current": {"value": 301, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 51, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 343, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 93, "environmental_impact_rating": 99}], "user_interface_version": "2.26.17", "co2_emissions_potential": 0.1, "energy_rating_potential": 93, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 73, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 227, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 34, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.26.17", "energy_consumption_potential": 16, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 99, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-1940f1e78ab9.json b/tests/fixtures/epc_prediction/WA53GF/cert-1940f1e78ab9.json new file mode 100644 index 00000000..3f3fe567 --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-1940f1e78ab9.json @@ -0,0 +1 @@ +{"der": 3.66, "ter": 11.55, "dfee": 38.2, "dper": 38.21, "tfee": 40.7, "tper": 60.37, "uprn": 10097320591, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 1, "created_at": "2026-03-13 10:33:03", "living_area": 12.61, "orientation": 3, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 210, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.5, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "false", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 3, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 13, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.9 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-2f79d1bab24d", "assessment_date": "2026-03-13", "assessment_type": "SAP", "completion_date": "2026-03-13", "inspection_date": "2026-03-13", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.9, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 96, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-03-13", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.43}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 47.07, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 49.029998779296875}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 146.32, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 136.79, "is_curtain_walling": "false"}, {"name": "Internal Wall (2)", "u_value": 0, "wall_type": 5, "kappa_value": 75, "total_wall_area": 50.12, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "Opening 2", "type": "Windows", "width": 5.95, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "Opening 5", "type": "Windows", "width": 0.72, "height": 1, "location": "Walls (1)", "orientation": 5}, {"name": "Opening 6", "type": "Windows", "width": 4.11, "height": 1, "location": "Walls (1)", "orientation": 7}, {"name": "French Doors", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 7}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 9.32, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 8.31, "psi_value": 0.022, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 17.38, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 28.86, "psi_value": 0.076, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 26.11, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 17.92, "psi_value": 0.0383, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 10.94, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 22.66, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 2.69, "psi_value": -0.091, "psi_value_source": 1, "thermal_bridge_type": "E17"}, {"length": 2.75, "psi_value": 0.32, "psi_value_source": 4, "thermal_bridge_type": "E20"}, {"length": 2.75, "psi_value": 0.025, "psi_value_source": 1, "thermal_bridge_type": "E21"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.11, "floor_type": 2, "kappa_value": 160, "storey_height": 2.38, "heat_loss_area": 47.07, "total_floor_area": 47.07}, {"storey": 0, "u_value": 0.11, "floor_type": 3, "kappa_value": 20, "storey_height": 2.38, "heat_loss_area": 1.96, "total_floor_area": 47.07}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 49.03, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 270, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 84, "lighting_cost_current": {"value": 67, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 293, "currency": "GBP"}, "hot_water_cost_current": {"value": 294, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 50, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 339, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 93, "environmental_impact_rating": 99}], "user_interface_version": "2.26.17", "co2_emissions_potential": 0.1, "energy_rating_potential": 93, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 67, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 221, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 36, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.26.17", "energy_consumption_potential": 16, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 99, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.4} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-2cff3dfaefbd.json b/tests/fixtures/epc_prediction/WA53GF/cert-2cff3dfaefbd.json new file mode 100644 index 00000000..41d9391d --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-2cff3dfaefbd.json @@ -0,0 +1 @@ +{"der": 3.43, "ter": 10.83, "dfee": 36.2, "dper": 35.78, "tfee": 36.7, "tper": 56.64, "uprn": 10097320581, "roofs": [{"description": {"value": "Average thermal transmittance 0.13 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2026-04-20 15:21:40", "living_area": 16.7, "orientation": 7, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 210, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.55, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "true", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 3, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 14, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.8 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-1ae92722f53d", "assessment_date": "2026-04-20", "assessment_type": "SAP", "completion_date": "2026-04-20", "inspection_date": "2026-04-20", "sap_ventilation": {"psv_count": 0, "wall_type": 1, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.81, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 4, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 108, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-04-20", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.43}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}, {"name": "Roof Light", "type": 5, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 40.44, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 19.66}, {"name": "Roof (2)", "u_value": 0.16, "roof_type": 2, "kappa_value": 9, "total_roof_area": 24.85}, {"name": "Roof (3)", "u_value": 0.12, "roof_type": 2, "kappa_value": 9, "total_roof_area": 13.45}, {"name": "Roof (4)", "u_value": 0.16, "roof_type": 2, "kappa_value": 9, "total_roof_area": 13.35}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 99.23, "is_curtain_walling": "false"}, {"name": "Walls (2)", "u_value": 0.23, "wall_type": 2, "kappa_value": 18, "total_wall_area": 15.83, "is_curtain_walling": "false"}, {"name": "Walls (3)", "u_value": 0.12, "wall_type": 2, "kappa_value": 18, "total_wall_area": 14.82, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 110, "total_wall_area": 47.04, "is_curtain_walling": "false"}, {"name": "Party Wall (2)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 15.83, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 193.57, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 7}, {"name": "Opening 2", "type": "Windows", "width": 5.25, "height": 1, "location": "Walls (1)", "orientation": 7}, {"name": "Opening", "type": "Roof Light", "pitch": 40, "width": 1.78, "height": 1, "location": "Roof (2)", "orientation": 7}, {"name": "Opening", "type": "Windows", "width": 1.54, "height": 1, "location": "Walls (1)", "orientation": 1}, {"name": "Opening", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "Opening", "type": "Windows", "width": 1.4, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "Opening", "type": "Roof Light", "pitch": 40, "width": 1.78, "height": 1, "location": "Roof (2)", "orientation": 3}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 6.84, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 5.82, "psi_value": 0.022, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 16.68, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 18.18, "psi_value": 0.076, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 24.39, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 6.73, "psi_value": 0.0419, "psi_value_source": 1, "thermal_bridge_type": "E11"}, {"length": 4.51, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 11.7, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 11.7, "psi_value": 0.0343, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 9.29, "psi_value": 0.06, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 9.29, "psi_value": 0, "psi_value_source": 4, "thermal_bridge_type": "P2"}, {"length": 4.51, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "P4"}, {"length": 5.74, "psi_value": 0.094, "psi_value_source": 1, "thermal_bridge_type": "E13"}, {"length": 4.81, "psi_value": 0.04, "psi_value_source": 1, "thermal_bridge_type": "P5"}, {"length": 8.72, "psi_value": 0.019, "psi_value_source": 1, "thermal_bridge_type": "R6"}, {"length": 2.72, "psi_value": 0.115, "psi_value_source": 1, "thermal_bridge_type": "R1"}, {"length": 2.72, "psi_value": 0.113, "psi_value_source": 1, "thermal_bridge_type": "R2"}, {"length": 5.56, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "R3"}, {"length": 1.27, "psi_value": 0.15, "psi_value_source": 4, "thermal_bridge_type": "E11"}, {"length": 3.85, "psi_value": 0.12, "psi_value_source": 4, "thermal_bridge_type": "R5"}, {"length": 2.94, "psi_value": 0.12, "psi_value_source": 4, "thermal_bridge_type": "R4"}, {"length": 3.69, "psi_value": 0.25, "psi_value_source": 4, "thermal_bridge_type": "E13"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.11, "floor_type": 2, "kappa_value": 160, "storey_height": 2.38, "heat_loss_area": 40.44, "total_floor_area": 40.44}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 40.44, "kappa_value_from_below": 9}, {"storey": 2, "u_value": 0, "floor_type": 3, "storey_height": 2.27, "heat_loss_area": 0, "total_floor_area": 26.99}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 283, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 85, "lighting_cost_current": {"value": 71, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 305, "currency": "GBP"}, "hot_water_cost_current": {"value": 293, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 49, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 336, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 93, "environmental_impact_rating": 99}], "user_interface_version": "3.1.55", "co2_emissions_potential": 0.1, "energy_rating_potential": 93, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 71, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 221, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 34, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.55", "energy_consumption_potential": 16, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 99, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-35933f8fabe9.json b/tests/fixtures/epc_prediction/WA53GF/cert-35933f8fabe9.json new file mode 100644 index 00000000..fa0849a0 --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-35933f8fabe9.json @@ -0,0 +1 @@ +{"der": 3.36, "ter": 10.67, "dfee": 38.4, "dper": 35.03, "tfee": 41.1, "tper": 55.87, "uprn": 10097320614, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 1, "created_at": "2026-03-25 11:46:32", "living_area": 18.33, "orientation": 8, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 250, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107698, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.55, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "false", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 3, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 15, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.6 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-37fa84df596e", "assessment_date": "2026-03-25", "assessment_type": "SAP", "completion_date": "2026-03-25", "inspection_date": "2026-03-25", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.59, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 120, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-03-25", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.43}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 59.24, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 60.58000183105469}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 169.55, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 160.26, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Opening 2", "type": "Windows", "width": 6.85, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Opening 5", "type": "Windows", "width": 1.54, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Opening 6", "type": "Windows", "width": 4.11, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "French Doors", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 4}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 10.58, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 9.56, "psi_value": 0.022, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 21.02, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 31.99, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 29.85, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 18.78, "psi_value": 0.0383, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 13.21, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 29.11, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 7.91, "psi_value": -0.091, "psi_value_source": 1, "thermal_bridge_type": "E17"}, {"length": 2.41, "psi_value": 0.32, "psi_value_source": 4, "thermal_bridge_type": "E20"}, {"length": 2.41, "psi_value": 0.025, "psi_value_source": 1, "thermal_bridge_type": "E21"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.11, "floor_type": 2, "kappa_value": 160, "storey_height": 2.61, "heat_loss_area": 59.24, "total_floor_area": 59.24}, {"storey": 0, "u_value": 0.11, "floor_type": 3, "kappa_value": 20, "storey_height": 2.61, "heat_loss_area": 1.34, "total_floor_area": 59.24}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 60.58, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 340, "currency": "GBP"}, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 85, "lighting_cost_current": {"value": 80, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 363, "currency": "GBP"}, "hot_water_cost_current": {"value": 304, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 50, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 348, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 92, "environmental_impact_rating": 99}], "user_interface_version": "3.1.55", "co2_emissions_potential": 0.1, "energy_rating_potential": 92, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 80, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 230, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 33, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.55", "energy_consumption_potential": 17, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 99, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.1} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-3619d642221c.json b/tests/fixtures/epc_prediction/WA53GF/cert-3619d642221c.json new file mode 100644 index 00000000..28b03f8a --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-3619d642221c.json @@ -0,0 +1 @@ +{"der": 3.42, "ter": 10.83, "dfee": 36.1, "dper": 35.68, "tfee": 36.7, "tper": 56.64, "uprn": 10097320583, "roofs": [{"description": {"value": "Average thermal transmittance 0.13 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2025-12-10 14:52:24", "living_area": 16.7, "orientation": 7, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 210, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.5, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "true", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 3, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 14, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 5.0 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-24e128a9b9e0", "assessment_date": "2025-12-10", "assessment_type": "SAP", "completion_date": "2025-12-10", "inspection_date": "2025-12-10", "sap_ventilation": {"psv_count": 0, "wall_type": 1, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.95, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 4, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 108, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2025-12-10", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.43}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}, {"name": "Roof Light", "type": 5, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 40.44, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 19.66}, {"name": "Roof (2)", "u_value": 0.16, "roof_type": 2, "kappa_value": 9, "total_roof_area": 24.85}, {"name": "Roof (3)", "u_value": 0.12, "roof_type": 2, "kappa_value": 9, "total_roof_area": 13.45}, {"name": "Roof (4)", "u_value": 0.16, "roof_type": 2, "kappa_value": 9, "total_roof_area": 13.35}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 99.23, "is_curtain_walling": "false"}, {"name": "Walls (2)", "u_value": 0.23, "wall_type": 2, "kappa_value": 18, "total_wall_area": 15.83, "is_curtain_walling": "false"}, {"name": "Walls (3)", "u_value": 0.12, "wall_type": 2, "kappa_value": 18, "total_wall_area": 14.82, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 110, "total_wall_area": 47.04, "is_curtain_walling": "false"}, {"name": "Party Wall (2)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 15.83, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 193.57, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 7}, {"name": "Opening 2", "type": "Windows", "width": 5.25, "height": 1, "location": "Walls (1)", "orientation": 7}, {"name": "Opening", "type": "Roof Light", "pitch": 40, "width": 1.78, "height": 1, "location": "Roof (2)", "orientation": 7}, {"name": "Opening", "type": "Windows", "width": 1.54, "height": 1, "location": "Walls (1)", "orientation": 1}, {"name": "Opening", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "Opening", "type": "Windows", "width": 1.4, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "Opening", "type": "Roof Light", "pitch": 40, "width": 1.78, "height": 1, "location": "Roof (2)", "orientation": 3}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 6.84, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 5.82, "psi_value": 0.022, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 16.68, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 18.18, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 24.39, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 6.73, "psi_value": 0.0419, "psi_value_source": 1, "thermal_bridge_type": "E11"}, {"length": 4.51, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 11.7, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 11.7, "psi_value": 0.0343, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 9.29, "psi_value": 0.06, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 9.29, "psi_value": 0, "psi_value_source": 4, "thermal_bridge_type": "P2"}, {"length": 4.51, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "P4"}, {"length": 5.74, "psi_value": 0.094, "psi_value_source": 1, "thermal_bridge_type": "E13"}, {"length": 4.81, "psi_value": 0.04, "psi_value_source": 1, "thermal_bridge_type": "P5"}, {"length": 8.72, "psi_value": 0.019, "psi_value_source": 1, "thermal_bridge_type": "R6"}, {"length": 2.72, "psi_value": 0.115, "psi_value_source": 1, "thermal_bridge_type": "R1"}, {"length": 2.72, "psi_value": 0.113, "psi_value_source": 1, "thermal_bridge_type": "R2"}, {"length": 5.56, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "R3"}, {"length": 1.27, "psi_value": 0.15, "psi_value_source": 4, "thermal_bridge_type": "E11"}, {"length": 3.85, "psi_value": 0.12, "psi_value_source": 4, "thermal_bridge_type": "R5"}, {"length": 2.94, "psi_value": 0.12, "psi_value_source": 4, "thermal_bridge_type": "R4"}, {"length": 3.69, "psi_value": 0.25, "psi_value_source": 4, "thermal_bridge_type": "E13"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.11, "floor_type": 2, "kappa_value": 160, "storey_height": 2.38, "heat_loss_area": 40.44, "total_floor_area": 40.44}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 40.44, "kappa_value_from_below": 9}, {"storey": 2, "u_value": 0, "floor_type": 3, "storey_height": 2.27, "heat_loss_area": 0, "total_floor_area": 26.99}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 290, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 85, "lighting_cost_current": {"value": 73, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 313, "currency": "GBP"}, "hot_water_cost_current": {"value": 300, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 50, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 343, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 93, "environmental_impact_rating": 99}], "user_interface_version": "2.25.1", "co2_emissions_potential": 0.1, "energy_rating_potential": 93, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 73, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 226, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 33, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.25.1", "energy_consumption_potential": 16, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 99, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-3a7004baf858.json b/tests/fixtures/epc_prediction/WA53GF/cert-3a7004baf858.json new file mode 100644 index 00000000..db47ffac --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-3a7004baf858.json @@ -0,0 +1 @@ +{"der": 3.8, "ter": 12.63, "dfee": 42.9, "dper": 39.6, "tfee": 45.8, "tper": 66.26, "uprn": 10097320604, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 1, "created_at": "2026-05-14 10:03:51", "living_area": 12.81, "orientation": 2, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 210, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.55, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "false", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 3, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 13, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.8 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-6adfa2eb4d3d", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.82, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 2, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 106, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.41}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.4, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.37}, {"name": "Roof Window", "type": 5, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 44.82, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 60.85}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 167.44, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 168.14, "is_curtain_walling": "false"}, {"name": "Internal Wall (2)", "u_value": 0, "wall_type": 5, "kappa_value": 75, "total_wall_area": 23.61, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Opening 2", "type": "Windows", "width": 7.68, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Opening 5", "type": "Windows", "width": 0.72, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "Opening 6", "type": "Windows", "width": 2.84, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "French Doors", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "Opening", "type": "Half Glazed Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 8}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 10.13, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 8.09, "psi_value": 0.022, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 18.3, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 33.09, "psi_value": 0.076, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 22.91, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 17.88, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 25.3, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 12.6, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 5.06, "psi_value": -0.088, "psi_value_source": 1, "thermal_bridge_type": "E17"}, {"length": 8.47, "psi_value": 0.32, "psi_value_source": 4, "thermal_bridge_type": "E20"}, {"length": 8.47, "psi_value": 0.0251, "psi_value_source": 1, "thermal_bridge_type": "E21"}, {"length": 15.2, "psi_value": 0.0383, "psi_value_source": 1, "thermal_bridge_type": "E10"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.11, "floor_type": 2, "kappa_value": 160, "storey_height": 2.66, "heat_loss_area": 44.82, "total_floor_area": 44.82}, {"storey": 1, "u_value": 0.11, "floor_type": 3, "kappa_value": 18, "storey_height": 2.4, "heat_loss_area": 16.03, "total_floor_area": 60.85, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 335, "currency": "GBP"}, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 83, "lighting_cost_current": {"value": 73, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 357, "currency": "GBP"}, "hot_water_cost_current": {"value": 292, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 49, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 84, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 336, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 92, "environmental_impact_rating": 99}], "user_interface_version": "3.1.57", "co2_emissions_potential": 0.1, "energy_rating_potential": 92, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 73, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 220, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 37, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 19, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 99, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.5} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-43145c5e02b8.json b/tests/fixtures/epc_prediction/WA53GF/cert-43145c5e02b8.json new file mode 100644 index 00000000..20f53277 --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-43145c5e02b8.json @@ -0,0 +1 @@ +{"der": 3.04, "ter": 10.02, "dfee": 41.6, "dper": 31.51, "tfee": 42.7, "tper": 52.64, "uprn": 10097320590, "roofs": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 1, "created_at": "2026-05-14 13:33:53", "living_area": 16.78, "orientation": 3, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}, {"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 300, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107714, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 2.29, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "false", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 13, "lighting_efficacy": 75}, {"lighting_power": 5, "lighting_outlets": 33, "lighting_efficacy": 96}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.8 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-d74c9c904a23", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 1, "pressure_test": 1, "wet_rooms_count": 5, "air_permeability": 4.79, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 2, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 4, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 191, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.41}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.4, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.37}, {"name": "Roof Window", "type": 5, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 72.66, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 37.3}, {"name": "Roof (2)", "u_value": 0.16, "roof_type": 2, "kappa_value": 9, "total_roof_area": 17.12}, {"name": "Roof (3)", "u_value": 0.12, "roof_type": 2, "kappa_value": 9, "total_roof_area": 21.96}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 193.42, "is_curtain_walling": "false"}, {"name": "Walls (2)", "u_value": 0.23, "wall_type": 2, "kappa_value": 18, "total_wall_area": 40.07, "is_curtain_walling": "false"}, {"name": "Walls (3)", "u_value": 0.12, "wall_type": 2, "kappa_value": 18, "total_wall_area": 41.04, "is_curtain_walling": "false"}, {"name": "Walls (4)", "u_value": 0.23, "wall_type": 2, "kappa_value": 110, "total_wall_area": 21.38, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 200.6, "is_curtain_walling": "false"}, {"name": "Internal Wall (2)", "u_value": 0, "wall_type": 5, "kappa_value": 75, "total_wall_area": 120.91, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "Opening 2", "type": "Windows", "width": 10.11, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "Opening", "type": "Windows", "width": 2.64, "height": 1, "location": "Walls (2)", "orientation": 3}, {"name": "Opening", "type": "Windows", "width": 1.08, "height": 1, "location": "Walls (2)", "orientation": 5}, {"name": "Opening", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 7}, {"name": "Opening", "type": "Windows", "width": 6.02, "height": 1, "location": "Walls (1)", "orientation": 7}, {"name": "Opening", "type": "Roof Window", "pitch": 45, "width": 0.87, "height": 1, "location": "Roof (2)", "orientation": 7}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 15.77, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 14.3, "psi_value": 0.022, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 17.1, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 35.17, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 37.99, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 12.16, "psi_value": 0.068, "psi_value_source": 1, "thermal_bridge_type": "E11"}, {"length": 8.38, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 32, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 10.48, "psi_value": 0.094, "psi_value_source": 1, "thermal_bridge_type": "E13"}, {"length": 0.78, "psi_value": 0.115, "psi_value_source": 1, "thermal_bridge_type": "R1"}, {"length": 0.78, "psi_value": 0.113, "psi_value_source": 1, "thermal_bridge_type": "R2"}, {"length": 2.22, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "R3"}, {"length": 2.18, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 6.36, "psi_value": 0.094, "psi_value_source": 1, "thermal_bridge_type": "E13"}, {"length": 3.08, "psi_value": 0.18, "psi_value_source": 4, "thermal_bridge_type": "E16"}, {"length": 17.5, "psi_value": 0.019, "psi_value_source": 1, "thermal_bridge_type": "R6"}, {"length": 1.56, "psi_value": 0.068, "psi_value_source": 1, "thermal_bridge_type": "E11"}, {"length": 10.6, "psi_value": -0.091, "psi_value_source": 1, "thermal_bridge_type": "E17"}, {"length": 3.07, "psi_value": 0, "psi_value_source": 4, "thermal_bridge_type": "E17"}, {"length": 7.51, "psi_value": 0.32, "psi_value_source": 4, "thermal_bridge_type": "E20"}, {"length": 7.51, "psi_value": 0.0254, "psi_value_source": 1, "thermal_bridge_type": "E21"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.11, "floor_type": 2, "kappa_value": 160, "storey_height": 2.61, "heat_loss_area": 63.53, "total_floor_area": 63.53}, {"storey": 0, "u_value": 0.11, "floor_type": 3, "kappa_value": 20, "storey_height": 2.61, "heat_loss_area": 9.13, "total_floor_area": 63.53}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 74.65, "kappa_value_from_below": 9}, {"storey": 2, "u_value": 0, "floor_type": 3, "storey_height": 2.16, "heat_loss_area": 0, "total_floor_area": 52.69}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 597, "currency": "GBP"}, "co2_emissions_current": 0.5, "energy_rating_average": 60, "energy_rating_current": 85, "lighting_cost_current": {"value": 90, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 597, "currency": "GBP"}, "hot_water_cost_current": {"value": 318, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 309, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 90, "environmental_impact_rating": 98}], "user_interface_version": "3.1.57", "co2_emissions_potential": 0.3, "energy_rating_potential": 90, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 90, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 318, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 30, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 20, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 98, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "B", "co2_emissions_current_per_floor_area": 2.9} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-4e0af0241416.json b/tests/fixtures/epc_prediction/WA53GF/cert-4e0af0241416.json new file mode 100644 index 00000000..14728de3 --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-4e0af0241416.json @@ -0,0 +1 @@ +{"der": 3.42, "ter": 10.83, "dfee": 36.2, "dper": 35.74, "tfee": 36.7, "tper": 56.64, "uprn": 10097320582, "roofs": [{"description": {"value": "Average thermal transmittance 0.13 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2026-02-05 10:49:34", "living_area": 16.7, "orientation": 7, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 210, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.5, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "true", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 3, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 14, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.9 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-7fe118ed5582", "assessment_date": "2026-02-05", "assessment_type": "SAP", "completion_date": "2026-02-05", "inspection_date": "2026-02-05", "sap_ventilation": {"psv_count": 0, "wall_type": 1, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.89, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 4, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 108, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-02-05", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.43}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}, {"name": "Roof Light", "type": 5, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 40.44, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 19.66}, {"name": "Roof (2)", "u_value": 0.16, "roof_type": 2, "kappa_value": 9, "total_roof_area": 24.85}, {"name": "Roof (3)", "u_value": 0.12, "roof_type": 2, "kappa_value": 9, "total_roof_area": 13.45}, {"name": "Roof (4)", "u_value": 0.16, "roof_type": 2, "kappa_value": 9, "total_roof_area": 13.35}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 99.23, "is_curtain_walling": "false"}, {"name": "Walls (2)", "u_value": 0.23, "wall_type": 2, "kappa_value": 18, "total_wall_area": 15.83, "is_curtain_walling": "false"}, {"name": "Walls (3)", "u_value": 0.12, "wall_type": 2, "kappa_value": 18, "total_wall_area": 14.82, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 110, "total_wall_area": 47.04, "is_curtain_walling": "false"}, {"name": "Party Wall (2)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 15.83, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 193.57, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 7}, {"name": "Opening 2", "type": "Windows", "width": 5.25, "height": 1, "location": "Walls (1)", "orientation": 7}, {"name": "Opening", "type": "Roof Light", "pitch": 40, "width": 1.78, "height": 1, "location": "Roof (2)", "orientation": 7}, {"name": "Opening", "type": "Windows", "width": 1.54, "height": 1, "location": "Walls (1)", "orientation": 1}, {"name": "Opening", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "Opening", "type": "Windows", "width": 1.4, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "Opening", "type": "Roof Light", "pitch": 40, "width": 1.78, "height": 1, "location": "Roof (2)", "orientation": 3}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 6.84, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 5.82, "psi_value": 0.022, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 16.68, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 18.18, "psi_value": 0.076, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 24.39, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 6.73, "psi_value": 0.0419, "psi_value_source": 1, "thermal_bridge_type": "E11"}, {"length": 4.51, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 11.7, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 11.7, "psi_value": 0.0343, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 9.29, "psi_value": 0.06, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 9.29, "psi_value": 0, "psi_value_source": 4, "thermal_bridge_type": "P2"}, {"length": 4.51, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "P4"}, {"length": 5.74, "psi_value": 0.094, "psi_value_source": 1, "thermal_bridge_type": "E13"}, {"length": 4.81, "psi_value": 0.04, "psi_value_source": 1, "thermal_bridge_type": "P5"}, {"length": 8.72, "psi_value": 0.019, "psi_value_source": 1, "thermal_bridge_type": "R6"}, {"length": 2.72, "psi_value": 0.115, "psi_value_source": 1, "thermal_bridge_type": "R1"}, {"length": 2.72, "psi_value": 0.113, "psi_value_source": 1, "thermal_bridge_type": "R2"}, {"length": 5.56, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "R3"}, {"length": 1.27, "psi_value": 0.15, "psi_value_source": 4, "thermal_bridge_type": "E11"}, {"length": 3.85, "psi_value": 0.12, "psi_value_source": 4, "thermal_bridge_type": "R5"}, {"length": 2.94, "psi_value": 0.12, "psi_value_source": 4, "thermal_bridge_type": "R4"}, {"length": 3.69, "psi_value": 0.25, "psi_value_source": 4, "thermal_bridge_type": "E13"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.11, "floor_type": 2, "kappa_value": 160, "storey_height": 2.38, "heat_loss_area": 40.44, "total_floor_area": 40.44}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 40.44, "kappa_value_from_below": 9}, {"storey": 2, "u_value": 0, "floor_type": 3, "storey_height": 2.27, "heat_loss_area": 0, "total_floor_area": 26.99}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 291, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 85, "lighting_cost_current": {"value": 73, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 314, "currency": "GBP"}, "hot_water_cost_current": {"value": 300, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 50, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 343, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 93, "environmental_impact_rating": 99}], "user_interface_version": "2.26.16", "co2_emissions_potential": 0.1, "energy_rating_potential": 93, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 73, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 226, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 33, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.26.16", "energy_consumption_potential": 16, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 99, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-5b0beaa2d6f7.json b/tests/fixtures/epc_prediction/WA53GF/cert-5b0beaa2d6f7.json new file mode 100644 index 00000000..f7e9ecf7 --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-5b0beaa2d6f7.json @@ -0,0 +1 @@ +{"der": 3.55, "ter": 11.19, "dfee": 33.9, "dper": 37.31, "tfee": 35.8, "tper": 58.45, "uprn": 10097320612, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.12 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2026-04-09 11:03:18", "living_area": 16.12, "orientation": 2, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 180, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.39, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "false", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 9, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 5.0 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-4eff85e3da4b", "assessment_date": "2026-04-09", "assessment_type": "SAP", "completion_date": "2026-04-09", "inspection_date": "2026-04-09", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 3, "air_permeability": 4.98, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 2, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 2, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 82, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-04-09", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.43}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 40.82, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 40.81999969482422}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 91.61, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 110, "total_wall_area": 45.36, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 138.25, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Opening 2", "type": "Windows", "width": 4.67, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Opening 5", "type": "Windows", "width": 1.44, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Opening 6", "type": "Windows", "width": 1.4, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "French Doors", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 6}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 4.9, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 3.88, "psi_value": 0.022, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 13.06, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 18.07, "psi_value": 0.076, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 18.07, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 8.95, "psi_value": 0.0383, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 9.12, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 10.14, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 10.14, "psi_value": 0.0343, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 8.95, "psi_value": 0.06, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 8.95, "psi_value": 0, "psi_value_source": 4, "thermal_bridge_type": "P2"}, {"length": 8.95, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "P4"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.12, "floor_type": 2, "kappa_value": 160, "storey_height": 2.38, "heat_loss_area": 40.82, "total_floor_area": 40.82}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 40.82, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 174, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 85, "lighting_cost_current": {"value": 63, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 197, "currency": "GBP"}, "hot_water_cost_current": {"value": 272, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 48, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 323, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 95, "environmental_impact_rating": 100}], "user_interface_version": "3.1.55", "co2_emissions_potential": 0.0, "energy_rating_potential": 95, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 63, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 201, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 35, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.55", "energy_consumption_potential": 12, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 100, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-70557e2087a0.json b/tests/fixtures/epc_prediction/WA53GF/cert-70557e2087a0.json new file mode 100644 index 00000000..989e11b8 --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-70557e2087a0.json @@ -0,0 +1 @@ +{"der": 3.59, "ter": 11.2, "dfee": 40.2, "dper": 37.48, "tfee": 42.2, "tper": 58.55, "uprn": 10097320584, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 1, "created_at": "2026-01-29 11:10:55", "living_area": 18.4, "orientation": 8, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}, {"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 180, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.39, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "false", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 12, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 5.0 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-df278f9677fd", "assessment_date": "2026-01-29", "assessment_type": "SAP", "completion_date": "2026-01-29", "inspection_date": "2026-01-29", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 5, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 2, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 107, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-01-29", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.43}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 53.61, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 53.61000061035156}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 153.52, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 138.05, "is_curtain_walling": "false"}, {"name": "Internal Wall (2)", "u_value": 0, "wall_type": 5, "kappa_value": 75, "total_wall_area": 55.97, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Opening", "type": "Windows", "width": 9.51, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Opening", "type": "Windows", "width": 5.67, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "Opening", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Opening", "type": "Windows", "width": 0.72, "height": 1, "location": "Walls (1)", "orientation": 6}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 11.75, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 10.73, "psi_value": 0.022, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 30.9, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 30.22, "psi_value": 0.076, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 30.22, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 16.28, "psi_value": 0.0383, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 13.94, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 20.32, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.11, "floor_type": 2, "kappa_value": 160, "storey_height": 2.39, "heat_loss_area": 53.61, "total_floor_area": 53.61}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 53.61, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 314, "currency": "GBP"}, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 84, "lighting_cost_current": {"value": 74, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 337, "currency": "GBP"}, "hot_water_cost_current": {"value": 297, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 50, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 85, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 343, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 93, "environmental_impact_rating": 99}], "user_interface_version": "2.26.13", "co2_emissions_potential": 0.1, "energy_rating_potential": 93, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 74, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 224, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 35, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.26.13", "energy_consumption_potential": 17, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 99, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-8e82fef5b13d.json b/tests/fixtures/epc_prediction/WA53GF/cert-8e82fef5b13d.json new file mode 100644 index 00000000..b8f1c7b9 --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-8e82fef5b13d.json @@ -0,0 +1 @@ +{"der": 3.56, "ter": 11.17, "dfee": 33.8, "dper": 37.37, "tfee": 35.8, "tper": 58.34, "uprn": 10097320588, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.12 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2026-03-05 12:31:07", "living_area": 16.12, "orientation": 3, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 180, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.39, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "false", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 9, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 5.0 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-4f55ca6bebfc", "assessment_date": "2026-03-05", "assessment_type": "SAP", "completion_date": "2026-03-05", "inspection_date": "2026-03-05", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 3, "air_permeability": 4.99, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 2, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 82, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-03-05", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.43}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 40.82, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 40.81999969482422}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 91.61, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 110, "total_wall_area": 45.36, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 138.25, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "Opening 2", "type": "Windows", "width": 4.67, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "Opening 5", "type": "Windows", "width": 1.44, "height": 1, "location": "Walls (1)", "orientation": 1}, {"name": "Opening 6", "type": "Windows", "width": 1.4, "height": 1, "location": "Walls (1)", "orientation": 7}, {"name": "French Doors", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 7}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 4.9, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 3.88, "psi_value": 0.022, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 13.06, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 18.07, "psi_value": 0.076, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 18.07, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 8.95, "psi_value": 0.0383, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 9.12, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 10.14, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 10.14, "psi_value": 0.0343, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 8.95, "psi_value": 0.06, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 8.95, "psi_value": 0, "psi_value_source": 4, "thermal_bridge_type": "P2"}, {"length": 8.95, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "P4"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.12, "floor_type": 2, "kappa_value": 160, "storey_height": 2.38, "heat_loss_area": 40.82, "total_floor_area": 40.82}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 40.82, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 182, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 85, "lighting_cost_current": {"value": 65, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 205, "currency": "GBP"}, "hot_water_cost_current": {"value": 279, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 49, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 330, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 95, "environmental_impact_rating": 100}], "user_interface_version": "2.26.17", "co2_emissions_potential": 0.0, "energy_rating_potential": 95, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 65, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 207, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 35, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.26.17", "energy_consumption_potential": 12, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 100, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-a008344b0613.json b/tests/fixtures/epc_prediction/WA53GF/cert-a008344b0613.json new file mode 100644 index 00000000..713d810b --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-a008344b0613.json @@ -0,0 +1 @@ +{"der": 3.47, "ter": 10.69, "dfee": 33.7, "dper": 36.32, "tfee": 35.7, "tper": 55.72, "uprn": 10097320606, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.12 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2026-05-14 10:01:19", "living_area": 18.61, "orientation": 2, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 180, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.39, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "false", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 13, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 5.0 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-bd484747f387", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.95, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 4, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 91, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.41}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.4, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.37}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 44.73, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 45.849998474121094}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 98.82, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 110, "total_wall_area": 43.97, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 179.99, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Opening 2", "type": "Windows", "width": 5.96, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Opening 5", "type": "Windows", "width": 0.72, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Opening 6", "type": "Windows", "width": 4.11, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "French Doors", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 6}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 9.33, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 8.31, "psi_value": 0.023, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 17.42, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 19.82, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 17.41, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 8.95, "psi_value": 0.0383, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 10.23, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 12.83, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 10.14, "psi_value": 0.0343, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 8.33, "psi_value": 0.06, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 8.95, "psi_value": 0, "psi_value_source": 4, "thermal_bridge_type": "P2"}, {"length": 8.95, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "P4"}, {"length": 2.41, "psi_value": 0.32, "psi_value_source": 4, "thermal_bridge_type": "E20"}, {"length": 2.41, "psi_value": 0.025, "psi_value_source": 1, "thermal_bridge_type": "E21"}, {"length": 2.38, "psi_value": -0.091, "psi_value_source": 1, "thermal_bridge_type": "E17"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.12, "floor_type": 2, "kappa_value": 160, "storey_height": 2.38, "heat_loss_area": 44.73, "total_floor_area": 44.73}, {"storey": 0, "u_value": 0.12, "floor_type": 3, "kappa_value": 20, "storey_height": 2.38, "heat_loss_area": 1.12, "total_floor_area": 44.73}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 45.85, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 211, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 85, "lighting_cost_current": {"value": 60, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 233, "currency": "GBP"}, "hot_water_cost_current": {"value": 280, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 49, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 328, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 95, "environmental_impact_rating": 99}], "user_interface_version": "3.1.57", "co2_emissions_potential": 0.1, "energy_rating_potential": 95, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 60, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 209, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 34, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 13, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 99, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-b45e259b2219.json b/tests/fixtures/epc_prediction/WA53GF/cert-b45e259b2219.json new file mode 100644 index 00000000..b925da38 --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-b45e259b2219.json @@ -0,0 +1 @@ +{"der": 3.53, "ter": 11.06, "dfee": 33.3, "dper": 37.12, "tfee": 35.2, "tper": 57.75, "uprn": 10097320609, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.12 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2026-04-09 12:21:24", "living_area": 16.12, "orientation": 2, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 180, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.39, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "false", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 9, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 5.0 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-a434723a894a", "assessment_date": "2026-04-09", "assessment_type": "SAP", "completion_date": "2026-04-09", "inspection_date": "2026-04-09", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 3, "air_permeability": 4.95, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 2, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 82, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-04-09", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.43}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 40.82, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 40.81999969482422}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 91.61, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 110, "total_wall_area": 45.36, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 138.25, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Opening 2", "type": "Windows", "width": 4.67, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Opening 5", "type": "Windows", "width": 1.44, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Opening 6", "type": "Windows", "width": 1.4, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "French Doors", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 6}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 4.9, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 3.88, "psi_value": 0.022, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 13.06, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 18.07, "psi_value": 0.076, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 18.07, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 8.95, "psi_value": 0.0383, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 9.12, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 10.14, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 10.14, "psi_value": 0.0343, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 8.95, "psi_value": 0.06, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 8.95, "psi_value": 0, "psi_value_source": 4, "thermal_bridge_type": "P2"}, {"length": 8.95, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "P4"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.12, "floor_type": 2, "kappa_value": 160, "storey_height": 2.38, "heat_loss_area": 40.82, "total_floor_area": 40.82}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 40.82, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 174, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 86, "lighting_cost_current": {"value": 63, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 197, "currency": "GBP"}, "hot_water_cost_current": {"value": 272, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 48, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 323, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 95, "environmental_impact_rating": 100}], "user_interface_version": "3.1.55", "co2_emissions_potential": 0.0, "energy_rating_potential": 95, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 63, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 201, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 35, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.55", "energy_consumption_potential": 12, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 100, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-c4f92dc0fdfc.json b/tests/fixtures/epc_prediction/WA53GF/cert-c4f92dc0fdfc.json new file mode 100644 index 00000000..0cab90ae --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-c4f92dc0fdfc.json @@ -0,0 +1 @@ +{"der": 3.8, "ter": 12.69, "dfee": 43.1, "dper": 39.67, "tfee": 46.0, "tper": 66.57, "uprn": 10097320613, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 1, "created_at": "2026-06-11 10:42:31", "living_area": 12.81, "orientation": 8, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 210, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.55, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "false", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 3, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 13, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.7 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-07e24ae51248", "assessment_date": "2026-06-11", "assessment_type": "SAP", "completion_date": "2026-06-11", "inspection_date": "2026-06-11", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.73, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 2, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 106, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-06-11", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.41}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.4, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}, {"name": "Roof Window", "type": 5, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 44.82, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 60.85}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 167.44, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 168.14, "is_curtain_walling": "false"}, {"name": "Internal Wall (2)", "u_value": 0, "wall_type": 5, "kappa_value": 75, "total_wall_area": 23.61, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Opening 2", "type": "Windows", "width": 7.68, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Opening 5", "type": "Windows", "width": 0.72, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Opening 6", "type": "Windows", "width": 2.84, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "French Doors", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "Opening", "type": "Half Glazed Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 6}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 10.13, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 8.09, "psi_value": 0.022, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 18.3, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 33.09, "psi_value": 0.076, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 22.91, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 17.88, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 25.3, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 12.6, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 5.06, "psi_value": -0.088, "psi_value_source": 1, "thermal_bridge_type": "E17"}, {"length": 8.47, "psi_value": 0.32, "psi_value_source": 4, "thermal_bridge_type": "E20"}, {"length": 8.47, "psi_value": 0.0251, "psi_value_source": 1, "thermal_bridge_type": "E21"}, {"length": 15.2, "psi_value": 0.0383, "psi_value_source": 1, "thermal_bridge_type": "E10"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.11, "floor_type": 2, "kappa_value": 160, "storey_height": 2.66, "heat_loss_area": 44.82, "total_floor_area": 44.82}, {"storey": 1, "u_value": 0.11, "floor_type": 3, "kappa_value": 18, "storey_height": 2.4, "heat_loss_area": 16.03, "total_floor_area": 60.85, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 337, "currency": "GBP"}, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 83, "lighting_cost_current": {"value": 73, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 359, "currency": "GBP"}, "hot_water_cost_current": {"value": 292, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 49, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 84, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 336, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 92, "environmental_impact_rating": 99}], "user_interface_version": "3.1.57", "co2_emissions_potential": 0.1, "energy_rating_potential": 92, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 73, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 220, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 37, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 19, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 99, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.6} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-cbaf14e590bb.json b/tests/fixtures/epc_prediction/WA53GF/cert-cbaf14e590bb.json new file mode 100644 index 00000000..b384e6a3 --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-cbaf14e590bb.json @@ -0,0 +1 @@ +{"der": 3.46, "ter": 10.8, "dfee": 34.0, "dper": 36.28, "tfee": 36.2, "tper": 56.3, "uprn": 10097320607, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.12 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2026-06-02 08:48:21", "living_area": 18.61, "orientation": 2, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 180, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.39, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "false", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 13, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.8 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-e7b60eb616bb", "assessment_date": "2026-06-02", "assessment_type": "SAP", "completion_date": "2026-06-02", "inspection_date": "2026-06-02", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.81, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 91, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-06-02", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.41}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.4, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 44.73, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 45.849998474121094}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 98.82, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 110, "total_wall_area": 43.97, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 179.99, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Opening 2", "type": "Windows", "width": 5.96, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Opening 5", "type": "Windows", "width": 0.72, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Opening 6", "type": "Windows", "width": 4.11, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "French Doors", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 6}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 9.33, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 8.31, "psi_value": 0.023, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 17.42, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 19.82, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 17.41, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 8.95, "psi_value": 0.0383, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 10.23, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 12.83, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 10.14, "psi_value": 0.0343, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 8.33, "psi_value": 0.06, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 8.95, "psi_value": 0, "psi_value_source": 4, "thermal_bridge_type": "P2"}, {"length": 8.95, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "P4"}, {"length": 2.41, "psi_value": 0.32, "psi_value_source": 4, "thermal_bridge_type": "E20"}, {"length": 2.41, "psi_value": 0.025, "psi_value_source": 1, "thermal_bridge_type": "E21"}, {"length": 2.38, "psi_value": -0.091, "psi_value_source": 1, "thermal_bridge_type": "E17"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.12, "floor_type": 2, "kappa_value": 160, "storey_height": 2.38, "heat_loss_area": 44.73, "total_floor_area": 44.73}, {"storey": 0, "u_value": 0.12, "floor_type": 3, "kappa_value": 20, "storey_height": 2.38, "heat_loss_area": 1.12, "total_floor_area": 44.73}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 45.85, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 210, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 85, "lighting_cost_current": {"value": 60, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 233, "currency": "GBP"}, "hot_water_cost_current": {"value": 280, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 49, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 328, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 95, "environmental_impact_rating": 99}], "user_interface_version": "3.1.57", "co2_emissions_potential": 0.1, "energy_rating_potential": 95, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 60, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 209, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 34, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 13, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 99, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-d737f1f8d9b8.json b/tests/fixtures/epc_prediction/WA53GF/cert-d737f1f8d9b8.json new file mode 100644 index 00000000..c9df5f41 --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-d737f1f8d9b8.json @@ -0,0 +1 @@ +{"der": 3.31, "ter": 10.12, "dfee": 40.0, "dper": 34.45, "tfee": 42.6, "tper": 53.14, "uprn": 10097320600, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 1, "created_at": "2026-03-16 12:49:58", "living_area": 16.62, "orientation": 4, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}, {"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 250, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107698, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 2.1, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "false", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 3, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 16, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 5.0 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-28a8297ce440", "assessment_date": "2026-03-16", "assessment_type": "SAP", "completion_date": "2026-03-16", "inspection_date": "2026-03-16", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 3, "air_permeability": 4.98, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 2, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 136, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-03-16", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.43}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 74.11, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 69.11}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 169.36, "is_curtain_walling": "false"}, {"name": "Walls (2)", "u_value": 0.23, "wall_type": 2, "kappa_value": 60, "total_wall_area": 18.21, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 180.04, "is_curtain_walling": "false"}, {"name": "Internal Wall (2)", "u_value": 0, "wall_type": 5, "kappa_value": 75, "total_wall_area": 75.37, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "Opening 2", "type": "Windows", "width": 8.96, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "Opening 6", "type": "Windows", "width": 6.02, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "French Doors", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 8}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 12.14, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 10.68, "psi_value": 0.022, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 20.72, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 35.16, "psi_value": 0.076, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 28.21, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 15.6, "psi_value": 0.0383, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 19.56, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 29.32, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 8.16, "psi_value": -0.091, "psi_value_source": 1, "thermal_bridge_type": "E17"}, {"length": 6.35, "psi_value": 0.32, "psi_value_source": 4, "thermal_bridge_type": "E20"}, {"length": 6.35, "psi_value": 0.025, "psi_value_source": 1, "thermal_bridge_type": "E21"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.11, "floor_type": 2, "kappa_value": 160, "storey_height": 2.87, "heat_loss_area": 62.03, "total_floor_area": 62.03}, {"storey": 0, "u_value": 0.11, "floor_type": 3, "kappa_value": 20, "storey_height": 2.87, "heat_loss_area": 12.08, "total_floor_area": 62.03}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.42, "heat_loss_area": 0, "total_floor_area": 74.11, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 401, "currency": "GBP"}, "co2_emissions_current": 0.4, "energy_rating_average": 60, "energy_rating_current": 84, "lighting_cost_current": {"value": 88, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 425, "currency": "GBP"}, "hot_water_cost_current": {"value": 318, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 51, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 85, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 353, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 92, "environmental_impact_rating": 99}], "user_interface_version": "2.26.17", "co2_emissions_potential": 0.2, "energy_rating_potential": 92, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 88, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 243, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 32, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.26.17", "energy_consumption_potential": 18, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 99, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.1} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-db5ad28095a9.json b/tests/fixtures/epc_prediction/WA53GF/cert-db5ad28095a9.json new file mode 100644 index 00000000..3fea9110 --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-db5ad28095a9.json @@ -0,0 +1 @@ +{"der": 3.45, "ter": 10.51, "dfee": 35.7, "dper": 36.09, "tfee": 37.5, "tper": 54.77, "uprn": 10097320602, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2026-06-08 07:51:09", "living_area": 18.15, "orientation": 8, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 210, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.55, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "false", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 3, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 12, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 5.0 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-e801011abd2d", "assessment_date": "2026-06-08", "assessment_type": "SAP", "completion_date": "2026-06-08", "inspection_date": "2026-06-08", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.98, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 4, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 100, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-06-08", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.41}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.4, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 50.04, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 50.040000915527344}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 102.26, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 110, "total_wall_area": 45.51, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 126.7, "is_curtain_walling": "false"}, {"name": "Internal Wall (2)", "u_value": 0, "wall_type": 5, "kappa_value": 75, "total_wall_area": 53.34, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Opening 2", "type": "Windows", "width": 9.91, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Opening 5", "type": "Windows", "width": 6.08, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "Opening 6", "type": "Windows", "width": 0.72, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "French Doors", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 2}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 11.73, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 10.26, "psi_value": 0.022, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 30, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 20.13, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 20.13, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 7.19, "psi_value": 0.0383, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 12.95, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 10.16, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 10.16, "psi_value": 0.0343, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 8.96, "psi_value": 0.06, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 8.96, "psi_value": 0, "psi_value_source": 4, "thermal_bridge_type": "P2"}, {"length": 8.96, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "P4"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.11, "floor_type": 2, "kappa_value": 160, "storey_height": 2.39, "heat_loss_area": 50.04, "total_floor_area": 50.04}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 50.04, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 246, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 85, "lighting_cost_current": {"value": 66, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 269, "currency": "GBP"}, "hot_water_cost_current": {"value": 290, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 49, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 332, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 94, "environmental_impact_rating": 99}], "user_interface_version": "3.1.57", "co2_emissions_potential": 0.1, "energy_rating_potential": 94, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 66, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 218, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 34, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 15, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 99, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-e4670222a4be.json b/tests/fixtures/epc_prediction/WA53GF/cert-e4670222a4be.json new file mode 100644 index 00000000..47827550 --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-e4670222a4be.json @@ -0,0 +1 @@ +{"der": 3.44, "ter": 10.85, "dfee": 34.2, "dper": 36.06, "tfee": 36.8, "tper": 56.6, "uprn": 10097320605, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.12 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2026-01-15 16:52:30", "living_area": 18.61, "orientation": 2, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.29, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "false", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 3, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 13, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.9 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-2f8b33c4bbb8", "assessment_date": "2026-01-15", "assessment_type": "SAP", "completion_date": "2026-01-15", "inspection_date": "2026-01-15", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.89, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 2, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 91, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-01-15", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.43}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 44.73, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 45.849998474121094}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 98.82, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 110, "total_wall_area": 43.97, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 179.99, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Opening 2", "type": "Windows", "width": 5.96, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Opening 5", "type": "Windows", "width": 0.72, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Opening 6", "type": "Windows", "width": 4.11, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "French Doors", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 6}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 9.33, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 8.31, "psi_value": 0.023, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 17.42, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 19.82, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 17.41, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 8.95, "psi_value": 0.0383, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 10.23, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 12.83, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 10.14, "psi_value": 0.0343, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 8.33, "psi_value": 0.06, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 8.95, "psi_value": 0, "psi_value_source": 4, "thermal_bridge_type": "P2"}, {"length": 8.95, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "P4"}, {"length": 2.41, "psi_value": 0.32, "psi_value_source": 4, "thermal_bridge_type": "E20"}, {"length": 2.41, "psi_value": 0.025, "psi_value_source": 1, "thermal_bridge_type": "E21"}, {"length": 2.38, "psi_value": -0.091, "psi_value_source": 1, "thermal_bridge_type": "E17"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.12, "floor_type": 2, "kappa_value": 160, "storey_height": 2.38, "heat_loss_area": 44.73, "total_floor_area": 44.73}, {"storey": 0, "u_value": 0.12, "floor_type": 3, "kappa_value": 20, "storey_height": 2.38, "heat_loss_area": 1.12, "total_floor_area": 44.73}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 45.85, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 213, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 85, "lighting_cost_current": {"value": 62, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 236, "currency": "GBP"}, "hot_water_cost_current": {"value": 286, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 50, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 335, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 95, "environmental_impact_rating": 99}], "user_interface_version": "2.25.1", "co2_emissions_potential": 0.0, "energy_rating_potential": 95, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 62, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 213, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 34, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.25.1", "energy_consumption_potential": 13, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 99, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-ece39f55e78d.json b/tests/fixtures/epc_prediction/WA53GF/cert-ece39f55e78d.json new file mode 100644 index 00000000..bbc0a816 --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-ece39f55e78d.json @@ -0,0 +1 @@ +{"der": 3.37, "ter": 10.79, "dfee": 35.9, "dper": 35.23, "tfee": 36.5, "tper": 56.4, "uprn": 10097320597, "roofs": [{"description": {"value": "Average thermal transmittance 0.13 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.11 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2025-12-10 14:51:32", "living_area": 16.7, "orientation": 3, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 210, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.5, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "true", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 3, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 14, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.9 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-4362761190e7", "assessment_date": "2025-12-10", "assessment_type": "SAP", "completion_date": "2025-12-10", "inspection_date": "2025-12-10", "sap_ventilation": {"psv_count": 0, "wall_type": 1, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.89, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 108, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2025-12-10", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.43}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}, {"name": "Roof Light", "type": 5, "u_value": 1.3, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 40.44, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 19.66}, {"name": "Roof (2)", "u_value": 0.16, "roof_type": 2, "kappa_value": 9, "total_roof_area": 24.85}, {"name": "Roof (3)", "u_value": 0.12, "roof_type": 2, "kappa_value": 9, "total_roof_area": 13.45}, {"name": "Roof (4)", "u_value": 0.16, "roof_type": 2, "kappa_value": 9, "total_roof_area": 13.35}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 99.23, "is_curtain_walling": "false"}, {"name": "Walls (2)", "u_value": 0.23, "wall_type": 2, "kappa_value": 18, "total_wall_area": 15.83, "is_curtain_walling": "false"}, {"name": "Walls (3)", "u_value": 0.12, "wall_type": 2, "kappa_value": 18, "total_wall_area": 14.82, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 110, "total_wall_area": 47.04, "is_curtain_walling": "false"}, {"name": "Party Wall (2)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 15.83, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 193.57, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "Opening 2", "type": "Windows", "width": 5.25, "height": 1, "location": "Walls (1)", "orientation": 3}, {"name": "Opening", "type": "Roof Light", "pitch": 40, "width": 1.78, "height": 1, "location": "Roof (2)", "orientation": 3}, {"name": "Opening", "type": "Windows", "width": 1.54, "height": 1, "location": "Walls (1)", "orientation": 5}, {"name": "Opening", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 7}, {"name": "Opening", "type": "Windows", "width": 1.4, "height": 1, "location": "Walls (1)", "orientation": 7}, {"name": "Opening", "type": "Roof Light", "pitch": 40, "width": 1.78, "height": 1, "location": "Roof (2)", "orientation": 7}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 6.84, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 5.82, "psi_value": 0.022, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 16.68, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 18.18, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 24.39, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 6.73, "psi_value": 0.0419, "psi_value_source": 1, "thermal_bridge_type": "E11"}, {"length": 4.51, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 11.7, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 11.7, "psi_value": 0.0343, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 9.29, "psi_value": 0.06, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 9.29, "psi_value": 0, "psi_value_source": 4, "thermal_bridge_type": "P2"}, {"length": 4.51, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "P4"}, {"length": 5.74, "psi_value": 0.094, "psi_value_source": 1, "thermal_bridge_type": "E13"}, {"length": 4.81, "psi_value": 0.04, "psi_value_source": 1, "thermal_bridge_type": "P5"}, {"length": 8.72, "psi_value": 0.019, "psi_value_source": 1, "thermal_bridge_type": "R6"}, {"length": 2.72, "psi_value": 0.115, "psi_value_source": 1, "thermal_bridge_type": "R1"}, {"length": 2.72, "psi_value": 0.113, "psi_value_source": 1, "thermal_bridge_type": "R2"}, {"length": 5.56, "psi_value": 0.041, "psi_value_source": 1, "thermal_bridge_type": "R3"}, {"length": 1.27, "psi_value": 0.15, "psi_value_source": 4, "thermal_bridge_type": "E11"}, {"length": 3.85, "psi_value": 0.12, "psi_value_source": 4, "thermal_bridge_type": "R5"}, {"length": 2.94, "psi_value": 0.12, "psi_value_source": 4, "thermal_bridge_type": "R4"}, {"length": 3.69, "psi_value": 0.25, "psi_value_source": 4, "thermal_bridge_type": "E13"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.11, "floor_type": 2, "kappa_value": 160, "storey_height": 2.38, "heat_loss_area": 40.44, "total_floor_area": 40.44}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 40.44, "kappa_value_from_below": 9}, {"storey": 2, "u_value": 0, "floor_type": 3, "storey_height": 2.27, "heat_loss_area": 0, "total_floor_area": 26.99}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 282, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 85, "lighting_cost_current": {"value": 73, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 305, "currency": "GBP"}, "hot_water_cost_current": {"value": 300, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 50, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 86, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 343, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 93, "environmental_impact_rating": 99}], "user_interface_version": "2.25.1", "co2_emissions_potential": 0.1, "energy_rating_potential": 93, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 73, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 226, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 33, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "2.25.1", "energy_consumption_potential": 15, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 99, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-fb608eeb2742.json b/tests/fixtures/epc_prediction/WA53GF/cert-fb608eeb2742.json new file mode 100644 index 00000000..df069514 --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-fb608eeb2742.json @@ -0,0 +1 @@ +{"der": 3.45, "ter": 10.85, "dfee": 34.2, "dper": 36.16, "tfee": 36.5, "tper": 56.61, "uprn": 10097320616, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.12 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2026-04-29 15:17:31", "living_area": 18.61, "orientation": 8, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 180, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.38, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "false", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 3, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 13, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.7 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-1e3b41e11310", "assessment_date": "2026-04-29", "assessment_type": "SAP", "completion_date": "2026-04-29", "inspection_date": "2026-04-29", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 4, "air_permeability": 4.67, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 2, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 3, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 91, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-04-29", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.41}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.4, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.37}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 44.73, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 45.849998474121094}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 98.82, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 110, "total_wall_area": 43.97, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 179.99, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Opening 2", "type": "Windows", "width": 5.96, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Opening 5", "type": "Windows", "width": 0.72, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "Opening 6", "type": "Windows", "width": 4.11, "height": 1, "location": "Walls (1)", "orientation": 4}, {"name": "French Doors", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 4}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 9.33, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 8.31, "psi_value": 0.023, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 17.42, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 19.82, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 17.41, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 8.95, "psi_value": 0.0383, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 10.23, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 12.83, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 10.14, "psi_value": 0.0343, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 8.33, "psi_value": 0.06, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 8.95, "psi_value": 0, "psi_value_source": 4, "thermal_bridge_type": "P2"}, {"length": 8.95, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "P4"}, {"length": 2.41, "psi_value": 0.32, "psi_value_source": 4, "thermal_bridge_type": "E20"}, {"length": 2.41, "psi_value": 0.025, "psi_value_source": 1, "thermal_bridge_type": "E21"}, {"length": 2.38, "psi_value": -0.091, "psi_value_source": 1, "thermal_bridge_type": "E17"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.12, "floor_type": 2, "kappa_value": 160, "storey_height": 2.38, "heat_loss_area": 44.73, "total_floor_area": 44.73}, {"storey": 0, "u_value": 0.12, "floor_type": 3, "kappa_value": 20, "storey_height": 2.38, "heat_loss_area": 1.12, "total_floor_area": 44.73}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 45.85, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 209, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 85, "lighting_cost_current": {"value": 60, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 231, "currency": "GBP"}, "hot_water_cost_current": {"value": 280, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 49, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 328, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 95, "environmental_impact_rating": 99}], "user_interface_version": "3.1.57", "co2_emissions_potential": 0.1, "energy_rating_potential": 95, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 60, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 209, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 34, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 13, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 99, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.2} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/WA53GF/cert-fde64f618453.json b/tests/fixtures/epc_prediction/WA53GF/cert-fde64f618453.json new file mode 100644 index 00000000..bfb4ec95 --- /dev/null +++ b/tests/fixtures/epc_prediction/WA53GF/cert-fde64f618453.json @@ -0,0 +1 @@ +{"der": 3.53, "ter": 10.94, "dfee": 32.7, "dper": 37.12, "tfee": 34.6, "tper": 57.11, "uprn": 10097320610, "roofs": [{"description": {"value": "Average thermal transmittance 0.09 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "walls": [{"description": {"value": "Average thermal transmittance 0.19 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "floors": [{"description": {"value": "Average thermal transmittance 0.12 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "status": "entered", "tenure": "ND", "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "WA5 3GF", "data_type": 2, "hot_water": {"description": {"value": "From main system", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 2, "created_at": "2026-04-09 12:19:24", "living_area": 16.12, "orientation": 2, "region_code": 19, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_power": 9.3, "shower_wwhrs": 1, "shower_flow_rate": 6, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 901, "hot_water_store_size": 180, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "heat_emitter_type": 1, "main_heating_number": 1, "main_heating_control": 2207, "main_heating_category": 4, "main_heating_fraction": 1, "central_heating_pump_age": 2, "main_heating_data_source": 1, "main_heating_index_number": 107682, "heat_pump_heat_distribution": 45, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false", "is_central_heating_pump_in_heated_space": "true"}], "has_hot_water_cylinder": "true", "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.39, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "primary_pipework_insulation": 4, "is_heat_pump_installed_to_mis": "false", "is_hot_water_separately_timed": "true", "hot_water_store_heat_loss_source": 2, "hot_water_store_heat_transfer_area": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Air source heat pump, radiators, electric", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 10, "lighting_outlets": 9, "lighting_efficacy": 75}]], "terrain_type": 2, "air_tightness": {"description": {"value": "Air permeability [AP50] = 4.9 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Semi-detached house", "language_code": 1, "property_type": 0, "address_line_1": "addr-aa3ea223b53c", "assessment_date": "2026-04-09", "assessment_type": "SAP", "completion_date": "2026-04-09", "inspection_date": "2026-04-09", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "wet_rooms_count": 3, "air_permeability": 4.94, "open_flues_count": 0, "ventilation_type": 6, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 0, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 4, "blocked_chimneys_count": 0, "kitchen_duct_fans_count": 0, "kitchen_room_fans_count": 0, "kitchen_wall_fans_count": 1, "flueless_gas_fires_count": 0, "mechanical_vent_duct_type": 2, "non_kitchen_duct_fans_count": 0, "non_kitchen_room_fans_count": 0, "non_kitchen_wall_fans_count": 2, "mechanical_ventilation_data_source": 1, "mechanical_vent_system_index_number": 500776, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "total_floor_area": 82, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-04-09", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Door", "type": 1, "u_value": 1, "data_source": 2, "glazing_type": 1, "isargonfilled": "false"}, {"name": "Windows", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.43}, {"name": "Half Glazed Door", "type": 2, "u_value": 1.1, "data_source": 4, "glazing_type": 7, "isargonfilled": "false"}, {"name": "French Door", "type": 4, "u_value": 1.3, "data_source": 4, "frame_factor": 1.0, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.38}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 40.82, "lzc_energy_sources": [9], "sap_building_parts": [{"sap_roofs": [{"name": "Roof (1)", "u_value": 0.09, "roof_type": 2, "kappa_value": 9, "total_roof_area": 40.81999969482422}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.19, "wall_type": 2, "kappa_value": 60, "total_wall_area": 91.61, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 110, "total_wall_area": 45.36, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 9, "total_wall_area": 138.25, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening 1", "type": "Door", "width": 2.14, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Opening 2", "type": "Windows", "width": 4.67, "height": 1, "location": "Walls (1)", "orientation": 2}, {"name": "Opening 5", "type": "Windows", "width": 1.44, "height": 1, "location": "Walls (1)", "orientation": 8}, {"name": "Opening 6", "type": "Windows", "width": 1.4, "height": 1, "location": "Walls (1)", "orientation": 6}, {"name": "French Doors", "type": "French Door", "width": 3.8, "height": 1, "location": "Walls (1)", "orientation": 6}], "construction_year": 2022, "sap_thermal_bridges": {"thermal_bridges": [{"length": 4.9, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 3.88, "psi_value": 0.022, "psi_value_source": 1, "thermal_bridge_type": "E3"}, {"length": 13.06, "psi_value": 0.0296, "psi_value_source": 1, "thermal_bridge_type": "E4"}, {"length": 18.07, "psi_value": 0.076, "psi_value_source": 1, "thermal_bridge_type": "E5"}, {"length": 18.07, "psi_value": 0.002, "psi_value_source": 1, "thermal_bridge_type": "E6"}, {"length": 8.95, "psi_value": 0.0383, "psi_value_source": 1, "thermal_bridge_type": "E10"}, {"length": 9.12, "psi_value": 0.057, "psi_value_source": 1, "thermal_bridge_type": "E12"}, {"length": 10.14, "psi_value": 0.047, "psi_value_source": 1, "thermal_bridge_type": "E16"}, {"length": 8.4, "psi_value": 0.1, "psi_value_source": 4, "thermal_bridge_type": "E4"}, {"length": 1.81, "psi_value": 0.064, "psi_value_source": 1, "thermal_bridge_type": "E2"}, {"length": 10.14, "psi_value": 0.0343, "psi_value_source": 1, "thermal_bridge_type": "E18"}, {"length": 8.95, "psi_value": 0.06, "psi_value_source": 1, "thermal_bridge_type": "P1"}, {"length": 8.95, "psi_value": 0, "psi_value_source": 4, "thermal_bridge_type": "P2"}, {"length": 8.95, "psi_value": 0.033, "psi_value_source": 1, "thermal_bridge_type": "P4"}], "thermal_bridge_code": 5}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0.12, "floor_type": 2, "kappa_value": 160, "storey_height": 2.38, "heat_loss_area": 40.82, "total_floor_area": 40.82}, {"storey": 1, "u_value": 0, "floor_type": 3, "kappa_value": 18, "storey_height": 2.69, "heat_loss_area": 0, "total_floor_area": 40.82, "kappa_value_from_below": 9}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 174, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 86, "lighting_cost_current": {"value": 63, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Time and temperature zone control", "language": "1"}, "energy_efficiency_rating": 5, "environmental_efficiency_rating": 5}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 197, "currency": "GBP"}, "hot_water_cost_current": {"value": 272, "currency": "GBP"}, "suggested_improvements": [{"sequence": 1, "typical_saving": {"value": 48, "currency": "GBP"}, "indicative_cost": "\u00a34,000 - \u00a37,000", "improvement_type": "N", "improvement_details": {"improvement_number": 19}, "improvement_category": 5, "energy_performance_rating": 87, "environmental_impact_rating": 97}, {"sequence": 2, "typical_saving": {"value": 323, "currency": "GBP"}, "indicative_cost": "\u00a38,000 - \u00a310,000", "improvement_type": "U", "improvement_details": {"improvement_number": 34}, "improvement_category": 5, "energy_performance_rating": 95, "environmental_impact_rating": 100}], "user_interface_version": "3.1.55", "co2_emissions_potential": 0.0, "energy_rating_potential": 95, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 63, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 201, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 35, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "true", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.55", "energy_consumption_potential": 12, "environmental_impact_current": 97, "current_energy_efficiency_band": "B", "environmental_impact_potential": 100, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "A", "co2_emissions_current_per_floor_area": 3.3} \ No newline at end of file diff --git a/tests/fixtures/epc_prediction/_index.json b/tests/fixtures/epc_prediction/_index.json new file mode 100644 index 00000000..c868f242 --- /dev/null +++ b/tests/fixtures/epc_prediction/_index.json @@ -0,0 +1,312 @@ +{ + "CV15QJ": [ + "cert-f9dee3ea91ac", + "cert-840682d5f191", + "cert-73d50930d0ac", + "cert-526df35482d7", + "cert-fc5fe3d2a055", + "cert-8105f351163f", + "cert-346dc8ab15a0", + "cert-1b4b3d26f79c" + ], + "RM143YU": [ + "cert-13b0e4c085a1", + "cert-8c6945676927", + "cert-73504c02d38b", + "cert-46231289c9c8", + "cert-9124910a43bd", + "cert-20ba6a050f47", + "cert-e0092f52f8d0", + "cert-86b54caf4ff4", + "cert-06dd4ab9474a", + "cert-10c9fc509969", + "cert-ef7108c2ef93", + "cert-720d5771bfd7", + "cert-d32b112ed162", + "cert-854f49ab70db", + "cert-6bde4cfcf10f", + "cert-7bc8560fb4f5", + "cert-599e37dc5fcc", + "cert-fc5e9d928216", + "cert-c93fcb1d9cf7", + "cert-6f28f47a317d", + "cert-728a620566a1", + "cert-b9251277c24d" + ], + "DN327BH": [ + "cert-b2f03024d9a1", + "cert-0c3791e9d4ff", + "cert-836df153600a", + "cert-0402dc341842", + "cert-c48e73075389" + ], + "GU12ND": [ + "cert-4a32c3482c0b", + "cert-c6cdd21e7426", + "cert-f91c1d926509", + "cert-d6940361cc43", + "cert-cd700fbba191", + "cert-15f76098044f", + "cert-746d1470b732", + "cert-5ade569b7992", + "cert-4144a0a59432", + "cert-49c1b9f2665b", + "cert-30e6ad17ace1", + "cert-b582d4837933", + "cert-aea21e4564cc", + "cert-596f6e03bf26", + "cert-2f7832c103ac", + "cert-3fcddd98b25e", + "cert-440a9e06b4ff", + "cert-797f40114a59" + ], + "EN12PU": [ + "cert-040368bb642d", + "cert-0f29be810bed", + "cert-0ad8443821d5", + "cert-20ebf6ff4e97", + "cert-fe6faf36381f", + "cert-08627d0739e2", + "cert-0660c5366da9", + "cert-1bbc01d15d4c", + "cert-19b2aea93797", + "cert-60e676acb734" + ], + "RG13NS": [ + "cert-fe6e513ab355", + "cert-a97a2552889a", + "cert-89bd9a976d69", + "cert-275720156db0", + "cert-83fa2282454e", + "cert-fc680ac36a75", + "cert-7e14aa2076f0", + "cert-61d34287b460", + "cert-57f30bfdbe7b", + "cert-2f49ca73f5bd", + "cert-e5d8f7fa5244", + "cert-9cff43efea45", + "cert-8978dcc72852", + "cert-e65f100dfd90", + "cert-68447442fa47", + "cert-012fa6bcc804", + "cert-3711c927db34", + "cert-ec11e653a063", + "cert-e54b3a80a018", + "cert-b3dda6bae036", + "cert-4e21bc8153e8", + "cert-e67ca51531ad", + "cert-30dc65e9be56", + "cert-219c647f317c", + "cert-4b7df9c37060" + ], + "E153FA": [ + "cert-486444742055", + "cert-acbdc6227e39", + "cert-8ef979bd232d", + "cert-76b6fa0e95e6", + "cert-b2ea6b08493d", + "cert-a22930e3cac6", + "cert-2d0b11c96e70", + "cert-57892e818162", + "cert-05dd23b424ce", + "cert-a511bb525a56", + "cert-c45ffd28e947", + "cert-2dc2ae2de152", + "cert-be62fb9fa85e", + "cert-8302c7e8ef17", + "cert-63aab4ceadcb", + "cert-b1ffcc93cf6f", + "cert-21c48aaf77bc", + "cert-0a2ed0dc5163", + "cert-0348cfa1f7fb", + "cert-dacaed6475e2", + "cert-aecc7219ecf0", + "cert-638aadec0643", + "cert-347869ac4a1a", + "cert-54bfdb4d1c09", + "cert-8be823987a0d" + ], + "CV78UG": [ + "cert-0246fdfa9718", + "cert-cd99c8b93a27", + "cert-e8197b1db767", + "cert-89894e90fc9c", + "cert-aef738e4b1c0", + "cert-91dd248e55ee", + "cert-7d9beea6555e", + "cert-94454d5d782e", + "cert-ba51394914cf", + "cert-9b4787ad7813", + "cert-9c0b5437b98b", + "cert-2e6f5943059a", + "cert-924d78d64f06" + ], + "LE113PX": [ + "cert-a926697da348", + "cert-1d3b9feac3b4", + "cert-2b41b08a0fc6", + "cert-69291a9f2084", + "cert-3ac4ad7fc9b2", + "cert-038030a6cec7", + "cert-64ceff1522b9", + "cert-ba628e4f9cbf", + "cert-2c24bd4c5687", + "cert-88d62becedd7", + "cert-ae072d6b7841", + "cert-5b9ac305ad46", + "cert-8d827d3ff7df", + "cert-805962966496", + "cert-0d3fbf862032", + "cert-89b00a658503", + "cert-43357661bc7f" + ], + "PE71NT": [ + "cert-508b303ae8b9", + "cert-224f1ce8cb64", + "cert-460c2d58495c", + "cert-5def81fe86c4", + "cert-a84d17d26bad", + "cert-c86e5701dc90", + "cert-b45627ecc223", + "cert-99a1e6622b01", + "cert-6869127bdda3", + "cert-21b634bc4b59", + "cert-97d0dabaac20", + "cert-d2364db0dfd0", + "cert-1d45251c4fcc", + "cert-8a3078720253", + "cert-8b40d6410b80", + "cert-8c68ea944ce9", + "cert-b7c9160cefd9", + "cert-54bbc1fadbf7", + "cert-26619d8e7f8e", + "cert-91fd87067727", + "cert-930bb8ec03a9", + "cert-59bcc003ab93", + "cert-927d8fb46c85", + "cert-215907dd8cab", + "cert-8abc9d149c76" + ], + "CF481ND": [ + "cert-96d09ac53f57", + "cert-8a1b88d2a80a", + "cert-0dd25677d889", + "cert-5b3816460805", + "cert-e54dae311758", + "cert-6e6d1776f8b7", + "cert-7791c2c9073d", + "cert-3077aedcbe8b", + "cert-6030fde8e888", + "cert-5aad1cfe207c", + "cert-f5de74d7fffc", + "cert-ca16b6a09f55" + ], + "PL36BL": [ + "cert-89e434c273da", + "cert-4c92c05a7872", + "cert-c3b3c1b65da2", + "cert-85ef6b6fb9d7", + "cert-b84d67cbebb2", + "cert-0b44fb2b512e", + "cert-a59856f2585e", + "cert-9ba483c38571", + "cert-0073289bd539", + "cert-886e9a131657", + "cert-2cfdb30266e5", + "cert-be94d604163d", + "cert-d143c59c1539", + "cert-55420d5fff65", + "cert-57002765c222", + "cert-427bab8c0ce3", + "cert-b7159c96c56a", + "cert-dc4bd2310e04", + "cert-e5caf6a54908", + "cert-7748ba172c7d", + "cert-39d5c1b47fad", + "cert-7857da83454e", + "cert-13ca8619948b", + "cert-407fc878c72c", + "cert-d2d80ec7d995" + ], + "BD24JG": [ + "cert-15c0ce8ea563", + "cert-496b8c226d26", + "cert-f481cd1abc1f", + "cert-6439eb9f1504", + "cert-8d1b1e15063c", + "cert-d1396ff56fec", + "cert-208c5dfbaee2", + "cert-4cce4c3fb33b", + "cert-eed1ed76757a", + "cert-cc1c722822ba", + "cert-eb71d39605ae", + "cert-5e427854bd6d", + "cert-dcb2c6ff3317", + "cert-f089b44ae169", + "cert-e648d6164f10", + "cert-5f4d37dacdf8", + "cert-7e61d706db57", + "cert-e8c34b2323e0", + "cert-d7e3196e1a0c", + "cert-01f1488000e8", + "cert-75aa70bdd22a", + "cert-f3aae3d2c3c9", + "cert-f326c2524ab3", + "cert-f52356b57b37", + "cert-1ef220911b4b" + ], + "W104HL": [ + "cert-80729c033186", + "cert-784f6ac96b11", + "cert-da229c5051b4", + "cert-82f19e8a1d12", + "cert-7f13ce574386", + "cert-fdb7d8dcc402", + "cert-b180ada05905", + "cert-c99dbb94e07d", + "cert-319c92383e50", + "cert-12e3aec4db53", + "cert-f8f650d8a598", + "cert-c1c558b665e4", + "cert-62b545a4a1aa", + "cert-b58783a23f96", + "cert-7f945fa04966", + "cert-db58af092f54", + "cert-4783505481c9", + "cert-7cb4490ee346", + "cert-e2c4a36966b6", + "cert-006fcca19e8e", + "cert-334412a166a0", + "cert-f96b9b6f471b", + "cert-030dfe4e4da3", + "cert-17063430c61f", + "cert-840b1ec0da75" + ], + "WA53GF": [ + "cert-c4f92dc0fdfc", + "cert-db5ad28095a9", + "cert-cbaf14e590bb", + "cert-43145c5e02b8", + "cert-3a7004baf858", + "cert-a008344b0613", + "cert-fb608eeb2742", + "cert-2cff3dfaefbd", + "cert-b45e259b2219", + "cert-fde64f618453", + "cert-0b3aada57a2b", + "cert-5b0beaa2d6f7", + "cert-35933f8fabe9", + "cert-18249db041df", + "cert-d737f1f8d9b8", + "cert-0bcbc7bf951d", + "cert-1940f1e78ab9", + "cert-8e82fef5b13d", + "cert-10e5f1e68812", + "cert-4e0af0241416", + "cert-70557e2087a0", + "cert-e4670222a4be", + "cert-ece39f55e78d", + "cert-3619d642221c", + "cert-030ab0b24dfb" + ] +} \ No newline at end of file diff --git a/tests/harness/test_epc_prediction_corpus.py b/tests/harness/test_epc_prediction_corpus.py new file mode 100644 index 00000000..543f29af --- /dev/null +++ b/tests/harness/test_epc_prediction_corpus.py @@ -0,0 +1,71 @@ +"""Behaviour of the EPC Prediction corpus anonymiser (ADR-0030): de-identify a +cert payload for the committed fixture without disturbing the component data the +scorer reads. Pure dict-in / dict-out. +""" + +from harness.epc_prediction_corpus import anonymise_payload + + +def _payload() -> dict[str, object]: + return { + "address_line_1": "12 Acacia Avenue", + "address_line_2": "Hyde Park", + "post_town": "LEEDS", + "certificate_number": "1234-5678-9012-3456-7890", + "postcode": "LS6 1AA", + "sap_version": 10.2, + "energy_rating_current": 72, + "sap_building_parts": [{"wall_construction": 1}], + } + + +def test_hashes_identifiers_and_blanks_address_lines() -> None: + # Arrange + raw = _payload() + + # Act + anon = anonymise_payload(raw) + + # Assert — the street address + cert number are replaced by opaque tokens, + # the secondary address lines blanked. + assert anon["address_line_1"] != "12 Acacia Avenue" + assert str(anon["address_line_1"]).startswith("addr-") + assert str(anon["certificate_number"]).startswith("cert-") + assert anon["address_line_2"] == "" + assert anon["post_town"] == "" + + +def test_keeps_postcode_and_component_fields() -> None: + # Arrange + raw = _payload() + + # Act + anon = anonymise_payload(raw) + + # Assert — postcode (coarse, the cohort key) and all component / lodged data + # survive untouched. + assert anon["postcode"] == "LS6 1AA" + assert anon["sap_version"] == 10.2 + assert anon["energy_rating_current"] == 72 + assert anon["sap_building_parts"] == [{"wall_construction": 1}] + + +def test_address_hash_is_stable_for_dedup() -> None: + # Arrange — the same address re-lodged with trivial whitespace/case noise. + a = anonymise_payload({"address_line_1": "Flat 3"}) + b = anonymise_payload({"address_line_1": " FLAT 3 "}) + + # Act / Assert — both normalise to the same token, so the dedup-by-address + # leave-one-out still collapses re-lodgements in the fixture. + assert a["address_line_1"] == b["address_line_1"] + + +def test_does_not_mutate_the_input() -> None: + # Arrange + raw = _payload() + + # Act + anonymise_payload(raw) + + # Assert — the caller's payload is left intact. + assert raw["address_line_1"] == "12 Acacia Avenue"