Documentation ¶
Index ¶
- func AvisStructLevelValidation(sl validator.StructLevel)
- func AvisStructLevelValidationAbweichung(sl validator.StructLevel)
- func AvisStructLevelValidationZuZahlen(sl validator.StructLevel)
- func AvisStructLevelValidationZuZahlenAbgelehnteForderung(sl validator.StructLevel)
- func CalculateMaLoIdCheckSum(maloID string) (int, error)
- func EICFieldLevelValidation(fl validator.FieldLevel) bool
- func GetMaLoIdCheckSum(maloIdWithoutCheckSum string) intdeprecated
- func GetNeLoIdCheckSum(neloIdWithoutCheckSum string) (int, error)
- func GetSRIdCheckSum(srIdWithoutCheckSum string) (int, error)
- func GetTRIdCheckSum(trIdWithoutCheckSum string) (int, error)
- func MaloIdFieldLevelValidation(fl validator.FieldLevel) bool
- func RechnungStructLevelValidation(sl validator.StructLevel)
- func RechnungStructLevelValidationGesamtBrutto(sl validator.StructLevel)
- func RechnungStructLevelValidationGesamtNetto(sl validator.StructLevel)
- func RechnungStructLevelValidationGesamtSteuer(sl validator.StructLevel)
- func RechnungStructLevelValidationZuZahlen(sl validator.StructLevel)
- func XorStructLevelMesslokationValidation(sl validator.StructLevel)
- func XorStructLevelValidation(sl validator.StructLevel)
- type Angebot
- type Ansprechpartner
- type Avis
- type Bilanzierung
- type BusinessObject
- type BusinessObjectSlice
- type Einspeisung
- type Energiemenge
- type Geschaeftsobjekt
- type Geschaeftspartner
- type Handelsunstimmigkeit
- type Lastgang
- type Marktlokation
- type Marktteilnehmer
- type Messlokation
- type Netzlokation
- type Netznutzungsrechnung
- type Preisblatt
- type Rechnung
- type Reklamation
- type Statusbericht
- type SteuerbareRessource
- type Summenzeitreihe
- type TechnischeRessource
- type Tranche
- type Vertrag
- type Zaehler
- type Zaehlzeitdefinition
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AvisStructLevelValidation ¶ added in v0.0.44
func AvisStructLevelValidation(sl validator.StructLevel)
AvisStructLevelValidation combines all the single validators
func AvisStructLevelValidationAbweichung ¶ added in v0.0.44
func AvisStructLevelValidationAbweichung(sl validator.StructLevel)
func AvisStructLevelValidationZuZahlen ¶ added in v0.0.44
func AvisStructLevelValidationZuZahlen(sl validator.StructLevel)
AvisStructLevelValidationGesamtNetto verifies that the sum of all Rechnungsposition.Netto equals the Rechnung.GesamtNetto
func AvisStructLevelValidationZuZahlenAbgelehnteForderung ¶ added in v0.0.44
func AvisStructLevelValidationZuZahlenAbgelehnteForderung(sl validator.StructLevel)
func CalculateMaLoIdCheckSum ¶ added in v0.8.4
CalculateMaLoIdCheckSum calculates the checksum (last digit) for the given malo ID. Takes both the 10-digit part of a MaLo or the whole MaLo (11 digits). Returns an error if maloID's length is neither 10 nor 11, or if the first ten characters do not constitute a maloID.
func EICFieldLevelValidation ¶ added in v0.0.21
func EICFieldLevelValidation(fl validator.FieldLevel) bool
EICFieldLevelValidation ensures that the string stored in the annotated/tagged field is a valid EIC code Therefore it has to obey the "Bildungsvorschrift" according to https://bdew-codes.de/Content/Files/EIC/Awh_20171218_EIC-Vergabe_V1-0.pdf section 2.2.1
func GetMaLoIdCheckSum
deprecated
added in
v0.0.33
GetMaLoIdCheckSum returns the checksum (11th character of the malo ID) that matches the first ten characters long provided in maloIdWithoutCheckSum. This is going to crash if the length of the maloIdWithoutCheckSum is <10
Deprecated: Use CalculateMaLoIdCheckSum which provides error handling and doesn't panic.
func GetNeLoIdCheckSum ¶ added in v0.6.2
GetNeLoIdCheckSum returns the checksum (11th character of the nelo ID) that matches the first ten characters long provided in neloIdWithoutCheckSum. This is going to crash if the length of the neloIdWithoutCheckSum is <10. Use neloIdWithoutCheckSum + strconv.Itoa(returnValue) to generate a NeLoId
func GetSRIdCheckSum ¶ added in v0.20.0
GetSRIdCheckSum returns the checksum (11th character of the SR ID) that matches the first ten characters long provided in srIdWithoutCheckSum. This is going to crash if the length of the srIdWithoutCheckSum is <10. Use srIdWithoutCheckSum + strconv.Itoa(returnValue) to generate a SR ID
func GetTRIdCheckSum ¶ added in v0.20.0
GetTRIdCheckSum returns the checksum (11th character of the TR ID) that matches the first ten characters long provided in trIdWithoutCheckSum. This is going to crash if the length of the trIdWithoutCheckSum is <10. Use trIdWithoutCheckSum + strconv.Itoa(returnValue) to generate a TR ID
func MaloIdFieldLevelValidation ¶ added in v0.0.18
func MaloIdFieldLevelValidation(fl validator.FieldLevel) bool
MaloIdFieldLevelValidation validates the Marktlokationsid as specified by the BDEW https://bdew-codes.de/Content/Files/MaLo/2017-04-28-BDEW-Anwendungshilfe-MaLo-ID_Version1.0_FINAL.PDF
func RechnungStructLevelValidation ¶ added in v0.0.9
func RechnungStructLevelValidation(sl validator.StructLevel)
RechnungStructLevelValidation combines all the single validators
func RechnungStructLevelValidationGesamtBrutto ¶ added in v0.0.9
func RechnungStructLevelValidationGesamtBrutto(sl validator.StructLevel)
RechnungStructLevelValidationGesamtBrutto verifies that the sum of all Rechnungsposition. equals the Rechnung.GesamtBrutto
func RechnungStructLevelValidationGesamtNetto ¶ added in v0.0.9
func RechnungStructLevelValidationGesamtNetto(sl validator.StructLevel)
RechnungStructLevelValidationGesamtNetto verifies that the sum of all Rechnungsposition.Netto equals the Rechnung.GesamtNetto
func RechnungStructLevelValidationGesamtSteuer ¶ added in v0.0.9
func RechnungStructLevelValidationGesamtSteuer(sl validator.StructLevel)
RechnungStructLevelValidationGesamtSteuer verifies that the sum of all Rechnungsposition.Netto equals the Rechnung.GesamtSteuer
func RechnungStructLevelValidationZuZahlen ¶ added in v0.0.9
func RechnungStructLevelValidationZuZahlen(sl validator.StructLevel)
RechnungStructLevelValidationZuZahlen verifies that Rechnung.Zuzahlen = Rechnung.GesamtBrutto - Rechnung.Vorausgezahlt - Rechnung.RabattBrutto
func XorStructLevelMesslokationValidation ¶ added in v0.0.18
func XorStructLevelMesslokationValidation(sl validator.StructLevel)
XorStructLevelMesslokationValidation ensures that only one of the possible address types is given
func XorStructLevelValidation ¶ added in v0.0.18
func XorStructLevelValidation(sl validator.StructLevel)
XorStructLevelValidation ensures that only one of the possible address types is given
Types ¶
type Angebot ¶ added in v0.19.0
type Angebot struct { Geschaeftsobjekt Angebotsnummer string `json:"angebotsnummer,omitempty" validate:"required"` // Eindeutige Nummer des Angebotes. Anfragereferenz *string `json:"anfragereferenz,omitempty"` // Referenz auf eine Anfrage oder Ausschreibung. Kann dem Empfänger des Angebotes bei Zuordnung des Angebotes zur Anfrage bzw.Ausschreibung helfen. Angebotsdatum time.Time `json:"angebotsdatum,omitempty"` // Erstellungsdatum des Angebots Sparte sparte.Sparte `json:"sparte,omitempty" validate:"required"` // Sparte, für die das Angebot abgegeben wird (Strom/Gas). Bindefrist *time.Time `json:"bindefrist,omitempty"` // Bis zu diesem Zeitpunkt(Tag/Uhrzeit) inklusive gilt das Angebot. Angebotgeber *Geschaeftspartner `json:"angebotgeber,omitempty" validate:"required"` // Link auf den Ersteller des Angebots. Angebotnehmer *Geschaeftspartner `json:"angebotnehmer,omitempty" validate:"required"` // Link auf den Empfänger des Angebots. UnterzeichnerAngebotsnehmer *Ansprechpartner `json:"unterzeichnerAngebotsnehmer,omitempty"` // Link auf die Person, die als Angebotsnehmer das Angebot angenommen hat. UnterzeichnerAngebotsgeber *Ansprechpartner `json:"unterzeichnerAngebotsgeber,omitempty"` // Link auf die Person, die als Angebotsgeber das Angebot ausgestellt hat. Varianten []com.Angebotsvariante `json:"varianten,omitempty"` // Eine oder mehrere Varianten des Angebots mit den Angebotsteilen. Ein Angebot besteht mindestens aus einer Variante. }
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.
func (Angebot) GetDefaultJsonTags ¶ added in v0.19.0
type Ansprechpartner ¶ added in v0.0.21
type Ansprechpartner struct { Geschaeftsobjekt Anrede anrede.Anrede `json:"anrede,omitempty"` // Anrede ist die mögliche Anrede des Ansprechpartners // IndividuelleAnrede ermöglicht im Falle einer nicht standardisierten Anrede (7=anrede.INDIVIDUELL) eine frei definierbare Anrede vorzugeben. IndividuelleAnrede string `` /* 135-byte string literal not displayed */ Titel titel.Titel `json:"titel,omitempty"` // Titel ist ein möglicher Titel des Ansprechpartners Vorname string `json:"vorname,omitempty"` // Vorname ist der Vorname des Ansprechpartners Nachname string `json:"nachname,omitempty" validate:"required"` // Nachname ist der Familienname des Ansprechpartners EMailAdresse string `json:"eMailAdresse,omitempty" validate:"omitempty,email"` // EMailAdresse des Ansprechpartners Kommentar string `json:"kommentar,omitempty"` // Kommentar sind zusätzlich Freitextinformationen zum Ansprechpartner Geschaeftspartner *Geschaeftspartner `json:"geschaeftspartner,omitempty" validate:"required"` // Geschaeftspartner ist der Geschäftspartner für den der Ansprechpartner modelliert wird Adresse *com.Adresse `json:"adresse,omitempty"` // Adresse des Ansprechpartners, falls diese von der Adresse des Geschaeftspartner s abweicht Rufnummern []com.Rufnummer `json:"rufnummern,omitempty" validate:"omitempty,dive"` // Rufnummern ist eine Liste der Telefonnummern, unter denen der Ansprechpartner erreichbar ist Zustaendigkeiten []com.Zustaendigkeit `json:"zustaendigkeit,omitempty" validate:"omitempty,dive"` // Zustaendigkeiten ist eine Liste der Abteilungen und Zuständigkeiten des Ansprechpartner }
Ansprechpartner sind ansprechbare Geschäftspartner (Personen)
func (Ansprechpartner) GetDefaultJsonTags ¶ added in v0.0.37
func (_ Ansprechpartner) GetDefaultJsonTags() []string
type Avis ¶ added in v0.0.44
type Avis struct { Geschaeftsobjekt AvisNummer string `json:"avisNummer,omitempty" validate:"required"` // Eine im Verwendungskontext eindeutige Nummer für das Avis AvisTyp avistyp.AvisTyp `json:"avisTyp,omitempty" validate:"required"` // Gibt den Typ des Avis an AvisPositionen []com.AvisPosition `json:"positionen,omitempty" validate:"required,min=1"` // Avispositionen ZuZahlen com.Betrag `json:"zuZahlen,omitempty" validate:"required"` // Summenbetrag }
func (Avis) GetDefaultJsonTags ¶ added in v0.0.44
type Bilanzierung ¶ added in v0.0.21
type Bilanzierung struct { Geschaeftsobjekt Lastprofile []com.Lastprofil `json:"lastprofile,omitempty"` // Lastprofile ist eine Liste der verwendeten Lastprofile (SLP, SLP/TLP, ALP etc.) Bilanzierungsbeginn *time.Time `json:"bilanzierungsbeginn,omitempty" validate:"omitempty,ltefield=Bilanzierungsende"` // Bilanzierungsbeginn ist der inklusive Beginn der Bilanzierung Bilanzierungsende *time.Time `json:"bilanzierungsende,omitempty" validate:"omitempty,gtefield=Bilanzierungsbeginn"` // Bilanzierungsende ist das exklusive Ende der Bilanzierung Bilanzkreis *string `json:"bilanzkreis,omitempty" validate:"omitempty,len=16,eic"` // Bilanzkreis ist der EIC-Code des Bilanzkreises Jahresverbrauchsprognose *com.Menge `json:"jahresverbrauchsprognose,omitempty"` // Jahresverbrauchsprognose ist die Jahresverbrauchsprognose Kundenwert *com.Menge `json:"kundenwert,omitempty"` // Kundenwert ist der Kundenwert // Verbrauchsaufteilung beschreibt, welcher Anteil im SLP- bzw. TLP-Profil steckt // 1. [Gemessene Energiemenge der OBIS "nicht Schwachlast"] * [Verbrauchsaufteilung in % / 100%] = [zu verlagernde Energiemenge] // 2. [Gemessene Energiemenge der OBIS "Schwachlast"] - [zu verlagernde Energiemenge] = [Ermittelte Energiemenge für Schwachlast] // 3. [Gemessene Energiemenge der OBIS "nicht Schwachlast"] + [zu verlagernde Energiemenge] = [Ermittelte Energiemenge für nicht Schwachlast] Verbrauchsaufteilung decimal.NullDecimal `json:"verbrauchsaufteilung,omitempty"` Zeitreihentyp *zeitreihentyp.Zeitreihentyp `json:"zeitreihentyp,omitempty"` // Zeitreihentyp beschreibt den verwendeten Zeitreihentyp (SLS, TLS...) Aggregationsverantwortung *aggregationsverantwortung.Aggregationsverantwortung `json:"aggregationsverantwortung,omitempty"` // Aggregationsverantwortung benennt, bei wem die Aggregationsverantwortung liegt Prognosegrundlage *prognosegrundlage.Prognosegrundlage `json:"prognosegrundlage,omitempty"` // Die Prognosegrundlage beschreibt die Prognosegrundlage DetailsPrognosegrundlage []profiltyp.Profiltyp `json:"detailsPrognosegrundlage,omitempty"` // ? WahlrechtPrognosegrundlage *wahlrechtprognosegrundlage.WahlrechtPrognosegrundlage `json:"wahlrechtPrognosegrundlage,omitempty"` // WahlrechtPrognosegrundlage Fallgruppenzuordnung *fallgruppenzuordnung.Fallgruppenzuordnung `json:"fallgruppenzuordnung,omitempty"` // Fallgruppenzuordnung (für Gas RLM) Prioritaet *int `json:"prioritaet,omitempty"` // Prioritaet ist die Priorität des Bilanzkreises für Gas MarktlokationsId *string `json:"marktlokationsId,omitempty" validate:"omitempty,maloid"` // MarktlokationsId referenziert eine Marktlokation Abwicklungsmodell *abwicklungsmodell.Abwicklungsmodell `json:"abwicklungsmodell,omitempty"` // Abwicklungsmodell beschreibt wo die Bilanzierung statt findet }
Bilanzierung is a business object used for balancing. Note that this is not official BO4E standard (yet)!
func (Bilanzierung) GetDefaultJsonTags ¶ added in v0.0.37
func (bila Bilanzierung) GetDefaultJsonTags() []string
func (Bilanzierung) MarshalJSON ¶ added in v0.0.43
func (bila Bilanzierung) MarshalJSON() (bytes []byte, err error)
func (*Bilanzierung) UnmarshalJSON ¶ added in v0.0.43
func (bila *Bilanzierung) UnmarshalJSON(bytes []byte) (err error)
type BusinessObject ¶
type BusinessObject interface { // GetBoTyp returns the Geschaeftsobjekt.BoTyp GetBoTyp() botyp.BOTyp // GetVersionStruktur returns the Geschaeftsobjekt.VersionStruktur GetVersionStruktur() string // GetDefaultJsonTags returns an array of string that represent the json tags that are (by default) used by this business object GetDefaultJsonTags() []string }
BusinessObject is the interface that all Business Objects implement.
func NewBusinessObject ¶ added in v0.0.13
func NewBusinessObject(typ botyp.BOTyp) BusinessObject
NewBusinessObject creates an empty BusinessObject based on the provided type; Returns nil if the type is not implemented.
type BusinessObjectSlice ¶ added in v0.0.13
type BusinessObjectSlice []BusinessObject
BusinessObjectSlice is a slice that contains 0-n BusinessObject s
func (*BusinessObjectSlice) UnmarshalJSON ¶ added in v0.0.13
func (boSlice *BusinessObjectSlice) UnmarshalJSON(data []byte) error
type Einspeisung ¶ added in v0.14.0
type Einspeisung struct { Geschaeftsobjekt MarktlokationsId *string `json:"marktlokationsId,omitempty"` // Für welche Marktlokation gelten diese Einspeisedaten TrancheId *string `json:"trancheId,omitempty"` // Für welche Tranche gelten diese Einspeisedaten Verguetungsempfaenger *geschaeftspartnerrolle.Geschaeftspartnerrolle `json:"verguetungsempfaenger,omitempty"` // Empfänger der Vergütung zur Einspeisung EEGVermarktungsform *eegvermarktungsform.EEGVermarktungsform `json:"eegVermarktungsform,omitempty"` // Vermarktungsformen gemäß dem Erneuerbare-Energien-Gesetz (EEG). Landescode *landescode.Landescode `json:"landescode,omitempty"` // Land der Förderung FernsteuerbarkeitStatus *fernsteuerbarkeitstatus.FernsteuerbarkeitStatus `json:"fernsteuerbarkeitStatus,omitempty"` // Status der Fernsteuerbarkeit einer Marktlokation }
Einspeisung
func (Einspeisung) GetDefaultJsonTags ¶ added in v0.14.0
func (_ Einspeisung) GetDefaultJsonTags() []string
type Energiemenge ¶ added in v0.0.4
type Energiemenge struct { Geschaeftsobjekt LokationsId string `json:"lokationsId,omitempty" example:"DE0123456789012345678901234567890" validate:"alphanum,required,min=11,max=33"` // LokationsId is the ID of the location (either a LokationsTyp MALO ID (11 digits) or a LokationsTyp MELO ID (33 alphanum)) LokationsTyp *lokationstyp.Lokationstyp `json:"lokationsTyp,omitempty" example:"MELO" validate:"required"` // LokationsTyp is the type of the location in LokationsId Verbrauch []com.Verbrauch `json:"energieverbrauch,omitempty" validate:"required,min=1"` // Verbrauch are consumption data }
Energiemenge contains information about consumption at a location
func (Energiemenge) GetDefaultJsonTags ¶ added in v0.0.37
func (_ Energiemenge) GetDefaultJsonTags() []string
type Geschaeftsobjekt ¶ added in v0.0.13
type Geschaeftsobjekt struct { unmappeddatamarshaller.ExtensionData BoTyp botyp.BOTyp `json:"boTyp" validate:"required"` // BoTyp is the type of business object, may be used as discriminator VersionStruktur string `json:"versionStruktur" validate:"required"` // VersionStruktur is the version of BO4E used ExterneReferenzen []com.ExterneReferenz `json:"externeReferenzen,omitempty"` // ExterneReferenzen are external references of this object in various systems }
Geschaeftsobjekt is the common base struct of all Business Objects
func (Geschaeftsobjekt) GetBoTyp ¶ added in v0.0.13
func (gob Geschaeftsobjekt) GetBoTyp() botyp.BOTyp
func (Geschaeftsobjekt) GetVersionStruktur ¶ added in v0.0.13
func (gob Geschaeftsobjekt) GetVersionStruktur() string
type Geschaeftspartner ¶ added in v0.0.5
type Geschaeftspartner struct { Geschaeftsobjekt Anrede *anrede.Anrede `json:"anrede,omitempty"` // Die Anrede für den Geschaeftspartner, Z.B. HERR Name1 string `json:"name1,omitempty" validate:"required" example:"Yellow Strom GmbH,Hagen"` // Name1 ist der erste Teil des Namens. Hier kann der Firmenname oder bei Privatpersonen beispielsweise der Nachname dargestellt werden. Name2 string `json:"name2,omitempty" example:"'Bereich Süd','Nina'"` // Name2 ist der zweite Teil des Namens. Hier kann der eine Erweiterung zum Firmennamen oder bei Privatpersonen beispielsweise der Vorname dargestellt werden. Name3 string `json:"name3,omitempty" example:"Afrika,Sängerin"` // Name3 enthält weitere Ergänzungen zum Firmennamen oder bei Privatpersonen Zusätze zum Namen dargestellt werden Gewerbekennzeichnung bool `json:"gewerbekennzeichnung" validate:"omitempty,required"` // Gewerbekennzeichnung markiert, ob es sich um einen Gewerbe/Unternehmen (true) oder eine Privatperson handelt (false) HrNummer string `json:"hrnummer,omitempty"` // HrNummer ist die Handelsregisternummer des Geschäftspartners Amtsgericht string `json:"amtsgericht,omitempty"` // Amtsgericht bzw Handelsregistergericht, das die Handelsregisternummer herausgegeben hat Kontaktwege []kontaktart.Kontaktart `json:"kontaktweg,omitempty"` // Kontaktwege sind die bevorzugten Kontaktwege des Geschäftspartners (todo: rename json tag, too) UmsatzsteuerId string `json:"umsatzsteuerId,omitempty" example:"DE 813281825"` // UmsatzsteuerId ist die Steuer-ID des Geschäftspartners GlaeubigerId string `json:"glaeubigerId,omitempty" example:"DE 47116789"` // GlaeubigerId ist die Gläubiger-ID, welche im Zahlungsverkehr verwendet wird EMailAdresse string `json:"eMailAdresse,omitempty" validate:"omitempty,email" example:"info@mp-energie.de"` // EMailAdresse ist die E-Mail-Adresse des Ansprechpartners Website string `json:"website,omitempty" validate:"omitempty,url" example:"https://www.mp-energie.de"` // Website ist die Internetseite des Marktpartners Geschaeftspartnerrollen []geschaeftspartnerrolle.Geschaeftspartnerrolle `json:"geschaeftspartnerrollen,omitempty" validate:"required,min=1"` // Geschaeftspartnerrollen sind die Rollen, die der Geschäftspartner hat Partneradresse *com.Adresse `json:"partneradresse,omitempty" validate:"required"` // Partneradresse ist die Adresse des Geschäftspartners, an der sich der Hauptsitz befindet. Bankverbindung *com.Bankverbindung `json:"bankverbindung,omitempty"` //Bankverbindung ist die Bankverbindung des Geschäftspartners Steuernummer string `json:"steuernummer,omitempty"` //Steuernummer ist die Steuernummer des Geschäftspartners Erreichbarkeit *com.Erreichbarkeit `json:"erreichbarkeit,omitempty"` GruendeDerPrivilegierungNachEnFG []grundderprivilegierungnachenfg.GrundDerPrivilegierungNachEnFG `json:"gruendeDerPrivilegierungNachEnFG,omitempty"` //Erreichbarkeit ist die Erreichbarkeit des Geschäftspartners }
Geschaeftspartner models business partners, both companies and private persons.
func (Geschaeftspartner) GetDefaultJsonTags ¶ added in v0.0.37
func (_ Geschaeftspartner) GetDefaultJsonTags() []string
type Handelsunstimmigkeit ¶ added in v0.0.42
type Handelsunstimmigkeit struct { Geschaeftsobjekt // Nummer contains the "Handelsunstimmigkeitsnummer". Nummer string `json:"nummer,omitempty" validate:"required"` // Typ specifies the type of discrepancy. Typ handelsunstimmigkeitstyp.Handelsunstimmigkeitstyp `json:"typ,omitempty" validate:"required"` // Begruendung contains the reason of discrepancy. Begruendung com.Handelsunstimmigkeitsbegruendung `json:"begruendung" validate:"required"` // Betrag is the requested sum amount (optional). Betrag *com.Betrag `json:"zuZahlen,omitempty"` }
Handelsunstimmigkeit contains information about discrepancies in market communication.
func (Handelsunstimmigkeit) GetDefaultJsonTags ¶ added in v0.0.42
func (_ Handelsunstimmigkeit) GetDefaultJsonTags() []string
type Lastgang ¶ added in v0.0.4
type Lastgang struct { Geschaeftsobjekt Sparte sparte.Sparte `json:"sparte,omitempty" example:"STROM" validate:"required"` // Sparte ist eine Angabe, ob es sich um einen GAS- oder STROM-Lastgang handelt Version string `json:"version,omitempty" validate:"alphanum"` // Version ist die Versionsnummer des Lastgangs LokationsId string `json:"lokationsId,omitempty" example:"DE0123456789012345678901234567890" validate:"alphanum,required,min=11,max=33"` // LokationsId is the ID of the location (either a LokationsTyp MALO ID (11 digits) or a LokationsTyp MELO ID (33 alphanum)) LokationsTyp lokationstyp.Lokationstyp `json:"lokationsTyp,omitempty" example:"MELO" validate:"required"` // LokationsTyp is the type of the location in LokationsId Messgroesse mengeneinheit.Mengeneinheit `json:"einheit,omitempty" validate:"required" example:"KWH"` // Messgroesse ist die Definition der gemessenen Größe anhand ihrer Einheit. Obiskennzahl string `json:"obiskennzahl,omitempty" example:"1-0:1.8.1"` // Obiskennzahl ist die genormte OBIS-Kennzahl zur Kennzeichnung der Messgröße Werte []com.Zeitreihenwert `json:"energieverbrauch,omitempty" validate:"required,min=1"` // Werte sind die im Lastgang enthaltenen Messwerte. }
Lastgang ist ein 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.
func (Lastgang) GetDefaultJsonTags ¶ added in v0.0.37
type Marktlokation ¶ added in v0.0.18
type Marktlokation struct { unmappeddatamarshaller.ExtensionData Geschaeftsobjekt MarktlokationsId string `json:"marktlokationsId,omitempty" example:"12345678913" validate:"required,numeric,len=11,maloid"` // MarktlokationsId is the ID of the market location Sparte sparte.Sparte `json:"sparte,omitempty" validate:"required"` // Sparte describes the Division Energierichtung *energierichtung.Energierichtung `json:"energierichtung,omitempty" validate:"omitnil,ne=0"` // Energierichtung describes whether energy is supplied out of or fed into the grid. Bilanzierungsmethode *bilanzierungsmethode.Bilanzierungsmethode `json:"bilanzierungsmethode,omitempty" validate:"omitnil,ne=0"` // Bilanzierungsmethode is the accounting method Verbrauchsart verbrauchsart.Verbrauchsart `json:"verbrauchsart,omitempty"` // Verbrauchsart is the consumption type Unterbrechbar *bool `json:"unterbrechbar,omitempty"` // Unterbrechbar describes whether the supply is interruptible Netzebene netzebene.Netzebene `json:"netzebene,omitempty" validate:"required"` // Netzebene, in der der Bezug der Energie erfolgt. Bei Strom Spannungsebene der Lieferung, bei Gas Druckstufe. Netzbetreibercodenr *string `json:"netzbetreibercodenr,omitempty" validate:"omitnil,numeric,len=13"` // Netzbetreibercodenr is the code number of the "Netzbetreiber" Gebiettyp gebiettyp.Gebiettyp `json:"gebiettyp,omitempty"` // Gebiettyp is the type of the "Netzgebiet" Netzgebietnr *string `json:"netzgebietnr,omitempty"` // Netzgebietnr is the number of the "Netzgebiet" in the enet database Bilanzierungsgebiet *string `json:"bilanzierungsgebiet,omitempty"` // Bilanzierungsgebiet, dem das Netzgebiet zugeordnet ist - im Falle eines Strom Netzes. Grundversorgercodenr *string `json:"grundversorgercodenr,omitempty" validate:"omitnil,numeric,len=13"` // Grundversorgercodenr is the code number of the "Grundversorger" responsible for this market location Gasqualitaet gasqualitaet.Gasqualitaet `json:"gasqualitaet,omitempty"` // Gasqualitaet is the gas quality Endkunde *Geschaeftspartner `json:"endkunde,omitempty" validate:"-"` // Endkunde is the Geschaeftspartner who owns this market location // only one of the following three optional address attributes can be set Lokationsadresse *com.Adresse `json:"lokationsadresse,omitempty" validate:"required_without_all=Geoadresse Katasterinformation"` // Lokationsadresse is the address at which the energy supply or feed-in takes place Geoadresse *com.Geokoordinaten `json:"geoadresse,omitempty" validate:"required_without_all=Lokationsadresse Katasterinformation"` // Geoadresse are the gps coordinates Katasterinformation *com.Katasteradresse `json:"katasterinformation,omitempty" validate:"required_without_all=Lokationsadresse Geoadresse"` // Katasterinformation is the Cadastre address ZugehoerigeMesslokationen []com.Messlokationszuordnung `json:"zugehoerigemesslokationen,omitempty"` // ZugehoerigeMesslokationen is a list of MeLos belonging to this market location Regelzone *string `json:"regelzone,omitempty"` Marktgebiet *string `json:"marktgebiet,omitempty"` Zeitreihentyp *zeitreihentyp.Zeitreihentyp `json:"zeitreihentyp,omitempty"` Zaehlwerke []com.Zaehlwerk `json:"zaehlwerke,omitempty"` ZaehlwerkeBeteiligteMarktrolle []com.Zaehlwerk `json:"zaehlwerkeBeteiligteMarktrolle,omitempty"` Messlokationen []Messlokation `json:"messlokationen,omitempty"` MesstechnischeEinordnung *messtechnischeeinordnung.MesstechnischeEinordnung `json:"messtechnischeEinordnung,omitempty"` Netznutzungsabrechnungsdaten []com.Netznutzungsabrechnungsdaten `json:"netznutzungsabrechnungsdaten,omitempty"` // Netznutzungsabrechnungsdaten sind Daten für die Prüfung der Netznutzungsabrechnung Sperrstatus *sperrstatus.Sperrstatus `json:"sperrstatus,omitempty"` }
Marktlokation contains information about a market location aka "MaLo"
func (Marktlokation) GetDefaultJsonTags ¶ added in v0.0.37
func (malo Marktlokation) GetDefaultJsonTags() []string
func (Marktlokation) MarshalJSON ¶ added in v0.0.36
func (malo Marktlokation) MarshalJSON() (bytes []byte, err error)
func (*Marktlokation) UnmarshalJSON ¶ added in v0.0.36
func (malo *Marktlokation) UnmarshalJSON(bytes []byte) (err error)
type Marktteilnehmer ¶ added in v0.0.13
type Marktteilnehmer struct { Geschaeftspartner Marktrolle *marktrolle.Marktrolle `json:"marktrolle,omitempty"` // Marktrolle gibt im Klartext die Bezeichnung der Marktrolle an. Details siehe ENUM Marktrolle Rollencodenummer string `json:"rollencodenummer,omitempty" validate:"required,numeric,min=13,max=13"` // Rollencodenummer gibt die Codenummer der Marktrolle an (13 digits) Rollencodetyp rollencodetyp.Rollencodetyp `json:"rollencodetyp,omitempty" validate:"required"` // Rollencodetyp gibt den Typ des Codes an/Vergabestelle. Details siehe ENUM Rollencodetyp Makoadresse string `json:"makoadresse,omitempty" validate:"omitempty"` // Makoadresse ist die 1:1-Kommunikationsadresse des Marktteilnehmers. Diese wird in der Marktkommunikation verwendet. Ansprechpartner *Ansprechpartner `json:"ansprechpartner,omitempty" validate:"omitempty"` // Ansprechpartner ist ein Kontakt zur bilateralen Klärung }
Marktteilnehmer models participants of the German energy market
func (Marktteilnehmer) GetDefaultJsonTags ¶ added in v0.0.37
func (_ Marktteilnehmer) GetDefaultJsonTags() []string
type Messlokation ¶
type Messlokation struct { Geschaeftsobjekt MesslokationsId string `json:"messlokationsId,omitempty" example:"DE0123456789012345678901234567890" validate:"alphanum,required,len=33"` // MesslokationsId is the ID of the metering location Sparte sparte.Sparte `json:"sparte,omitempty" validate:"required"` // Sparte is the division NetzebeneMessung *netzebene.Netzebene `json:"netzebeneMessung,omitempty"` // NetzebeneMessung is the grid level of measurement MessgebietNr string `json:"messgebietNr,omitempty"` // MessgebietNr is the number of the measurement area in ene't database Geraete []com.Hardware `json:"geraete,omitempty"` // Geraete is a list of devices Messdienstleistung *com.Dienstleistung `json:"messdienstleistung,omitempty"` // Messdienstleistung is a metering services GrundzustaendigerMsbCodeNr string `json:"grundzustaendigerMSBCodeNr,omitempty" validate:"omitempty,numeric,len=13"` // GrundzustaendigerMsbCodeNr is the code number of the "grundzuständige Messstellenbetreiber", responsitble for this MeLo GrundzustaendigerMsbImCodeNr string `json:"GrundzustaendigerMsbImCodeNr,omitempty" validate:"omitempty,numeric,len=13"` // GrundzustaendigerMsbImCodeNr si the code number of the "grundzuständige Messsstellenbetreiber", responsible for intelligent meters at this MeLo Messlokationszaehler []Zaehler `json:"messlokationszaehler,omitempty"` // Messlokationszaehler meters associated to this Messlokation Gasqualitaet *gasqualitaet.Gasqualitaet `json:"gasqualitaet,omitempty"` // gasqualitaet für EDIFACT mapping Abrechnungmessstellenbetriebnna *bool `json:"abrechnungmessstellenbetriebnna,omitempty"` //Dieser Wert ist true, falls die Abrechnungs des Messstellenbetriebs die Netznutzungsabrechnung enthält. false andernfalls // only one of the following three optional address attributes can be set Messadresse *com.Adresse `json:"messadresse,omitempty" validate:"required_without_all=Geoadresse Katasterinformation"` // Messadresse is a street address of the Messlokation Geoadresse *com.Geokoordinaten `json:"geoadresse,omitempty" validate:"required_without_all=Messadresse Katasterinformation"` // Geoadresse are gps coordinates of the Messlokation Katasterinformation *com.Katasteradresse `json:"katasterinformation,omitempty" validate:"required_without_all=Messadresse Geoadresse"` // Katasterinformation is a cadastre address of the Messlokation }
Messlokation contains information about a metering location aka "MeLo"
func (Messlokation) GetDefaultJsonTags ¶ added in v0.0.37
func (melo Messlokation) GetDefaultJsonTags() []string
func (Messlokation) MarshalJSON ¶ added in v0.0.37
func (melo Messlokation) MarshalJSON() (bytes []byte, err error)
func (*Messlokation) UnmarshalJSON ¶ added in v0.0.37
func (melo *Messlokation) UnmarshalJSON(bytes []byte) (err error)
type Netzlokation ¶ added in v0.14.0
type Netzlokation struct { Geschaeftsobjekt NetzlokationsId string `json:"netzlokationsId,omitempty" example:"EOI05HSBJG0" validate:"alphanum,required,len=11"` // NetzlokationsId is the ID of the Netzlokation Sparte sparte.Sparte `json:"sparte,omitempty" validate:"required"` // Sparte describes the Division Netzanschlussleistung *com.Menge `json:"netzanschlussleistung,omitempty"` // Netzanschlussleistungsmenge der Netzlokation GrundzustaendigerMSBCodeNr *string `json:"grundzustaendigerMSBCodeNr,omitempty"` // Codenummer des grundzuständigen Messstellenbetreibers, der für diese Netzlokation zuständig ist. Steuerkanal *bool `json:"steuerkanal,omitempty"` // Ob ein Steuerkanal der Netzlokation zugeordnet ist und somit die Netzlokation gesteuert werden kann. ZF2: Kein Steuerkanal vorhanden. ZF3: Steuerkanal vorhanden. ObisKennzahl *string `json:"obisKennzahl,omitempty"` // Die OBIS-Kennzahl für die Netzlokation Verwendungszweck *com.Verwendungszweck `json:"verwendungszweck,omitempty"` // Verwendungungszweck der Werte Netzlokation // Konfigurationsprodukte is missing the Marktteilnehmer because adding it causes a serious issue: "could not import github.com/hochfrequenz/go-bo4e/bo (-: import cycle not allowed in test) (typecheck)". Konfigurationsprodukte []com.Konfigurationsprodukt `json:"konfigurationsprodukte,omitempty"` // Produkt-Daten der Netzlokation EigenschaftMSBLokation *marktrolle.Marktrolle `json:"eigenschaftMSBLokation,omitempty"` // Eigenschaft des Messstellenbetreibers an der Lokation LokationsbuendelObjektcode *string `json:"lokationsbuendelObjektcode,omitempty"` // Lokationsbuendel-Code, der die Funktion dieses BOs an der Lokationsbuendelstruktur beschreibt. }
Netzlokation is a minimalistic implementation of the BO Netzlokation. But this small implementation alone, allows use to unmarshall boneycombs that contain Netzlokation-BOs
func (Netzlokation) GetDefaultJsonTags ¶ added in v0.14.0
func (_ Netzlokation) GetDefaultJsonTags() []string
type Netznutzungsrechnung ¶ added in v0.0.12
type Netznutzungsrechnung struct { Rechnung Sparte sparte.Sparte `json:"sparte,omitempty" validate:"required"` // Sparte (STROM, GAS ...) für die die Rechnung ausgestellt ist Absendercodenummer string `json:"absendercodenummer,omitempty" validate:"required,numeric,min=13,max=13"` // Absendercodenummer ist die Rollencodenummer des Absenders (Rechnung.Rechnungsersteller). Über die Nummer können weitere Informationen zum Marktteilnehmer ermittelt werden. Empfaengercodenummer string `json:"empfaengercodenummer,omitempty" validate:"required,numeric,min=13,max=13"` // Absendercodenummer ist die Rollencodenummer des Empfängers (Rechnung.Rechnungsempfaenger). Über die Nummer können weitere Informationen zum Marktteilnehmer ermittelt werden. Nnrechnungsart nnrechnungsart.NNRechnungsart `json:"nnrechnungsart,omitempty" validate:"required"` // Nnrechnungsart ist aus der INVOIC entnommen Nnrechnungstyp nnrechnungstyp.NNRechnungstyp `json:"nnrechnungstyp,omitempty" validate:"required"` // Nnrechnungstyp ist aus der INVOIC entnommen Original bool `json:"original"` // Original ist ein Kennzeichen, ob es sich um ein Original (true) oder eine Kopie handelt (false). Simuliert bool `json:"simuliert"` // Simuliert ist ein Kennzeichen, ob es sich um eine simulierte Rechnung, z.B. zur Rechnungsprüfung handelt. LokationsId string `json:"lokationsId,omitempty" validate:"omitempty,alphanum,max=33,min=11"` // LokationsId ist die Markt- oder Messlokations-Identifikation (als Malo/Melo-Id) der Lokation, auf die sich die Rechnung bezieht. }
Netznutzungsrechnung models grid usage invoices
func (Netznutzungsrechnung) GetDefaultJsonTags ¶ added in v0.0.37
func (_ Netznutzungsrechnung) GetDefaultJsonTags() []string
type Preisblatt ¶ added in v0.0.34
type Preisblatt struct { Geschaeftsobjekt Bezeichnung string `json:"bezeichnung" validate:"required"` // Rechnungstitel ist die Bezeichnung für die vorliegende Rechnung. Sparte *sparte.Sparte `json:"sparte,omitempty" validate:"required"` // Preisblatt gilt für angegebene Sparte. Preisstatus *preisstatus.Preisstatus `json:"preisstatus,omitempty" validate:"required"` // Merkmal, das anzeigt, ob es sich um vorläufige oder endgültige Preise handelt Herausgeber Marktteilnehmer `json:"herausgeber" validate:"required"` // Der Marktteilnehmer, der die Preise veröffentlicht hat. Details zum Marktteilnehmer Gueltigkeit com.Zeitraum `json:"gueltigkeit" validate:"required"` // Der Zeitraum für den der Preis festgelegt ist Preispositionen []com.Preisposition `json:"preispositionen" validate:"required"` // Die einzelnen Positionen, die mit dem Preisblatt abgerechnet werden können. Z.B. Arbeitspreis, Grundpreis etc }
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.
func (Preisblatt) GetDefaultJsonTags ¶ added in v0.0.37
func (_ Preisblatt) GetDefaultJsonTags() []string
type Rechnung ¶ added in v0.0.9
type Rechnung struct { Geschaeftsobjekt Rechnungstitel string `json:"rechnungstitel,omitempty"` // Rechnungstitel ist die Bezeichnung für die vorliegende Rechnung. Rechnungsstatus rechnungsstatus.Rechnungsstatus `json:"rechnungsstatus,omitempty"` // Rechnungsstatus ist der Status der Rechnung zur Kennzeichnung des Bearbeitungsstandes Storno bool `json:"storno" validate:"required"` // Storno ist eine Kennzeichnung, ob es sich um eine Stornorechnung handelt. Im Falle "true" findet sich im Attribut "originalrechnungsnummer" die Nummer der Originalrechnung Rechnungsnummer string `json:"rechnungsnummer,omitempty" validate:"required"` // Rechnungsnummer ist eine im Verwendungskontext eindeutige Nummer für die Rechnung Rechnungsdatum time.Time `json:"rechnungsdatum,omitempty" validate:"required"` // Rechnungsdatum ist das Ausstellungsdatum der Rechnung Faelligkeitsdatum time.Time `json:"faelligkeitsdatum,omitempty" validate:"required"` // Faelligkeitsdatum ist das Datum, zu dem die Zahlung fällig ist Rechnungstyp rechnungstyp.Rechnungstyp `json:"rechnungstyp,omitempty" validate:"required"` // Rechnungstyp ist ein kontextbezogener Rechnungstyp OriginalRechnungsnummer string `json:"originalRechnungsnummer,omitempty" validate:"required_if=Storno true"` // OriginalRechnungsnummer: Im Falle einer Stornorechnung (Storno = true) steht hier die Rechnungsnummer der stornierten Rechnung Rechnungsperiode com.Zeitraum `json:"rechnungsperiode,omitempty" validate:"required"` // Rechnungsperiode ist der Zeitraum der zugrunde liegenden Lieferung zur Rechnung Rechnungsersteller Geschaeftspartner `json:"rechnungsersteller,omitempty" validate:"required"` // Rechnungsersteller ist der Aussteller der Rechnung Rechnungsempfaenger Geschaeftspartner `json:"rechnungsempfaenger,omitempty" validate:"required"` // Rechnungsempfaenger ist der Empfänger der Rechnung GesamtNetto com.Betrag `json:"gesamtnetto,omitempty" validate:"required"` // GesamtNetto ist die Summe der Nettobeträge der Rechnungsteile GesamtSteuer com.Betrag `json:"gesamtsteuer,omitempty" validate:"required"` // GesamtSteuer ist die Summe der Steuerbeträge der Rechnungsteile GesamtBrutto com.Betrag `json:"gesamtbrutto,omitempty" validate:"required"` // GesamtBrutto ist die Summe aus Netto- und Steuerbeträge Vorausgezahlt *com.Betrag `json:"vorausgezahlt,omitempty"` // Vorausgezahlt ist die Summe eventuell vorausbezahlter Beträge, z.B. Abschläge. Angabe als Bruttowert. RabattBrutto *com.Betrag `json:"rabattBrutto,omitempty"` // RabattBrutto ist der Gesamtrabatt auf den Bruttobetrag Zuzahlen com.Betrag `json:"zuzahlen,omitempty" validate:"required"` // Zuzahlen ist der zu zahlende Betrag, der sich aus (gesamtbrutto - vorausbezahlt - rabattBrutto) ergibt Steuerbetraege []com.Steuerbetrag `json:"steuerbetraege,omitempty"` // Steuerbetraege ist eine Liste mit Steuerbeträgen pro Steuerkennzeichen/Steuersatz. Die Summe dieser Beträge ergibt den Wert für GesamtSteuer IstReverseCharge *bool `json:"istReverseCharge,omitempty"` IstSelbstausgestellt *bool `json:"istSelbstausgestellt,omitempty"` Rechnungspositionen []com.Rechnungsposition `json:"rechnungspositionen,omitempty" validate:"required,min=1"` // Rechnungspositionen sind die einzelnen Rechnungsposition en. Vorauszahlungen []com.Vorauszahlung `json:"vorauszahlungen,omitempty"` // Vorauszahlungen sind evtl. vorausgezahlte Beträge, z.B. Abschläge. Angabe als Bruttowert Sonderrechnungsart *sonderrechnungsart.Sonderrechnungsart `json:"sonderrechnungsart,omitempty"` Buchungsdatum time.Time `json:"buchungsdatum,omitempty"` // Buchungsdatum ist das Datum, zu dem die Zahlung fällig ist }
Rechnung ist ein Modell für die Abbildung von Rechnungen im Kontext der Energiewirtschaft. Ausgehend von diesem Basismodell werden weitere spezifische Formen abgeleitet.
func (Rechnung) GetDefaultJsonTags ¶ added in v0.0.37
type Reklamation ¶ added in v0.0.41
type Reklamation struct { Geschaeftsobjekt LokationsId string `json:"lokationsId,omitempty" example:"DE0123456789012345678901234567890" validate:"alphanum,required,min=11,max=33"` // LokationsId gibt die ID der Lokation an (entweder LokationsTyp MALO ID (11 Stellen) oder LokationsTyp MELO ID (33 alphanum)). LokationsTyp lokationstyp.Lokationstyp `json:"lokationsTyp,omitempty" example:"MELO" validate:"required"` // LokationsTyp gibt an, ob es sich um eine Markt- oder Messlokation handelt. Reklamationsgrund reklamationsgrund.Reklamationsgrund `json:"reklamationsgrund,omitempty" validate:"required"` // Reklamationsgrund gibt den Grund der Reklamation an ObisKennzahl *string `json:"obisKennzahl,omitempty" validate:"required" example:"1-0:1.8.1"` // ObisKennzahl für das Zählwerk, die festlegt, welche auf die gemessene Größe mit dem Stand gemeldet wird. Nur Zählwerkstände mit dieser OBIS-Kennzahl werden an diesem Zählwerk registriert. ZeitraumMesswertanfrage *com.Zeitraum `json:"zeitraumMesswertanfrage,omitempty" validate:"required"` // ZeitraumMesswertanfrage gibt den com.Zeitraum an, auf die sich die Reklamation bezieht. ReklamationsgrundBemerkung string `json:"reklamationsgrundBemerkung,omitempty" validate:"omitempty"` // ReklamationsgrundBemerkung ist ein Freitext für eine weitere Beschreibung des Reklamationsgrunds Positionsnummer int `json:"positionsnummer,omitempty" validate:"omitempty"` // Positionsnummer ist eine fortlaufende Nummer für die Position }
Reklamation wird benutzt um eine fehlende, oder unplausible Energiemenge anzuzeigen. Für Reklamationen von Rechnungen, wird ein Avis vom Typ Nicht-Zahlungsavis benutzt
func (Reklamation) GetDefaultJsonTags ¶ added in v0.0.41
func (_ Reklamation) GetDefaultJsonTags() []string
type Statusbericht ¶ added in v0.2.2
type Statusbericht struct { Geschaeftsobjekt Status berichtstatus.BerichtStatus `json:"status,omitempty" validate:"required"` // Status des Berichtes (Fehlerhaft, Erfolgreich) Pruefgegenstand *string `json:"pruefgegenstand,omitempty"` // Das geprüfte Dokument, z.B. die Referenz auf die EDIFACT-Nachricht die geprüft / beanstandet wurde DatumPruefung time.Time `json:"datumPruefung"` // Pruefdatum (wann wurde der Pruefgegenstand geprüft) Fehler *com.Fehler `json:"fehler,omitempty"` // Liste der Fehler }
Statusbericht kann verwendet werden um CONTRL oder APREAK Nachrichten auszutauschen
func (Statusbericht) GetDefaultJsonTags ¶ added in v0.2.2
func (s Statusbericht) GetDefaultJsonTags() []string
type SteuerbareRessource ¶ added in v0.7.2
type SteuerbareRessource struct { Geschaeftsobjekt SteuerbareRessourceId string `json:"steuerbareRessourceId" validate:"required"` // Identifikationsnummer einer SteuerbareRessource SteuerkanalsLeistungsbeschreibung *steuerkanalsleistungsbeschreibung.Steuerkanalsleistungsbeschreibung `json:"steuerkanalsLeistungsbeschreibung"` // Leistungsbeschreibung des Steuerkanals ZugeordnetMSBCodeNr *string `json:"zugeordnetMSBCodeNr"` // Angabe des Messstellenbetreibers, der der Steuerbaren Ressource zugeordnet ist }
func (SteuerbareRessource) GetDefaultJsonTags ¶ added in v0.7.2
func (_ SteuerbareRessource) GetDefaultJsonTags() []string
type Summenzeitreihe ¶ added in v0.14.0
type Summenzeitreihe struct {
Geschaeftsobjekt
}
Summenzeitreihe is a minimalistic implementation of the BO Summenzeitreihe. But this small implementation alone, allows use to unmarshall boneycombs that contain Summenzeitreihe-BOs
func (Summenzeitreihe) GetDefaultJsonTags ¶ added in v0.14.0
func (_ Summenzeitreihe) GetDefaultJsonTags() []string
type TechnischeRessource ¶ added in v0.8.2
type TechnischeRessource struct { Geschaeftsobjekt TechnischeRessourceId *string `json:"technischeRessourceId" validate:"required"` //Identifikationsnummer einer TechnischeRessource VorgelagerteMesslokationsId *string `json:"vorgelagerteMesslokationsId,omitempty" example:"DE00713739359S0000000000001222221" validate:"alphanum,required,len=33"` // Vorgelagerte Messlokation ID ZugeordneteMarktlokationsId *string `json:"zugeordneteMarktlokationsId,omitempty" example:"20072281644"` // ZugeordneteMarktlokationsId Messlokation ID ZugeordneteSteuerbareRessourceId *string `json:"zugeordneteSteuerbareRessourceId" example:"20072281644"` // Referenz auf die der Technischen Ressource zugeordneten Steuerbaren Ressource NennleistungAufnahme *com.Menge `json:"nennleistungAufnahme" example:"QTY+Z43:100:KWT"` // Nennleistung (Aufnahme) NennleistungAbgabe *com.Menge `json:"nennleistungAbgabe" example:"QTY+Z44:100:KWT"` //Nennleistung (Abgabe) Speicherkapazitaet *com.Menge `json:"speicherkapazitaet" example:"QTY+Z42:100:KWH"` //Speicherkapazität TechnischeRessourceNutzung *technischeressourcenutzung.TechnischeRessourceNutzung `json:"technischeRessourceNutzung" example:"CCI+Z17"` //Art und Nutzung der Technischen Ressource Verbrauchsart *technischeressourceverbrauchsart.TechnischeRessourceVerbrauchsart `json:"verbrauchsart" example:"CAV+Z64" ` //Verbrauchsart der Technischen Ressource EMobilitaetsart *emobilitaetsart.EMobilitaetsart `json:"emobilitaetsart" example:"CAV+Z87"` //Art der E-Mobilität Das Segment dient dazu, im Falle der E-Mobilität eine genauere Angabe über die Art der E-Mobilität zu definieren Erzeugungsart *erzeugungsart.Erzeugungsart `json:"erzeugungsart" example:"CAV+ZF5"` //Art der Erzeugung der Energie Speicherart *speicherart.Speicherart `json:"speicherart" example:"CAV+ZF7"` //Art der speicher. Details <see cref="ENUM.Speicherart" /> }
func (TechnischeRessource) GetDefaultJsonTags ¶ added in v0.8.2
func (_ TechnischeRessource) GetDefaultJsonTags() []string
type Tranche ¶ added in v0.8.2
type Tranche struct { Geschaeftsobjekt TrancheId string `json:"trancheId" validate:"required"` // Identifikationsnummer einer Tranche, an der Energie entweder verbraucht, oder erzeugt wird (Like MarktlokationsId <see cref="Marktlokation"/>) Sparte *sparte.Sparte `json:"sparte" validate:"required"` // Sparte der Tranche, z.B. Gas oder Strom. It is nullable because in the future it should be that way, although it is not nullable in BO4E-dotnet Aufteilungsmenge decimal.NullDecimal `json:"aufteilungsmenge" validate:"required"` // Prozentualer Anteil der Tranche an der erzeugenden Marktlokation in Prozent mit 2 Nachkommastellen ObisKennzahl *string `json:"obisKennzahl" validate:"required"` // Die OBIS-Kennzahl für die Tranche, die festlegt, welche auf die gemessene Größe mit dem Stand gemeldet wird. }
func (Tranche) GetDefaultJsonTags ¶ added in v0.8.2
type Vertrag ¶ added in v0.0.5
type Vertrag struct { Geschaeftsobjekt Vertragsnummer *string `json:"vertragsnummer,omitempty" validate:"alphanum,required"` // Vertragsnummer ist eine im Verwendungskontext eindeutige Nummer für den Vertrag Beschreibung *string `json:"beschreibung,omitempty"` // Beschreibung zum Vertrag Vertragsstatus *vertragsstatus.Vertragsstatus `json:"vertragstatus,omitempty" validate:"required"` // Vertragsstatus ist der Status des Vertrags // vertragsstatus serializes as "vertragstatus" with single "s" for compatability. Vertragsart *vertragsart.Vertragsart `json:"vertragsart,omitempty" validate:"required"` // Vertragsart legt fest, um welche Art von Vertrag es sich handelt. Z.B. Netznutzungvertrag. Sparte sparte.Sparte `json:"sparte,omitempty" validate:"required"` // Sparte sind Unterscheidungsmöglichkeiten für die Sparte Vertragsbeginn time.Time `json:"vertragsbeginn,omitempty" validate:"required"` // Vertragsbeginn is the inclusive start Vertragsende *time.Time `json:"vertragsende,omitempty" validate:"required,gtfield=Vertragsbeginn"` // Vertragsende is the exclusive end Vertragspartner1 *Geschaeftspartner `json:"vertragspartner1,omitempty" validate:"required"` // Vertragspartner1 ist der "erstgenannte" Vertragspartner. In der Regel der Aussteller des Vertrags. Beispiel: "Vertrag zwischen Vertragspartner 1 ..." Vertragspartner2 *Geschaeftspartner `json:"vertragspartner2,omitempty" validate:"required"` // Vertragspartner2 ist der "zweitgenannte" Vertragspartner. In der Regel der Empfänger des Vertrags. Beispiel "Vertrag zwischen Vertragspartner 1 und Vertragspartner 2" UnterzeichnerVp1 []com.Unterschrift `json:"unterzeichnervp1,omitempty"` // UnterzeichnerVp1 ist der Unterzeichner des Vertragspartner1 UnterzeichnerVp2 []com.Unterschrift `json:"unterzeichnervp2,omitempty"` // UnterzeichnerVp2 ist der Unterzeichner des Vertragspartner2 Vertragskonditionen *com.Vertragskonditionen `json:"vertragskonditionen,omitempty"` // Vertragskonditionen ist eine Festlegungen zu Laufzeiten und Kündigungsfristen Vertragsteile []com.Vertragsteil `json:"vertragsteile,omitempty" validate:"required,min=1"` // Vertragsteile sind die Vertragsteile, die dazu verwendet werden, eine vertragliche Leistung in Bezug zu einer Lokation (Markt- oder Messlokation) festzulegen. Gemeinderabatt decimal.NullDecimal `json:"gemeinderabatt" validate:"required"` // Gemeinderabatt für EDIFACT mapping. }
Vertrag ist ein Modell für die Abbildung von Vertragsbeziehungen. Das Objekt dient dazu, alle Arten von Verträgen, die in der Energiewirtschaft Verwendung finden, abzubilden.
func (Vertrag) GetDefaultJsonTags ¶ added in v0.0.37
type Zaehler ¶ added in v0.0.7
type Zaehler struct { Geschaeftsobjekt Zaehlernummer string `json:"zaehlernummer,omitempty" validate:"required,alphanum"` // Zaehlernummer ist eine Nummerierung des Zaehlers, vergeben durch den Messstellenbetreiber Sparte sparte.Sparte `json:"sparte,omitempty" validate:"required"` // Sparte ist eine Unterscheidungsmöglichkeit für die Sparte Zaehlerauspraegung *zaehlerauspraegung.Zaehlerauspraegung `json:"zaehlerauspraegung,omitempty"` // Zaehlerauspraegung ist eine Spezifikation die Richtung des Zählers betreffend Zaehlertyp *zaehlertyp.Zaehlertyp `json:"zaehlertyp,omitempty" validate:"required"` // Zaehlertyp erlaubt eine Typisierung des Zählers Tarifart *tarifart.Tarifart `json:"tarifart,omitempty"` // Tarifart erlaubt eine Spezifikation bezüglich unterstützter Tarifarten Zaehlerkonstante decimal.NullDecimal `json:"zaehlerkonstante,omitempty"` // Zaehlerkonstante ist die Zählerkonstante auf dem Zähler EichungBis time.Time `json:"eichungBis,omitempty"` // EichungBis ist das exklusive Enddatum bis zu dem der Zähler geeicht ist LetzteEichung time.Time `json:"letzteEichung,omitempty"` // LetzteEichung ist das Datum, an dem die letzte Eichprüfung des Zählers stattfand Zaehlwerke []com.Zaehlwerk `json:"zaehlwerke,omitempty" validate:"required,min=1"` // Zaehlwerke sind die Zählwerke des Zählers Zaehlerhersteller *Geschaeftspartner `json:"zaehlerhersteller,omitempty"` // Zaehlerhersteller ist der Hersteller des Zählers Zaehlergroesse *geraetemerkmal.Geraetemerkmal `json:"zaehlergroesse,omitempty"` // Zaehlergroesse Fernschaltung *fernschaltung.Fernschaltung `json:"fernschaltung,omitempty"` // Fernschaltung is set to VORHANDEN if there is a fernschaltung Messwerterfassung *messwerterfassung.Messwerterfassung `json:"messwerterfassung,omitempty"` // Messwerterfassung describes if meter readings have to happen manually }
Zaehler ist ein Modell für die Abbildung der Informationen zu einem Zähler
func (Zaehler) GetDefaultJsonTags ¶ added in v0.0.37
type Zaehlzeitdefinition ¶ added in v0.12.0
type Zaehlzeitdefinition struct { Geschaeftsobjekt Beginndatum *time.Time `json:"beginndatum,omitempty"` Endedatum *time.Time `json:"endedatum,omitempty"` Version time.Time `json:"version,omitempty"` Notwendigkeit *definitionennotwendigkeit.DefinitionenNotwendigkeit `json:"notwendigkeit,omitempty"` Zaehlzeiten []com.Zaehlzeit `json:"zaehlzeiten,omitempty"` Zaehlzeitregister []com.Zaehlzeitregister `json:"zaehlzeitregister,omitempty"` AusgerollteZaehlzeiten []com.AusgerollteZaehlzeit `json:"ausgerollteZaehlzeiten,omitempty"` }
Zaehlzeitdefinition en nutzt der NB bzw. LF für die Tarifierung von Werten. Zaehlzeitdefinitionen werden in der Marktkommunikation mit Prüfidentifikator 25001 (UTILTS) übermittelt. Eine Zählzeitdefinition umfasst dabei eine Liste von möglichen Zählzeiten, den dazugehörigen Registern und der tatsächlich ausgerollten Zählzeit (wenn diese elektronisch übermittelt wird).
func (Zaehlzeitdefinition) GetDefaultJsonTags ¶ added in v0.12.0
func (_ Zaehlzeitdefinition) GetDefaultJsonTags() []string
Source Files ¶
- angebot.go
- ansprechpartner.go
- avis.go
- bilanzierung.go
- businessobject.go
- businessobject_slice.go
- einspeisung.go
- energiemenge.go
- geschaeftspartner.go
- handelsunstimmigkeit.go
- lastgang.go
- marktlokation.go
- marktteilnehmer.go
- messlokation.go
- netzlokation.go
- netznutzungsrechnung.go
- preisblatt.go
- rechnung.go
- reklamation.go
- statusbericht.go
- steuerbareressorce.go
- summenzeitreihe.go
- technischeressource.go
- tranche.go
- vertrag.go
- zaehler.go
- zaehlzeitdefinition.go