Source code for bo4e.com.tarifpreiszeitscheibe

"""
Contains Tarifpreiszeitscheibe class
"""

# pylint: disable=too-few-public-methods
# pylint: disable=no-name-in-module
from typing import TYPE_CHECKING, Annotated, Literal, Optional

from pydantic import Field

from ..enum.comtyp import ComTyp
from ..utils import postprocess_docstring
from .com import COM

if TYPE_CHECKING:
    from .einheitspreisposition import EinheitsPreisposition
    from .lastvariablepreisposition import LastvariablePreisposition
    from .relativepreisposition import RelativePreisposition
    from .zeitraum import Zeitraum
    from .zeitvariablepreisposition import ZeitvariablePreisposition


[docs] @postprocess_docstring class Tarifpreiszeitscheibe(COM): """ Mit dieser Komponente kann ein aus verschiedenen Preispositionen zusammengesetzter Tarifpreis zeitaufgelöst dargestellt werden. .. raw:: html <object data="../_static/images/bo4e/com/Tarifpreiszeitscheibe.svg" type="image/svg+xml"></object> .. HINT:: `Tarifpreiszeitscheibe JSON Schema <https://json-schema.app/view/%23?url=https://raw.githubusercontent.com/BO4E/BO4E-Schemas/{__gh_version__}/src/bo4e_schemas/com/Tarifpreiszeitscheibe.json>`_ """ typ: Annotated[Literal[ComTyp.TARIFPREISZEITSCHEIBE], Field(alias="_typ")] = ComTyp.TARIFPREISZEITSCHEIBE zeitscheibengueltigkeit: Optional["Zeitraum"] = None """Gibt an für welchen Zeitraum dieser zusammengesetzte Tarifpreis gültig ist.""" einheits_preispositionen: Optional[list["EinheitsPreisposition"]] = None """Eine Liste von Einheits-Preispositionen.""" zeitvariable_preispositionen: Optional[list["ZeitvariablePreisposition"]] = None """ Eine Liste von zeitvariablen Preispositionen. Dies können z.B. Preispositionen mit Zählzeitdefinitionen sein, um ein klassisches HT/NT Modell abzubilden. """ lastvariable_preispositionen: Optional[list["LastvariablePreisposition"]] = None """ Eine Liste von lastvariablen Preispositionen. Diese Preispositionen sind vorgesehen, um bspw. ein Staffel- oder Zonenmodell abzubilden. """ relative_preispositionen: Optional[list["RelativePreisposition"]] = None """ Eine Liste von relativen Preispositionen. Diese Preispositionen modellieren prozentuale Modifikationen auf bestehende Preispositionen. Dazu wird über ein Feld in `RelativePreisposition` auf die `_id` einer anderen Preispositionen verwiesen. Die ID hat hierbei kein vorgegebenes Format und hat auch keine fachliche Bedeutung. Es handelt sich hierbei um eine rein technische Lösung, um einen Querverweis zu modellieren. """