bo4e.bo package
Submodules
bo4e.bo.angebot module
Contains Angebot class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.angebot.Angebot(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.ANGEBOT] = Typ.ANGEBOT, angebotsnummer: str | None = None, angebotsdatum: AwareDatetime | None = None, sparte: Sparte | None = None, angebotsgeber: Geschaeftspartner | None = None, angebotsnehmer: Geschaeftspartner | None = None, varianten: list[Angebotsvariante] | None = None, anfragereferenz: str | None = None, bindefrist: AwareDatetime | None = None, unterzeichnerAngebotsnehmer: Person | None = None, unterzeichnerAngebotsgeber: Person | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Mit diesem BO kann ein Versorgungsangebot zur Strom- oder Gasversorgung oder die Teilnahme an einer Ausschreibung übertragen werden. Es können verschiedene Varianten enthalten sein (z.B. ein- und mehrjährige Laufzeit). Innerhalb jeder Variante können Teile enthalten sein, die jeweils für eine oder mehrere Marktlokationen erstellt werden.
Hint
- anfragereferenz: str | None
Referenz auf eine Anfrage oder Ausschreibung; Kann dem Empfänger des Angebotes bei Zuordnung des Angebotes zur Anfrage bzw. Ausschreibung helfen.
- angebotsgeber: Geschaeftspartner | None
Ersteller des Angebots
- angebotsnehmer: Geschaeftspartner | None
Empfänger des Angebots
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'anfragereferenz': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='anfragereferenz', alias_priority=1, description='Bis zu diesem Zeitpunkt (Tag/Uhrzeit) inklusive gilt das Angebot'), 'angebotsdatum': FieldInfo(annotation=Union[AwareDatetime, NoneType], required=False, default=None, alias='angebotsdatum', alias_priority=1, description='Erstellungsdatum des Angebots'), 'angebotsgeber': FieldInfo(annotation=Union[Geschaeftspartner, NoneType], required=False, default=None, alias='angebotsgeber', alias_priority=1, description='Ersteller des Angebots'), 'angebotsnehmer': FieldInfo(annotation=Union[Geschaeftspartner, NoneType], required=False, default=None, alias='angebotsnehmer', alias_priority=1, description='Empfänger des Angebots'), 'angebotsnummer': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='angebotsnummer', alias_priority=1, description='Eindeutige Nummer des Angebotes'), 'bindefrist': FieldInfo(annotation=Union[AwareDatetime, NoneType], required=False, default=None, alias='bindefrist', alias_priority=1, description='Bis zu diesem Zeitpunkt (Tag/Uhrzeit) inklusive gilt das Angebot'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Sparte, für die das Angebot abgegeben wird (Strom/Gas)'), 'typ': FieldInfo(annotation=Literal[<Typ.ANGEBOT: 'ANGEBOT'>], required=False, default=<Typ.ANGEBOT: 'ANGEBOT'>, alias='_typ', alias_priority=2, description='Eindeutige Nummer des Angebotes'), 'unterzeichner_angebotsgeber': FieldInfo(annotation=Union[Person, NoneType], required=False, default=None, alias='unterzeichnerAngebotsgeber', alias_priority=1, description='Person, die als Angebotsgeber das Angebots ausgestellt hat'), 'unterzeichner_angebotsnehmer': FieldInfo(annotation=Union[Person, NoneType], required=False, default=None, alias='unterzeichnerAngebotsnehmer', alias_priority=1, description='Person, die als Angebotsnehmer das Angebot angenommen hat'), 'varianten': FieldInfo(annotation=Union[list[Angebotsvariante], NoneType], required=False, default=None, alias='varianten', alias_priority=1), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- typ: Annotated[Literal[Typ.ANGEBOT], FieldInfo(annotation=NoneType, required=True, alias='_typ', alias_priority=2)]
- unterzeichner_angebotsgeber: Person | None
Person, die als Angebotsgeber das Angebots ausgestellt hat
- unterzeichner_angebotsnehmer: Person | None
Person, die als Angebotsnehmer das Angebot angenommen hat
- varianten: list[Angebotsvariante] | None
Eine oder mehrere Varianten des Angebots mit den Angebotsteilen; Ein Angebot besteht mindestens aus einer Variante.
bo4e.bo.ausschreibung module
Contains Ausschreibung class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.ausschreibung.Ausschreibung(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.AUSSCHREIBUNG] = Typ.AUSSCHREIBUNG, ausschreibungsnummer: str | None = None, ausschreibungstyp: Ausschreibungstyp | None = None, ausschreibungsstatus: Ausschreibungsstatus | None = None, istKostenpflichtig: bool | None = None, veroeffentlichungszeitpunkt: AwareDatetime | None = None, ausschreibender: Geschaeftspartner | None = None, abgabefrist: Zeitraum | None = None, bindefrist: Zeitraum | None = None, lose: list[Ausschreibungslos] | None = None, ausschreibungportal: Ausschreibungsportal | None = None, webseite: str | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Das BO Ausschreibung dient zur detaillierten Darstellung von ausgeschriebenen Energiemengen in der Energiewirtschaft
- abgabefrist: Zeitraum | None
Diese Komponente wird zur Abbildung von Zeiträumen in Form von Dauern oder der Angabe von Start und Ende verwendet. Es muss daher entweder eine Dauer oder ein Zeitraum in Form von Start und Ende angegeben sein
- ausschreibender: Geschaeftspartner | None
Mit diesem Objekt können Geschäftspartner übertragen werden. Sowohl Unternehmen, als auch Privatpersonen können Geschäftspartner sein
- ausschreibungportal: Ausschreibungsportal | None
Aufzählung der unterstützten Ausschreibungsportale
- ausschreibungsstatus: Ausschreibungsstatus | None
Bezeichnungen für die Ausschreibungsphasen
- ausschreibungstyp: Ausschreibungstyp | None
Aufzählung für die Typisierung von Ausschreibungen
- bindefrist: Zeitraum | None
Diese Komponente wird zur Abbildung von Zeiträumen in Form von Dauern oder der Angabe von Start und Ende verwendet. Es muss daher entweder eine Dauer oder ein Zeitraum in Form von Start und Ende angegeben sein
- lose: list[Ausschreibungslos] | None
Die einzelnen Lose, aus denen sich die Ausschreibung zusammensetzt
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'abgabefrist': FieldInfo(annotation=Union[Zeitraum, NoneType], required=False, default=None, alias='abgabefrist', alias_priority=1), 'ausschreibender': FieldInfo(annotation=Union[Geschaeftspartner, NoneType], required=False, default=None, alias='ausschreibender', alias_priority=1), 'ausschreibungportal': FieldInfo(annotation=Union[Ausschreibungsportal, NoneType], required=False, default=None, alias='ausschreibungportal', alias_priority=1, description='Aufzählung der unterstützten Ausschreibungsportale'), 'ausschreibungsnummer': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='ausschreibungsnummer', alias_priority=1, description='Vom Herausgeber der Ausschreibung vergebene eindeutige Nummer'), 'ausschreibungsstatus': FieldInfo(annotation=Union[Ausschreibungsstatus, NoneType], required=False, default=None, alias='ausschreibungsstatus', alias_priority=1, description='Bezeichnungen für die Ausschreibungsphasen'), 'ausschreibungstyp': FieldInfo(annotation=Union[Ausschreibungstyp, NoneType], required=False, default=None, alias='ausschreibungstyp', alias_priority=1, description='Aufzählung für die Typisierung von Ausschreibungen'), 'bindefrist': FieldInfo(annotation=Union[Zeitraum, NoneType], required=False, default=None, alias='bindefrist', alias_priority=1, description='Die einzelnen Lose, aus denen sich die Ausschreibung zusammensetzt'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'ist_kostenpflichtig': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None, alias='istKostenpflichtig', alias_priority=1, description='Kennzeichen, ob die Ausschreibung kostenpflichtig ist'), 'lose': FieldInfo(annotation=Union[list[Ausschreibungslos], NoneType], required=False, default=None, alias='lose', alias_priority=1, description='Die einzelnen Lose, aus denen sich die Ausschreibung zusammensetzt'), 'typ': FieldInfo(annotation=Literal[<Typ.AUSSCHREIBUNG: 'AUSSCHREIBUNG'>], required=False, default=<Typ.AUSSCHREIBUNG: 'AUSSCHREIBUNG'>, alias='_typ', alias_priority=2, description='Vom Herausgeber der Ausschreibung vergebene eindeutige Nummer'), 'veroeffentlichungszeitpunkt': FieldInfo(annotation=Union[AwareDatetime, NoneType], required=False, default=None, alias='veroeffentlichungszeitpunkt', alias_priority=1, description='Gibt den Veröffentlichungszeitpunkt der Ausschreibung an'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'webseite': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='webseite', alias_priority=1, description='Internetseite, auf der die Ausschreibung veröffentlicht wurde (falls vorhanden)'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- typ: Annotated[Literal[Typ.AUSSCHREIBUNG], FieldInfo(annotation=NoneType, required=True, alias='_typ', alias_priority=2)]
bo4e.bo.buendelvertrag module
Contains Buendelvertrag class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.buendelvertrag.Buendelvertrag(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.BUENDELVERTRAG] = Typ.BUENDELVERTRAG, vertragsnummer: str | None = None, vertragsart: Vertragsart | None = None, vertragsstatus: Vertragsstatus | None = None, sparte: Sparte | None = None, vertragsbeginn: AwareDatetime | None = None, vertragsende: AwareDatetime | None = None, vertragspartner1: Geschaeftspartner | None = None, vertragspartner2: Geschaeftspartner | None = None, einzelvertraege: list[Vertrag] | None = None, vertragskonditionen: list[Vertragskonditionen] | None = None, unterzeichnervp1: list[Unterschrift] | None = None, unterzeichnervp2: list[Unterschrift] | None = None, beschreibung: str | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Abbildung eines Bündelvertrags. Es handelt sich hierbei um eine Liste von Einzelverträgen, die in einem Vertragsobjekt gebündelt sind.
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'beschreibung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='beschreibung', alias_priority=1, description='Beschreibung zum Vertrag'), 'einzelvertraege': FieldInfo(annotation=Union[list[Vertrag], NoneType], required=False, default=None, alias='einzelvertraege', alias_priority=1, description='Die Liste mit den Einzelverträgen zu den Abnahmestellen'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Unterscheidungsmöglichkeiten für die Sparte'), 'typ': FieldInfo(annotation=Literal[<Typ.BUENDELVERTRAG: 'BUENDELVERTRAG'>], required=False, default=<Typ.BUENDELVERTRAG: 'BUENDELVERTRAG'>, alias='_typ', alias_priority=2), 'unterzeichnervp1': FieldInfo(annotation=Union[list[Unterschrift], NoneType], required=False, default=None, alias='unterzeichnervp1', alias_priority=1, description='Unterzeichner des Vertragspartners1'), 'unterzeichnervp2': FieldInfo(annotation=Union[list[Unterschrift], NoneType], required=False, default=None, alias='unterzeichnervp2', alias_priority=1, description='Unterzeichner des Vertragspartners2'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'vertragsart': FieldInfo(annotation=Union[Vertragsart, NoneType], required=False, default=None, alias='vertragsart', alias_priority=1, description='Hier ist festgelegt, um welche Art von Vertrag es sich handelt. Z.B. Netznutzungvertrag'), 'vertragsbeginn': FieldInfo(annotation=Union[AwareDatetime, NoneType], required=False, default=None, alias='vertragsbeginn', alias_priority=1, description='Gibt an, wann der Vertrag beginnt (inklusiv)'), 'vertragsende': FieldInfo(annotation=Union[AwareDatetime, NoneType], required=False, default=None, alias='vertragsende', alias_priority=1, description='Gibt an, wann der Vertrag (voraussichtlich) endet oder beendet wurde (exklusiv)'), 'vertragskonditionen': FieldInfo(annotation=Union[list[Vertragskonditionen], NoneType], required=False, default=None, alias='vertragskonditionen', alias_priority=1, description='Festlegungen zu Laufzeiten und Kündigungsfristen'), 'vertragsnummer': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='vertragsnummer', alias_priority=1, description='Eine im Verwendungskontext eindeutige Nummer für den Vertrag'), 'vertragspartner1': FieldInfo(annotation=Union[Geschaeftspartner, NoneType], required=False, default=None, alias='vertragspartner1', alias_priority=1, description='Beispiel: "Vertrag zwischen Vertagspartner 1 ..."'), 'vertragspartner2': FieldInfo(annotation=Union[Geschaeftspartner, NoneType], required=False, default=None, alias='vertragspartner2', alias_priority=1, description='Beispiel "Vertrag zwischen Vertagspartner 1 und Vertragspartner 2"'), 'vertragsstatus': FieldInfo(annotation=Union[Vertragsstatus, NoneType], required=False, default=None, alias='vertragsstatus', alias_priority=1, description='Gibt den Status des Vertrages an'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- typ: Annotated[Literal[Typ.BUENDELVERTRAG], FieldInfo(annotation=NoneType, required=True, alias='_typ', alias_priority=2)]
- unterzeichnervp1: list[Unterschrift] | None
Unterzeichner des Vertragspartners1
- unterzeichnervp2: list[Unterschrift] | None
Unterzeichner des Vertragspartners2
- vertragsart: Vertragsart | None
Hier ist festgelegt, um welche Art von Vertrag es sich handelt. Z.B. Netznutzungvertrag
- vertragsende: AwareDatetime | None
Gibt an, wann der Vertrag (voraussichtlich) endet oder beendet wurde (exklusiv)
- vertragskonditionen: list[Vertragskonditionen] | None
Festlegungen zu Laufzeiten und Kündigungsfristen
- vertragspartner1: Geschaeftspartner | None
Der “erstgenannte” Vertragspartner. In der Regel der Aussteller des Vertrags. Beispiel: “Vertrag zwischen Vertagspartner 1 …”
- vertragspartner2: Geschaeftspartner | None
Der “zweitgenannte” Vertragspartner. In der Regel der Empfänger des Vertrags. Beispiel “Vertrag zwischen Vertagspartner 1 und Vertragspartner 2”
- vertragsstatus: Vertragsstatus | None
Gibt den Status des Vertrages an
bo4e.bo.energiemenge module
Contains Energiemenge class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.energiemenge.Energiemenge(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.ENERGIEMENGE] = Typ.ENERGIEMENGE, lokationsId: str | None = None, lokationstyp: Lokationstyp | None = None, energieverbrauch: list[Verbrauch] | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Abbildung von Mengen, die Lokationen zugeordnet sind
- lokations_id: str | None
Eindeutige Nummer der Marktlokation bzw. der Messlokation, zu der die Energiemenge gehört
- lokationstyp: Lokationstyp | None
Gibt an, ob es sich um eine Markt- oder Messlokation handelt
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'energieverbrauch': FieldInfo(annotation=Union[list[Verbrauch], NoneType], required=False, default=None, alias='energieverbrauch', alias_priority=1, description='Gibt den Verbrauch in einer Zeiteinheit an'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'lokations_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='lokationsId', alias_priority=1, description='Eindeutige Nummer der Marktlokation bzw. der Messlokation, zu der die Energiemenge gehört'), 'lokationstyp': FieldInfo(annotation=Union[Lokationstyp, NoneType], required=False, default=None, alias='lokationstyp', alias_priority=1, description='Gibt an, ob es sich um eine Markt- oder Messlokation handelt'), 'typ': FieldInfo(annotation=Literal[<Typ.ENERGIEMENGE: 'ENERGIEMENGE'>], required=False, default=<Typ.ENERGIEMENGE: 'ENERGIEMENGE'>, alias='_typ', alias_priority=2, description='Eindeutige Nummer der Marktlokation bzw. der Messlokation, zu der die Energiemenge gehört'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
bo4e.bo.fremdkosten module
Contains Fremdkosten class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.fremdkosten.Fremdkosten(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.FREMDKOSTEN] = Typ.FREMDKOSTEN, gueltigkeit: Zeitraum | None = None, summeKosten: Betrag | None = None, kostenbloecke: list[Fremdkostenblock] | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Mit diesem BO werden die Fremdkosten, beispielsweise für eine Angebotserstellung oder eine Rechnungsprüfung, übertragen. Die Fremdkosten enthalten dabei alle Kostenblöcke, die von anderen Marktteilnehmern oder Instanzen erhoben werden.
- kostenbloecke: list[Fremdkostenblock] | None
Netzkosten, Umlagen, Steuern etc
- Type:
In Kostenblöcken werden Kostenpositionen zusammengefasst. Beispiele
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'gueltigkeit': FieldInfo(annotation=Union[Zeitraum, NoneType], required=False, default=None, alias='gueltigkeit', alias_priority=1, description='Für diesen Zeitraum wurden die Kosten ermittelt'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'kostenbloecke': FieldInfo(annotation=Union[list[Fremdkostenblock], NoneType], required=False, default=None, alias='kostenbloecke', alias_priority=1, description='In Kostenblöcken werden Kostenpositionen zusammengefasst. Beispiele: Netzkosten, Umlagen, Steuern etc'), 'summe_kosten': FieldInfo(annotation=Union[Betrag, NoneType], required=False, default=None, alias='summeKosten', alias_priority=1, description='Die Gesamtsumme über alle Kostenblöcke und -positionen'), 'typ': FieldInfo(annotation=Literal[<Typ.FREMDKOSTEN: 'FREMDKOSTEN'>], required=False, default=<Typ.FREMDKOSTEN: 'FREMDKOSTEN'>, alias='_typ', alias_priority=2, description='Für diesen Zeitraum wurden die Kosten ermittelt'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
bo4e.bo.geraet module
Contains Geraet class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.geraet.Geraet(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.GERAET] = Typ.GERAET, geraetenummer: str | None = None, bezeichnung: str | None = None, geraeteklasse: Geraeteklasse | None = None, geraetetyp: Geraetetyp | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Mit diesem BO werden alle Geräte modelliert, die keine Zähler sind.
Hint
- geraeteklasse: Geraeteklasse | None
Die übergreifende Klasse eines Geräts, beispielsweise Wandler
- geraetetyp: Geraetetyp | None
Der speziellere Typ eines Gerätes, beispielsweise Stromwandler
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'bezeichnung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='bezeichnung', alias_priority=1, description='Bezeichnung des Geräts'), 'geraeteklasse': FieldInfo(annotation=Union[Geraeteklasse, NoneType], required=False, default=None, alias='geraeteklasse', alias_priority=1, description='Die übergreifende Klasse eines Geräts, beispielsweise Wandler'), 'geraetenummer': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='geraetenummer', alias_priority=1, description='Die auf dem Gerät aufgedruckte Nummer, die vom MSB vergeben wird.'), 'geraetetyp': FieldInfo(annotation=Union[Geraetetyp, NoneType], required=False, default=None, alias='geraetetyp', alias_priority=1, description='Der speziellere Typ eines Gerätes, beispielsweise Stromwandler'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'typ': FieldInfo(annotation=Literal[<Typ.GERAET: 'GERAET'>], required=False, default=<Typ.GERAET: 'GERAET'>, alias='_typ', alias_priority=2, description='Die auf dem Gerät aufgedruckte Nummer, die vom MSB vergeben wird.'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
bo4e.bo.geschaeftsobjekt module
- class bo4e.bo.geschaeftsobjekt.Geschaeftsobjekt(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, **extra_data: Any)[source]
Bases:
BaseModel
Das BO Geschäftsobjekt ist der Master für alle Geschäftsobjekte. Alle Attribute, die hier in diesem BO enthalten sind, werden an alle BOs vererbt.
- id: Annotated[str | None, FieldInfo(annotation=NoneType, required=True, alias='_id', alias_priority=2)]
Eine generische ID, die für eigene Zwecke genutzt werden kann. Z.B. könnten hier UUIDs aus einer Datenbank stehen oder URLs zu einem Backend-System.
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- version: Annotated[str | None, FieldInfo(annotation=NoneType, required=True, alias='_version', alias_priority=2)]
- zusatz_attribute: list[ZusatzAttribut] | None
bo4e.bo.geschaeftspartner module
Contains Geschaeftspartner class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.geschaeftspartner.Geschaeftspartner(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.GESCHAEFTSPARTNER] = Typ.GESCHAEFTSPARTNER, anrede: Anrede | None = None, individuelleAnrede: str | None = None, titel: Titel | None = None, vorname: str | None = None, nachname: str | None = None, ansprechpartner: list[Person] | None = None, organisationstyp: Organisationstyp | None = None, organisationsname: str | None = None, kontaktwege: list[Kontaktweg] | None = None, geschaeftspartnerrollen: list[Geschaeftspartnerrolle] | None = None, handelsregisternummer: str | None = None, amtsgericht: str | None = None, umsatzsteuerId: str | None = None, glaeubigerId: str | None = None, website: str | None = None, adresse: Adresse | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Mit diesem Objekt können Geschäftspartner übertragen werden. Sowohl Unternehmen, als auch Privatpersonen können Geschäftspartner sein. Hinweis: “Marktteilnehmer” haben ein eigenes BO, welches sich von diesem BO ableitet. Hier sollte daher keine Zuordnung zu Marktrollen erfolgen.
- amtsgericht: str | None
Amtsgericht bzw Handelsregistergericht, das die Handelsregisternummer herausgegeben hat
- geschaeftspartnerrollen: list[Geschaeftspartnerrolle] | None
Rollen, die die Geschäftspartner inne haben (z.B. Interessent, Kunde)
- glaeubiger_id: str | None
Die Gläubiger-ID welche im Zahlungsverkehr verwendet wird; Z.B. “DE 47116789”
- individuelle_anrede: str | None
Im Falle einer nicht standardisierten Anrede kann hier eine frei definierbare Anrede vorgegeben werden. Beispiel: “Vereinsgemeinschaft”, “Pfarrer”, “Hochwürdigster Herr Abt”.
- kontaktwege: list[Kontaktweg] | None
Kontaktwege des Geschäftspartners
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'adresse': FieldInfo(annotation=Union[Adresse, NoneType], required=False, default=None, alias='adresse', alias_priority=1, description='Adresse des Geschäftspartners'), 'amtsgericht': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='amtsgericht', alias_priority=1, description='Amtsgericht bzw Handelsregistergericht, das die Handelsregisternummer herausgegeben hat'), 'anrede': FieldInfo(annotation=Union[Anrede, NoneType], required=False, default=None, alias='anrede', alias_priority=1, description='Mögliche Anrede der Person'), 'ansprechpartner': FieldInfo(annotation=Union[list[Person], NoneType], required=False, default=None, alias='ansprechpartner', alias_priority=1), 'geschaeftspartnerrollen': FieldInfo(annotation=Union[list[Geschaeftspartnerrolle], NoneType], required=False, default=None, alias='geschaeftspartnerrollen', alias_priority=1, description='Rollen, die die Geschäftspartner inne haben (z.B. Interessent, Kunde)'), 'glaeubiger_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='glaeubigerId', alias_priority=1, description='Die Gläubiger-ID welche im Zahlungsverkehr verwendet wird; Z.B. "DE 47116789"'), 'handelsregisternummer': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='handelsregisternummer', alias_priority=1, description='Handelsregisternummer des Geschäftspartners'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'individuelle_anrede': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='individuelleAnrede', alias_priority=1), 'kontaktwege': FieldInfo(annotation=Union[list[Kontaktweg], NoneType], required=False, default=None, alias='kontaktwege', alias_priority=1, description='Kontaktwege des Geschäftspartners'), 'nachname': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='nachname', alias_priority=1, description='Nachname (Familienname) der Person'), 'organisationsname': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='organisationsname', alias_priority=1, description='Kontaktwege des Geschäftspartners'), 'organisationstyp': FieldInfo(annotation=Union[Organisationstyp, NoneType], required=False, default=None, alias='organisationstyp', alias_priority=1), 'titel': FieldInfo(annotation=Union[Titel, NoneType], required=False, default=None, alias='titel', alias_priority=1, description='Möglicher Titel der Person'), 'typ': FieldInfo(annotation=Literal[<Typ.GESCHAEFTSPARTNER: 'GESCHAEFTSPARTNER'>], required=False, default=<Typ.GESCHAEFTSPARTNER: 'GESCHAEFTSPARTNER'>, alias='_typ', alias_priority=2, description='Mögliche Anrede der Person'), 'umsatzsteuer_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='umsatzsteuerId', alias_priority=1, description='Die Steuer-ID des Geschäftspartners; Beispiel: "DE 813281825"'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'vorname': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='vorname', alias_priority=1, description='Vorname der Person'), 'website': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='website', alias_priority=1, description='Internetseite des Marktpartners'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- organisationstyp: Organisationstyp | None
Kennzeichnung ob es sich um ein Gewerbe/Unternehmen, eine Privatperson oder eine andere Art von Organisation handelt.
bo4e.bo.kosten module
Contains Kosten class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.kosten.Kosten(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.KOSTEN] = Typ.KOSTEN, kostenklasse: Kostenklasse | None = None, gueltigkeit: Zeitraum | None = None, kostenbloecke: list[Kostenblock] | None = None, summeKosten: list[Betrag] | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Dieses BO wird zur Übertagung von hierarchischen Kostenstrukturen verwendet. Die Kosten werden dabei in Kostenblöcke und diese wiederum in Kostenpositionen strukturiert.
Hint
- kostenbloecke: list[Kostenblock] | None
Netzkosten, Umlagen, Steuern etc
- Type:
In Kostenblöcken werden Kostenpositionen zusammengefasst. Beispiele
- kostenklasse: Kostenklasse | None
Klasse der Kosten, beispielsweise Fremdkosten
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'gueltigkeit': FieldInfo(annotation=Union[Zeitraum, NoneType], required=False, default=None, alias='gueltigkeit', alias_priority=1, description='Für diesen Zeitraum wurden die Kosten ermittelt'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'kostenbloecke': FieldInfo(annotation=Union[list[Kostenblock], NoneType], required=False, default=None, alias='kostenbloecke', alias_priority=1, description='In Kostenblöcken werden Kostenpositionen zusammengefasst. Beispiele: Netzkosten, Umlagen, Steuern etc'), 'kostenklasse': FieldInfo(annotation=Union[Kostenklasse, NoneType], required=False, default=None, alias='kostenklasse', alias_priority=1, description='Klasse der Kosten, beispielsweise Fremdkosten'), 'summe_kosten': FieldInfo(annotation=Union[list[Betrag], NoneType], required=False, default=None, alias='summeKosten', alias_priority=1, description='Die Gesamtsumme über alle Kostenblöcke und -positionen'), 'typ': FieldInfo(annotation=Literal[<Typ.KOSTEN: 'KOSTEN'>], required=False, default=<Typ.KOSTEN: 'KOSTEN'>, alias='_typ', alias_priority=2, description='Klasse der Kosten, beispielsweise Fremdkosten'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
bo4e.bo.lastgang module
Contains Lastgang class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.lastgang.Lastgang(*, version: str | None = None, zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.LASTGANG] = Typ.LASTGANG, sparte: Sparte | None = None, messgroesse: Mengeneinheit | None = None, marktlokation: Marktlokation | None = None, messlokation: Messlokation | None = None, werte: list[Zeitreihenwert] | None = None, obisKennzahl: str | None = None, zeitIntervallLaenge: Menge | None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Modell zur Abbildung eines Lastganges; In diesem Modell werden die Messwerte mit einem vollständigen Zeitintervall (zeit_intervall_laenge) angegeben und es bietet daher eine hohe Flexibilität in der Übertragung jeglicher zeitlich veränderlicher Messgrössen.
Hint
- marktlokation: Marktlokation | None
Marktlokation, zu der der Lastgang gehört
- messgroesse: Mengeneinheit | None
Definition der gemessenen Größe anhand ihrer Einheit
- messlokation: Messlokation | None
Marktlokation, zu der der Lastgang gehört
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'marktlokation': FieldInfo(annotation=Union[Marktlokation, NoneType], required=False, default=None, alias='marktlokation', alias_priority=1, description='Marktlokation, zu der der Lastgang gehört'), 'messgroesse': FieldInfo(annotation=Union[Mengeneinheit, NoneType], required=False, default=None, alias='messgroesse', alias_priority=1, description='Definition der gemessenen Größe anhand ihrer Einheit'), 'messlokation': FieldInfo(annotation=Union[Messlokation, NoneType], required=False, default=None, alias='messlokation', alias_priority=1, description='Marktlokation, zu der der Lastgang gehört'), 'obis_kennzahl': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='obisKennzahl', alias_priority=1, description="Die OBIS-Kennzahl für den Wert, die festlegt, welche Größe mit dem Stand gemeldet wird, z.B. '1-0:1.8.1'"), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Angabe, ob es sich um einen Gas- oder Stromlastgang handelt'), 'typ': FieldInfo(annotation=Literal[<Typ.LASTGANG: 'LASTGANG'>], required=False, default=<Typ.LASTGANG: 'LASTGANG'>, alias='_typ', alias_priority=2, description='Angabe, ob es sich um einen Gas- oder Stromlastgang handelt'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='version', alias_priority=1, description='Versionsnummer des Lastgangs'), 'werte': FieldInfo(annotation=Union[list[Zeitreihenwert], NoneType], required=False, default=None, alias='werte', alias_priority=1, description='Die im Lastgang enthaltenen Messwerte'), 'zeit_intervall_laenge': FieldInfo(annotation=Union[Menge, NoneType], required=True, alias='zeitIntervallLaenge', alias_priority=1), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- obis_kennzahl: str | None
1.8.1’
- Type:
Die OBIS-Kennzahl für den Wert, die festlegt, welche Größe mit dem Stand gemeldet wird, z.B. ‘1-0
- typ: Annotated[Literal[Typ.LASTGANG], FieldInfo(annotation=NoneType, required=True, alias='_typ', alias_priority=2)]
- werte: list[Zeitreihenwert] | None
Die im Lastgang enthaltenen Messwerte
bo4e.bo.lokationszuordnung module
Contains Lokationszuordnung class
- class bo4e.bo.lokationszuordnung.Lokationszuordnung(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.LOKATIONSZUORDNUNG] = Typ.LOKATIONSZUORDNUNG, marktlokationen: list[Marktlokation] | None = None, messlokationen: list[Messlokation] | None = None, netzlokationen: list[Netzlokation] | None = None, technischeRessourcen: list[TechnischeRessource] | None = None, steuerbareRessourcen: list[SteuerbareRessource] | None = None, gueltigkeit: Zeitspanne | None = None, zuordnungstyp: str | None = None, lokationsbuendelcode: str | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Modell für die Abbildung der Referenz auf die Lokationsbündelstruktur. Diese gibt an welche Marktlokationen, Messlokationen, Netzlokationen, technische/steuerbaren Ressourcen an einer Lokation vorhanden sind.
- gueltigkeit: Zeitspanne | None
Zeitspanne der Gültigkeit
- lokationsbuendelcode: str | None
//www.edi-energy.de/index.php?id=38)
- Type:
Code, der angibt wie die Lokationsbündelstruktur zusammengesetzt ist (zu finden unter “Codeliste der Lokationsbündelstrukturen” auf https
- marktlokationen: list[Marktlokation] | None
Liste mit referenzierten Marktlokationen
- messlokationen: list[Messlokation] | None
Liste mit referenzierten Messlokationen
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'gueltigkeit': FieldInfo(annotation=Union[Zeitspanne, NoneType], required=False, default=None, alias='gueltigkeit', alias_priority=1, description='Zeitspanne der Gültigkeit'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'lokationsbuendelcode': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='lokationsbuendelcode', alias_priority=1, description='Code, der angibt wie die Lokationsbündelstruktur zusammengesetzt ist (zu finden unter "Codeliste der Lokationsbündelstrukturen" auf https://www.edi-energy.de/index.php?id=38)'), 'marktlokationen': FieldInfo(annotation=Union[list[Marktlokation], NoneType], required=False, default=None, alias='marktlokationen', alias_priority=1, description='Liste mit referenzierten Marktlokationen'), 'messlokationen': FieldInfo(annotation=Union[list[Messlokation], NoneType], required=False, default=None, alias='messlokationen', alias_priority=1, description='Liste mit referenzierten Messlokationen'), 'netzlokationen': FieldInfo(annotation=Union[list[Netzlokation], NoneType], required=False, default=None, alias='netzlokationen', alias_priority=1, description='Liste mit referenzierten Netzlokationen'), 'steuerbare_ressourcen': FieldInfo(annotation=Union[list[SteuerbareRessource], NoneType], required=False, default=None, alias='steuerbareRessourcen', alias_priority=1, description='Liste mit referenzierten steuerbaren Ressourcen'), 'technische_ressourcen': FieldInfo(annotation=Union[list[TechnischeRessource], NoneType], required=False, default=None, alias='technischeRessourcen', alias_priority=1, description='Liste mit referenzierten technischen Ressourcen'), 'typ': FieldInfo(annotation=Literal[<Typ.LOKATIONSZUORDNUNG: 'LOKATIONSZUORDNUNG'>], required=False, default=<Typ.LOKATIONSZUORDNUNG: 'LOKATIONSZUORDNUNG'>, alias='_typ', alias_priority=2, description='Liste mit referenzierten Marktlokationen'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'zuordnungstyp': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='zuordnungstyp', alias_priority=1, description='Verknüpfungsrichtung z.B. Malo-Melo [TODO: Eventuell anderer Datentyp]'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- netzlokationen: list[Netzlokation] | None
Liste mit referenzierten Netzlokationen
- steuerbare_ressourcen: list[SteuerbareRessource] | None
Liste mit referenzierten steuerbaren Ressourcen
- technische_ressourcen: list[TechnischeRessource] | None
Liste mit referenzierten technischen Ressourcen
bo4e.bo.marktlokation module
Contains Marktlokation class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.marktlokation.Marktlokation(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.MARKTLOKATION] = Typ.MARKTLOKATION, marktlokationsId: str | None = None, sparte: Sparte | None = None, energierichtung: Energierichtung | None = None, bilanzierungsmethode: Bilanzierungsmethode | None = None, netzebene: Netzebene | None = None, verbrauchsart: Verbrauchsart | None = None, istUnterbrechbar: bool | None = None, netzbetreibercodenr: str | None = None, gebietstyp: Gebiettyp | None = None, netzgebietsnr: str | None = None, bilanzierungsgebiet: str | None = None, grundversorgercodenr: str | None = None, gasqualitaet: Gasqualitaet | None = None, endkunde: Geschaeftspartner | None = None, lokationsadresse: Adresse | None = None, geoadresse: Geokoordinaten | None = None, katasterinformation: Katasteradresse | None = None, kundengruppen: list[Kundentyp] | None = None, regelzone: str | None = None, marktgebiet: str | None = None, zaehlwerke: list[Zaehlwerk] | None = None, verbrauchsmengen: list[Verbrauch] | None = None, zaehlwerkeDerBeteiligtenMarktrolle: list[Zaehlwerk] | None = None, lokationszuordnungen: list[Lokationszuordnung] | None = None, lokationsbuendelObjektcode: str | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Object containing information about a Marktlokation
- bilanzierungsgebiet: str | None
Bilanzierungsgebiet, dem das Netzgebiet zugeordnet ist - im Falle eines Strom Netzes
- bilanzierungsmethode: Bilanzierungsmethode | None
Die Bilanzierungsmethode, RLM oder SLP
- endkunde: Geschaeftspartner | None
Geschäftspartner, dem diese Marktlokation gehört
- energierichtung: Energierichtung | None
Kennzeichnung, ob Energie eingespeist oder entnommen (ausgespeist) wird
- gasqualitaet: Gasqualitaet | None
Die Gasqualität in diesem Netzgebiet. H-Gas oder L-Gas. Im Falle eines Gas-Netzes
- geoadresse: Geokoordinaten | None
Alternativ zu einer postalischen Adresse kann hier ein Ort mittels Geokoordinaten angegeben werden (z.B. zur Identifikation von Sendemasten).
- grundversorgercodenr: str | None
Codenummer des Grundversorgers, der für diese Marktlokation zuständig ist
- katasterinformation: Katasteradresse | None
Alternativ zu einer postalischen Adresse und Geokoordinaten kann hier eine Ortsangabe mittels Gemarkung und Flurstück erfolgen.
- lokationsadresse: Adresse | None
Die Adresse, an der die Energie-Lieferung oder -Einspeisung erfolgt
- lokationsbuendel_objektcode: str | None
Lokationsbuendel Code, der die Funktion dieses BOs an der Lokationsbuendelstruktur beschreibt.
- lokationszuordnungen: list[Lokationszuordnung] | None
Lokationszuordnung, um bspw. die zugehörigen Messlokationen anzugeben
- marktgebiet: str | None
//www.entsog.eu/data/data-portal/codes-list
- Type:
für Gas. Code vom EIC, https
- marktlokations_id: str | None
Identifikationsnummer einer Marktlokation, an der Energie entweder verbraucht, oder erzeugt wird.
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'bilanzierungsgebiet': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='bilanzierungsgebiet', alias_priority=1, description='Bilanzierungsgebiet, dem das Netzgebiet zugeordnet ist - im Falle eines Strom Netzes'), 'bilanzierungsmethode': FieldInfo(annotation=Union[Bilanzierungsmethode, NoneType], required=False, default=None, alias='bilanzierungsmethode', alias_priority=1, description='Die Bilanzierungsmethode, RLM oder SLP'), 'endkunde': FieldInfo(annotation=Union[Geschaeftspartner, NoneType], required=False, default=None, alias='endkunde', alias_priority=1, description='Geschäftspartner, dem diese Marktlokation gehört'), 'energierichtung': FieldInfo(annotation=Union[Energierichtung, NoneType], required=False, default=None, alias='energierichtung', alias_priority=1, description='Kennzeichnung, ob Energie eingespeist oder entnommen (ausgespeist) wird'), 'gasqualitaet': FieldInfo(annotation=Union[Gasqualitaet, NoneType], required=False, default=None, alias='gasqualitaet', alias_priority=1, description='Die Gasqualität in diesem Netzgebiet. H-Gas oder L-Gas. Im Falle eines Gas-Netzes'), 'gebietstyp': FieldInfo(annotation=Union[Gebiettyp, NoneType], required=False, default=None, alias='gebietstyp', alias_priority=1, description='Typ des Netzgebietes, z.B. Verteilnetz'), 'geoadresse': FieldInfo(annotation=Union[Geokoordinaten, NoneType], required=False, default=None, alias='geoadresse', alias_priority=1), 'grundversorgercodenr': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='grundversorgercodenr', alias_priority=1, description='Codenummer des Grundversorgers, der für diese Marktlokation zuständig ist'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'ist_unterbrechbar': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None, alias='istUnterbrechbar', alias_priority=1, description='Gibt an, ob es sich um eine unterbrechbare Belieferung handelt'), 'katasterinformation': FieldInfo(annotation=Union[Katasteradresse, NoneType], required=False, default=None, alias='katasterinformation', alias_priority=1), 'kundengruppen': FieldInfo(annotation=Union[list[Kundentyp], NoneType], required=False, default=None, alias='kundengruppen', alias_priority=1, description='Kundengruppen der Marktlokation'), 'lokationsadresse': FieldInfo(annotation=Union[Adresse, NoneType], required=False, default=None, alias='lokationsadresse', alias_priority=1, description='Die Adresse, an der die Energie-Lieferung oder -Einspeisung erfolgt'), 'lokationsbuendel_objektcode': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='lokationsbuendelObjektcode', alias_priority=1, description='Lokationsbuendel Code, der die Funktion dieses BOs an der Lokationsbuendelstruktur beschreibt.'), 'lokationszuordnungen': FieldInfo(annotation=Union[list[Lokationszuordnung], NoneType], required=False, default=None, alias='lokationszuordnungen', alias_priority=1, description='Lokationszuordnung, um bspw. die zugehörigen Messlokationen anzugeben'), 'marktgebiet': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='marktgebiet', alias_priority=1, description='für Gas. Code vom EIC, https://www.entsog.eu/data/data-portal/codes-list'), 'marktlokations_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='marktlokationsId', alias_priority=1, description='Identifikationsnummer einer Marktlokation, an der Energie entweder verbraucht, oder erzeugt wird.'), 'netzbetreibercodenr': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='netzbetreibercodenr', alias_priority=1, description='Codenummer des Netzbetreibers, an dessen Netz diese Marktlokation angeschlossen ist.'), 'netzebene': FieldInfo(annotation=Union[Netzebene, NoneType], required=False, default=None, alias='netzebene', alias_priority=1), 'netzgebietsnr': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='netzgebietsnr', alias_priority=1, description="Die ID des Gebietes in der ene't-Datenbank"), 'regelzone': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='regelzone', alias_priority=1, description='Kundengruppen der Marktlokation'), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Sparte der Marktlokation, z.B. Gas oder Strom'), 'typ': FieldInfo(annotation=Literal[<Typ.MARKTLOKATION: 'MARKTLOKATION'>], required=False, default=<Typ.MARKTLOKATION: 'MARKTLOKATION'>, alias='_typ', alias_priority=2, description='Identifikationsnummer einer Marktlokation, an der Energie entweder verbraucht, oder erzeugt wird.'), 'verbrauchsart': FieldInfo(annotation=Union[Verbrauchsart, NoneType], required=False, default=None, alias='verbrauchsart', alias_priority=1, description='Verbrauchsart der Marktlokation.'), 'verbrauchsmengen': FieldInfo(annotation=Union[list[Verbrauch], NoneType], required=False, default=None, alias='verbrauchsmengen', alias_priority=1), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'zaehlwerke': FieldInfo(annotation=Union[list[Zaehlwerk], NoneType], required=False, default=None, alias='zaehlwerke', alias_priority=1, description='für Gas. Code vom EIC, https://www.entsog.eu/data/data-portal/codes-list'), 'zaehlwerke_der_beteiligten_marktrolle': FieldInfo(annotation=Union[list[Zaehlwerk], NoneType], required=False, default=None, alias='zaehlwerkeDerBeteiligtenMarktrolle', alias_priority=1, description='Lokationszuordnung, um bspw. die zugehörigen Messlokationen anzugeben'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- netzbetreibercodenr: str | None
Codenummer des Netzbetreibers, an dessen Netz diese Marktlokation angeschlossen ist.
- netzebene: Netzebene | None
Netzebene, in der der Bezug der Energie erfolgt. Bei Strom Spannungsebene der Lieferung, bei Gas Druckstufe. Beispiel Strom: Niederspannung Beispiel Gas: Niederdruck.
- typ: Annotated[Literal[Typ.MARKTLOKATION], FieldInfo(annotation=NoneType, required=True, alias='_typ', alias_priority=2)]
- verbrauchsart: Verbrauchsart | None
Verbrauchsart der Marktlokation.
bo4e.bo.marktteilnehmer module
Contains Marktteilnehmer class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.marktteilnehmer.Marktteilnehmer(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.MARKTTEILNEHMER] = Typ.MARKTTEILNEHMER, marktrolle: Marktrolle | None = None, rollencodenummer: str | None = None, rollencodetyp: Rollencodetyp | None = None, sparte: Sparte | None = None, makoadresse: list[str] | None = None, geschaeftspartner: Geschaeftspartner | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Objekt zur Aufnahme der Information zu einem Marktteilnehmer
- geschaeftspartner: Geschaeftspartner | None
Der zu diesem Marktteilnehmer gehörende Geschäftspartner
- makoadresse: list[str] | None
1-Kommunikationsadresse des Marktteilnehmers. Diese wird in der Marktkommunikation verwendet. Konkret kann dies eine eMail-Adresse oder ein AS4-Endpunkt sein.
- Type:
Die 1
- marktrolle: Marktrolle | None
Gibt im Klartext die Bezeichnung der Marktrolle an
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'geschaeftspartner': FieldInfo(annotation=Union[Geschaeftspartner, NoneType], required=False, default=None, alias='geschaeftspartner', alias_priority=1, description='Der zu diesem Marktteilnehmer gehörende Geschäftspartner'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'makoadresse': FieldInfo(annotation=Union[list[str], NoneType], required=False, default=None, alias='makoadresse', alias_priority=1, description='Die 1:1-Kommunikationsadresse des Marktteilnehmers. Diese wird in der Marktkommunikation verwendet. Konkret kann dies eine eMail-Adresse oder ein AS4-Endpunkt sein.'), 'marktrolle': FieldInfo(annotation=Union[Marktrolle, NoneType], required=False, default=None, alias='marktrolle', alias_priority=1, description='Gibt im Klartext die Bezeichnung der Marktrolle an'), 'rollencodenummer': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='rollencodenummer', alias_priority=1, description='Gibt die Codenummer der Marktrolle an'), 'rollencodetyp': FieldInfo(annotation=Union[Rollencodetyp, NoneType], required=False, default=None, alias='rollencodetyp', alias_priority=1, description='Gibt den Typ des Codes an'), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Sparte des Marktteilnehmers, z.B. Gas oder Strom'), 'typ': FieldInfo(annotation=Literal[<Typ.MARKTTEILNEHMER: 'MARKTTEILNEHMER'>], required=False, default=<Typ.MARKTTEILNEHMER: 'MARKTTEILNEHMER'>, alias='_typ', alias_priority=2, description='Gibt im Klartext die Bezeichnung der Marktrolle an'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- rollencodetyp: Rollencodetyp | None
Gibt den Typ des Codes an
bo4e.bo.messlokation module
Contains Messlokation class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.messlokation.Messlokation(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.MESSLOKATION] = Typ.MESSLOKATION, messlokationsId: str | None = None, sparte: Sparte | None = None, netzebeneMessung: Netzebene | None = None, messgebietnr: str | None = None, geraete: list[Geraet] | None = None, messdienstleistung: list[Dienstleistung] | None = None, messlokationszaehler: list[Zaehler] | None = None, grundzustaendigerMsbCodenr: str | None = None, grundzustaendigerMsbimCodenr: str | None = None, messadresse: Adresse | None = None, geoadresse: Geokoordinaten | None = None, katasterinformation: Katasteradresse | None = None, lokationszuordnungen: list[Lokationszuordnung] | None = None, lokationsbuendelObjektcode: str | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Object containing information about a Messlokation
- geoadresse: Geokoordinaten | None
Alternativ zu einer postalischen Adresse kann hier ein Ort mittels Geokoordinaten angegeben werden (z.B. zur Identifikation von Sendemasten).
- grundzustaendiger_msb_codenr: str | None
Codenummer des grundzuständigen Messstellenbetreibers, der für diese Messlokation zuständig ist. (Dieser ist immer dann Messstellenbetreiber, wenn kein anderer MSB die Einrichtungen an der Messlokation betreibt.)
- grundzustaendiger_msbim_codenr: str | None
Codenummer des grundzuständigen Messstellenbetreibers für intelligente Messsysteme, der für diese Messlokation zuständig ist. (Dieser ist immer dann Messstellenbetreiber, wenn kein anderer MSB die Einrichtungen an der Messlokation betreibt.)
- katasterinformation: Katasteradresse | None
Alternativ zu einer postalischen Adresse und Geokoordinaten kann hier eine Ortsangabe mittels Gemarkung und Flurstück erfolgen.
- lokationsbuendel_objektcode: str | None
Lokationsbuendel Code, der die Funktion dieses BOs an der Lokationsbuendelstruktur beschreibt.
- lokationszuordnungen: list[Lokationszuordnung] | None
Lokationszuordnung, um bspw. die zugehörigen Marktlokationen anzugeben
- messadresse: Adresse | None
Die Adresse, an der die Messeinrichtungen zu finden sind. (Nur angeben, wenn diese von der Adresse der Marktlokation abweicht.)
- messdienstleistung: list[Dienstleistung] | None
Liste der Messdienstleistungen, die zu dieser Messstelle gehört
- messlokations_id: str | None
Die Messlokations-Identifikation; Das ist die frühere Zählpunktbezeichnung
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'geoadresse': FieldInfo(annotation=Union[Geokoordinaten, NoneType], required=False, default=None, alias='geoadresse', alias_priority=1), 'geraete': FieldInfo(annotation=Union[list[Geraet], NoneType], required=False, default=None, alias='geraete', alias_priority=1, description='Liste der Geräte, die zu dieser Messstelle gehört'), 'grundzustaendiger_msb_codenr': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='grundzustaendigerMsbCodenr', alias_priority=1), 'grundzustaendiger_msbim_codenr': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='grundzustaendigerMsbimCodenr', alias_priority=1), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'katasterinformation': FieldInfo(annotation=Union[Katasteradresse, NoneType], required=False, default=None, alias='katasterinformation', alias_priority=1, description='Lokationszuordnung, um bspw. die zugehörigen Marktlokationen anzugeben'), 'lokationsbuendel_objektcode': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='lokationsbuendelObjektcode', alias_priority=1, description='Lokationsbuendel Code, der die Funktion dieses BOs an der Lokationsbuendelstruktur beschreibt.'), 'lokationszuordnungen': FieldInfo(annotation=Union[list[Lokationszuordnung], NoneType], required=False, default=None, alias='lokationszuordnungen', alias_priority=1, description='Lokationszuordnung, um bspw. die zugehörigen Marktlokationen anzugeben'), 'messadresse': FieldInfo(annotation=Union[Adresse, NoneType], required=False, default=None, alias='messadresse', alias_priority=1), 'messdienstleistung': FieldInfo(annotation=Union[list[Dienstleistung], NoneType], required=False, default=None, alias='messdienstleistung', alias_priority=1, description='Liste der Messdienstleistungen, die zu dieser Messstelle gehört'), 'messgebietnr': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='messgebietnr', alias_priority=1, description="Die Nummer des Messgebietes in der ene't-Datenbank"), 'messlokations_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='messlokationsId', alias_priority=1, description='Die Messlokations-Identifikation; Das ist die frühere Zählpunktbezeichnung'), 'messlokationszaehler': FieldInfo(annotation=Union[list[Zaehler], NoneType], required=False, default=None, alias='messlokationszaehler', alias_priority=1, description='Zähler, die zu dieser Messlokation gehören'), 'netzebene_messung': FieldInfo(annotation=Union[Netzebene, NoneType], required=False, default=None, alias='netzebeneMessung', alias_priority=1, description='Spannungsebene der Messung'), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Sparte der Messlokation, z.B. Gas oder Strom'), 'typ': FieldInfo(annotation=Literal[<Typ.MESSLOKATION: 'MESSLOKATION'>], required=False, default=<Typ.MESSLOKATION: 'MESSLOKATION'>, alias='_typ', alias_priority=2, description='Die Messlokations-Identifikation; Das ist die frühere Zählpunktbezeichnung'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
bo4e.bo.netzlokation module
Contains Netzlokation class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.netzlokation.Netzlokation(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.NETZLOKATION] = Typ.NETZLOKATION, netzlokationsId: str | None = None, sparte: Sparte | None = None, netzanschlussleistung: Menge | None = None, grundzustaendigerMsbCodenr: str | None = None, steuerkanal: bool | None = None, obiskennzahl: str | None = None, verwendungszweck: VerwendungszweckProMarktrolle | None = None, konfigurationsprodukte: list[Konfigurationsprodukt] | None = None, eigenschaftMsbLokation: Marktrolle | None = None, lokationszuordnungen: list[Lokationszuordnung] | None = None, lokationsbuendelObjektcode: str | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Object containing information about a Netzlokation
- eigenschaft_msb_lokation: Marktrolle | None
Eigenschaft des Messstellenbetreibers an der Lokation
- grundzustaendiger_msb_codenr: str | None
Codenummer des grundzuständigen Messstellenbetreibers, der für diese Netzlokation zuständig ist.
- konfigurationsprodukte: list[Konfigurationsprodukt] | None
Produkt-Daten der Netzlokation
- lokationsbuendel_objektcode: str | None
Lokationsbuendel Code, der die Funktion dieses BOs an der Lokationsbuendelstruktur beschreibt.
- lokationszuordnungen: list[Lokationszuordnung] | None
Lokationszuordnung, um bspw. die zugehörigen Messlokationen anzugeben
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'eigenschaft_msb_lokation': FieldInfo(annotation=Union[Marktrolle, NoneType], required=False, default=None, alias='eigenschaftMsbLokation', alias_priority=1, description='Eigenschaft des Messstellenbetreibers an der Lokation'), 'grundzustaendiger_msb_codenr': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='grundzustaendigerMsbCodenr', alias_priority=1, description='Codenummer des grundzuständigen Messstellenbetreibers, der für diese Netzlokation zuständig ist.'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'konfigurationsprodukte': FieldInfo(annotation=Union[list[Konfigurationsprodukt], NoneType], required=False, default=None, alias='konfigurationsprodukte', alias_priority=1, description='Produkt-Daten der Netzlokation'), 'lokationsbuendel_objektcode': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='lokationsbuendelObjektcode', alias_priority=1, description='Lokationsbuendel Code, der die Funktion dieses BOs an der Lokationsbuendelstruktur beschreibt.'), 'lokationszuordnungen': FieldInfo(annotation=Union[list[Lokationszuordnung], NoneType], required=False, default=None, alias='lokationszuordnungen', alias_priority=1, description='Lokationszuordnung, um bspw. die zugehörigen Messlokationen anzugeben'), 'netzanschlussleistung': FieldInfo(annotation=Union[Menge, NoneType], required=False, default=None, alias='netzanschlussleistung', alias_priority=1, description='Netzanschlussleistungsmenge der Netzlokation'), 'netzlokations_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='netzlokationsId', alias_priority=1, description='Identifikationsnummer einer Netzlokation, an der Energie entweder verbraucht, oder erzeugt wird'), 'obiskennzahl': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='obiskennzahl', alias_priority=1, description='Die OBIS-Kennzahl für die Netzlokation'), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Sparte der Netzlokation, z.B. Gas oder Strom.'), 'steuerkanal': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None, alias='steuerkanal', alias_priority=1, description='Ob ein Steuerkanal der Netzlokation zugeordnet ist und somit die Netzlokation gesteuert werden kann.'), 'typ': FieldInfo(annotation=Literal[<Typ.NETZLOKATION: 'NETZLOKATION'>], required=False, default=<Typ.NETZLOKATION: 'NETZLOKATION'>, alias='_typ', alias_priority=2, description='Identifikationsnummer einer Netzlokation, an der Energie entweder verbraucht, oder erzeugt wird'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'verwendungszweck': FieldInfo(annotation=Union[VerwendungszweckProMarktrolle, NoneType], required=False, default=None, alias='verwendungszweck', alias_priority=1, description='Verwendungungszweck der Werte Netzlokation'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- netzlokations_id: str | None
Identifikationsnummer einer Netzlokation, an der Energie entweder verbraucht, oder erzeugt wird
- steuerkanal: bool | None
Ob ein Steuerkanal der Netzlokation zugeordnet ist und somit die Netzlokation gesteuert werden kann.
- typ: Annotated[Literal[Typ.NETZLOKATION], FieldInfo(annotation=NoneType, required=True, alias='_typ', alias_priority=2)]
- verwendungszweck: VerwendungszweckProMarktrolle | None
Verwendungungszweck der Werte Netzlokation
bo4e.bo.person module
Contains Person class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.person.Person(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.PERSON] = Typ.PERSON, anrede: Anrede | None = None, individuelleAnrede: str | None = None, titel: Titel | None = None, vorname: str | None = None, nachname: str | None = None, kontaktwege: list[Kontaktweg] | None = None, geburtsdatum: AwareDatetime | None = None, kommentar: str | None = None, zustaendigkeiten: list[Zustaendigkeit] | None = None, adresse: Adresse | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Object containing information about a Person
Hint
- adresse: Adresse | None
Adresse der Person, falls diese von der Adresse des Geschäftspartners abweicht
- individuelle_anrede: str | None
Im Falle einer nicht standardisierten Anrede kann hier eine frei definierbare Anrede vorgegeben werden. Beispiel: “Vereinsgemeinschaft”, “Pfarrer”, “Hochwürdigster Herr Abt”.
- kontaktwege: list[Kontaktweg] | None
Kontaktwege der Person
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'adresse': FieldInfo(annotation=Union[Adresse, NoneType], required=False, default=None, alias='adresse', alias_priority=1, description='Adresse der Person, falls diese von der Adresse des Geschäftspartners abweicht'), 'anrede': FieldInfo(annotation=Union[Anrede, NoneType], required=False, default=None, alias='anrede', alias_priority=1, description='Mögliche Anrede der Person'), 'geburtsdatum': FieldInfo(annotation=Union[AwareDatetime, NoneType], required=False, default=None, alias='geburtsdatum', alias_priority=1, description='Geburtsdatum der Person'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'individuelle_anrede': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='individuelleAnrede', alias_priority=1), 'kommentar': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='kommentar', alias_priority=1, description='Weitere Informationen zur Person'), 'kontaktwege': FieldInfo(annotation=Union[list[Kontaktweg], NoneType], required=False, default=None, alias='kontaktwege', alias_priority=1, description='Kontaktwege der Person'), 'nachname': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='nachname', alias_priority=1, description='Nachname (Familienname) der Person'), 'titel': FieldInfo(annotation=Union[Titel, NoneType], required=False, default=None, alias='titel', alias_priority=1, description='Möglicher Titel der Person'), 'typ': FieldInfo(annotation=Literal[<Typ.PERSON: 'PERSON'>], required=False, default=<Typ.PERSON: 'PERSON'>, alias='_typ', alias_priority=2, description='Mögliche Anrede der Person'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'vorname': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='vorname', alias_priority=1, description='Vorname der Person'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1), 'zustaendigkeiten': FieldInfo(annotation=Union[list[Zustaendigkeit], NoneType], required=False, default=None, alias='zustaendigkeiten', alias_priority=1, description='Liste der Abteilungen und Zuständigkeiten der Person')}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- typ: Annotated[Literal[Typ.PERSON], FieldInfo(annotation=NoneType, required=True, alias='_typ', alias_priority=2)]
- zustaendigkeiten: list[Zustaendigkeit] | None
Liste der Abteilungen und Zuständigkeiten der Person
bo4e.bo.preisblatt module
Contains Preisblatt class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.preisblatt.Preisblatt(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.PREISBLATT] = Typ.PREISBLATT, bezeichnung: str | None = None, sparte: Sparte | None = None, preisstatus: Preisstatus | None = None, gueltigkeit: Zeitraum | None = None, preispositionen: list[Preisposition] | None = None, herausgeber: Marktteilnehmer | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Das allgemeine Modell zur Abbildung von Preisen; Davon abgeleitet können, über die Zuordnung identifizierender Merkmale, spezielle Preisblatt-Varianten modelliert werden.
Die jeweiligen Sätze von Merkmalen sind in der Grafik ergänzt worden und stellen jeweils eine Ausprägung für die verschiedenen Anwendungsfälle der Preisblätter dar.
- herausgeber: Marktteilnehmer | None
Der Netzbetreiber, der die Preise veröffentlicht hat
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'bezeichnung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='bezeichnung', alias_priority=1, description='Eine Bezeichnung für das Preisblatt'), 'gueltigkeit': FieldInfo(annotation=Union[Zeitraum, NoneType], required=False, default=None, alias='gueltigkeit', alias_priority=1, description='Der Zeitraum für den der Preis festgelegt ist'), 'herausgeber': FieldInfo(annotation=Union[Marktteilnehmer, NoneType], required=False, default=None, alias='herausgeber', alias_priority=1, description='Der Netzbetreiber, der die Preise veröffentlicht hat'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'preispositionen': FieldInfo(annotation=Union[list[Preisposition], NoneType], required=False, default=None, alias='preispositionen', alias_priority=1, description='Die einzelnen Positionen, die mit dem Preisblatt abgerechnet werden können. Z.B. Arbeitspreis, Grundpreis etc'), 'preisstatus': FieldInfo(annotation=Union[Preisstatus, NoneType], required=False, default=None, alias='preisstatus', alias_priority=1, description='Merkmal, das anzeigt, ob es sich um vorläufige oder endgültige Preise handelt'), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Preisblatt gilt für angegebene Sparte'), 'typ': FieldInfo(annotation=Literal[<Typ.PREISBLATT: 'PREISBLATT'>], required=False, default=<Typ.PREISBLATT: 'PREISBLATT'>, alias='_typ', alias_priority=2, description='Eine Bezeichnung für das Preisblatt'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- preispositionen: list[Preisposition] | None
Die einzelnen Positionen, die mit dem Preisblatt abgerechnet werden können. Z.B. Arbeitspreis, Grundpreis etc
- preisstatus: Preisstatus | None
Merkmal, das anzeigt, ob es sich um vorläufige oder endgültige Preise handelt
bo4e.bo.preisblattdienstleistung module
Contains PreisblattDienstleistung class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.preisblattdienstleistung.PreisblattDienstleistung(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.PREISBLATTDIENSTLEISTUNG] = Typ.PREISBLATTDIENSTLEISTUNG, bezeichnung: str | None = None, sparte: Sparte | None = None, preisstatus: Preisstatus | None = None, gueltigkeit: Zeitraum | None = None, preispositionen: list[Preisposition] | None = None, herausgeber: Marktteilnehmer | None = None, bilanzierungsmethode: Bilanzierungsmethode | None = None, basisdienstleistung: Dienstleistungstyp | None = None, geraetedetails: Geraet | None = None, inklusiveDienstleistungen: list[Dienstleistungstyp] | None = None, **extra_data: Any)[source]
Bases:
Preisblatt
Variante des Preisblattmodells zur Abbildung der Preise für wahlfreie Dienstleistungen
- basisdienstleistung: Dienstleistungstyp | None
Dienstleistung, für die der Preis abgebildet wird, z.B. Sperrung/Entsperrung
- bilanzierungsmethode: Bilanzierungsmethode | None
Die Preise gelten für Marktlokationen der angebebenen Bilanzierungsmethode
- geraetedetails: Geraet | None
Hier kann der Preis auf bestimmte Geräte eingegrenzt werden. Z.B. auf die Zählergröße
- inklusive_dienstleistungen: list[Dienstleistungstyp] | None
Weitere Dienstleistungen, die im Preis enthalten sind
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'basisdienstleistung': FieldInfo(annotation=Union[Dienstleistungstyp, NoneType], required=False, default=None, alias='basisdienstleistung', alias_priority=1, description='Dienstleistung, für die der Preis abgebildet wird, z.B. Sperrung/Entsperrung'), 'bezeichnung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='bezeichnung', alias_priority=1, description='Eine Bezeichnung für das Preisblatt'), 'bilanzierungsmethode': FieldInfo(annotation=Union[Bilanzierungsmethode, NoneType], required=False, default=None, alias='bilanzierungsmethode', alias_priority=1, description='Die Preise gelten für Marktlokationen der angebebenen Bilanzierungsmethode'), 'geraetedetails': FieldInfo(annotation=Union[Geraet, NoneType], required=False, default=None, alias='geraetedetails', alias_priority=1, description='Hier kann der Preis auf bestimmte Geräte eingegrenzt werden. Z.B. auf die Zählergröße'), 'gueltigkeit': FieldInfo(annotation=Union[Zeitraum, NoneType], required=False, default=None, alias='gueltigkeit', alias_priority=1, description='Der Zeitraum für den der Preis festgelegt ist'), 'herausgeber': FieldInfo(annotation=Union[Marktteilnehmer, NoneType], required=False, default=None, alias='herausgeber', alias_priority=1, description='Der Netzbetreiber, der die Preise veröffentlicht hat'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'inklusive_dienstleistungen': FieldInfo(annotation=Union[list[Dienstleistungstyp], NoneType], required=False, default=None, alias='inklusiveDienstleistungen', alias_priority=1, description='Weitere Dienstleistungen, die im Preis enthalten sind'), 'preispositionen': FieldInfo(annotation=Union[list[Preisposition], NoneType], required=False, default=None, alias='preispositionen', alias_priority=1, description='Die einzelnen Positionen, die mit dem Preisblatt abgerechnet werden können. Z.B. Arbeitspreis, Grundpreis etc'), 'preisstatus': FieldInfo(annotation=Union[Preisstatus, NoneType], required=False, default=None, alias='preisstatus', alias_priority=1, description='Merkmal, das anzeigt, ob es sich um vorläufige oder endgültige Preise handelt'), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Preisblatt gilt für angegebene Sparte'), 'typ': FieldInfo(annotation=Literal[<Typ.PREISBLATTDIENSTLEISTUNG: 'PREISBLATTDIENSTLEISTUNG'>], required=False, default=<Typ.PREISBLATTDIENSTLEISTUNG: 'PREISBLATTDIENSTLEISTUNG'>, alias='_typ', alias_priority=2, description='Eine Bezeichnung für das Preisblatt'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
bo4e.bo.preisblatthardware module
Contains PreisblattHardware class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.preisblatthardware.PreisblattHardware(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.PREISBLATTHARDWARE] = Typ.PREISBLATTHARDWARE, bezeichnung: str | None = None, sparte: Sparte | None = None, preisstatus: Preisstatus | None = None, gueltigkeit: Zeitraum | None = None, preispositionen: list[Preisposition] | None = None, herausgeber: Marktteilnehmer | None = None, bilanzierungsmethode: Bilanzierungsmethode | None = None, messebene: Netzebene | None = None, basisgeraet: Geraet | None = None, inklusiveDienstleistungen: list[Dienstleistungstyp] | None = None, inklusiveGeraete: list[Geraet] | None = None, **extra_data: Any)[source]
Bases:
Preisblatt
Variante des Preisblattmodells zur Abbildung der Preise für zusätzliche Hardware
- bilanzierungsmethode: Bilanzierungsmethode | None
Die Preise gelten für Marktlokationen der angebebenen Bilanzierungsmethode
- inklusive_dienstleistungen: list[Dienstleistungstyp] | None
Im Preis sind die hier angegebenen Dienstleistungen enthalten, z.B. Jährliche Ablesung
- inklusive_geraete: list[Geraet] | None
Im Preis sind die hier angegebenen Geräte mit enthalten, z.B. ein Wandler
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'basisgeraet': FieldInfo(annotation=Union[Geraet, NoneType], required=False, default=None, alias='basisgeraet', alias_priority=1, description='Der Preis betriftt das hier angegebene Gerät, z.B. ein Tarifschaltgerät'), 'bezeichnung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='bezeichnung', alias_priority=1, description='Eine Bezeichnung für das Preisblatt'), 'bilanzierungsmethode': FieldInfo(annotation=Union[Bilanzierungsmethode, NoneType], required=False, default=None, alias='bilanzierungsmethode', alias_priority=1, description='Die Preise gelten für Marktlokationen der angebebenen Bilanzierungsmethode'), 'gueltigkeit': FieldInfo(annotation=Union[Zeitraum, NoneType], required=False, default=None, alias='gueltigkeit', alias_priority=1, description='Der Zeitraum für den der Preis festgelegt ist'), 'herausgeber': FieldInfo(annotation=Union[Marktteilnehmer, NoneType], required=False, default=None, alias='herausgeber', alias_priority=1, description='Der Netzbetreiber, der die Preise veröffentlicht hat'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'inklusive_dienstleistungen': FieldInfo(annotation=Union[list[Dienstleistungstyp], NoneType], required=False, default=None, alias='inklusiveDienstleistungen', alias_priority=1, description='Im Preis sind die hier angegebenen Dienstleistungen enthalten, z.B. Jährliche Ablesung'), 'inklusive_geraete': FieldInfo(annotation=Union[list[Geraet], NoneType], required=False, default=None, alias='inklusiveGeraete', alias_priority=1, description='Im Preis sind die hier angegebenen Geräte mit enthalten, z.B. ein Wandler'), 'messebene': FieldInfo(annotation=Union[Netzebene, NoneType], required=False, default=None, alias='messebene', alias_priority=1, description='Die Preise gelten für Messlokationen in der angebebenen Netzebene'), 'preispositionen': FieldInfo(annotation=Union[list[Preisposition], NoneType], required=False, default=None, alias='preispositionen', alias_priority=1, description='Die einzelnen Positionen, die mit dem Preisblatt abgerechnet werden können. Z.B. Arbeitspreis, Grundpreis etc'), 'preisstatus': FieldInfo(annotation=Union[Preisstatus, NoneType], required=False, default=None, alias='preisstatus', alias_priority=1, description='Merkmal, das anzeigt, ob es sich um vorläufige oder endgültige Preise handelt'), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Preisblatt gilt für angegebene Sparte'), 'typ': FieldInfo(annotation=Literal[<Typ.PREISBLATTHARDWARE: 'PREISBLATTHARDWARE'>], required=False, default=<Typ.PREISBLATTHARDWARE: 'PREISBLATTHARDWARE'>, alias='_typ', alias_priority=2, description='Eine Bezeichnung für das Preisblatt'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
bo4e.bo.preisblattkonzessionsabgabe module
Contains PreisblattKonzessionsabgabe class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.preisblattkonzessionsabgabe.PreisblattKonzessionsabgabe(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.PREISBLATTKONZESSIONSABGABE] = Typ.PREISBLATTKONZESSIONSABGABE, bezeichnung: str | None = None, sparte: Sparte | None = None, preisstatus: Preisstatus | None = None, gueltigkeit: Zeitraum | None = None, preispositionen: list[Preisposition] | None = None, herausgeber: Marktteilnehmer | None = None, kundengruppeKA: KundengruppeKA | None = None, **extra_data: Any)[source]
Bases:
Preisblatt
Die Variante des Preisblattmodells zur Abbildung von allgemeinen Abgaben
- kundengruppe_k_a: KundengruppeKA | None
Kundegruppe anhand derer die Höhe der Konzessionabgabe festgelegt ist
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'bezeichnung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='bezeichnung', alias_priority=1, description='Eine Bezeichnung für das Preisblatt'), 'gueltigkeit': FieldInfo(annotation=Union[Zeitraum, NoneType], required=False, default=None, alias='gueltigkeit', alias_priority=1, description='Der Zeitraum für den der Preis festgelegt ist'), 'herausgeber': FieldInfo(annotation=Union[Marktteilnehmer, NoneType], required=False, default=None, alias='herausgeber', alias_priority=1, description='Der Netzbetreiber, der die Preise veröffentlicht hat'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'kundengruppe_k_a': FieldInfo(annotation=Union[KundengruppeKA, NoneType], required=False, default=None, alias='kundengruppeKA', alias_priority=1, description='Kundegruppe anhand derer die Höhe der Konzessionabgabe festgelegt ist'), 'preispositionen': FieldInfo(annotation=Union[list[Preisposition], NoneType], required=False, default=None, alias='preispositionen', alias_priority=1, description='Die einzelnen Positionen, die mit dem Preisblatt abgerechnet werden können. Z.B. Arbeitspreis, Grundpreis etc'), 'preisstatus': FieldInfo(annotation=Union[Preisstatus, NoneType], required=False, default=None, alias='preisstatus', alias_priority=1, description='Merkmal, das anzeigt, ob es sich um vorläufige oder endgültige Preise handelt'), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Preisblatt gilt für angegebene Sparte'), 'typ': FieldInfo(annotation=Literal[<Typ.PREISBLATTKONZESSIONSABGABE: 'PREISBLATTKONZESSIONSABGABE'>], required=False, default=<Typ.PREISBLATTKONZESSIONSABGABE: 'PREISBLATTKONZESSIONSABGABE'>, alias='_typ', alias_priority=2, description='Eine Bezeichnung für das Preisblatt'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
bo4e.bo.preisblattmessung module
Contains PreisblattMessung class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.preisblattmessung.PreisblattMessung(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.PREISBLATTMESSUNG] = Typ.PREISBLATTMESSUNG, bezeichnung: str | None = None, sparte: Sparte | None = None, preisstatus: Preisstatus | None = None, gueltigkeit: Zeitraum | None = None, preispositionen: list[Preisposition] | None = None, herausgeber: Marktteilnehmer | None = None, bilanzierungsmethode: Bilanzierungsmethode | None = None, messebene: Netzebene | None = None, zaehler: Zaehler | None = None, inklusiveDienstleistungen: list[Dienstleistungstyp] | None = None, inklusiveGeraete: list[Geraet] | None = None, **extra_data: Any)[source]
Bases:
Preisblatt
Variante des Preisblattmodells zur Abbildung der Preise des Messstellenbetriebs und damit verbundener Leistungen
- bilanzierungsmethode: Bilanzierungsmethode | None
Die Preise gelten für Marktlokationen der angebebenen Bilanzierungsmethode
- inklusive_dienstleistungen: list[Dienstleistungstyp] | None
Im Preis sind die hier angegebenen Dienstleistungen enthalten, z.B. Jährliche Ablesung
- inklusive_geraete: list[Geraet] | None
Im Preis sind die hier angegebenen Geräte mit enthalten, z.B. ein Wandler
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'bezeichnung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='bezeichnung', alias_priority=1, description='Eine Bezeichnung für das Preisblatt'), 'bilanzierungsmethode': FieldInfo(annotation=Union[Bilanzierungsmethode, NoneType], required=False, default=None, alias='bilanzierungsmethode', alias_priority=1, description='Die Preise gelten für Marktlokationen der angebebenen Bilanzierungsmethode'), 'gueltigkeit': FieldInfo(annotation=Union[Zeitraum, NoneType], required=False, default=None, alias='gueltigkeit', alias_priority=1, description='Der Zeitraum für den der Preis festgelegt ist'), 'herausgeber': FieldInfo(annotation=Union[Marktteilnehmer, NoneType], required=False, default=None, alias='herausgeber', alias_priority=1, description='Der Netzbetreiber, der die Preise veröffentlicht hat'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'inklusive_dienstleistungen': FieldInfo(annotation=Union[list[Dienstleistungstyp], NoneType], required=False, default=None, alias='inklusiveDienstleistungen', alias_priority=1, description='Im Preis sind die hier angegebenen Dienstleistungen enthalten, z.B. Jährliche Ablesung'), 'inklusive_geraete': FieldInfo(annotation=Union[list[Geraet], NoneType], required=False, default=None, alias='inklusiveGeraete', alias_priority=1, description='Im Preis sind die hier angegebenen Geräte mit enthalten, z.B. ein Wandler'), 'messebene': FieldInfo(annotation=Union[Netzebene, NoneType], required=False, default=None, alias='messebene', alias_priority=1, description='Die Preise gelten für Messlokationen in der angebebenen Netzebene'), 'preispositionen': FieldInfo(annotation=Union[list[Preisposition], NoneType], required=False, default=None, alias='preispositionen', alias_priority=1, description='Die einzelnen Positionen, die mit dem Preisblatt abgerechnet werden können. Z.B. Arbeitspreis, Grundpreis etc'), 'preisstatus': FieldInfo(annotation=Union[Preisstatus, NoneType], required=False, default=None, alias='preisstatus', alias_priority=1, description='Merkmal, das anzeigt, ob es sich um vorläufige oder endgültige Preise handelt'), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Preisblatt gilt für angegebene Sparte'), 'typ': FieldInfo(annotation=Literal[<Typ.PREISBLATTMESSUNG: 'PREISBLATTMESSUNG'>], required=False, default=<Typ.PREISBLATTMESSUNG: 'PREISBLATTMESSUNG'>, alias='_typ', alias_priority=2, description='Eine Bezeichnung für das Preisblatt'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'zaehler': FieldInfo(annotation=Union[Zaehler, NoneType], required=False, default=None, alias='zaehler', alias_priority=1, description='Der Preis betrifft den hier angegebenen Zähler, z.B. einen Drehstromzähler'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
bo4e.bo.preisblattnetznutzung module
Contains PreisblattNetnutzung class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.preisblattnetznutzung.PreisblattNetznutzung(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.PREISBLATTNETZNUTZUNG] = Typ.PREISBLATTNETZNUTZUNG, bezeichnung: str | None = None, sparte: Sparte | None = None, preisstatus: Preisstatus | None = None, gueltigkeit: Zeitraum | None = None, preispositionen: list[Preisposition] | None = None, herausgeber: Marktteilnehmer | None = None, bilanzierungsmethode: Bilanzierungsmethode | None = None, netzebene: Netzebene | None = None, kundengruppe: Kundengruppe | None = None, **extra_data: Any)[source]
Bases:
Preisblatt
Die Variante des Preisblattmodells zur Abbildung der Netznutzungspreise
- bilanzierungsmethode: Bilanzierungsmethode | None
Die Preise gelten für Marktlokationen der angebebenen Bilanzierungsmethode
- kundengruppe: Kundengruppe | None
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'bezeichnung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='bezeichnung', alias_priority=1, description='Eine Bezeichnung für das Preisblatt'), 'bilanzierungsmethode': FieldInfo(annotation=Union[Bilanzierungsmethode, NoneType], required=False, default=None, alias='bilanzierungsmethode', alias_priority=1, description='Die Preise gelten für Marktlokationen der angebebenen Bilanzierungsmethode'), 'gueltigkeit': FieldInfo(annotation=Union[Zeitraum, NoneType], required=False, default=None, alias='gueltigkeit', alias_priority=1, description='Der Zeitraum für den der Preis festgelegt ist'), 'herausgeber': FieldInfo(annotation=Union[Marktteilnehmer, NoneType], required=False, default=None, alias='herausgeber', alias_priority=1, description='Der Netzbetreiber, der die Preise veröffentlicht hat'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'kundengruppe': FieldInfo(annotation=Union[Kundengruppe, NoneType], required=False, default=None, alias='kundengruppe', alias_priority=1), 'netzebene': FieldInfo(annotation=Union[Netzebene, NoneType], required=False, default=None, alias='netzebene', alias_priority=1, description='Die Preise gelten für Marktlokationen in der angebebenen Netzebene'), 'preispositionen': FieldInfo(annotation=Union[list[Preisposition], NoneType], required=False, default=None, alias='preispositionen', alias_priority=1, description='Die einzelnen Positionen, die mit dem Preisblatt abgerechnet werden können. Z.B. Arbeitspreis, Grundpreis etc'), 'preisstatus': FieldInfo(annotation=Union[Preisstatus, NoneType], required=False, default=None, alias='preisstatus', alias_priority=1, description='Merkmal, das anzeigt, ob es sich um vorläufige oder endgültige Preise handelt'), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Preisblatt gilt für angegebene Sparte'), 'typ': FieldInfo(annotation=Literal[<Typ.PREISBLATTNETZNUTZUNG: 'PREISBLATTNETZNUTZUNG'>], required=False, default=<Typ.PREISBLATTNETZNUTZUNG: 'PREISBLATTNETZNUTZUNG'>, alias='_typ', alias_priority=2, description='Eine Bezeichnung für das Preisblatt'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
bo4e.bo.rechnung module
Contains Rechnung class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.rechnung.Rechnung(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.RECHNUNG] = Typ.RECHNUNG, istStorno: bool | None = None, rechnungsnummer: str | None = None, rechnungsdatum: AwareDatetime | None = None, faelligkeitsdatum: AwareDatetime | None = None, rechnungstyp: Rechnungstyp | None = None, rechnungsperiode: Zeitraum | None = None, rechnungsersteller: Geschaeftspartner | None = None, rechnungsempfaenger: Geschaeftspartner | None = None, gesamtnetto: Betrag | None = None, gesamtsteuer: Betrag | None = None, gesamtbrutto: Betrag | None = None, zuZahlen: Betrag | None = None, rechnungspositionen: list[Rechnungsposition] | None = None, rechnungstitel: str | None = None, rechnungsstatus: Rechnungsstatus | None = None, originalRechnungsnummer: str | None = None, vorausgezahlt: Betrag | None = None, rabattBrutto: Betrag | None = None, steuerbetraege: list[Steuerbetrag] | None = None, sparte: Sparte | None = None, netznutzungrechnungsart: NetznutzungRechnungsart | None = None, netznutzungrechnungstyp: NetznutzungRechnungstyp | None = None, istOriginal: bool | None = None, istSimuliert: bool | None = None, marktlokation: Marktlokation | None = None, messlokation: Messlokation | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Modell für die Abbildung von Rechnungen und Netznutzungsrechnungen im Kontext der Energiewirtschaft;
Hint
- ist_original: bool | None
Kennzeichen, ob es sich um ein Original (true) oder eine Kopie handelt (false)
- ist_simuliert: bool | None
Kennzeichen, ob es sich um eine simulierte Rechnung, z.B. zur Rechnungsprüfung handelt
- ist_storno: bool | None
Kennzeichnung, ob es sich um eine Stornorechnung handelt; im Falle “true” findet sich im Attribut “originalrechnungsnummer” die Nummer der Originalrechnung.
- marktlokation: Marktlokation | None
Marktlokation, auf die sich die Rechnung bezieht
- messlokation: Messlokation | None
Messlokation, auf die sich die Rechnung bezieht
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'faelligkeitsdatum': FieldInfo(annotation=Union[AwareDatetime, NoneType], required=False, default=None, alias='faelligkeitsdatum', alias_priority=1, description='Zu diesem Datum ist die Zahlung fällig'), 'gesamtbrutto': FieldInfo(annotation=Union[Betrag, NoneType], required=False, default=None, alias='gesamtbrutto', alias_priority=1, description='Die Summe aus Netto- und Steuerbetrag'), 'gesamtnetto': FieldInfo(annotation=Union[Betrag, NoneType], required=False, default=None, alias='gesamtnetto', alias_priority=1, description='Die Summe der Nettobeträge der Rechnungsteile'), 'gesamtsteuer': FieldInfo(annotation=Union[Betrag, NoneType], required=False, default=None, alias='gesamtsteuer', alias_priority=1, description='Die Summe der Steuerbeträge der Rechnungsteile'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'ist_original': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None, alias='istOriginal', alias_priority=1, description='Kennzeichen, ob es sich um ein Original (true) oder eine Kopie handelt (false)'), 'ist_simuliert': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None, alias='istSimuliert', alias_priority=1, description='Kennzeichen, ob es sich um eine simulierte Rechnung, z.B. zur Rechnungsprüfung handelt'), 'ist_storno': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None, alias='istStorno', alias_priority=1, description='Eine im Verwendungskontext eindeutige Nummer für die Rechnung'), 'marktlokation': FieldInfo(annotation=Union[Marktlokation, NoneType], required=False, default=None, alias='marktlokation', alias_priority=1, description='Marktlokation, auf die sich die Rechnung bezieht'), 'messlokation': FieldInfo(annotation=Union[Messlokation, NoneType], required=False, default=None, alias='messlokation', alias_priority=1, description='Messlokation, auf die sich die Rechnung bezieht'), 'netznutzungrechnungsart': FieldInfo(annotation=Union[NetznutzungRechnungsart, NoneType], required=False, default=None, alias='netznutzungrechnungsart', alias_priority=1, description='Aus der INVOIC entnommen, befüllt wenn es sich um eine Netznutzungsrechnung handelt'), 'netznutzungrechnungstyp': FieldInfo(annotation=Union[NetznutzungRechnungstyp, NoneType], required=False, default=None, alias='netznutzungrechnungstyp', alias_priority=1, description='Aus der INVOIC entnommen, befüllt wenn es sich um eine Netznutzungsrechnung handelt'), 'original_rechnungsnummer': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='originalRechnungsnummer', alias_priority=1, description='Im Falle einer Stornorechnung (storno = true) steht hier die Rechnungsnummer der stornierten Rechnung'), 'rabatt_brutto': FieldInfo(annotation=Union[Betrag, NoneType], required=False, default=None, alias='rabattBrutto', alias_priority=1, description='Gesamtrabatt auf den Bruttobetrag'), 'rechnungsdatum': FieldInfo(annotation=Union[AwareDatetime, NoneType], required=False, default=None, alias='rechnungsdatum', alias_priority=1, description='Ausstellungsdatum der Rechnung'), 'rechnungsempfaenger': FieldInfo(annotation=Union[Geschaeftspartner, NoneType], required=False, default=None, alias='rechnungsempfaenger', alias_priority=1, description='Der Aussteller der Rechnung, die Rollencodenummer kennt man über den im Geschäftspartner verlinkten Marktteilnehmer'), 'rechnungsersteller': FieldInfo(annotation=Union[Geschaeftspartner, NoneType], required=False, default=None, alias='rechnungsersteller', alias_priority=1, description='Der Aussteller der Rechnung, die Rollencodenummer kennt man über den im Geschäftspartner verlinkten Marktteilnehmer'), 'rechnungsnummer': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='rechnungsnummer', alias_priority=1, description='Eine im Verwendungskontext eindeutige Nummer für die Rechnung'), 'rechnungsperiode': FieldInfo(annotation=Union[Zeitraum, NoneType], required=False, default=None, alias='rechnungsperiode', alias_priority=1, description='Der Zeitraum der zugrunde liegenden Lieferung zur Rechnung'), 'rechnungspositionen': FieldInfo(annotation=Union[list[Rechnungsposition], NoneType], required=False, default=None, alias='rechnungspositionen', alias_priority=1, description='Die Rechnungspositionen'), 'rechnungsstatus': FieldInfo(annotation=Union[Rechnungsstatus, NoneType], required=False, default=None, alias='rechnungsstatus', alias_priority=1, description='Status der Rechnung zur Kennzeichnung des Bearbeitungsstandes'), 'rechnungstitel': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='rechnungstitel', alias_priority=1, description='Bezeichnung für die vorliegende Rechnung'), 'rechnungstyp': FieldInfo(annotation=Union[Rechnungstyp, NoneType], required=False, default=None, alias='rechnungstyp', alias_priority=1, description='Ein kontextbezogender Rechnungstyp, z.B. Netznutzungsrechnung'), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Sparte (Strom, Gas ...) für die die Rechnung ausgestellt ist'), 'steuerbetraege': FieldInfo(annotation=Union[list[Steuerbetrag], NoneType], required=False, default=None, alias='steuerbetraege', alias_priority=1, description='Sparte (Strom, Gas ...) für die die Rechnung ausgestellt ist'), 'typ': FieldInfo(annotation=Literal[<Typ.RECHNUNG: 'RECHNUNG'>], required=False, default=<Typ.RECHNUNG: 'RECHNUNG'>, alias='_typ', alias_priority=2, description='Der Zeitraum der zugrunde liegenden Lieferung zur Rechnung'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'vorausgezahlt': FieldInfo(annotation=Union[Betrag, NoneType], required=False, default=None, alias='vorausgezahlt', alias_priority=1, description='Die Summe evtl. vorausgezahlter Beträge, z.B. Abschläge. Angabe als Bruttowert'), 'zu_zahlen': FieldInfo(annotation=Union[Betrag, NoneType], required=False, default=None, alias='zuZahlen', alias_priority=1, description='Der zu zahlende Betrag, der sich aus (gesamtbrutto - vorausbezahlt - rabattBrutto) ergibt'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- netznutzungrechnungsart: NetznutzungRechnungsart | None
Aus der INVOIC entnommen, befüllt wenn es sich um eine Netznutzungsrechnung handelt
- netznutzungrechnungstyp: NetznutzungRechnungstyp | None
Aus der INVOIC entnommen, befüllt wenn es sich um eine Netznutzungsrechnung handelt
- original_rechnungsnummer: str | None
Im Falle einer Stornorechnung (storno = true) steht hier die Rechnungsnummer der stornierten Rechnung
- rechnungsempfaenger: Geschaeftspartner | None
Der Aussteller der Rechnung, die Rollencodenummer kennt man über den im Geschäftspartner verlinkten Marktteilnehmer
- rechnungsersteller: Geschaeftspartner | None
Der Aussteller der Rechnung, die Rollencodenummer kennt man über den im Geschäftspartner verlinkten Marktteilnehmer
- rechnungspositionen: list[Rechnungsposition] | None
Die Rechnungspositionen
- rechnungsstatus: Rechnungsstatus | None
Status der Rechnung zur Kennzeichnung des Bearbeitungsstandes
- rechnungstyp: Rechnungstyp | None
Ein kontextbezogender Rechnungstyp, z.B. Netznutzungsrechnung
- steuerbetraege: list[Steuerbetrag] | None
Eine Liste mit Steuerbeträgen pro Steuerkennzeichen/Steuersatz; die Summe dieser Beträge ergibt den Wert für gesamtsteuer.
- typ: Annotated[Literal[Typ.RECHNUNG], FieldInfo(annotation=NoneType, required=True, alias='_typ', alias_priority=2)]
bo4e.bo.region module
Contains Region class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.region.Region(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.REGION] = Typ.REGION, bezeichnung: str | None = None, positivListe: list[Regionskriterium] | None = None, negativListe: list[Regionskriterium] | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Modellierung einer Region als Menge von Kriterien, die eine Region beschreiben
Hint
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'bezeichnung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='bezeichnung', alias_priority=1, description='Bezeichnung der Region'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'negativ_liste': FieldInfo(annotation=Union[list[Regionskriterium], NoneType], required=False, default=None, alias='negativListe', alias_priority=1, description='Negativliste der Kriterien zur Definition der Region'), 'positiv_liste': FieldInfo(annotation=Union[list[Regionskriterium], NoneType], required=False, default=None, alias='positivListe', alias_priority=1, description='Positivliste der Kriterien zur Definition der Region'), 'typ': FieldInfo(annotation=Literal[<Typ.REGION: 'REGION'>], required=False, default=<Typ.REGION: 'REGION'>, alias='_typ', alias_priority=2, description='Bezeichnung der Region'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- negativ_liste: list[Regionskriterium] | None
Negativliste der Kriterien zur Definition der Region
- positiv_liste: list[Regionskriterium] | None
Positivliste der Kriterien zur Definition der Region
bo4e.bo.regionaltarif module
Contains Regionaltarif class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.regionaltarif.Regionaltarif(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.REGIONALTARIF] = Typ.REGIONALTARIF, bezeichnung: str | None = None, anbietername: str | None = None, sparte: Sparte | None = None, kundentypen: list[Kundentyp] | None = None, registeranzahl: Registeranzahl | None = None, tariftyp: Tariftyp | None = None, tarifmerkmale: list[Tarifmerkmal] | None = None, anbieter: Marktteilnehmer | None = None, website: str | None = None, bemerkung: str | None = None, zeitlicheGueltigkeit: Zeitraum | None = None, energiemix: Energiemix | None = None, vertragskonditionen: Vertragskonditionen | None = None, anwendungVon: AwareDatetime | None = None, preisstand: AwareDatetime | None = None, berechnungsparameter: Tarifberechnungsparameter | None = None, tarifpreise: list[RegionaleTarifpreisposition] | None = None, tarifAufAbschlaege: list[RegionalerAufAbschlag] | None = None, preisgarantien: list[RegionalePreisgarantie] | None = None, tarifeinschraenkung: Tarifeinschraenkung | None = None, **extra_data: Any)[source]
Bases:
Tarifinfo
- berechnungsparameter: Tarifberechnungsparameter | None
Für die Berechnung der Kosten sind die hier abgebildeten Parameter heranzuziehen
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'anbieter': FieldInfo(annotation=Union[Marktteilnehmer, NoneType], required=False, default=None, alias='anbieter', alias_priority=1, description='Der Marktteilnehmer (Lieferant), der diesen Tarif anbietet'), 'anbietername': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='anbietername', alias_priority=1, description='Der Name des Marktpartners, der den Tarif anbietet'), 'anwendung_von': FieldInfo(annotation=Union[AwareDatetime, NoneType], required=False, default=None, alias='anwendungVon', alias_priority=1), 'bemerkung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='bemerkung', alias_priority=1, description='Freitext'), 'berechnungsparameter': FieldInfo(annotation=Union[Tarifberechnungsparameter, NoneType], required=False, default=None, alias='berechnungsparameter', alias_priority=1), 'bezeichnung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='bezeichnung', alias_priority=1, description='Name des Tarifs'), 'energiemix': FieldInfo(annotation=Union[Energiemix, NoneType], required=False, default=None, alias='energiemix', alias_priority=1, description='Der Energiemix, der für diesen Tarif gilt'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'kundentypen': FieldInfo(annotation=Union[list[Kundentyp], NoneType], required=False, default=None, alias='kundentypen', alias_priority=1, description='Kundentypen für den der Tarif gilt, z.B. Privatkunden'), 'preisgarantien': FieldInfo(annotation=Union[list[RegionalePreisgarantie], NoneType], required=False, default=None, alias='preisgarantien', alias_priority=1), 'preisstand': FieldInfo(annotation=Union[AwareDatetime, NoneType], required=False, default=None, alias='preisstand', alias_priority=1), 'registeranzahl': FieldInfo(annotation=Union[Registeranzahl, NoneType], required=False, default=None, alias='registeranzahl', alias_priority=1, description='Die Art des Tarifes, z.B. Eintarif oder Mehrtarif'), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Strom oder Gas, etc.'), 'tarif_auf_abschlaege': FieldInfo(annotation=Union[list[RegionalerAufAbschlag], NoneType], required=False, default=None, alias='tarifAufAbschlaege', alias_priority=1), 'tarifeinschraenkung': FieldInfo(annotation=Union[Tarifeinschraenkung, NoneType], required=False, default=None, alias='tarifeinschraenkung', alias_priority=1), 'tarifmerkmale': FieldInfo(annotation=Union[list[Tarifmerkmal], NoneType], required=False, default=None, alias='tarifmerkmale', alias_priority=1, description='Weitere Merkmale des Tarifs, z.B. Festpreis oder Vorkasse'), 'tarifpreise': FieldInfo(annotation=Union[list[RegionaleTarifpreisposition], NoneType], required=False, default=None, alias='tarifpreise', alias_priority=1), 'tariftyp': FieldInfo(annotation=Union[Tariftyp, NoneType], required=False, default=None, alias='tariftyp', alias_priority=1, description='Hinweis auf den Tariftyp, z.B. Grundversorgung oder Sondertarif'), 'typ': FieldInfo(annotation=Literal[<Typ.REGIONALTARIF: 'REGIONALTARIF'>], required=False, default=<Typ.REGIONALTARIF: 'REGIONALTARIF'>, alias='_typ', alias_priority=2), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'vertragskonditionen': FieldInfo(annotation=Union[Vertragskonditionen, NoneType], required=False, default=None, alias='vertragskonditionen', alias_priority=1, description='Mindestlaufzeiten und Kündigungsfristen zusammengefasst'), 'website': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='website', alias_priority=1, description='Internetseite auf dem der Tarif zu finden ist'), 'zeitliche_gueltigkeit': FieldInfo(annotation=Union[Zeitraum, NoneType], required=False, default=None, alias='zeitlicheGueltigkeit', alias_priority=1, description='Angabe, in welchem Zeitraum der Tarif gültig ist'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- preisgarantien: list[RegionalePreisgarantie] | None
Festlegung von Garantien für bestimmte Preisanteile
- tarif_auf_abschlaege: list[RegionalerAufAbschlag] | None
Auf- und Abschläge auf die Preise oder Kosten mit regionaler Eingrenzung
- tarifeinschraenkung: Tarifeinschraenkung | None
Die Bedingungen und Einschränkungen unter denen ein Tarif angewendet werden kann
- tarifpreise: list[RegionaleTarifpreisposition] | None
Die festgelegten Preise mit regionaler Eingrenzung, z.B. für Arbeitspreis, Grundpreis etc.
bo4e.bo.standorteigenschaften module
Contains Standorteigenschaften class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.standorteigenschaften.Standorteigenschaften(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.STANDORTEIGENSCHAFTEN] = Typ.STANDORTEIGENSCHAFTEN, eigenschaftenStrom: list[StandorteigenschaftenStrom] | None = None, eigenschaftenGas: StandorteigenschaftenGas | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Modelliert die regionalen und spartenspezifischen Eigenschaften einer gegebenen Adresse.
- eigenschaften_gas: StandorteigenschaftenGas | None
Eigenschaften zur Sparte Gas
- eigenschaften_strom: list[StandorteigenschaftenStrom] | None
Eigenschaften zur Sparte Strom
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'eigenschaften_gas': FieldInfo(annotation=Union[StandorteigenschaftenGas, NoneType], required=False, default=None, alias='eigenschaftenGas', alias_priority=1, description='Eigenschaften zur Sparte Gas'), 'eigenschaften_strom': FieldInfo(annotation=Union[list[StandorteigenschaftenStrom], NoneType], required=False, default=None, alias='eigenschaftenStrom', alias_priority=1, description='Eigenschaften zur Sparte Strom'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'typ': FieldInfo(annotation=Literal[<Typ.STANDORTEIGENSCHAFTEN: 'STANDORTEIGENSCHAFTEN'>], required=False, default=<Typ.STANDORTEIGENSCHAFTEN: 'STANDORTEIGENSCHAFTEN'>, alias='_typ', alias_priority=2, description='Eigenschaften zur Sparte Strom'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
bo4e.bo.steuerbareressource module
Contains steuerbare Ressource class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.steuerbareressource.SteuerbareRessource(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.STEUERBARERESSOURCE] = Typ.STEUERBARERESSOURCE, steuerbareRessourceId: str | None = None, steuerkanalLeistungsbeschreibung: SteuerkanalLeistungsbeschreibung | None = None, zugeordneteMsbCodenummer: str | None = None, konfigurationsprodukte: list[Konfigurationsprodukt] | None = None, eigenschaftMsbLokation: Marktrolle | None = None, lokationszuordnungen: list[Lokationszuordnung] | None = None, lokationsbuendelObjektcode: str | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Object containing information about a steuerbare Ressource
- eigenschaft_msb_lokation: Marktrolle | None
Eigenschaft des Messstellenbetreibers an der Lokation
- konfigurationsprodukte: list[Konfigurationsprodukt] | None
Produkt-Daten der Steuerbaren Ressource
- lokationsbuendel_objektcode: str | None
Lokationsbuendel Code, der die Funktion dieses BOs an der Lokationsbuendelstruktur beschreibt.
- lokationszuordnungen: list[Lokationszuordnung] | None
Lokationszuordnung, um bspw. die zugehörigen Messlokationen anzugeben
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'eigenschaft_msb_lokation': FieldInfo(annotation=Union[Marktrolle, NoneType], required=False, default=None, alias='eigenschaftMsbLokation', alias_priority=1, description='Eigenschaft des Messstellenbetreibers an der Lokation'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'konfigurationsprodukte': FieldInfo(annotation=Union[list[Konfigurationsprodukt], NoneType], required=False, default=None, alias='konfigurationsprodukte', alias_priority=1, description='Produkt-Daten der Steuerbaren Ressource'), 'lokationsbuendel_objektcode': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='lokationsbuendelObjektcode', alias_priority=1, description='Lokationsbuendel Code, der die Funktion dieses BOs an der Lokationsbuendelstruktur beschreibt.'), 'lokationszuordnungen': FieldInfo(annotation=Union[list[Lokationszuordnung], NoneType], required=False, default=None, alias='lokationszuordnungen', alias_priority=1, description='Lokationszuordnung, um bspw. die zugehörigen Messlokationen anzugeben'), 'steuerbare_ressource_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='steuerbareRessourceId', alias_priority=1, description='Id der steuerbaren Ressource'), 'steuerkanal_leistungsbeschreibung': FieldInfo(annotation=Union[SteuerkanalLeistungsbeschreibung, NoneType], required=False, default=None, alias='steuerkanalLeistungsbeschreibung', alias_priority=1, description='Leistungsbeschreibung des Steuerkanals'), 'typ': FieldInfo(annotation=Literal[<Typ.STEUERBARERESSOURCE: 'STEUERBARERESSOURCE'>], required=False, default=<Typ.STEUERBARERESSOURCE: 'STEUERBARERESSOURCE'>, alias='_typ', alias_priority=2, description='Id der steuerbaren Ressource'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'zugeordnete_msb_codenummer': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='zugeordneteMsbCodenummer', alias_priority=1, description='Angabe des Messstellenbetreibers, der der Steuerbaren Ressource zugeordnet ist.'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- steuerkanal_leistungsbeschreibung: SteuerkanalLeistungsbeschreibung | None
Leistungsbeschreibung des Steuerkanals
bo4e.bo.tarif module
Contains Tarif class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.tarif.Tarif(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.TARIF] = Typ.TARIF, bezeichnung: str | None = None, anbietername: str | None = None, sparte: Sparte | None = None, kundentypen: list[Kundentyp] | None = None, registeranzahl: Registeranzahl | None = None, tariftyp: Tariftyp | None = None, tarifmerkmale: list[Tarifmerkmal] | None = None, anbieter: Marktteilnehmer | None = None, website: str | None = None, bemerkung: str | None = None, zeitlicheGueltigkeit: Zeitraum | None = None, energiemix: Energiemix | None = None, vertragskonditionen: Vertragskonditionen | None = None, anwendungVon: AwareDatetime | None = None, preisstand: AwareDatetime | None = None, berechnungsparameter: Tarifberechnungsparameter | None = None, tarifpreise: list[TarifpreispositionProOrt] | None = None, tarifAufAbschlaege: list[AufAbschlagRegional] | None = None, preisgarantie: Preisgarantie | None = None, tarifeinschraenkung: Tarifeinschraenkung | None = None, **extra_data: Any)[source]
Bases:
Tarifinfo
Abbildung eines Tarifs mit regionaler Zuordnung von Preisen und Auf- und Abschlägen
Hint
- berechnungsparameter: Tarifberechnungsparameter | None
Für die Berechnung der Kosten sind die hier abgebildeten Parameter heranzuziehen
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'anbieter': FieldInfo(annotation=Union[Marktteilnehmer, NoneType], required=False, default=None, alias='anbieter', alias_priority=1, description='Der Marktteilnehmer (Lieferant), der diesen Tarif anbietet'), 'anbietername': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='anbietername', alias_priority=1, description='Der Name des Marktpartners, der den Tarif anbietet'), 'anwendung_von': FieldInfo(annotation=Union[AwareDatetime, NoneType], required=False, default=None, alias='anwendungVon', alias_priority=1), 'bemerkung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='bemerkung', alias_priority=1, description='Freitext'), 'berechnungsparameter': FieldInfo(annotation=Union[Tarifberechnungsparameter, NoneType], required=False, default=None, alias='berechnungsparameter', alias_priority=1, description='Für die Berechnung der Kosten sind die hier abgebildeten Parameter heranzuziehen'), 'bezeichnung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='bezeichnung', alias_priority=1, description='Name des Tarifs'), 'energiemix': FieldInfo(annotation=Union[Energiemix, NoneType], required=False, default=None, alias='energiemix', alias_priority=1, description='Der Energiemix, der für diesen Tarif gilt'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'kundentypen': FieldInfo(annotation=Union[list[Kundentyp], NoneType], required=False, default=None, alias='kundentypen', alias_priority=1, description='Kundentypen für den der Tarif gilt, z.B. Privatkunden'), 'preisgarantie': FieldInfo(annotation=Union[Preisgarantie, NoneType], required=False, default=None, alias='preisgarantie', alias_priority=1, description='Preisgarantie für diesen Tarif'), 'preisstand': FieldInfo(annotation=Union[AwareDatetime, NoneType], required=False, default=None, alias='preisstand', alias_priority=1, description='Gibt an, wann der Preis zuletzt angepasst wurde'), 'registeranzahl': FieldInfo(annotation=Union[Registeranzahl, NoneType], required=False, default=None, alias='registeranzahl', alias_priority=1, description='Die Art des Tarifes, z.B. Eintarif oder Mehrtarif'), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Strom oder Gas, etc.'), 'tarif_auf_abschlaege': FieldInfo(annotation=Union[list[AufAbschlagRegional], NoneType], required=False, default=None, alias='tarifAufAbschlaege', alias_priority=1, description='Auf- und Abschläge auf die Preise oder Kosten mit regionaler Eingrenzung'), 'tarifeinschraenkung': FieldInfo(annotation=Union[Tarifeinschraenkung, NoneType], required=False, default=None, alias='tarifeinschraenkung', alias_priority=1, description='Die Bedingungen und Einschränkungen unter denen ein Tarif angewendet werden kann'), 'tarifmerkmale': FieldInfo(annotation=Union[list[Tarifmerkmal], NoneType], required=False, default=None, alias='tarifmerkmale', alias_priority=1, description='Weitere Merkmale des Tarifs, z.B. Festpreis oder Vorkasse'), 'tarifpreise': FieldInfo(annotation=Union[list[TarifpreispositionProOrt], NoneType], required=False, default=None, alias='tarifpreise', alias_priority=1, description='Die festgelegten Preise mit regionaler Eingrenzung z.B. für Arbeitspreis, Grundpreis etc.'), 'tariftyp': FieldInfo(annotation=Union[Tariftyp, NoneType], required=False, default=None, alias='tariftyp', alias_priority=1, description='Hinweis auf den Tariftyp, z.B. Grundversorgung oder Sondertarif'), 'typ': FieldInfo(annotation=Literal[<Typ.TARIF: 'TARIF'>], required=False, default=<Typ.TARIF: 'TARIF'>, alias='_typ', alias_priority=2, description='Name des Tarifs'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'vertragskonditionen': FieldInfo(annotation=Union[Vertragskonditionen, NoneType], required=False, default=None, alias='vertragskonditionen', alias_priority=1, description='Mindestlaufzeiten und Kündigungsfristen zusammengefasst'), 'website': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='website', alias_priority=1, description='Internetseite auf dem der Tarif zu finden ist'), 'zeitliche_gueltigkeit': FieldInfo(annotation=Union[Zeitraum, NoneType], required=False, default=None, alias='zeitlicheGueltigkeit', alias_priority=1, description='Angabe, in welchem Zeitraum der Tarif gültig ist'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- preisgarantie: Preisgarantie | None
Preisgarantie für diesen Tarif
- tarif_auf_abschlaege: list[AufAbschlagRegional] | None
Auf- und Abschläge auf die Preise oder Kosten mit regionaler Eingrenzung
- tarifeinschraenkung: Tarifeinschraenkung | None
Die Bedingungen und Einschränkungen unter denen ein Tarif angewendet werden kann
- tarifpreise: list[TarifpreispositionProOrt] | None
Die festgelegten Preise mit regionaler Eingrenzung z.B. für Arbeitspreis, Grundpreis etc.
bo4e.bo.tarifinfo module
Contains Tarifinfo class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.tarifinfo.Tarifinfo(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.TARIFINFO] = Typ.TARIFINFO, bezeichnung: str | None = None, anbietername: str | None = None, sparte: Sparte | None = None, kundentypen: list[Kundentyp] | None = None, registeranzahl: Registeranzahl | None = None, tariftyp: Tariftyp | None = None, tarifmerkmale: list[Tarifmerkmal] | None = None, anbieter: Marktteilnehmer | None = None, website: str | None = None, bemerkung: str | None = None, zeitlicheGueltigkeit: Zeitraum | None = None, energiemix: Energiemix | None = None, vertragskonditionen: Vertragskonditionen | None = None, anwendungVon: AwareDatetime | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Das BO Tarifinfo liefert die Merkmale, die einen Endkundentarif identifizierbar machen. Dieses BO dient als Basis für weitere BOs mit erweiterten Anwendungsmöglichkeiten.
- anbieter: Marktteilnehmer | None
Der Marktteilnehmer (Lieferant), der diesen Tarif anbietet
- anwendung_von: AwareDatetime | None
Angabe des inklusiven Zeitpunkts, ab dem der Tarif bzw. der Preis angewendet und abgerechnet wird, z.B. “2021-07-20T18:31:48Z”
- energiemix: Energiemix | None
Der Energiemix, der für diesen Tarif gilt
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'anbieter': FieldInfo(annotation=Union[Marktteilnehmer, NoneType], required=False, default=None, alias='anbieter', alias_priority=1, description='Der Marktteilnehmer (Lieferant), der diesen Tarif anbietet'), 'anbietername': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='anbietername', alias_priority=1, description='Der Name des Marktpartners, der den Tarif anbietet'), 'anwendung_von': FieldInfo(annotation=Union[AwareDatetime, NoneType], required=False, default=None, alias='anwendungVon', alias_priority=1), 'bemerkung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='bemerkung', alias_priority=1, description='Freitext'), 'bezeichnung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='bezeichnung', alias_priority=1, description='Name des Tarifs'), 'energiemix': FieldInfo(annotation=Union[Energiemix, NoneType], required=False, default=None, alias='energiemix', alias_priority=1, description='Der Energiemix, der für diesen Tarif gilt'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'kundentypen': FieldInfo(annotation=Union[list[Kundentyp], NoneType], required=False, default=None, alias='kundentypen', alias_priority=1, description='Kundentypen für den der Tarif gilt, z.B. Privatkunden'), 'registeranzahl': FieldInfo(annotation=Union[Registeranzahl, NoneType], required=False, default=None, alias='registeranzahl', alias_priority=1, description='Die Art des Tarifes, z.B. Eintarif oder Mehrtarif'), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Strom oder Gas, etc.'), 'tarifmerkmale': FieldInfo(annotation=Union[list[Tarifmerkmal], NoneType], required=False, default=None, alias='tarifmerkmale', alias_priority=1, description='Weitere Merkmale des Tarifs, z.B. Festpreis oder Vorkasse'), 'tariftyp': FieldInfo(annotation=Union[Tariftyp, NoneType], required=False, default=None, alias='tariftyp', alias_priority=1, description='Hinweis auf den Tariftyp, z.B. Grundversorgung oder Sondertarif'), 'typ': FieldInfo(annotation=Literal[<Typ.TARIFINFO: 'TARIFINFO'>], required=False, default=<Typ.TARIFINFO: 'TARIFINFO'>, alias='_typ', alias_priority=2, description='Name des Tarifs'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'vertragskonditionen': FieldInfo(annotation=Union[Vertragskonditionen, NoneType], required=False, default=None, alias='vertragskonditionen', alias_priority=1, description='Mindestlaufzeiten und Kündigungsfristen zusammengefasst'), 'website': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='website', alias_priority=1, description='Internetseite auf dem der Tarif zu finden ist'), 'zeitliche_gueltigkeit': FieldInfo(annotation=Union[Zeitraum, NoneType], required=False, default=None, alias='zeitlicheGueltigkeit', alias_priority=1, description='Angabe, in welchem Zeitraum der Tarif gültig ist'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- registeranzahl: Registeranzahl | None
Die Art des Tarifes, z.B. Eintarif oder Mehrtarif
- tarifmerkmale: list[Tarifmerkmal] | None
Weitere Merkmale des Tarifs, z.B. Festpreis oder Vorkasse
- typ: Annotated[Literal[Typ.TARIFINFO], FieldInfo(annotation=NoneType, required=True, alias='_typ', alias_priority=2)]
- vertragskonditionen: Vertragskonditionen | None
Mindestlaufzeiten und Kündigungsfristen zusammengefasst
bo4e.bo.tarifkosten module
Contains Tarifkosten class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.tarifkosten.Tarifkosten(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.TARIFKOSTEN] = Typ.TARIFKOSTEN, bezeichnung: str | None = None, anbietername: str | None = None, sparte: Sparte | None = None, kundentypen: list[Kundentyp] | None = None, registeranzahl: Registeranzahl | None = None, tariftyp: Tariftyp | None = None, tarifmerkmale: list[Tarifmerkmal] | None = None, anbieter: Marktteilnehmer | None = None, website: str | None = None, bemerkung: str | None = None, zeitlicheGueltigkeit: Zeitraum | None = None, energiemix: Energiemix | None = None, vertragskonditionen: Vertragskonditionen | None = None, anwendungVon: AwareDatetime | None = None, kosten: Kosten | None = None, **extra_data: Any)[source]
Bases:
Tarifinfo
Objekt zur Kommunikation von Kosten, die im Rahmen der Tarifanwendung entstehen
- kosten: Kosten | None
Referenz (Link) zu einem Kostenobjekt, in dem die Kosten für die Anwendung des Tarifs auf eine Abnahmesituation berechnet wurden
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'anbieter': FieldInfo(annotation=Union[Marktteilnehmer, NoneType], required=False, default=None, alias='anbieter', alias_priority=1, description='Der Marktteilnehmer (Lieferant), der diesen Tarif anbietet'), 'anbietername': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='anbietername', alias_priority=1, description='Der Name des Marktpartners, der den Tarif anbietet'), 'anwendung_von': FieldInfo(annotation=Union[AwareDatetime, NoneType], required=False, default=None, alias='anwendungVon', alias_priority=1), 'bemerkung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='bemerkung', alias_priority=1, description='Freitext'), 'bezeichnung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='bezeichnung', alias_priority=1, description='Name des Tarifs'), 'energiemix': FieldInfo(annotation=Union[Energiemix, NoneType], required=False, default=None, alias='energiemix', alias_priority=1, description='Der Energiemix, der für diesen Tarif gilt'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'kosten': FieldInfo(annotation=Union[Kosten, NoneType], required=False, default=None, alias='kosten', alias_priority=1), 'kundentypen': FieldInfo(annotation=Union[list[Kundentyp], NoneType], required=False, default=None, alias='kundentypen', alias_priority=1, description='Kundentypen für den der Tarif gilt, z.B. Privatkunden'), 'registeranzahl': FieldInfo(annotation=Union[Registeranzahl, NoneType], required=False, default=None, alias='registeranzahl', alias_priority=1, description='Die Art des Tarifes, z.B. Eintarif oder Mehrtarif'), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Strom oder Gas, etc.'), 'tarifmerkmale': FieldInfo(annotation=Union[list[Tarifmerkmal], NoneType], required=False, default=None, alias='tarifmerkmale', alias_priority=1, description='Weitere Merkmale des Tarifs, z.B. Festpreis oder Vorkasse'), 'tariftyp': FieldInfo(annotation=Union[Tariftyp, NoneType], required=False, default=None, alias='tariftyp', alias_priority=1, description='Hinweis auf den Tariftyp, z.B. Grundversorgung oder Sondertarif'), 'typ': FieldInfo(annotation=Literal[<Typ.TARIFKOSTEN: 'TARIFKOSTEN'>], required=False, default=<Typ.TARIFKOSTEN: 'TARIFKOSTEN'>, alias='_typ', alias_priority=2, description='Name des Tarifs'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'vertragskonditionen': FieldInfo(annotation=Union[Vertragskonditionen, NoneType], required=False, default=None, alias='vertragskonditionen', alias_priority=1, description='Mindestlaufzeiten und Kündigungsfristen zusammengefasst'), 'website': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='website', alias_priority=1, description='Internetseite auf dem der Tarif zu finden ist'), 'zeitliche_gueltigkeit': FieldInfo(annotation=Union[Zeitraum, NoneType], required=False, default=None, alias='zeitlicheGueltigkeit', alias_priority=1, description='Angabe, in welchem Zeitraum der Tarif gültig ist'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
bo4e.bo.tarifpreisblatt module
Contains Tarifpreisblatt class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.tarifpreisblatt.Tarifpreisblatt(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.TARIFPREISBLATT] = Typ.TARIFPREISBLATT, bezeichnung: str | None = None, anbietername: str | None = None, sparte: Sparte | None = None, kundentypen: list[Kundentyp] | None = None, registeranzahl: Registeranzahl | None = None, tariftyp: Tariftyp | None = None, tarifmerkmale: list[Tarifmerkmal] | None = None, anbieter: Marktteilnehmer | None = None, website: str | None = None, bemerkung: str | None = None, zeitlicheGueltigkeit: Zeitraum | None = None, energiemix: Energiemix | None = None, vertragskonditionen: Vertragskonditionen | None = None, anwendungVon: AwareDatetime | None = None, preisstand: AwareDatetime | None = None, tarifpreise: list[Tarifpreisposition] | None = None, berechnungsparameter: Tarifberechnungsparameter | None = None, tarifeinschraenkung: Tarifeinschraenkung | None = None, preisgarantie: Preisgarantie | None = None, tarifAufAbschlaege: list[AufAbschlag] | None = None, **extra_data: Any)[source]
Bases:
Tarifinfo
Tarifinformation mit Preisen, Aufschlägen und Berechnungssystematik
- berechnungsparameter: Tarifberechnungsparameter | None
Für die Berechnung der Kosten sind die hier abgebildeten Parameter heranzuziehen
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'anbieter': FieldInfo(annotation=Union[Marktteilnehmer, NoneType], required=False, default=None, alias='anbieter', alias_priority=1, description='Der Marktteilnehmer (Lieferant), der diesen Tarif anbietet'), 'anbietername': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='anbietername', alias_priority=1, description='Der Name des Marktpartners, der den Tarif anbietet'), 'anwendung_von': FieldInfo(annotation=Union[AwareDatetime, NoneType], required=False, default=None, alias='anwendungVon', alias_priority=1), 'bemerkung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='bemerkung', alias_priority=1, description='Freitext'), 'berechnungsparameter': FieldInfo(annotation=Union[Tarifberechnungsparameter, NoneType], required=False, default=None, alias='berechnungsparameter', alias_priority=1, description='Für die Berechnung der Kosten sind die hier abgebildeten Parameter heranzuziehen'), 'bezeichnung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='bezeichnung', alias_priority=1, description='Name des Tarifs'), 'energiemix': FieldInfo(annotation=Union[Energiemix, NoneType], required=False, default=None, alias='energiemix', alias_priority=1, description='Der Energiemix, der für diesen Tarif gilt'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'kundentypen': FieldInfo(annotation=Union[list[Kundentyp], NoneType], required=False, default=None, alias='kundentypen', alias_priority=1, description='Kundentypen für den der Tarif gilt, z.B. Privatkunden'), 'preisgarantie': FieldInfo(annotation=Union[Preisgarantie, NoneType], required=False, default=None, alias='preisgarantie', alias_priority=1, description='Festlegung von Garantien für bestimmte Preisanteile'), 'preisstand': FieldInfo(annotation=Union[AwareDatetime, NoneType], required=False, default=None, alias='preisstand', alias_priority=1, description='Gibt an, wann der Preis zuletzt angepasst wurde'), 'registeranzahl': FieldInfo(annotation=Union[Registeranzahl, NoneType], required=False, default=None, alias='registeranzahl', alias_priority=1, description='Die Art des Tarifes, z.B. Eintarif oder Mehrtarif'), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Strom oder Gas, etc.'), 'tarif_auf_abschlaege': FieldInfo(annotation=Union[list[AufAbschlag], NoneType], required=False, default=None, alias='tarifAufAbschlaege', alias_priority=1, description='Auf- und Abschläge auf die Preise oder Kosten'), 'tarifeinschraenkung': FieldInfo(annotation=Union[Tarifeinschraenkung, NoneType], required=False, default=None, alias='tarifeinschraenkung', alias_priority=1, description='Die Bedingungen und Einschränkungen unter denen ein Tarif angewendet werden kann'), 'tarifmerkmale': FieldInfo(annotation=Union[list[Tarifmerkmal], NoneType], required=False, default=None, alias='tarifmerkmale', alias_priority=1, description='Weitere Merkmale des Tarifs, z.B. Festpreis oder Vorkasse'), 'tarifpreise': FieldInfo(annotation=Union[list[Tarifpreisposition], NoneType], required=False, default=None, alias='tarifpreise', alias_priority=1, description='Die festgelegten Preise, z.B. für Arbeitspreis, Grundpreis etc.'), 'tariftyp': FieldInfo(annotation=Union[Tariftyp, NoneType], required=False, default=None, alias='tariftyp', alias_priority=1, description='Hinweis auf den Tariftyp, z.B. Grundversorgung oder Sondertarif'), 'typ': FieldInfo(annotation=Literal[<Typ.TARIFPREISBLATT: 'TARIFPREISBLATT'>], required=False, default=<Typ.TARIFPREISBLATT: 'TARIFPREISBLATT'>, alias='_typ', alias_priority=2, description='Name des Tarifs'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'vertragskonditionen': FieldInfo(annotation=Union[Vertragskonditionen, NoneType], required=False, default=None, alias='vertragskonditionen', alias_priority=1, description='Mindestlaufzeiten und Kündigungsfristen zusammengefasst'), 'website': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='website', alias_priority=1, description='Internetseite auf dem der Tarif zu finden ist'), 'zeitliche_gueltigkeit': FieldInfo(annotation=Union[Zeitraum, NoneType], required=False, default=None, alias='zeitlicheGueltigkeit', alias_priority=1, description='Angabe, in welchem Zeitraum der Tarif gültig ist'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- preisgarantie: Preisgarantie | None
Festlegung von Garantien für bestimmte Preisanteile
- tarif_auf_abschlaege: list[AufAbschlag] | None
Auf- und Abschläge auf die Preise oder Kosten
- tarifeinschraenkung: Tarifeinschraenkung | None
Die Bedingungen und Einschränkungen unter denen ein Tarif angewendet werden kann
- tarifpreise: list[Tarifpreisposition] | None
Die festgelegten Preise, z.B. für Arbeitspreis, Grundpreis etc.
bo4e.bo.technischeressource module
Contains technische Ressource class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.technischeressource.TechnischeRessource(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.TECHNISCHERESSOURCE] = Typ.TECHNISCHERESSOURCE, technischeRessourceId: str | None = None, vorgelagerteMesslokationId: str | None = None, zugeordneteMarktlokationId: str | None = None, zugeordneteSteuerbareRessourceId: str | None = None, nennleistungaufnahme: Menge | None = None, nennleistungabgabe: Menge | None = None, speicherkapazitaet: Menge | None = None, technischeRessourceNutzung: TechnischeRessourceNutzung | None = None, technischeRessourceVerbrauchsart: TechnischeRessourceVerbrauchsart | None = None, waermenutzung: Waermenutzung | None = None, emobilitaetsart: EMobilitaetsart | None = None, erzeugungsart: Erzeugungsart | None = None, speicherart: Speicherart | None = None, lokationszuordnungen: list[Lokationszuordnung] | None = None, lokationsbuendelObjektcode: str | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Object containing information about a technische Ressource
- emobilitaetsart: EMobilitaetsart | None
Art der E-Mobilität
- erzeugungsart: Erzeugungsart | None
Art der Erzeugung der Energie
- lokationsbuendel_objektcode: str | None
Lokationsbuendel Code, der die Funktion dieses BOs an der Lokationsbuendelstruktur beschreibt.
- lokationszuordnungen: list[Lokationszuordnung] | None
Lokationszuordnung, um bspw. die zugehörigen Messlokationen anzugeben
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'emobilitaetsart': FieldInfo(annotation=Union[EMobilitaetsart, NoneType], required=False, default=None, alias='emobilitaetsart', alias_priority=1, description='Art der E-Mobilität'), 'erzeugungsart': FieldInfo(annotation=Union[Erzeugungsart, NoneType], required=False, default=None, alias='erzeugungsart', alias_priority=1, description='Art der Erzeugung der Energie'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'lokationsbuendel_objektcode': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='lokationsbuendelObjektcode', alias_priority=1, description='Lokationsbuendel Code, der die Funktion dieses BOs an der Lokationsbuendelstruktur beschreibt.'), 'lokationszuordnungen': FieldInfo(annotation=Union[list[Lokationszuordnung], NoneType], required=False, default=None, alias='lokationszuordnungen', alias_priority=1, description='Lokationszuordnung, um bspw. die zugehörigen Messlokationen anzugeben'), 'nennleistungabgabe': FieldInfo(annotation=Union[Menge, NoneType], required=False, default=None, alias='nennleistungabgabe', alias_priority=1, description='Nennleistung (Abgabe)'), 'nennleistungaufnahme': FieldInfo(annotation=Union[Menge, NoneType], required=False, default=None, alias='nennleistungaufnahme', alias_priority=1, description='Nennleistung (Aufnahme)'), 'speicherart': FieldInfo(annotation=Union[Speicherart, NoneType], required=False, default=None, alias='speicherart', alias_priority=1, description='Art des Speichers'), 'speicherkapazitaet': FieldInfo(annotation=Union[Menge, NoneType], required=False, default=None, alias='speicherkapazitaet', alias_priority=1, description='Speicherkapazität'), 'technische_ressource_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='technischeRessourceId', alias_priority=1, description='Identifikationsnummer einer technischen Ressource'), 'technische_ressource_nutzung': FieldInfo(annotation=Union[TechnischeRessourceNutzung, NoneType], required=False, default=None, alias='technischeRessourceNutzung', alias_priority=1, description='Art und Nutzung der technischen Ressource'), 'technische_ressource_verbrauchsart': FieldInfo(annotation=Union[TechnischeRessourceVerbrauchsart, NoneType], required=False, default=None, alias='technischeRessourceVerbrauchsart', alias_priority=1, description='Verbrauchsart der technischen Ressource'), 'typ': FieldInfo(annotation=Literal[<Typ.TECHNISCHERESSOURCE: 'TECHNISCHERESSOURCE'>], required=False, default=<Typ.TECHNISCHERESSOURCE: 'TECHNISCHERESSOURCE'>, alias='_typ', alias_priority=2, description='Identifikationsnummer einer technischen Ressource'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'vorgelagerte_messlokation_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='vorgelagerteMesslokationId', alias_priority=1, description='Vorgelagerte Messlokation ID'), 'waermenutzung': FieldInfo(annotation=Union[Waermenutzung, NoneType], required=False, default=None, alias='waermenutzung', alias_priority=1, description='Wärmenutzung'), 'zugeordnete_marktlokation_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='zugeordneteMarktlokationId', alias_priority=1, description='Referenz auf die der technischen Ressource zugeordneten Marktlokation'), 'zugeordnete_steuerbare_ressource_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='zugeordneteSteuerbareRessourceId', alias_priority=1, description='Referenz auf die der technischen Ressource zugeordneten Steuerbaren Ressource'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- speicherart: Speicherart | None
Art des Speichers
- technische_ressource_nutzung: TechnischeRessourceNutzung | None
Art und Nutzung der technischen Ressource
- technische_ressource_verbrauchsart: TechnischeRessourceVerbrauchsart | None
Verbrauchsart der technischen Ressource
- typ: Annotated[Literal[Typ.TECHNISCHERESSOURCE], FieldInfo(annotation=NoneType, required=True, alias='_typ', alias_priority=2)]
Wärmenutzung
bo4e.bo.vertrag module
Contains Vertrag class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.vertrag.Vertrag(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.VERTRAG] = Typ.VERTRAG, vertragsnummer: str | None = None, vertragsart: Vertragsart | None = None, vertragsstatus: Vertragsstatus | None = None, sparte: Sparte | None = None, vertragsbeginn: AwareDatetime | None = None, vertragsende: AwareDatetime | None = None, vertragspartner1: Geschaeftspartner | None = None, vertragspartner2: Geschaeftspartner | None = None, vertragsteile: list[Vertragsteil] | None = None, beschreibung: str | None = None, vertragskonditionen: Vertragskonditionen | None = None, unterzeichnervp1: list[Unterschrift] | None = None, unterzeichnervp2: list[Unterschrift] | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Modell für die Abbildung von Vertragsbeziehungen; Das Objekt dient dazu, alle Arten von Verträgen, die in der Energiewirtschaft Verwendung finden, abzubilden.
Hint
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'beschreibung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='beschreibung', alias_priority=1, description='Beschreibung zum Vertrag'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Unterscheidungsmöglichkeiten für die Sparte'), 'typ': FieldInfo(annotation=Literal[<Typ.VERTRAG: 'VERTRAG'>], required=False, default=<Typ.VERTRAG: 'VERTRAG'>, alias='_typ', alias_priority=2), 'unterzeichnervp1': FieldInfo(annotation=Union[list[Unterschrift], NoneType], required=False, default=None, alias='unterzeichnervp1', alias_priority=1, description='Unterzeichner des Vertragspartners 1'), 'unterzeichnervp2': FieldInfo(annotation=Union[list[Unterschrift], NoneType], required=False, default=None, alias='unterzeichnervp2', alias_priority=1, description='Unterzeichner des Vertragspartners 2'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'vertragsart': FieldInfo(annotation=Union[Vertragsart, NoneType], required=False, default=None, alias='vertragsart', alias_priority=1, description='Hier ist festgelegt, um welche Art von Vertrag es sich handelt.'), 'vertragsbeginn': FieldInfo(annotation=Union[AwareDatetime, NoneType], required=False, default=None, alias='vertragsbeginn', alias_priority=1, description='Gibt an, wann der Vertrag beginnt (inklusiv)'), 'vertragsende': FieldInfo(annotation=Union[AwareDatetime, NoneType], required=False, default=None, alias='vertragsende', alias_priority=1, description='Gibt an, wann der Vertrag (voraussichtlich) endet oder beendet wurde (exklusiv)'), 'vertragskonditionen': FieldInfo(annotation=Union[Vertragskonditionen, NoneType], required=False, default=None, alias='vertragskonditionen', alias_priority=1, description='Festlegungen zu Laufzeiten und Kündigungsfristen'), 'vertragsnummer': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='vertragsnummer', alias_priority=1, description='Eine im Verwendungskontext eindeutige Nummer für den Vertrag'), 'vertragspartner1': FieldInfo(annotation=Union[Geschaeftspartner, NoneType], required=False, default=None, alias='vertragspartner1', alias_priority=1), 'vertragspartner2': FieldInfo(annotation=Union[Geschaeftspartner, NoneType], required=False, default=None, alias='vertragspartner2', alias_priority=1), 'vertragsstatus': FieldInfo(annotation=Union[Vertragsstatus, NoneType], required=False, default=None, alias='vertragsstatus', alias_priority=1, description='Gibt den Status des Vertrags an'), 'vertragsteile': FieldInfo(annotation=Union[list[Vertragsteil], NoneType], required=False, default=None, alias='vertragsteile', alias_priority=1, description='Beschreibung zum Vertrag'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- typ: Annotated[Literal[Typ.VERTRAG], FieldInfo(annotation=NoneType, required=True, alias='_typ', alias_priority=2)]
- unterzeichnervp1: list[Unterschrift] | None
Unterzeichner des Vertragspartners 1
- unterzeichnervp2: list[Unterschrift] | None
Unterzeichner des Vertragspartners 2
- vertragsart: Vertragsart | None
Hier ist festgelegt, um welche Art von Vertrag es sich handelt.
- vertragsende: AwareDatetime | None
Gibt an, wann der Vertrag (voraussichtlich) endet oder beendet wurde (exklusiv)
- vertragskonditionen: Vertragskonditionen | None
Festlegungen zu Laufzeiten und Kündigungsfristen
- vertragspartner1: Geschaeftspartner | None
Der “erstgenannte” Vertragspartner. In der Regel der Aussteller des Vertrags. Beispiel: “Vertrag zwischen Vertragspartner 1 …”
- vertragspartner2: Geschaeftspartner | None
Der “zweitgenannte” Vertragspartner. In der Regel der Empfänger des Vertrags. Beispiel “Vertrag zwischen Vertragspartner 1 und Vertragspartner 2”.
- vertragsstatus: Vertragsstatus | None
Gibt den Status des Vertrags an
- vertragsteile: list[Vertragsteil] | None
Der Vertragsteil wird dazu verwendet, eine vertragliche Leistung in Bezug zu einer Lokation (Markt- oder Messlokation) festzulegen.
bo4e.bo.zaehler module
Contains Zaehler class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.zaehler.Zaehler(*, _version: str | None = '202401.4.1.dev22+gb29fc2eb', zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.ZAEHLER] = Typ.ZAEHLER, zaehlernummer: str | None = None, sparte: Sparte | None = None, zaehlerauspraegung: Zaehlerauspraegung | None = None, zaehlertyp: Zaehlertyp | None = None, zaehlwerke: list[Zaehlwerk] | None = None, registeranzahl: Registeranzahl | None = None, zaehlerkonstante: Decimal | None = None, eichungBis: AwareDatetime | None = None, letzteEichung: AwareDatetime | None = None, zaehlerhersteller: Geschaeftspartner | None = None, istFernschaltbar: bool | None = None, messwerterfassung: Messwerterfassung | None = None, zaehlertypSpezifikation: ZaehlertypSpezifikation | None = None, befestigungsart: Befestigungsart | None = None, zaehlergroesse: Zaehlergroesse | None = None, geraete: list[Geraet] | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Object containing information about a meter/”Zaehler”.
Hint
- befestigungsart: Befestigungsart | None
Befestigungsart
- messwerterfassung: Messwerterfassung | None
Messwerterfassung des Zählers
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'befestigungsart': FieldInfo(annotation=Union[Befestigungsart, NoneType], required=False, default=None, alias='befestigungsart', alias_priority=1, description='Besondere Spezifikation des Zählers'), 'eichung_bis': FieldInfo(annotation=Union[AwareDatetime, NoneType], required=False, default=None, alias='eichungBis', alias_priority=1, description='Zählerkonstante auf dem Zähler'), 'geraete': FieldInfo(annotation=Union[list[Geraet], NoneType], required=False, default=None, alias='geraete', alias_priority=1, description='Größe des Zählers'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'ist_fernschaltbar': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None, alias='istFernschaltbar', alias_priority=1, description='Der Hersteller des Zählers'), 'letzte_eichung': FieldInfo(annotation=Union[AwareDatetime, NoneType], required=False, default=None, alias='letzteEichung', alias_priority=1, description='Bis zu diesem Datum (exklusiv) ist der Zähler geeicht.'), 'messwerterfassung': FieldInfo(annotation=Union[Messwerterfassung, NoneType], required=False, default=None, alias='messwerterfassung', alias_priority=1, description='Fernschaltung'), 'registeranzahl': FieldInfo(annotation=Union[Registeranzahl, NoneType], required=False, default=None, alias='registeranzahl', alias_priority=1, description='Spezifikation bezüglich unterstützter Tarif'), 'sparte': FieldInfo(annotation=Union[Sparte, NoneType], required=False, default=None, alias='sparte', alias_priority=1, description='Nummerierung des Zählers,vergeben durch den Messstellenbetreiber'), 'typ': FieldInfo(annotation=Literal[<Typ.ZAEHLER: 'ZAEHLER'>], required=False, default=<Typ.ZAEHLER: 'ZAEHLER'>, alias='_typ', alias_priority=2, description='Typisierung des Zählers'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default='202401.4.1.dev22+gb29fc2eb', alias='_version', alias_priority=2, description='Version der BO-Struktur aka "fachliche Versionierung"'), 'zaehlerauspraegung': FieldInfo(annotation=Union[Zaehlerauspraegung, NoneType], required=False, default=None, alias='zaehlerauspraegung', alias_priority=1, description='Strom oder Gas'), 'zaehlergroesse': FieldInfo(annotation=Union[Zaehlergroesse, NoneType], required=False, default=None, alias='zaehlergroesse', alias_priority=1, description='Befestigungsart'), 'zaehlerhersteller': FieldInfo(annotation=Union[Geschaeftspartner, NoneType], required=False, default=None, alias='zaehlerhersteller', alias_priority=1, description='Der Hersteller des Zählers'), 'zaehlerkonstante': FieldInfo(annotation=Union[Decimal, NoneType], required=False, default=None, alias='zaehlerkonstante', alias_priority=1, description='Spezifikation bezüglich unterstützter Tarif'), 'zaehlernummer': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='zaehlernummer', alias_priority=1, description='Nummerierung des Zählers,vergeben durch den Messstellenbetreiber'), 'zaehlertyp': FieldInfo(annotation=Union[Zaehlertyp, NoneType], required=False, default=None, alias='zaehlertyp', alias_priority=1, description='Spezifikation die Richtung des Zählers betreffend'), 'zaehlertypSpezifikation': FieldInfo(annotation=Union[ZaehlertypSpezifikation, NoneType], required=False, default=None, alias='zaehlertypSpezifikation', alias_priority=1, description='Messwerterfassung des Zählers'), 'zaehlwerke': FieldInfo(annotation=Union[list[Zaehlwerk], NoneType], required=False, default=None, alias='zaehlwerke', alias_priority=1, description='Typisierung des Zählers'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- registeranzahl: Registeranzahl | None
Spezifikation bezüglich unterstützter Tarif
- typ: Annotated[Literal[Typ.ZAEHLER], FieldInfo(annotation=NoneType, required=True, alias='_typ', alias_priority=2)]
- zaehlerauspraegung: Zaehlerauspraegung | None
Spezifikation die Richtung des Zählers betreffend
- zaehlergroesse: Zaehlergroesse | None
Größe des Zählers
- zaehlerhersteller: Geschaeftspartner | None
Der Hersteller des Zählers
- zaehlertyp: Zaehlertyp | None
Typisierung des Zählers
- zaehlertypSpezifikation: ZaehlertypSpezifikation | None
Besondere Spezifikation des Zählers
bo4e.bo.zeitreihe module
Contains Zeitreihe class and corresponding marshmallow schema for de-/serialization
- class bo4e.bo.zeitreihe.Zeitreihe(*, version: str | None = None, zusatzAttribute: list[ZusatzAttribut] | None = None, _id: str | None = None, _typ: Literal[Typ.ZEITREIHE] = Typ.ZEITREIHE, bezeichnung: str | None = None, messgroesse: Messgroesse | None = None, messart: Messart | None = None, medium: Medium | None = None, einheit: Mengeneinheit | None = None, werte: list[Zeitreihenwert] | None = None, beschreibung: str | None = None, wertherkunft: Wertermittlungsverfahren | None = None, **extra_data: Any)[source]
Bases:
Geschaeftsobjekt
Abbildung einer allgemeinen Zeitreihe mit einem Wertvektor. Die Werte können mit wahlfreier zeitlicher Distanz im Vektor abgelegt sein.
- einheit: Mengeneinheit | None
Alle Werte in der Tabelle haben die Einheit, die hier angegeben ist
- messart: Messart | None
Beschreibt die Art der Messung (z.B. aktueller Wert, mittlerer Wert, maximaler Wert)
- messgroesse: Messgroesse | None
Beschreibt, was gemessen wurde (z.B. Strom, Spannung, Wirkleistung, Scheinleistung)
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function camelize>, 'extra': 'allow', 'json_encoders': {<class 'decimal.Decimal'>: <class 'str'>}, 'populate_by_name': True}
basic configuration for pydantic’s behaviour
- model_fields: ClassVar[dict[str, FieldInfo]] = {'beschreibung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='beschreibung', alias_priority=1, description='Beschreibt die Verwendung der Zeitreihe'), 'bezeichnung': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='bezeichnung', alias_priority=1, description='Bezeichnung für die Zeitreihe'), 'einheit': FieldInfo(annotation=Union[Mengeneinheit, NoneType], required=False, default=None, alias='einheit', alias_priority=1, description='Alle Werte in der Tabelle haben die Einheit, die hier angegeben ist'), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='_id', alias_priority=2, description='Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)'), 'medium': FieldInfo(annotation=Union[Medium, NoneType], required=False, default=None, alias='medium', alias_priority=1, description='Medium, das gemessen wurde (z.B. Wasser, Dampf, Strom, Gas)'), 'messart': FieldInfo(annotation=Union[Messart, NoneType], required=False, default=None, alias='messart', alias_priority=1, description='Beschreibt die Art der Messung (z.B. aktueller Wert, mittlerer Wert, maximaler Wert)'), 'messgroesse': FieldInfo(annotation=Union[Messgroesse, NoneType], required=False, default=None, alias='messgroesse', alias_priority=1, description='Beschreibt, was gemessen wurde (z.B. Strom, Spannung, Wirkleistung, Scheinleistung)'), 'typ': FieldInfo(annotation=Literal[<Typ.ZEITREIHE: 'ZEITREIHE'>], required=False, default=<Typ.ZEITREIHE: 'ZEITREIHE'>, alias='_typ', alias_priority=2, description='Bezeichnung für die Zeitreihe'), 'version': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias='version', alias_priority=1, description='Version der Zeitreihe'), 'werte': FieldInfo(annotation=Union[list[Zeitreihenwert], NoneType], required=False, default=None, alias='werte', alias_priority=1, description='Hier liegen jeweils die Werte'), 'wertherkunft': FieldInfo(annotation=Union[Wertermittlungsverfahren, NoneType], required=False, default=None, alias='wertherkunft', alias_priority=1, description='Kennzeichnung, wie die Werte entstanden sind, z.B. durch Messung'), 'zusatz_attribute': FieldInfo(annotation=Union[list[ZusatzAttribut], NoneType], required=False, default=None, alias='zusatzAttribute', alias_priority=1)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- typ: Annotated[Literal[Typ.ZEITREIHE], FieldInfo(annotation=NoneType, required=True, alias='_typ', alias_priority=2)]
- werte: list[Zeitreihenwert] | None
Hier liegen jeweils die Werte
- wertherkunft: Wertermittlungsverfahren | None
Kennzeichnung, wie die Werte entstanden sind, z.B. durch Messung