from __future__ import annotations from dataclasses import dataclass from datetime import date from datatypes.epc.domain.epc_property_data import EpcPropertyData @dataclass class SiteNotes: """A Domna survey of a single Property (CONTEXT.md: Site Notes). Committed by the domain to being full-coverage — it carries every EPC field the modelling pipeline needs, expressed as an `EpcPropertyData`. When present (and not older than the public EPC) it is the complete source of truth for the Property; the public EPC is then irrelevant (ADR-0001). """ surveyed_at: date epc: EpcPropertyData def to_epc_property_data(self) -> EpcPropertyData: return self.epc