diff --git a/datatypes/epc/domain/mapper.py b/datatypes/epc/domain/mapper.py index ee86817a..efe3a7fd 100644 --- a/datatypes/epc/domain/mapper.py +++ b/datatypes/epc/domain/mapper.py @@ -2311,11 +2311,17 @@ def _api_party_wall_construction_int(value: Union[int, str, None]) -> Optional[i # cascade's `u_floor` looks for via the "Suspended"/"Solid" prefix # (see Slice 88 — `heat_transmission.py` consumes `bp.floor_ # construction_type` to choose the suspended-branch BS EN ISO 13370 -# formula). Only the values observed across the 10 golden fixtures -# (1, 2) are mapped; unrecognised codes fall through to None. +# formula). Code 4 observed on cert 0712 (basement smoke-test +# fixture): paired with `floor_insulation=0` and global floor +# descriptions "Solid" + "Solid, no insulation (assumed)" — semantically +# a solid floor with the no-insulation variant. The cascade only +# distinguishes "Suspended" vs everything-else (the solid-branch is +# the default fall-through), so the additional code maps to the same +# "Solid" string as code 1. _API_FLOOR_CONSTRUCTION_TO_STR: Dict[int, str] = { 1: "Solid", 2: "Suspended timber", + 4: "Solid", }