Documentation ¶
Index ¶
- func AdresseStructLevelValidation(sl validator.StructLevel)
- func RechnungspositionStructLevelValidation(sl validator.StructLevel)
- func SteuerbetragStructLevelValidation(sl validator.StructLevel)
- type Adresse
- type Betrag
- type Dienstleistung
- type ExterneReferenz
- type Geokoordinaten
- type Hardware
- type Katasteradresse
- type Lastprofil
- type Menge
- type Messlokationszuordnung
- type Preis
- type Preisposition
- type Preisstaffel
- type Rechnungsposition
- type Rufnummer
- type Steuerbetrag
- type Tagesparameter
- type Unterschrift
- type Verbrauch
- type Vertragskonditionen
- type Vertragsteil
- type Zaehlerstaende
- type Zaehlerstand
- type Zaehlwerk
- type Zeitraum
- type Zeitreihenwert
- type Zeitreihenwertkompakt
- type Zustaendigkeit
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AdresseStructLevelValidation ¶
func AdresseStructLevelValidation(sl validator.StructLevel)
AdresseStructLevelValidation does a cross check on a Adresse object
func RechnungspositionStructLevelValidation ¶ added in v0.0.9
func RechnungspositionStructLevelValidation(sl validator.StructLevel)
RechnungspositionStructLevelValidation does a cross check on a Rechnungsposition object
func SteuerbetragStructLevelValidation ¶ added in v0.0.9
func SteuerbetragStructLevelValidation(sl validator.StructLevel)
SteuerbetragStructLevelValidation does a cross check on a Steuerbetrag object and checks if Steuerbetrag.Steuerkennzeichen, Steuerbetrag.Basiswert and Steuerbetrag.Steuerbetrag are consistent
Types ¶
type Adresse ¶
type Adresse struct { Postleitzahl string `json:"postleitzahl,omitempty" example:"82031" validate:"numeric,required"` // Postleitzahl is the zip code, mandatory Ort string `json:"ort,omitempty" example:"Grünwald" validate:"alphaunicode,required"` // Ort is the city name, mandatory Strasse string `json:"strasse,omitempty" example:"Nördliche Münchner Straße 27A"` // Strasse is the street name Hausnummer string `json:"hausnummer,omitempty" example:"27A"` // Hausnummer is the house number including suffixes like "a" or "-1" Postfach string `json:"postfach,omitempty"` // Postfach is a post box Adresszusatz string `json:"adresszusatz,omitempty" example:"3. Stock linke Wohnung"` // Adresszusatz are additional data, like f.e. floor or "Hinterhaus" CoErgaenzung string `json:"co_ergaenzung,omitempty" example:"c/o Veronica Hauptmieterin"` // Landescode landescode.Landescode `json:"landescode,omitempty"` // Landescode is a ISO 3166 country code }
Adresse is a general purpose address struct
type Betrag ¶ added in v0.0.9
type Betrag struct { Wert decimal.Decimal `json:"wert" example:"18.36" validate:"required"` // Wert is the amount Waehrung waehrungscode.Waehrungscode `json:"waehrung,omitempty" example:"EUR" validate:"required"` // Waehrung is the currency }
Betrag wird dazu verwendet, Summenbeträge - beispielsweise in Angeboten und Rechnungen - als Geldbeträge abzubilden. Die Einheit ist dabei immer die Hauptwährung also Euro, Dollar etc
type Dienstleistung ¶ added in v0.0.3
type Dienstleistung struct { DienstleistungsTyp dienstleistung.Dienstleistungstyp `json:"dienstleistungstyp,omitempty" validate:"required"` // DienstleistungsTyp describes the type of the service Bezeichnung string `json:"bezeichnung,omitempty" validate:"alphaunicode,required"` // Bezeichnung is a description }
A Dienstleistung is a billable Service
type ExterneReferenz ¶ added in v0.0.3
type ExterneReferenz struct { ExRefName string `json:"exRefName" validate:"required"` // ExRefName is the name of the external reference (e.g. "SAP IS-U" or "BelVis ID" ExRefWert string `json:"exRefWert" validate:"required"` // ExRefWert is the value of the external reference, usually a unique value }
ExterneReferenz models the existence of an object in another system and defines a way to reference it there
type Geokoordinaten ¶ added in v0.0.3
type Geokoordinaten struct { Breitengrad decimal.Decimal `json:"breitengrad" validate:"latitude"` // Breitengrad is the latitude Laengengrad decimal.Decimal `json:"laengengrad" validate:"longitude"` // Laengengrad is the longitude }
Geokoordinaten are GPS coordinates
type Hardware ¶ added in v0.0.3
type Hardware struct { GeraeteTyp geraetetyp.Geraetetyp `json:"geraeteTyp,omitempty" validate:"required"` // GeraeteTyp type of the hardware Bezeichnung string `json:"bezeichnung,omitempty" validate:"alphaunicode,required"` // Bezeichnung is a description }
A Hardware is a billable device
type Katasteradresse ¶ added in v0.0.3
type Katasteradresse struct { // ToDo: why is this `gemarkung_flur` and not `gemarkungFlur` GemarkungFlur string `json:"gemarkung_flur,omitempty" validate:"required"` // GemarkungFlur is the district in which something is located Flurstueck string `json:"flurstueck,omitempty" validate:"required"` // Flurstueck describes the parcel }
Katasteradresse is a cadastre location
type Lastprofil ¶ added in v0.0.21
type Lastprofil struct { Bezeichnung string `json:"bezeichnung,omitempty" validate:"omitempty,alphanum" example:"H0"` // Bezeichnung des Profils, durch DVGW bzw. den Netzbetreiber vergeben Verfahren profilverfahren.Profilverfahren `json:"verfahren,omitempty"` // Verfahren des Profils (analytisch oder synthetisch) Einspeisung *bool `json:"einspeisung,omitempty"` // Einspeisung ist true, falls es sich um Einspeisung handelt Tagesparameter *Tagesparameter `json:"tagesparameter,omitempty"` // Tagesparameter contains the Klimazone or Temperaturmessstelle }
Lastprofil defines a Lastprofil (no shit, sherlock) Note that this component is not official BO4E standard (yet)!
type Menge ¶ added in v0.0.5
type Menge struct { Wert decimal.Decimal `json:"wert" validate:"required"` // Wert gibt den absoluten Wert der Menge an Einheit mengeneinheit.Mengeneinheit `json:"einheit,omitempty" validate:"required"` // Einheit gibt die Einheit zum jeweiligen Wert an }
Menge ist die Abbildung einer Menge mit Wert und Einheit.
type Messlokationszuordnung ¶ added in v0.0.18
type Messlokationszuordnung struct { MesslokationsId string `json:"messlokationsId,omitempty" validate:"required,alphanum,len=33"` // MesslokationsId, früher die Zählpunktbezeichnung. Arithmetik arithmetischeoperation.ArithmetischeOperation `json:"arithmetik,omitempty" validate:"required"` // Arithmetik ist die Operation, mit der eine Messung an dieser Lokation für den Gesamtverbrauch der Marktlokation verrechnet wird. Beispielsweise bei einer Untermessung, wird der Verbauch der Untermessung subtrahiert. GueltigSeit time.Time `json:"gueltigSeit,omitempty" validate:"ltefield=GueltigBis"` // GueltigSeit ist der inklusive Zeitpunkt, ab dem die Messlokation zur Marktlokation gehört GueltigBis time.Time `json:"gueltigBis,omitempty" validate:"gtefield=GueltigSeit"` // GueltigBis ist der exklusive Zeitpunkt, bis zu dem die Messlokation zur Marktlokation gehört }
Messlokationszuordnung. Mit dieser Komponente werden Messlokationen zu Marktlokationen zugeordnet. Dabei kann eine arithmetische Operation (Addition, Subtraktion) angegeben werden, mit der die Messlokation zum Verbrauch der Marklokation beiträgt.
type Preis ¶ added in v0.0.9
type Preis struct { Wert decimal.Decimal `json:"wert" validate:"required"` // Wert gibt die nominale Höhe des Preises an Einheit waehrungseinheit.Waehrungseinheit `json:"einheit,omitempty" validate:"required"` // Einheit ist die Währungseinheit für den Preis Bezugswert mengeneinheit.Mengeneinheit `json:"bezugswert,omitempty" validate:"required"` // Bezugswert ist eine Angabe, für welche Bezugsgröße der Preis gilt. Z.B. kWh Status preisstatus.Preisstatus `json:"status,omitempty"` // Status gibt den Status des veröffentlichten Preises an }
Preis is a price
type Preisposition ¶ added in v0.0.34
type Preisposition struct { Berechnungsmethode kalkulationsmethode.Kalkulationsmethode `json:"berechnungsmethode,omitempty" validate:"required"` // Das Modell, das der Preisbildung zugrunde liegt. Details siehe ENUM Kalkulationsmethode Leistungstyp leistungstyp.Leistungstyp `json:"leistungstyp,omitempty" validate:"required"` // Standardisierte Bezeichnung für die abgerechnete Leistungserbringung. Details siehe ENUM Leistungstyp //Leistungsbezeichung string // Bezeichnung für die in der Position abgebildete Leistungserbringung Preiseinheit waehrungseinheit.Waehrungseinheit `json:"preiseinheit,omitempty" validate:"required"` // Festlegung, mit welcher Preiseinheit abgerechnet wird, z.B. Ct. oder € Bezugsgroesse mengeneinheit.Mengeneinheit `json:"bezugsgroesse,omitempty" validate:"required"` // Hier wird festgelegt, auf welche Bezugsgrösse sich der Preis bezieht, z.B. kWh oder Stück Zeitbasis *zeiteinheit.Zeiteinheit `json:"zeitbasis,omitempty" validate:"required"` // Die Zeit(dauer) auf die sich der Preis bezieht. Z.B. ein Jahr für einen Leistungspreis der in €/kW/Jahr ausgegeben wird Tarifzeit *tarifzeit.Tarifzeit `json:"tarifzeit,omitempty" validate:"required"` // Festlegung, für welche Tarifzeit der Preis hier festgelegt ist BDEWArtikelnummer *bdewartikelnummer.BDEWArtikelnummer `json:"bdewartikelnummer,omitempty" validate:"required"` // Eine vom BDEW standardisierte Bezeichnug für die abgerechnete Leistungserbringung. Diese Artikelnummer wird auch im Rechnungsteil der INVOIC verwendet ArtikelId *artikelid.ArtikelId `json:"artikelid,omitempty" validate:"required"` // Standardisierte vom BDEW herausgegebene Liste, welche im Strommarkt die BDEW-Artikelnummer ablöst Zonungsgroesse *bemessungsgroesse.Bemessungsgroesse `json:"zonungsgroesse,omitempty" validate:"required"` // Mit der Menge der hier angegebenen Größe wird die Staffelung/Zonung durchgeführt. Z.B. Vollbenutzungsstunden FreimengeBlindarbeit decimal.NullDecimal `json:"freimengeBlindarbeit,omitempty" validate:"required"` // Der Anteil der Menge der Blindarbeit in Prozent von der Wirkarbeit, für die keine Abrechnung erfolgt FreimengeLeistungsfaktor decimal.NullDecimal `json:"freimengeLeistungsfaktor,omitempty" validate:"required"` // Der cos phi (Verhältnis Wirkleistung/Scheinleistung) aus dem die Freimenge für die Blindarbeit berechnet wird als tan phi (Verhältnis Blindleistung/Wirkleistung) Preisstaffeln []Preisstaffel `json:"preisstaffel" validate:"required"` // Preisstaffeln, die zu dieser Preisposition gehören }
Preisposition is part of a Preisblatt and includes a price for a product or service
type Preisstaffel ¶ added in v0.0.34
type Preisstaffel struct { Einheitspreis decimal.Decimal `json:"einheitspreis" validate:"required"` // Preis pro abgerechneter Mengeneinheit StaffelgrenzeVon decimal.Decimal `json:"staffelgrenzeVon,omitempty"` // Unterer Wert, ab dem die Staffel gilt (inklusiv) StaffelgrenzeBis decimal.Decimal `json:"staffelgrenzeBis,omitempty"` // Oberer Wert, bis zu dem die Staffel gilt (exklusiv) TODO Inklusivität/Exklusivität noch nicht global abgestimmt! }
Preisstaffel is part of a Preisposition and includes a price for a distinct set of parameters
type Rechnungsposition ¶ added in v0.0.9
type Rechnungsposition struct { Positionsnummer int `json:"positionsnummer,omitempty" validate:"required"` // Positionsnummer ist eine fortlaufende Nummer für die Rechnungsposition LieferungVon time.Time `json:"lieferungVon,omitempty" validate:"required"` // LieferungVon ist ein _inklusiver_ Start der Lieferung für die abgerechnete LEISTUNG LieferungBis time.Time `json:"lieferungBis,omitempty" validate:"required,gtfield=LieferungVon"` // LieferungBis ist ein _exklusives_ Ende der Lieferung für die abgerechnete LEISTUNG Positionstext string `json:"positionstext,omitempty" validate:"required"` // Positionstext ist eine Bezeichung für die abgerechnete Position. Zeiteinheit zeiteinheit.Zeiteinheit `json:"zeiteinheit,omitempty"` // Zeiteinheit wird angegeben, falls sich der Preis auf eine Zeit bezieht, steht hier die Einheit, z.B. JAHR Artikelnummer bdewartikelnummer.BDEWArtikelnummer `json:"bdewartikelnummer,omitempty"` // Artikelnummer ist eine Kennzeichnung der Rechnungsposition mit der Standard-Artikelnummer des BDEW LokationsId string `json:"lokationsId,omitempty" validate:"omitempty,min=11,max=11,numeric"` // LokationsId ist die MarktlokationsId zu der diese Position gehört PositionsMenge Menge `json:"positionsMenge,omitempty" validate:"required"` // PositionsMenge ist die abgerechnete Menge mit Einheit. Z.B. 4372 kWh ZeitbezogeneMenge *Menge `json:"zeitbezogeneMenge,omitempty"` // ZeitbezogeneMenge ist eine optionale, auf die Zeiteinheit bezogene Untermenge. Z.B. bei einem Jahrespreis, 3 Monate oder 146 Tage. Basierend darauf wird der Preis aufgeteilt Einzelpreis Preis `json:"einzelpreis,omitempty" validate:"required"` // Einzelpreis ist der Preis für eine Einheit der energetischen Menge TeilsummeNetto Betrag `json:"teilsummeNetto,omitempty" validate:"required"` // TeilsummeNetto ist das Ergebnis der Multiplikation aus einzelpreis * positionsMenge * (Faktor aus zeitbezogeneMenge). Z.B. 12,60€ * 120 kW * 3/12 (für 3 Monate). TeilsummeSteuer Steuerbetrag `json:"teilsummeSteuer,omitempty" validate:"required"` // TeilsummeSteuer ist der auf die Position entfallende Steuer, bestehend aus Steuersatz und Betrag TeilrabattNetto *Betrag `json:"teilrabattNetto,omitempty"` // TeilrabattNetto ist der Rabatt für diese Position }
Rechnungsposition en sind Teil von Rechnung en. In einem Rechnungsteil wird jeweils eine in sich geschlossene LEISTUNG abgerechnet.
type Rufnummer ¶ added in v0.0.21
type Rufnummer struct { Nummerntyp rufnummernart.Rufnummernart `json:"nummerntyp,omitempty" validate:"required"` // Nummerntyp ist die Ausprägung der Nummer Rufnummer string `json:"rufnummer,omitempty" validate:"required" example:"4989209090153910"` // Rufnummer ist die konkrete Rufnummer }
Rufnummer bildet eine Telefonnummer ab
type Steuerbetrag ¶ added in v0.0.9
type Steuerbetrag struct { Steuerkennzeichen steuerkennzeichen.Steuerkennzeichen `json:"steuerkennzeichen,omitempty" validate:"required" example:"UST19"` // Kennzeichnung des Steuersatzes, bzw. Verfahrens // Basiswert and Steuerwert are _not_ marked as required because the steuerwert 0 is actually valid Basiswert decimal.Decimal `json:"basiswert" example:"100"` // Basiswert ist der Nettobetrag für den die Steuer berechnet wurde Steuerwert decimal.Decimal `json:"steuerwert" example:"19"` // Steuerwert ist die aus dem Basiswert berechnete Steuer Waehrung waehrungscode.Waehrungscode `json:"waehrung,omitempty" example:"EUR" validate:"required"` // Waehrung is the currency }
Steuerbetrag ist ein besteuerter Betrag
type Tagesparameter ¶ added in v0.0.21
type Tagesparameter struct { Klimazone string `json:"klimazone,omitempty" validate:"required,alphanum" example:"7624q"` // Klimazone is the qualifier of the climate zone Temperaturmessstelle string `json:"temperaturmessstelle,omitempty" validate:"required,alphanum" example:"1234x"` // Klimazone is the qualifier of the temperature measurement station Dienstanbieter string `json:"dienstanbieter,omitempty" validate:"required_with=Temperaturmessstelle"` // Dienstanbieter is the service provider for temperature measurements }
Tagesparameter speichert Informationen zu einer tagesparameter-abhängigen Messstelle. z.B. den Namen einer Klimazone oder die ID der Wetterstation für die Temperaturmessstelle
type Unterschrift ¶ added in v0.0.5
type Unterschrift struct { Name string `json:"name,omitempty" validate:"required"` // Name des Unterschreibers Datum time.Time `json:"datum,omitempty" validate:"omitempty"` // Datum der Unterschrift Ort string `json:"ort,omitempty" validate:"omitempty"` // Ort, an dem die Unterschrift geleistet wird }
Unterschrift ist die Modellierung einer Unterschrift, z.B. für Verträge, Angebote etc.
type Verbrauch ¶ added in v0.0.4
type Verbrauch struct { Startdatum time.Time `json:"startdatum,omitempty" validate:"omitempty"` // Startdatum is an inclusive start Enddatum time.Time `json:"enddatum,omitempty" validate:"omitempty,gtfield=Startdatum"` // Enddatum is an exclusive end Wertermittlungsverfahren wertermittlungsverfahren.Wertermittlungsverfahren `json:"wertermittlungsverfahren,omitempty" validate:"required"` // Wertermittlungsverfahren is the type of the consumption Obiskennzahl string `json:"obiskennzahl,omitempty" validate:"required" example:"1-0:1.8.1"` // Obiskennzahl is the OBIS Kennzahl // (?<power>(1)-((?:[0-5]?[0-9])|(?:6[0-5])):((?:[1-8]|99))\.((?:6|8|9|29))\.([0-9]{1,2}))||(?<gas>)(7)-((?:[0-5]?[0-9])|(?:6[0-5])):(.{1,2})\.(.{1,2})\.([0-9]{1,2}) Wert decimal.Decimal `json:"wert,omitempty" validate:"required" example:"17"` // Wert is the value (of einheit) Einheit mengeneinheit.Mengeneinheit `json:"einheit,omitempty" validate:"required" example:"KWH"` // Einheit is the unit (associated to the wert) }
Verbrauch is a a consumption during a specific time frame
type Vertragskonditionen ¶ added in v0.0.5
type Vertragskonditionen struct { Beschreibung string `json:"beschreibung,omitempty"` // Beschreibung ist ein Freitext zur Beschreibung der Konditionen, z.B. "Standardkonditionen Gas" AnzahlAbschlaege int `json:"anzahlAbschlaege,omitempty"` // AnzahlAbschlaege enthält die Anzahl der vereinbarten Abschläge pro Jahr, z.B. 12 Vertragslaufzeit *Zeitraum `json:"vertragslaufzeit,omitempty" validate:"omitempty"` // Vertragslaufzeit enthält den Zeitraum, über den dieser Vertrag läuft Kuendigungsfrist *Zeitraum `json:"kuendigungsfrist,omitempty" validate:"omitempty"` // Kuendigungsfrist ist die Frist, innerhalb derer der Vertrag gekündigt werden kann Vertragsverlaengerung *Zeitraum `json:"vertragsverlaengerung,omitempty" validate:"omitempty"` // Vertragsverlaengerung beschreibt, dass, falls der Vertrag nicht gekündigt wird, er sich automatisch um die angegebene Zeit verlängert Abschlagszyklus *Zeitraum `json:"abschlagszyklus,omitempty" validate:"omitempty"` // Abschlagszyklus sind die Zyklen, in denen Abschläge erstellt werden. Alternativ kann auch die Anzahl in den Konditionen angeben werden. StartAbrechnungsjahr time.Time `json:"startAbrechnungsjahr,omitempty"` // StartAbrechnungsjahr ist der Beginn des Abrechnungsjahres GeplanteTurnusablesung *Zeitraum `json:"geplanteTurnusablesung,omitempty" validate:"omitempty"` // GeplanteTurnusablesung beschreibt die geplante Turnusablesung TurnusablesungIntervall *int `json:"turnusablesungIntervall,omitempty" validate:"omitempty,min=1"` // Das TurnusablesungIntervall beschreibt die Anzahl Monate die zwischen zwei Ablesungen liegen Netznutzungsabrechnung *Zeitraum `json:"netznutzungsabrechnung,omitempty" validate:"omitempty"` // Netznutzungsabrechnung ist der Zeitraum der bei der Netznutzung abgerechnet wird Haushaltskunde *bool `json:"haushaltskunde,omitempty" validate:"omitempty"` // Haushaltskunde ist true, wenn es sich um einen privat/Haushaltskunden handelt Netznutzungsvertragsart netznutzungsvertragsart.Netznutzungsvertragsart `json:"netznutzungsvertrag,omitempty"` // Netznutzungsvertragsart beschreibt, zwischen welchen Vertragspartnern der Vertrag besteht // the json tag is "netznutzungsvertrag" for consistency with the dotnet-implementation Netznutzungszahler netznutzungszahler.Netznutzungszahler `json:"netznutzungszahler,omitempty"` Netznutzungsabrechnungsvariante netznutzungsabrechnungsvariante.Netznutzungsabrechnungsvariante `json:"netznutzungsabrechnungsvariante,omitempty"` Netznutzungsabrechnungsgrundlage netznutzungsabrechnungsgrundlage.Netznutzungsabrechnungsgrundlage `json:"netznutzungsabrechnungsgrundlage,omitempty"` }
Vertragskonditionen ist eine Komponente zur Abbildung von Vertragskonditionen. Die Komponente wird sowohl im Vertrag als auch im Tarif verwendet.
type Vertragsteil ¶ added in v0.0.5
type Vertragsteil struct { Vertragsteilbeginn time.Time `json:"vertragsteilbeginn,omitempty" validate:"required"` // Vertragsteilbeginn ist der inklusive Start der Gültigkeit des Vertragsteils Vertragsteilende time.Time `json:"vertragsteilende,omitempty" validate:"required,gtfield=Vertragsteilbeginn"` // Vertragsteilende ist das exklusive Ende der Gültigkeit des Vertragsteils Lokation string `json:"lokation,omitempty" validate:"omitempty,alphanum,min=11,max=33"` // Lokation ist der Identifier für diejenigen Markt- oder Messlokation, die zu diesem Vertragsteil gehören. Verträge für mehrere Lokationen werden mit mehreren Vertragsteilen abgebildet. VertraglichFixierteMenge *Menge `json:"vertraglichFixierteMenge,omitempty"` // VertraglichFixierteMenge ist die für die Lokation festgeschriebene Abnahmemenge MinimaleAbnahmemenge *Menge `json:"minimaleAbnahmemenge,omitempty"` // MinimaleAbnahmemenge ist die, für die Lokation festgelegte Mindestabnahmemenge MaximaleAbnahmemenge *Menge `json:"maximaleAbnahmemenge,omitempty"` // MaximaleAbnahmemenge ist die, für die Lokation festgelegte maximale Abnahmemenge }
Vertragsteil wird dazu verwendet, eine vertragliche Leistung in Bezug zu einer Lokation (Markt- oder Messlokation) festzulegen.
type Zaehlerstaende ¶ added in v0.0.7
type Zaehlerstaende []Zaehlerstand
Zaehlerstaende is a table type of Zaehlerstand with defined descending sorting of the Zaehlerstand.Ablesedatum for sort.Sort(...)
func (Zaehlerstaende) Len ¶ added in v0.0.7
func (z Zaehlerstaende) Len() int
Len returns the size of z
func (Zaehlerstaende) Less ¶ added in v0.0.7
func (z Zaehlerstaende) Less(i, j int) bool
Less returns true iff the Zaehlerstand.Ablesedatum at index i is after the Zaehlerstand.Ablesedatum at index j
func (Zaehlerstaende) Swap ¶ added in v0.0.7
func (z Zaehlerstaende) Swap(i, j int)
Swap swaps the entries at index i and j
type Zaehlerstand ¶ added in v0.0.7
type Zaehlerstand struct { Ablesedatum time.Time `json:"ablesedatum,omitempty" validate:"required"` // Ablesedatum is a point in time Wertermittlungsverfahren wertermittlungsverfahren.Wertermittlungsverfahren `json:"wertermittlungsverfahren,omitempty" validate:"required"` // Wertermittlungsverfahren is the type of the consumption Wert decimal.Decimal `json:"wert" validate:"required" example:"17086"` // Wert is the value (of Einheit) Einheit mengeneinheit.Mengeneinheit `json:"einheit,omitempty" validate:"required" example:"KWH"` // Einheit ist the unit (associated to the wert) Brennwert decimal.NullDecimal `json:"brennwert,omitempty"` // Brennwert is used to calculate caloric Energy from gas volume Zustandszahl decimal.NullDecimal `json:"zustandszahl,omitempty"` // Zustandszahl is used to calculate caloric Energy from gas volume }
Zaehlerstand is the value of a meter for a specific point in time (non-standard)
type Zaehlwerk ¶ added in v0.0.7
type Zaehlwerk struct { ZaehlwerkId string `json:"zaehlwerkId,omitempty" validate:"required" example:"47110815_1"` // ZaehlwerkId ist die Identifikation des Zählwerks (Registers) innerhalb des Zählers. Oftmals eine laufende Nummer hinter der Zählernummer. Bezeichnung string `json:"bezeichnung,omitempty" validate:"required" example:"Zählwerk_Wirkarbeit"` // Bezeichnung ist eine zusätzliche Bezeichnung Richtung energierichtung.Energierichtung `json:"richtung,omitempty" validate:"required"` // Richtung beschreibt die Energierichtung: Einspeisung oder Ausspeisung. ObisKennzahl string `json:"obisKennzahl,omitempty" validate:"required" example:"1-0:1.8.1"` // Die 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. Wandlerfaktor decimal.Decimal `json:"wandlerfaktor" validate:"required"` // Der Wandlerfaktor ist der Faktor, mit dem die Zählerstandsdifferenz multipliziert wird, um zum eigentlichen Verbrauch im Zeitraum zu kommen. Einheit mengeneinheit.Mengeneinheit `json:"einheit,omitempty" validate:"required"` // Die Einheit der gemessenen Größe Zaehlerstaende Zaehlerstaende `json:"zaehlerstaende,omitempty"` // A list of Zaehlerstand (Non BO4E Standard) // note that both "kommastellen" (plural) serialize as singular "...stelle" for compatability reasons (with bo4e dotnet) Vorkommastellen *int `json:"vorkommastelle,omitempty" validate:"omitempty,min=0"` // Vorkommastellen ist the number of pre-decimal places Nachkommastellen *int `json:"nachkommastelle,omitempty" validate:"omitempty,min=0"` // Nachkommastellen is the number of post decimal places Schwachlastfaehig schwachlastfaehigkeit.Schwachlastfaehigkeit `json:"schwachlastfaehig,omitempty"` }
A Zaehlwerk is the counting part of a meter. A meter consists of one or more Zaehlwerke
type Zeitraum ¶ added in v0.0.5
type Zeitraum struct { Einheit zeiteinheit.Zeiteinheit `json:"zeiteinheit,omitempty" validate:"omitempty,required_with=Dauer"` // Einheit is the unit of measurement Dauer decimal.NullDecimal `json:"dauer,omitempty" validate:"omitempty,required_with=Einheit"` // Dauer ist eh duration Startzeitpunkt time.Time `json:"startzeitpunkt,omitempty" validate:"required_without_all=Einheit Dauer" example:"2018-01-28T10:15:00+01"` // Startzeitpunkt is the inclusive begin Endzeitpunkt time.Time `` // Endzeitpunkt is the exclusive end /* 135-byte string literal not displayed */ }
Zeitraum ist eine Komponente zur Abbildung von Zeiträumen in Form von Dauern oder der Angabe von Start und Ende verwendet.
type Zeitreihenwert ¶ added in v0.0.4
type Zeitreihenwert struct { Zeitreihenwertkompakt DatumUhrzeitVon time.Time `json:"datumUhrzeitVon,omitempty" validate:"required" example:"2018-01-28T10:15:00+01"` // DatumUhrzeitVon is the inclusive begin DatumUhrzeitBis time.Time `json:"datumUhrzeitBis,omitempty" validate:"required" example:"2018-01-28T10:30:00+01"` // DatumUhrzeitBis is the exclusive end }
Zeitreihenwert ist eine Abbildung eines Zeitreihenwertes bestehend aus Zeitraum, Wert und Statusinformationen.
type Zeitreihenwertkompakt ¶ added in v0.0.4
type Zeitreihenwertkompakt struct { Wert decimal.Decimal `json:"wert" validate:"required" example:"17"` // Wert ist der der im Zeitintervall gültige Wert. Status messwertstatus.Messwertstatus `json:"status,omitempty"` // Der Status gibt an, wie der Wert zu interpretieren ist, z.B. in Berechnungen. Statuszusatz messwertstatuszusatz.Messwertstatuszusatz `json:"statuszusatz,omitempty"` // Statuszusatz ist eine Zusatzinformation zum Status, beispielsweise ein Grund für einen fehlenden Wert. }
Zeitreihenwertkompakt ist eine Abbildung eines kompakten Zeitreihenwertes in dem ausschliesslich der Wert und Statusinformationen stehen.
type Zustaendigkeit ¶ added in v0.0.21
type Zustaendigkeit struct { Jobtitel string `json:"jobtitel,omitempty"` // Jobtitel ist die berufliche Rolle des Ansprechpartners Abteilung string `json:"abteilung,omitempty"` // Abteilung ist die Abteilung, in der der bo.Ansprechpartner tätig ist Themengebiet themengebiet.Themengebiet `json:"themengebiet,omitempty" validate:"required"` // Themengebiet erlaubt eine thematische Zuordnung des bo.Ansprechpartner }
Zustaendigkeit ordnet einem bo.Ansprechpartner Abteilungen und Zuständigkeiten zu
Source Files ¶
- Zeitreihenwert.go
- adresse.go
- betrag.go
- dienstleistung.go
- externe_referenz.go
- geokoordinaten.go
- hardware.go
- katasteradresse.go
- lastprofil.go
- menge.go
- messlokationszuordnung.go
- preis.go
- preisposition.go
- preisstaffel.go
- rechnungsposition.go
- rufnummer.go
- steuerbetrag.go
- tagesparameter.go
- unterschrift.go
- verbrauch.go
- vertragskonditionen.go
- vertragsteil.go
- zaehlerstaende.go
- zaehlerstand.go
- zaehlwerk.go
- zeitraum.go
- zeitreihenwertkompakt.go
- zustaendigkeit.go