com

package
v0.0.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 27, 2021 License: MIT Imports: 11 Imported by: 0

Documentation

Index

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

Types

type Adresse

type Adresse struct {
	Postleitzahl string                `json:"postleitzahl,omitempty" example:"82031" validate:"numeric,required"` // zip code, mandatory
	Ort          string                `json:"ort,omitempty" example:"Grünwald" validate:"alphaunicode,required"`  // city name, mandatory
	Strasse      string                `json:"strasse,omitempty" example:"Nördliche Münchner Straße 27A"`          // street name
	Hausnummer   string                `json:"hausnummer,omitempty" example:"27A"`                                 // house number including suffixes like "a" or "-1"
	Postfach     string                `json:"postfach,omitempty"`                                                 // post box
	Adresszusatz string                `json:"adresszusatz,omitempty" example:"3. Stock linke Wohnung"`            // 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"`                                               // ISO 3166 country code
}

Adresse is a general purpose address struct

type Dienstleistung added in v0.0.3

type Dienstleistung struct {
	DienstleistungsTyp dienstleistung.Dienstleistungstyp `json:"dienstleistungstyp" validate:"required"`       // type of the service
	Bezeichnung        string                            `json:"bezeichnung" validate:"alphaunicode,required"` // description
}

A Dienstleistung is a billable Service

type ExterneReferenz added in v0.0.3

type ExterneReferenz struct {
	ExRefName string `json:"exRefName" validate:"required"` // Name of the external reference (e.g. "SAP IS-U" or "BelVis ID"
	ExRefWert string `json:"exRefWert" validate:"required"` // 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 float32 `json:"breitengrad" validate:"latitude"`  // latitude
	Laengengrad float32 `json:"laengengrad" validate:"longitude"` // longitude
}

Geokoordinaten are GPS coordinates

type Hardware added in v0.0.3

type Hardware struct {
	GeraeteTyp  geraetetyp.Geraetetyp `json:"geraeteTyp" validate:"required"`               // type of the hardware
	Bezeichnung string                `json:"bezeichnung" validate:"alphaunicode,required"` // 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" validate:"required"` // the district in which something is located
	Flurstueck    string `json:"flurstueck" validate:"required"`     // parcel
}

Katasteradresse is a cadastre location

type Menge added in v0.0.5

type Menge struct {
	Wert    float32                     `json:"wert" validate:"omitempty,required"` //Gibt den absoluten Wert der Menge an
	Einheit mengeneinheit.Mengeneinheit `json:"einheit" validate:"required"`        //Gibt die Einheit zum jeweiligen Wert an
}

Menge ist die Abbildung einer Menge mit Wert und Einheit.

type Unterschrift added in v0.0.5

type Unterschrift struct {
	Name  string    `json:"name" validate:"required"`   // Name des Unterschreibers
	Datum time.Time `json:"datum" validate:"omitempty"` // Datum der Unterschrift
	Ort   string    `json:"ort" 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" validate:"omitempty"`                      // inclusive start
	Enddatum                 time.Time                                         `json:"enddatum" validate:"omitempty,gtfield=Startdatum"`     // exclusive end
	Wertermittlungsverfahren wertermittlungsverfahren.Wertermittlungsverfahren `json:"wertermittlungsverfahren" validate:"required"`         // type of the consumption
	Obiskennzahl             string                                            `json:"obiskennzahl" validate:"required" example:"1-0:1.8.1"` // 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                     float32                                           `json:"wert" validate:"required" example:"17"`                // value (of einheit)
	Einheit                  mengeneinheit.Mengeneinheit                       `json:"einheit" validate:"required" example:"KWH"`            // 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"`          // Freitext zur Beschreibung der Konditionen, z.B. "Standardkonditionen Gas"
	AnzahlAbschlaege      int      `json:"anzahlAbschlaege,omitempty"`      // Anzahl der vereinbarten Abschläge pro Jahr, z.B. 12
	Vertragslaufzeit      Zeitraum `json:"vertragslaufzeit,omitempty"`      // 	Über diesen Zeitraum läuft der Vertrag.
	Kuendigungsfrist      Zeitraum `json:"kuendigungsfrist,omitempty"`      // 	Innerhalb dieser Frist kann der Vertrag gekündigt werden.
	Vertragsverlaengerung Zeitraum `json:"vertragsverlaengerung,omitempty"` //  Falls der Vertrag nicht gekündigt wird, verlängert er sich automatisch um die hier angegebene Zeit.
	Abschlagszyklus       Zeitraum `json:"abschlagszyklus,omitempty"`       //	In diesen Zyklen werden Abschläge gestellt. Alternativ kann auch die Anzahl in den Konditionen angeben werden.
}

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" validate:"required"`                          // Start der Gültigkeit des Vertragsteils.
	Vertragsteilende         time.Time `json:"Vertragsteilende" validate:"required,gtfield=Vertragsteilbeginn"` // Ende der Gültigkeit des Vertragsteils.
	Lokation                 string    `json:"lokation" validate:"omitempty,alphanum,min=11,max=33"`            // 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"`                                        // Für die Lokation festgeschriebene Abnahmemenge
	MinimaleAbnahmemenge     *Menge    `json:"minimaleAbnahmemenge"`                                            // Für die Lokation festgelegte Mindestabnahmemenge
	MaximaleAbnahmemenge     *Menge    `json:"maximaleAbnahmemenge"`                                            // 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" validate:"required"`              // point in time
	Wertermittlungsverfahren wertermittlungsverfahren.Wertermittlungsverfahren `json:"wertermittlungsverfahren" validate:"required"` // type of the consumption
	Wert                     float32                                           `json:"wert" validate:"required" example:"17086"`     // value (of einheit)
	Einheit                  mengeneinheit.Mengeneinheit                       `json:"einheit" validate:"required" example:"KWH"`    // unit (associated to the wert)
	Brennwert                float32                                           `json:"brennwert,omitempty"`                          // used to calculate caloric Energy from gas volume
	Zustandszahl             float32                                           `json:"zustandszahl,omitempty"`                       // used to calculate caloric Energy from gas volume
}

Zaehlerstand is the value of a meter for a specific point in time

type Zaehlwerk added in v0.0.7

type Zaehlwerk struct {
	ZaehlwerkId    string                          `json:"zaehlwerkId" validate:"required" example:"47110815_1"`          // Identifikation des Zählwerks (Registers) innerhalb des Zählers. Oftmals eine laufende Nummer hinter der Zählernummer.
	Bezeichnung    string                          `json:"bezeichnung" validate:"required" example:"Zählwerk_Wirkarbeit"` // Zusätzliche Bezeichnung
	Richtung       energierichtung.Energierichtung `json:"richtung" validate:"required"`                                  // Die Energierichtung, Einspeisung oder Ausspeisung.
	ObisKennzahl   string                          `json:"obisKennzahl" validate:"required" example:"1-0:1.8.1"`          // Die OBIS-Kennzahl 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  float32                         `json:"wandlerfaktor" validate:"required"`                             // Mit diesem Faktor wird eine Zählerstandsdifferenz multipliziert, um zum eigentlichen Verbrauch im Zeitraum zu kommen.
	Einheit        mengeneinheit.Mengeneinheit     `json:"einheit" validate:"required"`                                   // Die Einheit der gemessenen Größe
	Zaehlerstaende Zaehlerstaende                  `json:"zaehlerstaende,omitempty"`                                      // Non BO4E Standard
}

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"`                                          // unit of measurement
	Dauer          float32                 `json:"dauer,omitempty" validate:"omitempty,required_with=Einheit"`                                              // duration
	Startzeitpunkt time.Time               `json:"startzeitpunkt,omitempty" validate:"required_without_all=Einheit Dauer" example:"2018-01-28T10:15:00+01"` // inclusive begin
	Endzeitpunkt   time.Time               ``                                                                                                               // 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" validate:"required" example:"2018-01-28T10:15:00+01"` // inclusive begin
	DatumUhrzeitBis time.Time `json:"datumUhrzeitBis" validate:"required" example:"2018-01-28T10:30:00+01"` // 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         float32                                   `json:"wert" validate:"required" example:"17"` // 	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"`                // 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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL