mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
from __future__ import annotations
|
|
from datetime import datetime
|
|
from typing import Optional
|
|
|
|
from backend.app.db.models.portfolio import Epc
|
|
from backend.app.db.models.recommendations import PlanModel, PlanTypeEnum, ScenarioModel
|
|
from backend.app.domain.scenario import Scenario
|
|
|
|
|
|
class Plan:
|
|
property_id: int
|
|
portfolio_id: int
|
|
scenario: Scenario
|
|
created_at: datetime
|
|
is_default: bool
|
|
|
|
valuation_increase_lower_bound: Optional[float] = None
|
|
valuation_increase_upper_bound: Optional[float] = None
|
|
valuation_increase_average: Optional[float] = None
|
|
plan_type: Optional[PlanTypeEnum] = None
|
|
post_sap_points: Optional[float] = None
|
|
post_epc_rating: Optional[Epc] = None
|
|
post_co2_emissions: Optional[float] = None
|
|
co2_savings: Optional[float] = None
|
|
post_energy_bill: Optional[float] = None
|
|
post_energy_consumption: Optional[float] = None
|
|
energy_consumption_savings: Optional[float] = None
|
|
valuation_post_retrofit: Optional[float] = None
|
|
valuation_increase: Optional[float] = None
|
|
cost_of_works: Optional[float] = None
|
|
contingency_cost: Optional[float] = None
|
|
|
|
@classmethod
|
|
def from_sqlalchemy(
|
|
cls, plan_model: PlanModel, scenario_model: ScenarioModel
|
|
) -> Plan:
|
|
raise NotImplementedError
|