Source code for bo4e.com.angebotsvariante

"""
Contains Angebotsvariante and corresponding marshmallow schema for de-/serialization
"""

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

import pydantic

from ..utils import postprocess_docstring
from .com import COM

if TYPE_CHECKING:
    from ..enum.angebotsstatus import Angebotsstatus
    from .angebotsteil import Angebotsteil
    from .betrag import Betrag
    from .menge import Menge


[docs] @postprocess_docstring class Angebotsvariante(COM): """ Führt die verschiedenen Ausprägungen der Angebotsberechnung auf .. raw:: html <object data="../_static/images/bo4e/com/Angebotsvariante.svg" type="image/svg+xml"></object> .. HINT:: `Angebotsvariante JSON Schema <https://json-schema.app/view/%23?url=https://raw.githubusercontent.com/BO4E/BO4E-Schemas/{__gh_version__}/src/bo4e_schemas/com/Angebotsvariante.json>`_ """ angebotsstatus: Optional["Angebotsstatus"] = None """Gibt den Status eines Angebotes an.""" erstellungsdatum: Optional[pydantic.AwareDatetime] = None """Datum der Erstellung der Angebotsvariante""" bindefrist: Optional[pydantic.AwareDatetime] = None """Bis zu diesem Zeitpunkt gilt die Angebotsvariante""" teile: Optional[list["Angebotsteil"]] = None """ Angebotsteile werden im einfachsten Fall für eine Marktlokation oder Lieferstellenadresse erzeugt. Hier werden die Mengen und Gesamtkosten aller Angebotspositionen zusammengefasst. Eine Variante besteht mindestens aus einem Angebotsteil. """ gesamtmenge: Optional["Menge"] = None """Aufsummierte Wirkarbeitsmenge aller Angebotsteile""" # todo: write a validator for this: https://github.com/Hochfrequenz/BO4E-python/issues/320 gesamtkosten: Optional["Betrag"] = None """Aufsummierte Kosten aller Angebotsteile"""