| POST | /App/{UserId}/Nutzeinheit |
|---|
import Foundation
import ServiceStack
// @DataContract
public class AddNutzeinheit : Codable
{
// @DataMember(Name="Nutzeinheit")
public var Nutzeinheit:Nutzeinheit
required public init(){}
}
public class Nutzeinheit : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="LastModified")
public var LastModified:Date?
// @DataMember(Name="NeNummerInt")
public var NeNummerInt:String
// @DataMember(Name="Lage")
public var Lage:String
// @DataMember(Name="BegeReihenfolge")
public var BegeReihenfolge:String
// @DataMember(Name="Anmerkung")
public var Anmerkung:String
// @DataMember(Name="AbrechnungseinheitGuid")
public var AbrechnungseinheitGuid:String
// @DataMember(Name="Adresse")
public var Adresse:Address
// @DataMember(Name="Geraete")
public var Geraete:IList<Device>
// @DataMember(Name="Nutzer")
public var Nutzer:IList<Nutzer>
// @DataMember(Name="Fotos")
public var Fotos:IList<Photo>
required public init(){}
}
// @DataContract
public class Address : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="Straße")
public var Stra_e:String
// @DataMember(Name="Straße2")
public var Stra_e2:String
// @DataMember(Name="Hausnummer")
public var Hausnummer:String
// @DataMember(Name="Postleitzahl")
public var Postleitzahl:String
// @DataMember(Name="Ort")
public var Ort:String
// @DataMember(Name="Postfach")
public var Postfach:String
// @DataMember(Name="Adresszusatz")
public var Adresszusatz:String
// @DataMember(Name="Breitengrad")
public var Breitengrad:Double
// @DataMember(Name="Laengengrad")
public var Laengengrad:Double
required public init(){}
}
// @DataContract
public class Device : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="LastModified")
public var LastModified:Date?
// @DataMember(Name="Geraetenummer")
public var Geraetenummer:String
// @DataMember(Name="Bezeichnung")
public var Bezeichnung:String
// @DataMember(Name="Beschreibung")
public var Beschreibung:String
// @DataMember(Name="Einbaudatum")
public var Einbaudatum:Date
// @DataMember(Name="Ausbaudatum")
public var Ausbaudatum:Date?
// @DataMember(Name="Eichdatum")
public var Eichdatum:Date?
// @DataMember(Name="Einheit")
public var Einheit:UnitKind?
// @DataMember(Name="Memo")
public var Memo:String
// @DataMember(Name="Abzug")
public var Abzug:Bool
// @DataMember(Name="GrpKennung")
public var GrpKennung:String
// @DataMember(Name="Dauerschaetzung")
public var Dauerschaetzung:EstimationKind?
// @DataMember(Name="ErstInbetriebnahme")
public var ErstInbetriebnahme:Date?
// @DataMember(Name="FirmwareVersion")
public var FirmwareVersion:String
// @DataMember(Name="RaumGuid")
public var RaumGuid:String
// @DataMember(Name="LaufendeNummer")
public var LaufendeNummer:String
// @DataMember(Name="Gemietet")
public var Gemietet:Bool
// @DataMember(Name="Gewartet")
public var Gewartet:Bool
// @DataMember(Name="GeraeteKatalogGuid")
public var GeraeteKatalogGuid:String
// @DataMember(Name="Verbraeuche")
public var Verbraeuche:IList<DeviceConsumption>
// @DataMember(Name="Fotos")
public var Fotos:IList<Photo>
// @DataMember(Name="ZusatzArtikel")
public var ZusatzArtikel:IList<DeviceAdditionalArticle>
required public init(){}
}
public enum UnitKind : String, Codable
{
case L
case Kg
case CBM
case Stck
case KWH
case MWH
case GWH
case T
case RM
case Einheit
case Qm
case GJ
case MJ
case Null
}
public enum EstimationKind : String, Codable
{
case Null
case S1
case S2
case S3
case S4
case S5
case N1
case N2
}
// @DataContract
public class DeviceConsumption : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="LastModified")
public var LastModified:Date?
// @DataMember(Name="Ablesedatum")
public var Ablesedatum:Date?
// @DataMember(Name="Faktor")
public var Faktor:Double
// @DataMember(Name="Ablesung")
public var Ablesung:Double?
// @DataMember(Name="Verbrauch")
public var Verbrauch:Double?
// @DataMember(Name="Aenderungsdatum")
public var Aenderungsdatum:Date?
// @DataMember(Name="Schaetzung")
public var Schaetzung:EstimationKind?
// @DataMember(Name="Status")
public var Status:DeviceConsumptionState?
// @DataMember(Name="Anmerkung")
public var Anmerkung:String
// @DataMember(Name="IstRekonstruiert")
public var IstRekonstruiert:Bool
// @DataMember(Name="Manuell")
public var Manuell:Double?
// @DataMember(Name="Herkunft")
public var Herkunft:DeviceConsumptionOrigin?
// @DataMember(Name="Lufttemperatur")
public var Lufttemperatur:Double?
// @DataMember(Name="HeizkörperTemperatur")
public var Heizk_rperTemperatur:Double?
// @DataMember(Name="LetzterfehlerDatum")
public var LetzterfehlerDatum:Date?
// @DataMember(Name="Fehler")
public var Fehler:String
// @DataMember(Name="Ampullenfarbe")
public var Ampullenfarbe:String
// @DataMember(Name="AbleseartGuid")
public var AbleseartGuid:String
required public init(){}
}
public enum DeviceConsumptionState : String, Codable
{
case Null
case RMInOrdnung
case RMFehler
case RMNichtGepr
case RMFehlerTausch
case KeinWohnungszutritt
case Defekt
case FalschLaufend
case Überlauf
case EichungBeachten
case ProbeEntnommen
case ProbeZumLabor
case ProbePositiv
case ProbeNegativ
}
public enum DeviceConsumptionOrigin : String, Codable
{
case Unbekannt
case Manual
case Emr
case Walkby
case Deleted
}
// @DataContract
public class Photo : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="Timestamp")
public var Timestamp:Date
required public init(){}
}
// @DataContract
public class DeviceAdditionalArticle : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="Menge")
public var Menge:Double?
// @DataMember(Name="LastModified")
public var LastModified:Date?
required public init(){}
}
// @DataContract
public class Nutzer : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="LastModified")
public var LastModified:Date?
// @DataMember(Name="ArtDerNutzung")
public var ArtDerNutzung:NutzerKind?
// @DataMember(Name="Einzug")
public var Einzug:Date?
// @DataMember(Name="Auszug")
public var Auszug:Date?
// @DataMember(Name="Name1")
public var Name1:String
// @DataMember(Name="Name2")
public var Name2:String
// @DataMember(Name="Name3")
public var Name3:String
// @DataMember(Name="Name4")
public var Name4:String
// @DataMember(Name="Anmerkung")
public var Anmerkung:String
// @DataMember(Name="NaechsterTermin")
public var NaechsterTermin:Date?
// @DataMember(Name="Anrede")
public var Anrede:String
// @DataMember(Name="Titel")
public var Titel:String
// @DataMember(Name="NutzerKommunikationen")
public var NutzerKommunikationen:[NutzerCommunication] = []
// @DataMember(Name="NutzerPersonen")
public var NutzerPersonen:[NutzerPersonen] = []
// @DataMember(Name="NutzerCoOwnership")
public var NutzerCoOwnership:[NutzerCoOwnership] = []
// @DataMember(Name="NutzerQuadratmeter")
public var NutzerQuadratmeter:[NutzerQuadratmeter] = []
required public init(){}
}
public enum NutzerKind : String, Codable
{
case Leerstand
case Gewerblich
case Privat
case AllgemeineNutzung
}
// @DataContract
public class NutzerCommunication : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="LastModified")
public var LastModified:Date?
// @DataMember(Name="Adresse")
public var Adresse:String
// @DataMember(Name="Anmerkung")
public var Anmerkung:String
// @DataMember(Name="KommunikationsFunktionGuid")
public var KommunikationsFunktionGuid:String
required public init(){}
}
// @DataContract
public class NutzerPersonen : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="LastModified")
public var LastModified:Date?
// @DataMember(Name="Personen")
public var Personen:Int?
// @DataMember(Name="Von")
public var Von:Date
// @DataMember(Name="Bis")
public var Bis:Date?
required public init(){}
}
// @DataContract
public class NutzerCoOwnership : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="LastModified")
public var LastModified:Date?
// @DataMember(Name="ShareValue")
public var ShareValue:Double?
// @DataMember(Name="Von")
public var Von:Date
// @DataMember(Name="Bis")
public var Bis:Date?
required public init(){}
}
// @DataContract
public class NutzerQuadratmeter : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="LastModified")
public var LastModified:Date?
// @DataMember(Name="Quadratmeter_Hzg")
public var Quadratmeter_Hzg:Double?
// @DataMember(Name="Quadratmeter_Ww")
public var Quadratmeter_Ww:Double?
// @DataMember(Name="Quadratmeter_Nk")
public var Quadratmeter_Nk:Double?
// @DataMember(Name="Von")
public var Von:Date
// @DataMember(Name="Bis")
public var Bis:Date?
required public init(){}
}
public class AddNutzeinheitResponse : Codable
{
public var responseStatus:ResponseStatus
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /App/{UserId}/Nutzeinheit HTTP/1.1
Host: marneth-messdienst-servamw.eras-online.de
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Nutzeinheit:
{
Guid: 00000000000000000000000000000000,
LastModified: 0001-01-01T00:00:00Z,
NeNummerInt: String,
Lage: String,
BegeReihenfolge: String,
Anmerkung: String,
AbrechnungseinheitGuid: 00000000000000000000000000000000,
Adresse:
{
Guid: 00000000000000000000000000000000,
Straße: String,
Straße2: String,
Hausnummer: String,
Postleitzahl: String,
Ort: String,
Postfach: String,
Adresszusatz: String,
Breitengrad: 0,
Laengengrad: 0
}
},
UserId: 00000000000000000000000000000000
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
},
nutzeinheit:
{
Guid: 00000000000000000000000000000000,
LastModified: 0001-01-01T00:00:00Z,
NeNummerInt: String,
Lage: String,
BegeReihenfolge: String,
Anmerkung: String,
AbrechnungseinheitGuid: 00000000000000000000000000000000,
Adresse:
{
Guid: 00000000000000000000000000000000,
Straße: String,
Straße2: String,
Hausnummer: String,
Postleitzahl: String,
Ort: String,
Postfach: String,
Adresszusatz: String,
Breitengrad: 0,
Laengengrad: 0
}
}
}