Source code for bo4e.com.tarifberechnungsparameter

"""
Contains Tarifberechnungsparameter class
and corresponding marshmallow schema for de-/serialization
"""

from decimal import Decimal
from typing import TYPE_CHECKING, Optional

from ..utils import postprocess_docstring
from .com import COM

if TYPE_CHECKING:
    from ..enum.messpreistyp import Messpreistyp
    from ..enum.tarifkalkulationsmethode import Tarifkalkulationsmethode
    from .preis import Preis
    from .tarifpreis import Tarifpreis

# yes. there is no description in the official docs.
# https://github.com/Hochfrequenz/BO4E-python/issues/328

# pylint: disable=too-few-public-methods, empty-docstring, too-many-instance-attributes


[docs] @postprocess_docstring class Tarifberechnungsparameter(COM): """ In dieser Komponente sind die Berechnungsparameter für die Ermittlung der Tarifkosten zusammengefasst. .. raw:: html <object data="../_static/images/bo4e/com/Tarifberechnungsparameter.svg" type="image/svg+xml"></object> .. HINT:: `Tarifberechnungsparameter JSON Schema <https://json-schema.app/view/%23?url=https://raw.githubusercontent.com/BO4E/BO4E-Schemas/{__gh_version__}/src/bo4e_schemas/com/Tarifberechnungsparameter.json>`_ """ # there are no required attributes #: Gibt an, wie die Einzelpreise des Tarifes zu verarbeiten sind berechnungsmethode: Optional["Tarifkalkulationsmethode"] = None #: True, falls der Messpreis im Grundpreis (GP) enthalten ist ist_messpreis_in_grundpreis_enthalten: Optional[bool] = None ist_messpreis_zu_beruecksichtigen: Optional[bool] = None """ True, falls bei der Bildung des Durchschnittspreises für die Höchst- und Mindestpreisbetrachtung der Messpreis mit berücksichtigt wird """ #: Typ des Messpreises messpreistyp: Optional["Messpreistyp"] = None #: Im Preis bereits eingeschlossene Leistung (für Gas) kw_inklusive: Optional[Decimal] = None # todo: type decimal is most likely wrong: https://github.com/Hochfrequenz/BO4E-python/issues/327 #: Intervall, indem die über "kwInklusive" hinaus abgenommene Leistung kostenpflichtig wird (z.B. je 5 kW 20 EURO) kw_weitere_mengen: Optional[Decimal] = None # todo: type decimal is most likely wrong: https://github.com/Hochfrequenz/BO4E-python/issues/327 #: Höchstpreis für den Durchschnitts-Arbeitspreis NT hoechstpreis_n_t: Optional["Preis"] = None #: Höchstpreis für den Durchschnitts-Arbeitspreis HT hoechstpreis_h_t: Optional["Preis"] = None #: Mindestpreis für den Durchschnitts-Arbeitspreis mindestpreis: Optional["Preis"] = None #: Liste mit zusätzlichen Preisen, beispielsweise Messpreise und/oder Leistungspreise zusatzpreise: Optional[list["Tarifpreis"]] = None