save types

This commit is contained in:
Jun-te Kim 2025-06-02 13:07:58 +00:00
parent c7c9f47ac6
commit 947dcd1364
2 changed files with 69 additions and 3 deletions

View file

@ -73,7 +73,7 @@ class ConditionReport(SiteNotesExtractor):
def setup(self):
self.get_property_reference_code()
def property_reference_code(self):
def get_property_reference_code(self):
print("hello world")

View file

@ -1,14 +1,71 @@
from etl.transform.preSiteNoteTypes import BaseModel
from etl.transform.preSiteNoteTypes import BaseModel, Optional
class ConditionReport(BaseModel):
property_reference_code: str
class HeatingSystemGeneralCondition(BaseModel):
is_the_heating_system_in_working_order: bool
does_the_occupant_have_a_smart_meter: bool
are_there_any_smart_monitoring_devices: bool
are_the_gas_and_electricity_meters_accessible: bool
class Heating(BaseModel):
as_define_by: str
fuel: str
class MainHeating1(BaseModel):
heatingDetail: Heating
class SecondaryHeating(BaseModel):
is_there_a_secondary_heating: bool
heatingDetail: Heating
class HeatingByRoom(BaseModel):
rooms_heated_by_main_system_1: str
rooms_heated_by_secondary_heating: str
partially_heated_rooms: str
unheated_rooms: str
which_other_rooms: Optional[str]
class Renewable(BaseModel):
is_there_any_renewable_energy_system_in_place: bool
suitable_roof_orientation_for_solar_pv_water: str
class HeatingSystem(BaseModel):
general_condition: HeatingSystemGeneralCondition
main_heating_1: MainHeating1
secondary_heating: SecondaryHeating
heating_by_room: HeatingByRoom
renewable: Renewable
class Occupants(BaseModel):
total_number_of_occupants: int
number_of_adult_occupants: int
number_of_child_occupants: int
are_there_vulnerable_people: bool
anyone_with_disability: bool
name_of_occupant: str
status_of_occupant: str
landlord_has_written_confirmation_that_the_tenent_agrees_to_the_assessment_been_supplied: bool
class EnergyUse(BaseModel):
property_tenure: str
electricity_bill_payer: str
class OccupantHeating(BaseModel):
room_stat_temperture_in_celsius: float
root_stat_location: str
is_heating_pattern_known: bool
heating_pattern: str
number_of_alternative_days: int
class ShowerAndBath(BaseModel):
do_you_know_the_number_of_showers_per_day_or_per_week: str
do_you_know_the_number_of_baths_per_day_or_per_week: str
number_of_showers: str
shower_type: str
per_day_or_per_week: str
class Appliances(BaseModel):
no_of_fridges: int
@ -22,6 +79,15 @@ class Appliances(BaseModel):
space_for_outdoor_drying: bool
evidence_of_twelve_months_of_fuel_bill_data: bool
class OccupancyAssessment(BaseModel):
occupants: Occupants
energy_use: EnergyUse
heating: OccupantHeating
shower_and_bath: ShowerAndBath
appliances: Appliances
class VentilationChecklist(BaseModel):
intermittent_extract_ventilation: bool