bo4e.bo package

Submodules

bo4e.bo.angebot module

Contains Angebot class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.angebot.Angebot(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.ANGEBOT, externeReferenzen: Optional[List[ExterneReferenz]] = [], angebotsnummer: ConstrainedStrValue, angebotsdatum: datetime, sparte: Sparte, angebotsgeber: Geschaeftspartner, angebotsnehmer: Geschaeftspartner, varianten: ConstrainedListValue[Angebotsvariante], anfragereferenz: Optional[str] = None, bindefrist: Optional[datetime] = None, unterzeichnerAngebotsnehmer: Optional[Ansprechpartner] = None, unterzeichnerAngebotsgeber: Optional[Ansprechpartner] = None)[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.

anfragereferenz: Optional[str]

Referenz auf eine Anfrage oder Ausschreibung; Kann dem Empfänger des Angebotes bei Zuordnung des Angebotes zur Anfrage bzw. Ausschreibung helfen.

angebotsdatum: datetime

Erstellungsdatum des Angebots

angebotsgeber: Geschaeftspartner

Ersteller des Angebots

angebotsnehmer: Geschaeftspartner

Empfänger des Angebots

angebotsnummer: ConstrainedStrValue

Eindeutige Nummer des Angebotes

bindefrist: Optional[datetime]

Bis zu diesem Zeitpunkt (Tag/Uhrzeit) inklusive gilt das Angebot

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

sparte: Sparte

Sparte, für die das Angebot abgegeben wird (Strom/Gas)

unterzeichner_angebotsgeber: Optional[Ansprechpartner]

Person, die als Angebotsgeber das Angebots ausgestellt hat

unterzeichner_angebotsnehmer: Optional[Ansprechpartner]

Person, die als Angebotsnehmer das Angebot angenommen hat

varianten: ConstrainedListValue[Angebotsvariante]

Eine oder mehrere Varianten des Angebots mit den Angebotsteilen; Ein Angebot besteht mindestens aus einer Variante.

bo4e.bo.ansprechpartner module

Contains Ansprechpartner class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.ansprechpartner.Ansprechpartner(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.ANSPRECHPARTNER, externeReferenzen: Optional[List[ExterneReferenz]] = [], nachname: str, geschaeftspartner: Geschaeftspartner, anrede: Optional[Anrede] = None, individuelleAnrede: Optional[str] = None, titel: Optional[Titel] = None, vorname: Optional[str] = None, eMailAdresse: Optional[str] = None, kommentar: Optional[str] = None, adresse: Optional[Adresse] = None, rufnummer: Optional[Rufnummer] = None, zustaendigkeit: Optional[Zustaendigkeit] = None)[source]

Bases: Geschaeftsobjekt

Object containing information about a Ansprechpartner

adresse: Optional[Adresse]

Adresse des Ansprechpartners, falls diese von der Adresse des Geschäftspartners abweicht

anrede: Optional[Anrede]

Mögliche Anrede des Ansprechpartners

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

e_mail_adresse: Optional[str]

E-Mail Adresse

geschaeftspartner: Geschaeftspartner

Der Geschäftspartner, für den dieser Ansprechpartner modelliert wird

individuelle_anrede: Optional[str]

Im Falle einer nicht standardisierten Anrede kann hier eine frei definierbare Anrede vorgegeben werden. Beispiel: “Sehr geehrte Frau Müller, sehr geehrter Herr Dr. Müller”

kommentar: Optional[str]

Weitere Informationen zum Ansprechpartner

nachname: str

Nachname (Familienname) des Ansprechpartners

rufnummer: Optional[Rufnummer]

Liste der Telefonnummern, unter denen der Ansprechpartner erreichbar ist

titel: Optional[Titel]

Möglicher Titel des Ansprechpartners

vorname: Optional[str]

Vorname des Ansprechpartners

zustaendigkeit: Optional[Zustaendigkeit]

Liste der Abteilungen und Zuständigkeiten des Ansprechpartners

bo4e.bo.ausschreibung module

Contains Ausschreibung class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.ausschreibung.Ausschreibung(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.AUSSCHREIBUNG, externeReferenzen: Optional[List[ExterneReferenz]] = [], ausschreibungsnummer: str, ausschreibungstyp: Ausschreibungstyp, ausschreibungsstatus: Ausschreibungsstatus, kostenpflichtig: bool, veroeffentlichungszeitpunkt: datetime, ausschreibender: Geschaeftspartner, abgabefrist: Zeitraum, bindefrist: Zeitraum, lose: ConstrainedListValue[Ausschreibungslos], ausschreibungportal: Optional[Ausschreibungsportal] = None, webseite: Optional[str] = None)[source]

Bases: Geschaeftsobjekt

Das BO Ausschreibung dient zur detaillierten Darstellung von ausgeschriebenen Energiemengen in der Energiewirtschaft

abgabefrist: Zeitraum

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

Mit diesem Objekt können Geschäftspartner übertragen werden. Sowohl Unternehmen, als auch Privatpersonen können Geschäftspartner sein

ausschreibungportal: Optional[Ausschreibungsportal]

Aufzählung der unterstützten Ausschreibungsportale

ausschreibungsnummer: str

Vom Herausgeber der Ausschreibung vergebene eindeutige Nummer

ausschreibungsstatus: Ausschreibungsstatus

Bezeichnungen für die Ausschreibungsphasen

ausschreibungstyp: Ausschreibungstyp

Aufzählung für die Typisierung von Ausschreibungen

bindefrist: Zeitraum

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

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

kostenpflichtig: bool

Kennzeichen, ob die Ausschreibung kostenpflichtig ist

lose: ConstrainedListValue[Ausschreibungslos]

Die einzelnen Lose, aus denen sich die Ausschreibung zusammensetzt

veroeffentlichungszeitpunkt: datetime

Gibt den Veröffentlichungszeitpunkt der Ausschreibung an

webseite: Optional[str]

Internetseite, auf der die Ausschreibung veröffentlicht wurde (falls vorhanden)

bo4e.bo.buendelvertrag module

Contains Buendelvertrag class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.buendelvertrag.Buendelvertrag(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.BUENDELVERTRAG, externeReferenzen: Optional[List[ExterneReferenz]] = [], vertragsnummer: str, vertragsart: Vertragsart, vertragsstatus: Vertragsstatus, sparte: Sparte, vertragsbeginn: datetime, vertragsende: datetime, vertragspartner1: Geschaeftspartner, vertragspartner2: Geschaeftspartner, einzelvertraege: Optional[List[Vertrag]] = [], vertragskonditionen: Optional[List[Vertragskonditionen]] = [], unterzeichnervp1: Optional[List[Unterschrift]] = [], unterzeichnervp2: Optional[List[Unterschrift]] = [], beschreibung: Optional[str] = None)[source]

Bases: Geschaeftsobjekt

Abbildung eines Bündelvertrags. Es handelt sich hierbei um eine Liste von Einzelverträgen, die in einem Vertragsobjekt gebündelt sind.

beschreibung: Optional[str]

Beschreibung zum Vertrag

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

einzelvertraege: Optional[List[Vertrag]]

Die Liste mit den Einzelverträgen zu den Abnahmestellen

sparte: Sparte

Unterscheidungsmöglichkeiten für die Sparte

unterzeichnervp1: Optional[List[Unterschrift]]

Unterzeichner des Vertragspartners1

unterzeichnervp2: Optional[List[Unterschrift]]

Unterzeichner des Vertragspartners2

vertragsart: Vertragsart

Hier ist festgelegt, um welche Art von Vertrag es sich handelt. Z.B. Netznutzungvertrag

vertragsbeginn: datetime

Gibt an, wann der Vertrag beginnt (inklusiv)

vertragsende: datetime

Gibt an, wann der Vertrag (voraussichtlich) endet oder beendet wurde (exklusiv)

vertragskonditionen: Optional[List[Vertragskonditionen]]

Festlegungen zu Laufzeiten und Kündigungsfristen

vertragsnummer: str

Eine im Verwendungskontext eindeutige Nummer für den Vertrag

vertragspartner1: Geschaeftspartner

Der “erstgenannte” Vertragspartner. In der Regel der Aussteller des Vertrags. Beispiel: “Vertrag zwischen Vertagspartner 1 …”

vertragspartner2: Geschaeftspartner

Der “zweitgenannte” Vertragspartner. In der Regel der Empfänger des Vertrags. Beispiel “Vertrag zwischen Vertagspartner 1 und Vertragspartner 2”

vertragsstatus: Vertragsstatus

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(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.ENERGIEMENGE, externeReferenzen: Optional[List[ExterneReferenz]] = [], lokationsId: str, lokationstyp: Lokationstyp, energieverbrauch: ConstrainedListValue[Verbrauch])[source]

Bases: Geschaeftsobjekt

Abbildung von Mengen, die Lokationen zugeordnet sind

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

energieverbrauch: ConstrainedListValue[Verbrauch]

Gibt den Verbrauch in einer Zeiteinheit an

lokations_id: str

Eindeutige Nummer der Marktlokation bzw. der Messlokation, zu der die Energiemenge gehört

lokationstyp: Lokationstyp

Gibt an, ob es sich um eine Markt- oder Messlokation handelt

bo4e.bo.fremdkosten module

Contains Fremdkosten class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.fremdkosten.Fremdkosten(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.FREMDKOSTEN, externeReferenzen: Optional[List[ExterneReferenz]] = [], gueltigkeit: Zeitraum, summeKosten: Optional[Betrag] = None, kostenbloecke: Optional[List[Fremdkostenblock]] = None)[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.

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

gueltigkeit: Zeitraum

Für diesen Zeitraum wurden die Kosten ermittelt

kostenbloecke: Optional[List[Fremdkostenblock]]

Netzkosten, Umlagen, Steuern etc

Type

In Kostenblöcken werden Kostenpositionen zusammengefasst. Beispiele

summe_kosten: Optional[Betrag]

Die Gesamtsumme über alle Kostenblöcke und -positionen

bo4e.bo.geschaeftsobjekt module

class bo4e.bo.geschaeftsobjekt.Geschaeftsobjekt(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.GESCHAEFTSOBJEKT, externeReferenzen: Optional[List[ExterneReferenz]] = [])[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.

class Config[source]

Bases: object

basic configuration for pydantic’s behaviour

alias_generator()

Convert a string, dict, or list of dicts to camel case.

Parameters

str_or_iter (Union[list, dict, str]) – A string or iterable.

Return type

Union[list, dict, str]

Returns

camelized string, dictionary, or list of dictionaries.

allow_population_by_field_name = True
json_encoders = {<class 'decimal.Decimal'>: <class 'str'>}
bo_typ: BoTyp

Der Typ des Geschäftsobjektes

externe_referenzen: Optional[List[ExterneReferenz]]
versionstruktur: str

Version der BO-Struktur aka “fachliche Versionierung”

bo4e.bo.geschaeftspartner module

Contains Geschaeftspartner class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.geschaeftspartner.Geschaeftspartner(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.GESCHAEFTSPARTNER, externeReferenzen: Optional[List[ExterneReferenz]] = [], name1: str, gewerbekennzeichnung: bool, geschaeftspartnerrolle: List[Geschaeftspartnerrolle], anrede: Optional[Anrede] = None, name2: Optional[str] = None, name3: Optional[str] = None, hrnummer: Optional[str] = None, amtsgericht: Optional[str] = None, kontaktweg: Optional[List[Kontaktart]] = [], umsatzsteuerId: Optional[str] = None, glaeubigerId: Optional[str] = None, eMailAdresse: Optional[str] = None, website: Optional[str] = None, partneradresse: Optional[Adresse] = None)[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: Optional[str]

Amtsgericht bzw Handelsregistergericht, das die Handelsregisternummer herausgegeben hat

anrede: Optional[Anrede]

Die Anrede für den GePa, Z.B. “Herr”

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

e_mail_adresse: Optional[str]

E-Mail-Adresse des Ansprechpartners. Z.B. “info@hochfrequenz.de

geschaeftspartnerrolle: List[Geschaeftspartnerrolle]

Rollen, die die Geschäftspartner inne haben (z.B. Interessent, Kunde)

gewerbekennzeichnung: bool

Kennzeichnung ob es sich um einen Gewerbe/Unternehmen (gewerbeKennzeichnung = true) oder eine Privatperson handelt. (gewerbeKennzeichnung = false)

glaeubiger_id: Optional[str]

Die Gläubiger-ID welche im Zahlungsverkehr verwendet wird; Z.B. “DE 47116789”

hrnummer: Optional[str]

Handelsregisternummer des Geschäftspartners

kontaktweg: Optional[List[Kontaktart]]

Bevorzugte Kontaktwege des Geschäftspartners

name1: str

Erster Teil des Namens. Hier kann der Firmenname oder bei Privatpersonen beispielsweise der Nachname dagestellt werden. Beispiele: Yellow Strom GmbH oder Hagen

name2: Optional[str]

Zweiter Teil des Namens. Hier kann der eine Erweiterung zum Firmennamen oder bei Privatpersonen beispielsweise der Vorname dagestellt werden. Beispiele: Bereich Süd oder Nina

name3: Optional[str]

Dritter Teil des Namens. Hier können weitere Ergänzungen zum Firmennamen oder bei Privatpersonen Zusätze zum Namen dagestellt werden. Beispiele: und Afrika oder Sängerin

partneradresse: Optional[Adresse]

Adressen der Geschäftspartner, an denen sich der Hauptsitz befindet

umsatzsteuer_id: Optional[str]

“DE 813281825”

Type

Die Steuer-ID des Geschäftspartners; Beispiel

website: Optional[str]

Internetseite des Marktpartners

bo4e.bo.kosten module

Contains Kosten class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.kosten.Kosten(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.KOSTEN, externeReferenzen: Optional[List[ExterneReferenz]] = [], kostenklasse: Kostenklasse, gueltigkeit: Zeitraum, kostenbloecke: ConstrainedListValue[Kostenblock], summeKosten: Optional[List[Betrag]] = None)[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.

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

gueltigkeit: Zeitraum

Für diesen Zeitraum wurden die Kosten ermittelt

kostenbloecke: ConstrainedListValue[Kostenblock]

Netzkosten, Umlagen, Steuern etc

Type

In Kostenblöcken werden Kostenpositionen zusammengefasst. Beispiele

kostenklasse: Kostenklasse

Klasse der Kosten, beispielsweise Fremdkosten

summe_kosten: Optional[List[Betrag]]

Die Gesamtsumme über alle Kostenblöcke und -positionen

bo4e.bo.lastgang module

Contains Lastgang and LastgangKompakt class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.lastgang.Lastgang(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.LASTGANG, externeReferenzen: Optional[List[ExterneReferenz]] = [], sparte: Sparte, lokationsId: str, lokationstyp: str, messgroesse: Mengeneinheit, version: Optional[str] = None, obisKennzahl: Optional[ConstrainedStrValue] = None, werte: ConstrainedListValue[Zeitreihenwert])[source]

Bases: _LastgangBody

Modell zur Abbildung eines Lastganges; In diesem Modell werden die Messwerte mit einem vollständigen Zeitintervall angegeben und es bietet daher eine hohe Flexibilität in der Übertragung jeglicher zeitlich veränderlicher Messgrössen.

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

werte: ConstrainedListValue[Zeitreihenwert]

Die im Lastgang enthaltenen Messwerte

class bo4e.bo.lastgang.LastgangKompakt(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.LASTGANG_KOMPAKT, externeReferenzen: Optional[List[ExterneReferenz]] = [], sparte: Sparte, lokationsId: str, lokationstyp: str, messgroesse: Mengeneinheit, version: Optional[str] = None, obisKennzahl: Optional[ConstrainedStrValue] = None, zeitintervall: Zeitintervall, tagesvektoren: List[Tagesvektor])[source]

Bases: _LastgangBody

Modell zur Abbildung eines kompakten Lastganges. In diesem Modell werden die Messwerte in Form von Tagesvektoren mit fester Anzahl von Werten übertragen. Daher ist dieses BO nur zur Übertragung von äquidistanten Messwertverläufen geeignet.

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

tagesvektoren: List[Tagesvektor]

Die im Lastgang enthaltenen Messwerte in Form von Tagesvektoren

zeitintervall: Zeitintervall

Angabe des Rasters innerhalb aller Tagesvektoren dieses Lastgangs

bo4e.bo.marktlokation module

Contains Marktlokation class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.marktlokation.Marktlokation(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.MARKTLOKATION, externeReferenzen: Optional[List[ExterneReferenz]] = [], marktlokationsId: str, sparte: Sparte, energierichtung: Energierichtung, bilanzierungsmethode: Bilanzierungsmethode, netzebene: Netzebene, verbrauchsart: Optional[Verbrauchsart] = None, unterbrechbar: Optional[bool] = None, netzbetreibercodenr: Optional[str] = None, gebietstyp: Optional[Gebiettyp] = None, netzgebietsnr: Optional[str] = None, bilanzierungsgebiet: Optional[str] = None, grundversorgercodenr: Optional[str] = None, gasqualitaet: Optional[Gasqualitaet] = None, endkunde: Optional[Geschaeftspartner] = None, zugehoerigeMesslokation: Optional[Messlokationszuordnung] = None, lokationsadresse: Optional[Adresse] = None, geoadresse: Optional[Geokoordinaten] = None, katasterinformation: Optional[Katasteradresse] = None, kundengruppen: ConstrainedListValue[Kundentyp] = None)[source]

Bases: Geschaeftsobjekt

Object containing information about a Marktlokation

bilanzierungsgebiet: Optional[str]

Bilanzierungsgebiet, dem das Netzgebiet zugeordnet ist - im Falle eines Strom Netzes

bilanzierungsmethode: Bilanzierungsmethode

Die Bilanzierungsmethode, RLM oder SLP

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

endkunde: Optional[Geschaeftspartner]

Geschäftspartner, dem diese Marktlokation gehört

energierichtung: Energierichtung

Kennzeichnung, ob Energie eingespeist oder entnommen (ausgespeist) wird

gasqualitaet: Optional[Gasqualitaet]

Die Gasqualität in diesem Netzgebiet. H-Gas oder L-Gas. Im Falle eines Gas-Netzes

gebietstyp: Optional[Gebiettyp]

Typ des Netzgebietes, z.B. Verteilnetz

geoadresse: Optional[Geokoordinaten]

Alternativ zu einer postalischen Adresse kann hier ein Ort mittels Geokoordinaten angegeben werden (z.B. zur Identifikation von Sendemasten).

grundversorgercodenr: Optional[str]

Codenummer des Grundversorgers, der für diese Marktlokation zuständig ist

katasterinformation: Optional[Katasteradresse]

Alternativ zu einer postalischen Adresse und Geokoordinaten kann hier eine Ortsangabe mittels Gemarkung und Flurstück erfolgen.

kundengruppen: ConstrainedListValue[Kundentyp]
lokationsadresse: Optional[Adresse]

Die Adresse, an der die Energie-Lieferung oder -Einspeisung erfolgt

marktlokations_id: str

Identifikationsnummer einer Marktlokation, an der Energie entweder verbraucht, oder erzeugt wird.

netzbetreibercodenr: Optional[str]

Codenummer des Netzbetreibers, an dessen Netz diese Marktlokation angeschlossen ist.

netzebene: Netzebene

Netzebene, in der der Bezug der Energie erfolgt. Bei Strom Spannungsebene der Lieferung, bei Gas Druckstufe. Beispiel Strom: Niederspannung Beispiel Gas: Niederdruck.

netzgebietsnr: Optional[str]

Die ID des Gebietes in der ene’t-Datenbank

sparte: Sparte

Sparte der Marktlokation, z.B. Gas oder Strom

unterbrechbar: Optional[bool]

Gibt an, ob es sich um eine unterbrechbare Belieferung handelt

classmethod validate_address_info(katasterinformation: Optional[Katasteradresse], values: Dict[str, Any]) Optional[Katasteradresse][source]

Checks that there is one and only one valid adress given.

verbrauchsart: Optional[Verbrauchsart]

Verbrauchsart der Marktlokation.

zugehoerige_messlokation: Optional[Messlokationszuordnung]

Aufzählung der Messlokationen, die zu dieser Marktlokation gehören. Es können 3 verschiedene Konstrukte auftreten:

Beziehung 1 : 0 : Hier handelt es sich um Pauschalanlagen ohne Messung. D.h. die Verbrauchsdaten sind direkt über die Marktlokation abgreifbar. Beziehung 1 : 1 : Das ist die Standard-Beziehung für die meisten Fälle. In diesem Fall gibt es zu einer Marktlokation genau eine Messlokation. Beziehung 1 : N : Hier liegt beispielsweise eine Untermessung vor. Der Verbrauch einer Marklokation berechnet sich hier aus mehreren Messungen.

Es gibt praktisch auch noch die Beziehung N : 1, beispielsweise bei einer Zweirichtungsmessung bei der durch eine Messeinrichtung die Messung sowohl für die Einspreiseseite als auch für die Aussspeiseseite erfolgt. Da Abrechnung und Bilanzierung jedoch für beide Marktlokationen getrennt erfolgt, werden nie beide Marktlokationen gemeinsam betrachtet. Daher lässt sich dieses Konstrukt auf zwei 1:1-Beziehung zurückführen, wobei die Messlokation in beiden Fällen die gleiche ist.

In den Zuordnungen sind ist die arithmetische Operation mit der der Verbrauch einer Messlokation zum Verbrauch einer Marktlokation beitrögt mit aufgeführt. Der Standard ist hier die Addition.

bo4e.bo.marktteilnehmer module

Contains Marktteilnehmer class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.marktteilnehmer.Marktteilnehmer(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.MARKTTEILNEHMER, externeReferenzen: Optional[List[ExterneReferenz]] = [], name1: str, gewerbekennzeichnung: bool, geschaeftspartnerrolle: List[Geschaeftspartnerrolle], anrede: Optional[Anrede] = None, name2: Optional[str] = None, name3: Optional[str] = None, hrnummer: Optional[str] = None, amtsgericht: Optional[str] = None, kontaktweg: Optional[List[Kontaktart]] = [], umsatzsteuerId: Optional[str] = None, glaeubigerId: Optional[str] = None, eMailAdresse: Optional[str] = None, website: Optional[str] = None, partneradresse: Optional[Adresse] = None, marktrolle: Marktrolle, rollencodenummer: ConstrainedStrValue, rollencodetyp: Rollencodetyp, sparte: Sparte, makoadresse: Optional[str] = None)[source]

Bases: Geschaeftspartner

Objekt zur Aufnahme der Information zu einem Marktteilnehmer

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

makoadresse: Optional[str]

1-Kommunikationsadresse des Marktteilnehmers; Diese wird in der Marktkommunikation verwendet.

Type

Die 1

marktrolle: Marktrolle

Gibt im Klartext die Bezeichnung der Marktrolle an

rollencodenummer: ConstrainedStrValue

Gibt die Codenummer der Marktrolle an

rollencodetyp: Rollencodetyp

Gibt den Typ des Codes an

sparte: Sparte

Sparte des Marktteilnehmers, z.B. Gas oder Strom

bo4e.bo.messlokation module

Contains Messlokation class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.messlokation.Messlokation(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.MESSLOKATION, externeReferenzen: Optional[List[ExterneReferenz]] = [], messlokationsId: str, sparte: Sparte, netzebeneMessung: Optional[Netzebene] = None, messgebietnr: Optional[str] = None, geraete: Optional[List[Hardware]] = None, messdienstleistung: Optional[List[Dienstleistung]] = None, messlokationszaehler: Optional[List[Zaehler]] = None, grundzustaendigerMsbCodenr: Optional[str] = None, grundzustaendigerMsbimCodenr: Optional[str] = None, messadresse: Optional[Adresse] = None, geoadresse: Optional[Geokoordinaten] = None, katasterinformation: Optional[Katasteradresse] = None)[source]

Bases: Geschaeftsobjekt

Object containing information about a Messlokation

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

geoadresse: Optional[Geokoordinaten]

Alternativ zu einer postalischen Adresse kann hier ein Ort mittels Geokoordinaten angegeben werden (z.B. zur Identifikation von Sendemasten).

geraete: Optional[List[Hardware]]

Liste der Hardware, die zu dieser Messstelle gehört

grundzustaendiger_msb_codenr: Optional[str]

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: Optional[str]

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: Optional[Katasteradresse]

Alternativ zu einer postalischen Adresse und Geokoordinaten kann hier eine Ortsangabe mittels Gemarkung und Flurstück erfolgen.

messadresse: Optional[Adresse]

Die Adresse, an der die Messeinrichtungen zu finden sind. (Nur angeben, wenn diese von der Adresse der Marktlokation abweicht.)

messdienstleistung: Optional[List[Dienstleistung]]

Liste der Messdienstleistungen, die zu dieser Messstelle gehört

messgebietnr: Optional[str]

Die Nummer des Messgebietes in der ene’t-Datenbank

messlokations_id: str

Die Messlokations-Identifikation; Das ist die frühere Zählpunktbezeichnung

messlokationszaehler: Optional[List[Zaehler]]

Zähler, die zu dieser Messlokation gehören

netzebene_messung: Optional[Netzebene]

Spannungsebene der Messung

sparte: Sparte

Sparte der Messlokation, z.B. Gas oder Strom

classmethod validate_address_info(katasterinformation: Optional[Katasteradresse], values: Dict[str, Any]) Optional[Katasteradresse][source]

Checks that if an address is given, that there is only one valid address given

classmethod validate_grundzustaendiger_x_codenr(grundzustaendiger_msbim_codenr: Optional[str], values: Dict[str, Any]) Optional[str][source]

Checks that if a codenr is given, that there is only one valid codenr given.

bo4e.bo.netznutzungsrechnung module

Contains Netznutzungsrechnung class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.netznutzungsrechnung.Netznutzungsrechnung(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.NETZNUTZUNGSRECHNUNG, externeReferenzen: Optional[List[ExterneReferenz]] = [], storno: bool, rechnungsnummer: str, rechnungsdatum: datetime, faelligkeitsdatum: datetime, rechnungstyp: Rechnungstyp, rechnungsperiode: Zeitraum, rechnungsersteller: Geschaeftspartner, rechnungsempfaenger: Geschaeftspartner, gesamtnetto: Betrag, gesamtsteuer: Betrag, gesamtbrutto: Betrag, zuzahlen: Betrag, rechnungspositionen: List[Rechnungsposition], rechnungstitel: Optional[str] = None, rechnungsstatus: Optional[Rechnungsstatus] = None, originalRechnungsnummer: Optional[str] = None, vorausgezahlt: Optional[Betrag] = None, rabattBrutto: Optional[Betrag] = None, steuerbetraege: Optional[List[Steuerbetrag]] = None, sparte: Sparte, absendercodenummer: ConstrainedStrValue, empfaengercodenummer: ConstrainedStrValue, nnrechnungsart: NNRechnungsart, nnrechnungstyp: NNRechnungstyp, original: bool, simuliert: bool, lokationsId: Optional[str] = None)[source]

Bases: Rechnung

Modell für die Abbildung von Netznutzungsrechnungen

absendercodenummer: ConstrainedStrValue

Die Rollencodenummer des Absenders (siehe Marktteilnehmer). Über die Nummer können weitere Informationen zum Marktteilnehmer ermittelt werden.

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

empfaengercodenummer: ConstrainedStrValue

Die Rollencodenummer des Empfängers (siehe Marktteilnehmer). Über die Nummer können weitere Informationen zum Marktteilnehmer ermittelt werden.

lokations_id: Optional[str]

Die Markt- oder Messlokations-Identifikation (als Malo/Melo-Id) der Lokation, auf die sich die Rechnung bezieht

nnrechnungsart: NNRechnungsart

Aus der INVOIC entnommen

nnrechnungstyp: NNRechnungstyp

Aus der INVOIC entnommen

original: bool

Kennzeichen, ob es sich um ein Original (true) oder eine Kopie handelt (false)

simuliert: bool

Kennzeichen, ob es sich um eine simulierte Rechnung, z.B. zur Rechnungsprüfung handelt

sparte: Sparte

Sparte (Strom, Gas …) für die die Rechnung ausgestellt ist

bo4e.bo.preisblatt module

Contains Preisblatt class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.preisblatt.Preisblatt(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.PREISBLATT, externeReferenzen: Optional[List[ExterneReferenz]] = [], bezeichnung: str, sparte: Sparte, preisstatus: Preisstatus, gueltigkeit: Zeitraum, preispositionen: ConstrainedListValue[Preisposition], herausgeber: Optional[Marktteilnehmer] = None)[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.

bezeichnung: str

Eine Bezeichnung für das Preisblatt

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

gueltigkeit: Zeitraum

Der Zeitraum für den der Preis festgelegt ist

herausgeber: Optional[Marktteilnehmer]

Der Netzbetreiber, der die Preise veröffentlicht hat

preispositionen: ConstrainedListValue[Preisposition]

Die einzelnen Positionen, die mit dem Preisblatt abgerechnet werden können. Z.B. Arbeitspreis, Grundpreis etc

preisstatus: Preisstatus

Merkmal, das anzeigt, ob es sich um vorläufige oder endgültige Preise handelt

sparte: Sparte

Preisblatt gilt für angegebene Sparte

bo4e.bo.preisblattdienstleistung module

Contains PreisblattDienstleistung class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.preisblattdienstleistung.PreisblattDienstleistung(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.PREISBLATTDIENSTLEISTUNG, externeReferenzen: Optional[List[ExterneReferenz]] = [], bezeichnung: str, sparte: Sparte, preisstatus: Preisstatus, gueltigkeit: Zeitraum, preispositionen: ConstrainedListValue[Preisposition], herausgeber: Optional[Marktteilnehmer] = None, bilanzierungsmethode: Bilanzierungsmethode, basisdienstleistung: Dienstleistungstyp, geraetedetails: Optional[Geraeteeigenschaften] = None, inklusiveDienstleistungen: Optional[List[Dienstleistungstyp]] = None)[source]

Bases: Preisblatt

Variante des Preisblattmodells zur Abbildung der Preise für wahlfreie Dienstleistungen

basisdienstleistung: Dienstleistungstyp

Dienstleistung, für die der Preis abgebildet wird, z.B. Sperrung/Entsperrung

bilanzierungsmethode: Bilanzierungsmethode

Die Preise gelten für Marktlokationen der angebebenen Bilanzierungsmethode

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

geraetedetails: Optional[Geraeteeigenschaften]

Hier kann der Preis auf bestimmte Geräte eingegrenzt werden. Z.B. auf die Zählergröße

inklusive_dienstleistungen: Optional[List[Dienstleistungstyp]]

Weitere Dienstleistungen, die im Preis enthalten sind

bo4e.bo.preisblatthardware module

Contains PreisblattHardware class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.preisblatthardware.PreisblattHardware(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.PREISBLATTHARDWARE, externeReferenzen: Optional[List[ExterneReferenz]] = [], bezeichnung: str, sparte: Sparte, preisstatus: Preisstatus, gueltigkeit: Zeitraum, preispositionen: ConstrainedListValue[Preisposition], herausgeber: Optional[Marktteilnehmer] = None, bilanzierungsmethode: Bilanzierungsmethode, messebene: Netzebene, basisgeraet: Geraeteeigenschaften, inklusiveDienstleistungen: Optional[List[Dienstleistungstyp]] = None, inklusiveGeraete: Optional[List[Geraeteeigenschaften]] = None)[source]

Bases: Preisblatt

Variante des Preisblattmodells zur Abbildung der Preise für zusätzliche Hardware

basisgeraet: Geraeteeigenschaften

Der Preis betriftt das hier angegebene Gerät, z.B. ein Tarifschaltgerät

bilanzierungsmethode: Bilanzierungsmethode

Die Preise gelten für Marktlokationen der angebebenen Bilanzierungsmethode

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

inklusive_dienstleistungen: Optional[List[Dienstleistungstyp]]

Im Preis sind die hier angegebenen Dienstleistungen enthalten, z.B. Jährliche Ablesung

inklusive_geraete: Optional[List[Geraeteeigenschaften]]

Im Preis sind die hier angegebenen Geräte mit enthalten, z.B. ein Wandler

messebene: Netzebene

Die Preise gelten für Messlokationen in der angebebenen Netzebene

bo4e.bo.preisblattkonzessionsabgabe module

Contains PreisblattKonzessionsabgabe class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.preisblattkonzessionsabgabe.PreisblattKonzessionsabgabe(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.PREISBLATTKONZESSIONSABGABE, externeReferenzen: Optional[List[ExterneReferenz]] = [], bezeichnung: str, sparte: Sparte, preisstatus: Preisstatus, gueltigkeit: Zeitraum, preispositionen: ConstrainedListValue[Preisposition], herausgeber: Optional[Marktteilnehmer] = None, kundengruppeKA: KundengruppeKA)[source]

Bases: Preisblatt

Die Variante des Preisblattmodells zur Abbildung von allgemeinen Abgaben

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

kundengruppe_k_a: KundengruppeKA

Kundegruppe anhand derer die Höhe der Konzessionabgabe festgelegt ist

bo4e.bo.preisblattmessung module

Contains PreisblattMessung class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.preisblattmessung.PreisblattMessung(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.PREISBLATTMESSUNG, externeReferenzen: Optional[List[ExterneReferenz]] = [], bezeichnung: str, sparte: Sparte, preisstatus: Preisstatus, gueltigkeit: Zeitraum, preispositionen: ConstrainedListValue[Preisposition], herausgeber: Optional[Marktteilnehmer] = None, bilanzierungsmethode: Bilanzierungsmethode, messebene: Netzebene, zaehler: Geraeteeigenschaften, inklusiveDienstleistungen: Optional[List[Dienstleistungstyp]] = None, inklusiveGeraete: Optional[List[Geraeteeigenschaften]] = None)[source]

Bases: Preisblatt

Variante des Preisblattmodells zur Abbildung der Preise des Messstellenbetriebs und damit verbundener Leistungen

bilanzierungsmethode: Bilanzierungsmethode

Die Preise gelten für Marktlokationen der angebebenen Bilanzierungsmethode

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

inklusive_dienstleistungen: Optional[List[Dienstleistungstyp]]

Im Preis sind die hier angegebenen Dienstleistungen enthalten, z.B. Jährliche Ablesung

inklusive_geraete: Optional[List[Geraeteeigenschaften]]

Im Preis sind die hier angegebenen Geräte mit enthalten, z.B. ein Wandler

messebene: Netzebene

Die Preise gelten für Messlokationen in der angebebenen Netzebene

zaehler: Geraeteeigenschaften

Der Preis betrifft den hier angegebenen Zähler, z.B. einen Drehstromzähler

bo4e.bo.preisblattnetznutzung module

Contains PreisblattNetnutzung class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.preisblattnetznutzung.PreisblattNetznutzung(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.PREISBLATTNETZNUTZUNG, externeReferenzen: Optional[List[ExterneReferenz]] = [], bezeichnung: str, sparte: Sparte, preisstatus: Preisstatus, gueltigkeit: Zeitraum, preispositionen: ConstrainedListValue[Preisposition], herausgeber: Optional[Marktteilnehmer] = None, bilanzierungsmethode: Bilanzierungsmethode, netzebene: Netzebene, kundengruppe: Kundengruppe)[source]

Bases: Preisblatt

Die Variante des Preisblattmodells zur Abbildung der Netznutzungspreise

bilanzierungsmethode: Bilanzierungsmethode

Die Preise gelten für Marktlokationen der angebebenen Bilanzierungsmethode

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

kundengruppe: Kundengruppe
netzebene: Netzebene

Die Preise gelten für Marktlokationen in der angebebenen Netzebene

bo4e.bo.rechnung module

Contains Rechnung class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.rechnung.Rechnung(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.RECHNUNG, externeReferenzen: Optional[List[ExterneReferenz]] = [], storno: bool, rechnungsnummer: str, rechnungsdatum: datetime, faelligkeitsdatum: datetime, rechnungstyp: Rechnungstyp, rechnungsperiode: Zeitraum, rechnungsersteller: Geschaeftspartner, rechnungsempfaenger: Geschaeftspartner, gesamtnetto: Betrag, gesamtsteuer: Betrag, gesamtbrutto: Betrag, zuzahlen: Betrag, rechnungspositionen: List[Rechnungsposition], rechnungstitel: Optional[str] = None, rechnungsstatus: Optional[Rechnungsstatus] = None, originalRechnungsnummer: Optional[str] = None, vorausgezahlt: Optional[Betrag] = None, rabattBrutto: Optional[Betrag] = None, steuerbetraege: Optional[List[Steuerbetrag]] = None)[source]

Bases: Geschaeftsobjekt

Modell für die Abbildung von Rechnungen im Kontext der Energiewirtschaft; Ausgehend von diesem Basismodell werden weitere spezifische Formen abgeleitet.

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

faelligkeitsdatum: datetime

Zu diesem Datum ist die Zahlung fällig

gesamtbrutto: Betrag

Die Summe aus Netto- und Steuerbetrag

gesamtnetto: Betrag

Die Summe der Nettobeträge der Rechnungsteile

gesamtsteuer: Betrag

Die Summe der Steuerbeträge der Rechnungsteile

original_rechnungsnummer: Optional[str]

Im Falle einer Stornorechnung (storno = true) steht hier die Rechnungsnummer der stornierten Rechnung

rabatt_brutto: Optional[Betrag]

Gesamtrabatt auf den Bruttobetrag

rechnungsdatum: datetime

Ausstellungsdatum der Rechnung

rechnungsempfaenger: Geschaeftspartner

Der Aussteller der Rechnung

rechnungsersteller: Geschaeftspartner

Der Aussteller der Rechnung

rechnungsnummer: str

Eine im Verwendungskontext eindeutige Nummer für die Rechnung

rechnungsperiode: Zeitraum

Der Zeitraum der zugrunde liegenden Lieferung zur Rechnung

rechnungspositionen: List[Rechnungsposition]

Die Rechnungspositionen

rechnungsstatus: Optional[Rechnungsstatus]

Status der Rechnung zur Kennzeichnung des Bearbeitungsstandes

rechnungstitel: Optional[str]

Bezeichnung für die vorliegende Rechnung

rechnungstyp: Rechnungstyp

Ein kontextbezogender Rechnungstyp, z.B. Netznutzungsrechnung

steuerbetraege: Optional[List[Steuerbetrag]]

Eine Liste mit Steuerbeträgen pro Steuerkennzeichen/Steuersatz; die Summe dieser Beträge ergibt den Wert für gesamtsteuer.

storno: bool

Kennzeichnung, ob es sich um eine Stornorechnung handelt; im Falle “true” findet sich im Attribut “originalrechnungsnummer” die Nummer der Originalrechnung.

vorausgezahlt: Optional[Betrag]

Die Summe evtl. vorausgezahlter Beträge, z.B. Abschläge. Angabe als Bruttowert

zuzahlen: Betrag

Der zu zahlende Betrag, der sich aus (gesamtbrutto - vorausbezahlt - rabattBrutto) ergibt

bo4e.bo.region module

Contains Region class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.region.Region(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.REGION, externeReferenzen: Optional[List[ExterneReferenz]] = [], bezeichnung: str, positivListe: ConstrainedListValue[Regionskriterium], negativListe: Optional[List[Regionskriterium]] = None)[source]

Bases: Geschaeftsobjekt

Modellierung einer Region als Menge von Kriterien, die eine Region beschreiben

bezeichnung: str

Bezeichnung der Region

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

negativ_liste: Optional[List[Regionskriterium]]

Negativliste der Kriterien zur Definition der Region

positiv_liste: ConstrainedListValue[Regionskriterium]

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(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.REGIONALTARIF, externeReferenzen: Optional[List[ExterneReferenz]] = [], bezeichnung: str, anbietername: str, sparte: Sparte, kundentypen: ConstrainedListValue[Kundentyp], tarifart: Tarifart, tariftyp: Tariftyp, tarifmerkmale: ConstrainedListValue[Tarifmerkmal], anbieter: Marktteilnehmer, website: Optional[str] = None, bemerkung: Optional[str] = None, zeitlicheGueltigkeit: Optional[Zeitraum] = None, energiemix: Optional[Energiemix] = None, vertragskonditionen: Optional[Vertragskonditionen] = None, anwendungVon: Optional[datetime] = None, preisstand: datetime, berechnungsparameter: Tarifberechnungsparameter, tarifpreise: ConstrainedListValue[RegionaleTarifpreisposition], tarifAufAbschlaege: Optional[List[RegionalerAufAbschlag]] = None, preisgarantien: Optional[List[RegionalePreisgarantie]] = None, tarifeinschraenkung: Optional[Tarifeinschraenkung] = None)[source]

Bases: Tarifinfo

berechnungsparameter: Tarifberechnungsparameter

Für die Berechnung der Kosten sind die hier abgebildeten Parameter heranzuziehen

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

preisgarantien: Optional[List[RegionalePreisgarantie]]

Festlegung von Garantien für bestimmte Preisanteile

preisstand: datetime

Gibt an, wann der Preis zuletzt angepasst wurde

tarif_auf_abschlaege: Optional[List[RegionalerAufAbschlag]]

Auf- und Abschläge auf die Preise oder Kosten mit regionaler Eingrenzung

tarifeinschraenkung: Optional[Tarifeinschraenkung]

Die Bedingungen und Einschränkungen unter denen ein Tarif angewendet werden kann

tarifpreise: ConstrainedListValue[RegionaleTarifpreisposition]

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(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.STANDORTEIGENSCHAFTEN, externeReferenzen: Optional[List[ExterneReferenz]] = [], eigenschaftenStrom: ConstrainedListValue[StandorteigenschaftenStrom], eigenschaftenGas: Optional[StandorteigenschaftenGas] = None)[source]

Bases: Geschaeftsobjekt

Modelliert die regionalen und spartenspezifischen Eigenschaften einer gegebenen Adresse.

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

eigenschaften_gas: Optional[StandorteigenschaftenGas]

Eigenschaften zur Sparte Gas

eigenschaften_strom: ConstrainedListValue[StandorteigenschaftenStrom]

Eigenschaften zur Sparte Strom

bo4e.bo.tarif module

Contains Tarif class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.tarif.Tarif(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.TARIF, externeReferenzen: Optional[List[ExterneReferenz]] = [], bezeichnung: str, anbietername: str, sparte: Sparte, kundentypen: ConstrainedListValue[Kundentyp], tarifart: Tarifart, tariftyp: Tariftyp, tarifmerkmale: ConstrainedListValue[Tarifmerkmal], anbieter: Marktteilnehmer, website: Optional[str] = None, bemerkung: Optional[str] = None, zeitlicheGueltigkeit: Optional[Zeitraum] = None, energiemix: Optional[Energiemix] = None, vertragskonditionen: Optional[Vertragskonditionen] = None, anwendungVon: Optional[datetime] = None, preisstand: datetime, berechnungsparameter: Tarifberechnungsparameter, tarifpreise: ConstrainedListValue[TarifpreispositionProOrt], tarifAufAbschlaege: Optional[List[AufAbschlagRegional]] = None, preisgarantie: Optional[Preisgarantie] = None, tarifeinschraenkung: Optional[Tarifeinschraenkung] = None)[source]

Bases: Tarifinfo

Abbildung eines Tarifs mit regionaler Zuordnung von Preisen und Auf- und Abschlägen

berechnungsparameter: Tarifberechnungsparameter

Für die Berechnung der Kosten sind die hier abgebildeten Parameter heranzuziehen

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

preisgarantie: Optional[Preisgarantie]

Preisgarantie für diesen Tarif

preisstand: datetime

Gibt an, wann der Preis zuletzt angepasst wurde

tarif_auf_abschlaege: Optional[List[AufAbschlagRegional]]

Auf- und Abschläge auf die Preise oder Kosten mit regionaler Eingrenzung

tarifeinschraenkung: Optional[Tarifeinschraenkung]

Die Bedingungen und Einschränkungen unter denen ein Tarif angewendet werden kann

tarifpreise: ConstrainedListValue[TarifpreispositionProOrt]

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(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.TARIFINFO, externeReferenzen: Optional[List[ExterneReferenz]] = [], bezeichnung: str, anbietername: str, sparte: Sparte, kundentypen: ConstrainedListValue[Kundentyp], tarifart: Tarifart, tariftyp: Tariftyp, tarifmerkmale: ConstrainedListValue[Tarifmerkmal], anbieter: Marktteilnehmer, website: Optional[str] = None, bemerkung: Optional[str] = None, zeitlicheGueltigkeit: Optional[Zeitraum] = None, energiemix: Optional[Energiemix] = None, vertragskonditionen: Optional[Vertragskonditionen] = None, anwendungVon: Optional[datetime] = None)[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

Der Marktteilnehmer (Lieferant), der diesen Tarif anbietet

anbietername: str

Der Name des Marktpartners, der den Tarif anbietet

anwendung_von: Optional[datetime]

Angabe des inklusiven Zeitpunkts, ab dem der Tarif bzw. der Preis angewendet und abgerechnet wird, z.B. “2021-07-20T18:31:48Z”

bemerkung: Optional[str]

Freitext

bezeichnung: str

Name des Tarifs

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

energiemix: Optional[Energiemix]

Der Energiemix, der für diesen Tarif gilt

kundentypen: ConstrainedListValue[Kundentyp]

Kundentypen für den der Tarif gilt, z.B. Privatkunden

sparte: Sparte

Strom oder Gas, etc.

tarifart: Tarifart

Die Art des Tarifes, z.B. Eintarif oder Mehrtarif

tarifmerkmale: ConstrainedListValue[Tarifmerkmal]

Weitere Merkmale des Tarifs, z.B. Festpreis oder Vorkasse

tariftyp: Tariftyp

Hinweis auf den Tariftyp, z.B. Grundversorgung oder Sondertarif

vertragskonditionen: Optional[Vertragskonditionen]

Mindestlaufzeiten und Kündigungsfristen zusammengefasst

website: Optional[str]

Internetseite auf dem der Tarif zu finden ist

zeitliche_gueltigkeit: Optional[Zeitraum]

Angabe, in welchem Zeitraum der Tarif gültig ist

bo4e.bo.tarifkosten module

Contains Tarifkosten class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.tarifkosten.Tarifkosten(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.TARIFKOSTEN, externeReferenzen: Optional[List[ExterneReferenz]] = [], bezeichnung: str, anbietername: str, sparte: Sparte, kundentypen: ConstrainedListValue[Kundentyp], tarifart: Tarifart, tariftyp: Tariftyp, tarifmerkmale: ConstrainedListValue[Tarifmerkmal], anbieter: Marktteilnehmer, website: Optional[str] = None, bemerkung: Optional[str] = None, zeitlicheGueltigkeit: Optional[Zeitraum] = None, energiemix: Optional[Energiemix] = None, vertragskonditionen: Optional[Vertragskonditionen] = None, anwendungVon: Optional[datetime] = None, kosten: Kosten)[source]

Bases: Tarifinfo

Objekt zur Kommunikation von Kosten, die im Rahmen der Tarifanwendung entstehen

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

kosten: Kosten

Referenz (Link) zu einem Kostenobjekt, in dem die Kosten für die Anwendung des Tarifs auf eine Abnahmesituation berechnet wurden

bo4e.bo.tarifpreisblatt module

Contains Tarifpreisblatt class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.tarifpreisblatt.Tarifpreisblatt(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.TARIFPREISBLATT, externeReferenzen: Optional[List[ExterneReferenz]] = [], bezeichnung: str, anbietername: str, sparte: Sparte, kundentypen: ConstrainedListValue[Kundentyp], tarifart: Tarifart, tariftyp: Tariftyp, tarifmerkmale: ConstrainedListValue[Tarifmerkmal], anbieter: Marktteilnehmer, website: Optional[str] = None, bemerkung: Optional[str] = None, zeitlicheGueltigkeit: Optional[Zeitraum] = None, energiemix: Optional[Energiemix] = None, vertragskonditionen: Optional[Vertragskonditionen] = None, anwendungVon: Optional[datetime] = None, preisstand: datetime, tarifpreise: ConstrainedListValue[Tarifpreisposition], berechnungsparameter: Tarifberechnungsparameter, tarifeinschraenkung: Optional[Tarifeinschraenkung] = None, preisgarantie: Optional[Preisgarantie] = None, tarifAufAbschlaege: Optional[List[AufAbschlag]] = None)[source]

Bases: Tarifinfo

Tarifinformation mit Preisen, Aufschlägen und Berechnungssystematik

berechnungsparameter: Tarifberechnungsparameter

Für die Berechnung der Kosten sind die hier abgebildeten Parameter heranzuziehen

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

preisgarantie: Optional[Preisgarantie]

Festlegung von Garantien für bestimmte Preisanteile

preisstand: datetime

Gibt an, wann der Preis zuletzt angepasst wurde

tarif_auf_abschlaege: Optional[List[AufAbschlag]]

Auf- und Abschläge auf die Preise oder Kosten

tarifeinschraenkung: Optional[Tarifeinschraenkung]

Die Bedingungen und Einschränkungen unter denen ein Tarif angewendet werden kann

tarifpreise: ConstrainedListValue[Tarifpreisposition]

Die festgelegten Preise, z.B. für Arbeitspreis, Grundpreis etc.

bo4e.bo.vertrag module

Contains Vertrag class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.vertrag.Vertrag(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.VERTRAG, externeReferenzen: Optional[List[ExterneReferenz]] = [], vertragsnummer: str, vertragsart: Vertragsart, vertragsstatus: Vertragsstatus, sparte: Sparte, vertragsbeginn: datetime, vertragsende: datetime, vertragspartner1: Geschaeftspartner, vertragspartner2: Geschaeftspartner, vertragsteile: ConstrainedListValue[Vertragsteil], beschreibung: Optional[str] = None, vertragskonditionen: Optional[Vertragskonditionen] = None, unterzeichnervp1: Optional[List[Unterschrift]] = None, unterzeichnervp2: Optional[List[Unterschrift]] = None)[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.

beschreibung: Optional[str]

Beschreibung zum Vertrag

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

sparte: Sparte

Unterscheidungsmöglichkeiten für die Sparte

unterzeichnervp1: Optional[List[Unterschrift]]

Unterzeichner des Vertragspartners 1

unterzeichnervp2: Optional[List[Unterschrift]]

Unterzeichner des Vertragspartners 2

vertragsart: Vertragsart

Hier ist festgelegt, um welche Art von Vertrag es sich handelt.

vertragsbeginn: datetime

Gibt an, wann der Vertrag beginnt (inklusiv)

vertragsende: datetime

Gibt an, wann der Vertrag (voraussichtlich) endet oder beendet wurde (exklusiv)

vertragskonditionen: Optional[Vertragskonditionen]

Festlegungen zu Laufzeiten und Kündigungsfristen

vertragsnummer: str

Eine im Verwendungskontext eindeutige Nummer für den Vertrag

vertragspartner1: Geschaeftspartner

Der “erstgenannte” Vertragspartner. In der Regel der Aussteller des Vertrags. Beispiel: “Vertrag zwischen Vertragspartner 1 …”

vertragspartner2: Geschaeftspartner

Der “zweitgenannte” Vertragspartner. In der Regel der Empfänger des Vertrags. Beispiel “Vertrag zwischen Vertragspartner 1 und Vertragspartner 2”.

vertragsstatus: Vertragsstatus

Gibt den Status des Vertrags an

vertragsteile: ConstrainedListValue[Vertragsteil]

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(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.ZAEHLER, externeReferenzen: Optional[List[ExterneReferenz]] = [], zaehlernummer: str, sparte: Sparte, zaehlerauspraegung: Zaehlerauspraegung, zaehlertyp: Zaehlertyp, zaehlwerke: ConstrainedListValue[Zaehlwerk], tarifart: Tarifart, zaehlerkonstante: Optional[Decimal] = None, eichungBis: Optional[datetime] = None, letzteEichung: Optional[datetime] = None, zaehlerhersteller: Optional[Geschaeftspartner] = None)[source]

Bases: Geschaeftsobjekt

Object containing information about a meter/”Zaehler”.

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

eichung_bis: Optional[datetime]

Bis zu diesem Datum (exklusiv) ist der Zähler geeicht.

letzte_eichung: Optional[datetime]

Zu diesem Datum fand die letzte Eichprüfung des Zählers statt.

sparte: Sparte

Strom oder Gas

tarifart: Tarifart

Spezifikation bezüglich unterstützter Tarifarten

zaehlerauspraegung: Zaehlerauspraegung

Spezifikation die Richtung des Zählers betreffend

zaehlerhersteller: Optional[Geschaeftspartner]

Der Hersteller des Zählers

zaehlerkonstante: Optional[Decimal]

Zählerkonstante auf dem Zähler

zaehlernummer: str

Nummerierung des Zählers,vergeben durch den Messstellenbetreiber

zaehlertyp: Zaehlertyp

Typisierung des Zählers

zaehlwerke: ConstrainedListValue[Zaehlwerk]

bo4e.bo.zeitreihe module

Contains Zeitreihe class and corresponding marshmallow schema for de-/serialization

class bo4e.bo.zeitreihe.Zeitreihe(*, versionstruktur: str = '2', boTyp: BoTyp = BoTyp.ZEITREIHE, externeReferenzen: Optional[List[ExterneReferenz]] = [], bezeichnung: str, messgroesse: Messgroesse, messart: Messart, medium: Medium, einheit: Mengeneinheit, werte: ConstrainedListValue[Zeitreihenwert], beschreibung: Optional[str] = None, version: Optional[str] = None, wertherkunft: Optional[Wertermittlungsverfahren] = None)[source]

Bases: Geschaeftsobjekt

Abbildung einer allgemeinen Zeitreihe mit einem Wertvektor. Die Werte können mit wahlfreier zeitlicher Distanz im Vektor abgelegt sein.

beschreibung: Optional[str]

Beschreibt die Verwendung der Zeitreihe

bezeichnung: str

Bezeichnung für die Zeitreihe

bo_typ: BoTyp

Der Typ des Geschäftsobjektes

einheit: Mengeneinheit

Alle Werte in der Tabelle haben die Einheit, die hier angegeben ist

medium: Medium

Medium, das gemessen wurde (z.B. Wasser, Dampf, Strom, Gas)

messart: Messart

Beschreibt die Art der Messung (z.B. aktueller Wert, mittlerer Wert, maximaler Wert)

messgroesse: Messgroesse

Beschreibt, was gemessen wurde (z.B. Strom, Spannung, Wirkleistung, Scheinleistung)

version: Optional[str]

Version der Zeitreihe

werte: ConstrainedListValue[Zeitreihenwert]

Hier liegen jeweils die Werte

wertherkunft: Optional[Wertermittlungsverfahren]

Kennzeichnung, wie die Werte entstanden sind, z.B. durch Messung

Module contents