Server

<back to all web services

UpdateCustomer

Requires Authentication
The following routes are available for this service:
PUT/Customers
import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*


@DataContract
open class UpdateCustomer
{
    @DataMember(Name="Kunde")
    @SerializedName("Kunde")
    var customer:Customer? = null

    @DataMember(Name="Objekte")
    @SerializedName("Objekte")
    var objekte:ArrayList<Objekt> = ArrayList<Objekt>()

    @DataMember(Name="Adressen")
    @SerializedName("Adressen")
    var addresses:ArrayList<Address> = ArrayList<Address>()

    @DataMember(Name="Nutzer")
    @SerializedName("Nutzer")
    var nutzer:ArrayList<Nutzer> = ArrayList<Nutzer>()

    @DataMember(Name="NutzerCoOwnership")
    @SerializedName("NutzerCoOwnership")
    var nutzerCoOwnership:ArrayList<NutzerCoOwnership> = ArrayList<NutzerCoOwnership>()

    @DataMember(Name="NutzerPersonen")
    @SerializedName("NutzerPersonen")
    var nutzerPersonen:ArrayList<NutzerPersonen> = ArrayList<NutzerPersonen>()

    @DataMember(Name="NutzerQuadratmeter")
    @SerializedName("NutzerQuadratmeter")
    var nutzerQuadratmeter:ArrayList<NutzerQuadratmeter> = ArrayList<NutzerQuadratmeter>()

    @DataMember(Name="EigentuemerNutzeinheit")
    @SerializedName("EigentuemerNutzeinheit")
    var ownerNutzeinheiten:ArrayList<OwnerNutzeinheit> = ArrayList<OwnerNutzeinheit>()

    @DataMember(Name="Nutzeinheiten")
    @SerializedName("Nutzeinheiten")
    var nutzeinheiten:ArrayList<Nutzeinheit> = ArrayList<Nutzeinheit>()

    @DataMember(Name="Direktkosten")
    @SerializedName("Direktkosten")
    var direktkosten:ArrayList<Direktkosten> = ArrayList<Direktkosten>()

    @DataMember(Name="Prepayments")
    @SerializedName("Prepayments")
    var prepayments:ArrayList<Prepayment> = ArrayList<Prepayment>()

    @DataMember(Name="EnergieVerwerter")
    @SerializedName("EnergieVerwerter")
    var energieVerwerter:ArrayList<EnergieVerwerter> = ArrayList<EnergieVerwerter>()

    @DataMember(Name="Brennstofflieferungen")
    @SerializedName("Brennstofflieferungen")
    var brennstofflieferungen:ArrayList<Brennstofflieferung> = ArrayList<Brennstofflieferung>()

    @DataMember(Name="Nebenkosten")
    @SerializedName("Nebenkosten")
    var nebenkosten:ArrayList<Nebenkosten> = ArrayList<Nebenkosten>()

    @DataMember(Name="Heizbetriebskosten")
    @SerializedName("Heizbetriebskosten")
    var heizbetriebskosten:ArrayList<Heizbetriebskosten> = ArrayList<Heizbetriebskosten>()

    @DataMember(Name="NutzeinheitGeraete")
    @SerializedName("NutzeinheitGeraete")
    var nutzeinheitDevices:ArrayList<NutzeinheitDevice> = ArrayList<NutzeinheitDevice>()

    @DataMember(Name="Geraete")
    @SerializedName("Geraete")
    var devices:ArrayList<Device> = ArrayList<Device>()

    @DataMember(Name="Geraeteverbraeuche")
    @SerializedName("Geraeteverbraeuche")
    var deviceConsumptions:ArrayList<DeviceConsumption> = ArrayList<DeviceConsumption>()

    @DataMember(Name="BillingInformations")
    @SerializedName("BillingInformations")
    var billingInformations:ArrayList<BillingInformation> = ArrayList<BillingInformation>()

    @DataMember(Name="DeleteUvi")
    @SerializedName("DeleteUvi")
    var deleteUVI:Boolean? = null

    @DataMember(Name="KundenObjekteImObjektSync")
    @SerializedName("KundenObjekteImObjektSync")
    var kundenObjekteImObjektSync:Boolean? = null
}

@DataContract
open class Customer
{
    @DataMember(Name="Guid")
    @SerializedName("Guid")
    var guid:String? = null

    @DataMember(Name="Name1")
    @SerializedName("Name1")
    var name1:String? = null

    @DataMember(Name="Name2")
    @SerializedName("Name2")
    var name2:String? = null

    @DataMember(Name="Name3")
    @SerializedName("Name3")
    var name3:String? = null

    @DataMember(Name="Kundennummer")
    @SerializedName("Kundennummer")
    var number:String? = null

    @DataMember(Name="Anrede")
    @SerializedName("Anrede")
    var salutation:String? = null

    @DataMember(Name="KundenAdressen")
    @SerializedName("KundenAdressen")
    var customerAddresses:ArrayList<CustomerAddress> = ArrayList<CustomerAddress>()

    @DataMember(Name="KundenObjekte")
    @SerializedName("KundenObjekte")
    var customerObjekte:ArrayList<CustomerObjekt> = ArrayList<CustomerObjekt>()
}

@DataContract
open class CustomerAddress
{
    @DataMember(Name="AdresseGuid")
    @SerializedName("AdresseGuid")
    var addressGuid:String? = null

    @DataMember(Name="IstPrimaer")
    @SerializedName("IstPrimaer")
    var isPrimary:Boolean? = null

    @DataMember(Name="AdressTypBezeichnung")
    @SerializedName("AdressTypBezeichnung")
    var addressKindLabel:String? = null

    @DataMember(Name="AdressTyp")
    @SerializedName("AdressTyp")
    var addressKindTyp:String? = null
}

@DataContract
open class CustomerObjekt
{
    @DataMember(Name="Guid")
    @SerializedName("Guid")
    var guid:String? = null

    @DataMember(Name="ZeitraumVon")
    @SerializedName("ZeitraumVon")
    var rangeFrom:Date? = null

    @DataMember(Name="ZeitraumBis")
    @SerializedName("ZeitraumBis")
    var rangeTo:Date? = null

    @DataMember(Name="IstKunde")
    @SerializedName("IstKunde")
    var isCustomer:Boolean? = null

    @DataMember(Name="IstEigentümer")
    @SerializedName("IstEigentümer")
    var isOwner:Boolean? = null

    @DataMember(Name="IstEigentümerPseudo")
    @SerializedName("IstEigentümerPseudo")
    var isOwnerPseudo:Boolean? = null

    @DataMember(Name="ObjektGuid")
    @SerializedName("ObjektGuid")
    var objektGuid:String? = null

    @DataMember(Name="KundeGuid")
    @SerializedName("KundeGuid")
    var customerGuid:String? = null
}

@DataContract
open class Objekt
{
    @DataMember(Name="Guid")
    @SerializedName("Guid")
    var guid:String? = null

    @DataMember(Name="Objektnummer")
    @SerializedName("Objektnummer")
    var number:String? = null

    @DataMember(Name="IstAbgeschlossen")
    @SerializedName("IstAbgeschlossen")
    var isCompleted:String? = null

    @DataMember(Name="Uvi")
    @SerializedName("Uvi")
    var uvi:String? = null

    @DataMember(Name="IsUviDisabled")
    @SerializedName("IsUviDisabled")
    var isUviDisabled:String? = null

    @DataMember(Name="AbgeschlossenDatum")
    @SerializedName("AbgeschlossenDatum")
    var completedDate:Date? = null

    @DataMember(Name="AdressGuid")
    @SerializedName("AdressGuid")
    var addressGuid:String? = null

    @DataMember(Name="AnmerkungKundenportal")
    @SerializedName("AnmerkungKundenportal")
    var anmerkungKundenportal:String? = null

    @DataMember(Name="KundenportalMarkedDone")
    @SerializedName("KundenportalMarkedDone")
    var kundenportalMarkedDone:Boolean? = null

    @DataMember(Name="MarkedDoneAt")
    @SerializedName("MarkedDoneAt")
    var markedDoneAt:Date? = null
}

@DataContract
open class Address
{
    @DataMember(Name="Guid")
    @SerializedName("Guid")
    var guid:String? = null

    @DataMember(Name="Straße")
    @SerializedName("Straße")
    var street:String? = null

    @DataMember(Name="Straße2")
    @SerializedName("Straße2")
    var street2:String? = null

    @DataMember(Name="Hausnummer")
    @SerializedName("Hausnummer")
    var streetNumber:String? = null

    @DataMember(Name="Postleitzahl")
    @SerializedName("Postleitzahl")
    var zipcode:String? = null

    @DataMember(Name="Ort")
    @SerializedName("Ort")
    var city:String? = null

    @DataMember(Name="Postfach")
    @SerializedName("Postfach")
    var mailbox:String? = null

    @DataMember(Name="Adresszusatz")
    @SerializedName("Adresszusatz")
    var additional:String? = null
}

@DataContract
open class Nutzer
{
    @DataMember
    var guid:UUID? = null

    @DataMember
    var name1:String? = null

    @DataMember
    var name2:String? = null

    @DataMember
    var name3:String? = null

    @DataMember
    var name4:String? = null

    @DataMember
    @ApiMember(IsRequired=true)
    var nutzerType:NutzerType? = null

    @DataMember
    var nutzeinheitNumberExternal:String? = null

    @DataMember
    @ApiMember(IsRequired=true)
    var nutzerInNutzeinheitSequence:Long? = null

    @DataMember
    @ApiMember(IsRequired=true)
    var rangeFrom:Date? = null

    @DataMember
    var rangeTo:Date? = null

    @DataMember
    var isDeleted:Boolean? = null

    @DataMember
    var isCreatedByApp:Boolean? = null

    @DataMember(Name="IstUvi")
    @SerializedName("IstUvi")
    var isUviRecieved:String? = null

    @DataMember(Name="EigentuemerBewohnt")
    @SerializedName("EigentuemerBewohnt")
    var isNutzerOwner:String? = null

    @DataMember(Name="Email")
    @SerializedName("Email")
    var email:String? = null

    @DataMember(Name="Mobil")
    @SerializedName("Mobil")
    var mobilePhone:String? = null

    @DataMember
    var title:String? = null

    @DataMember
    @ApiMember(IsRequired=true, ParameterType="body")
    var salutation:String? = null
}

enum class NutzerType
{
    Leerstand,
    Gewerblich,
    Privat,
    AllgemeineNutzung,
}

@DataContract
open class NutzerCoOwnership
{
    @DataMember(Name="Guid")
    @SerializedName("Guid")
    var guid:String? = null

    @DataMember(Name="ShareValue")
    @SerializedName("ShareValue")
    var shareValue:BigDecimal? = null

    @DataMember(Name="Von")
    @SerializedName("Von")
    var rangeFrom:Date? = null

    @DataMember(Name="Bis")
    @SerializedName("Bis")
    var rangeTo:Date? = null

    @DataMember(Name="NutzerGuid")
    @SerializedName("NutzerGuid")
    var nutzerGuid:String? = null

    @DataMember(Name="IsCreatedByApp")
    @SerializedName("IsCreatedByApp")
    var isCreatedByApp:Boolean? = null

    @DataMember(Name="IsDeleted")
    @SerializedName("IsDeleted")
    var isDeleted:Boolean? = null
}

@DataContract
open class NutzerPersonen
{
    @DataMember(Name="Guid")
    @SerializedName("Guid")
    var guid:String? = null

    @DataMember(Name="Personen")
    @SerializedName("Personen")
    var numberOfPeople:Int? = null

    @DataMember(Name="Von")
    @SerializedName("Von")
    var rangeFrom:Date? = null

    @DataMember(Name="Bis")
    @SerializedName("Bis")
    var rangeTo:Date? = null

    @DataMember(Name="NutzerGuid")
    @SerializedName("NutzerGuid")
    var nutzerGuid:String? = null

    @DataMember(Name="IsCreatedByApp")
    @SerializedName("IsCreatedByApp")
    var isCreatedByApp:Boolean? = null

    @DataMember(Name="IsDeleted")
    @SerializedName("IsDeleted")
    var isDeleted:Boolean? = null
}

@DataContract
open class NutzerQuadratmeter
{
    @DataMember(Name="Guid")
    @SerializedName("Guid")
    var guid:String? = null

    @DataMember(Name="Quadratmeter_Hzg")
    @SerializedName("Quadratmeter_Hzg")
    var squareMeters_Hzg:BigDecimal? = null

    @DataMember(Name="Quadratmeter_Ww")
    @SerializedName("Quadratmeter_Ww")
    var squareMeters_Ww:BigDecimal? = null

    @DataMember(Name="Quadratmeter_Nk")
    @SerializedName("Quadratmeter_Nk")
    var squareMeters_Nk:BigDecimal? = null

    @DataMember(Name="Von")
    @SerializedName("Von")
    var rangeFrom:Date? = null

    @DataMember(Name="Bis")
    @SerializedName("Bis")
    var rangeTo:Date? = null

    @DataMember(Name="NutzerGuid")
    @SerializedName("NutzerGuid")
    var nutzerGuid:String? = null

    @DataMember(Name="IsCreatedByApp")
    @SerializedName("IsCreatedByApp")
    var isCreatedByApp:Boolean? = null

    @DataMember(Name="IsDeleted")
    @SerializedName("IsDeleted")
    var isDeleted:Boolean? = null
}

@DataContract
open class OwnerNutzeinheit
{
    @DataMember(Name="Guid")
    @SerializedName("Guid")
    var guid:String? = null

    @DataMember(Name="Name1")
    @SerializedName("Name1")
    var name1:String? = null

    @DataMember(Name="Name2")
    @SerializedName("Name2")
    var name2:String? = null

    @DataMember(Name="Name3")
    @SerializedName("Name3")
    var name3:String? = null

    @DataMember(Name="Name4")
    @SerializedName("Name4")
    var name4:String? = null

    @DataMember(Name="ZeitraumVon")
    @SerializedName("ZeitraumVon")
    var rangeFrom:Date? = null

    @DataMember(Name="ZeitraumBis")
    @SerializedName("ZeitraumBis")
    var rangeTo:Date? = null

    @DataMember(Name="Titel")
    @SerializedName("Titel")
    var title:String? = null

    @DataMember(Name="Anrede")
    @SerializedName("Anrede")
    var salutation:String? = null

    @DataMember(Name="AdressGuid")
    @SerializedName("AdressGuid")
    var addressGuid:String? = null

    @DataMember(Name="NutzeinheitGuid")
    @SerializedName("NutzeinheitGuid")
    var nutzeinheitGuid:String? = null
}

@DataContract
open class Nutzeinheit
{
    @DataMember(Name="Guid")
    @SerializedName("Guid")
    var guid:String? = null

    @DataMember(Name="Nummer")
    @SerializedName("Nummer")
    var number:String? = null

    @DataMember(Name="Lage")
    @SerializedName("Lage")
    var location:String? = null

    @DataMember(Name="ObjektGuid")
    @SerializedName("ObjektGuid")
    var objektGuid:String? = null

    @DataMember(Name="AdressGuid")
    @SerializedName("AdressGuid")
    var addressGuid:String? = null
}

@DataContract
open class Direktkosten
{
    @DataMember
    var guid:UUID? = null

    @DataMember
    var label:String? = null

    @DataMember
    var date:Date? = null

    @DataMember
    var brutto:BigDecimal? = null

    @DataMember
    var salesTax:BigDecimal? = null

    @DataMember
    var quantity:BigDecimal? = null

    @DataMember
    @SerializedName("type") var Type:String? = null

    @DataMember
    var isDeleted:Boolean? = null

    @DataMember
    var isCreatedByApp:Boolean? = null

    @DataMember
    var nutzerGuid:UUID? = null

    @DataMember
    var billingInformation:BillingInformation? = null
}

@DataContract
open class BillingInformation
{
    @DataMember
    var guid:String? = null

    @DataMember
    var from:Date? = null

    @DataMember
    var to:Date? = null

    @DataMember
    var isCompleted:Boolean? = null

    @DataMember
    var hasNebenkosten:Boolean? = null
}

@DataContract
open class Prepayment
{
    @DataMember(Name="Guid")
    @SerializedName("Guid")
    var guid:String? = null

    @DataMember(Name="Von")
    @SerializedName("Von")
    var from:Date? = null

    @DataMember(Name="Bis")
    @SerializedName("Bis")
    var to:Date? = null

    @DataMember(Name="VZ Nebenkosten")
    @SerializedName("VZ Nebenkosten")
    var amount_Nk:BigDecimal? = null

    @DataMember(Name="VZ Heizkosten")
    @SerializedName("VZ Heizkosten")
    var amount_HK:BigDecimal? = null

    @DataMember(Name="VZ Warmwasser")
    @SerializedName("VZ Warmwasser")
    var amount_Ww:BigDecimal? = null

    @DataMember(Name="IstGeloescht")
    @SerializedName("IstGeloescht")
    var isDeleted:Boolean? = null

    @DataMember(Name="IstErzeugtVonApp")
    @SerializedName("IstErzeugtVonApp")
    var isCreatedByApp:Boolean? = null

    @DataMember(Name="ObjektGuid")
    @SerializedName("ObjektGuid")
    var objektGuid:String? = null

    @DataMember(Name="NutzerGuid")
    @SerializedName("NutzerGuid")
    var nutzerGuid:String? = null

    @DataMember(Name="BillingInformationGuid")
    @SerializedName("BillingInformationGuid")
    var billingInformationGuid:String? = null
}

@DataContract
open class EnergieVerwerter
{
    @DataMember(Name="Guid")
    @SerializedName("Guid")
    var guid:String? = null

    @DataMember(Name="Bezeichnung")
    @SerializedName("Bezeichnung")
    var label:String? = null

    @DataMember(Name="Wirkungsgrad")
    @SerializedName("Wirkungsgrad")
    var efficiencyFactor:BigDecimal? = null

    @DataMember(Name="Einbau")
    @SerializedName("Einbau")
    var assemblyDate:Date? = null

    @DataMember(Name="Ausbau")
    @SerializedName("Ausbau")
    var disassemblyDate:Date? = null

    @DataMember(Name="Baujahr")
    @SerializedName("Baujahr")
    var buildYear:Long? = null

    @DataMember(Name="Temperatur")
    @SerializedName("Temperatur")
    var temperature:Long? = null

    @DataMember(Name="EigenstGewerbLieferung")
    @SerializedName("EigenstGewerbLieferung")
    var commercialSupply:Boolean? = null

    @DataMember(Name="Brennwert")
    @SerializedName("Brennwert")
    var brennwert:Boolean? = null

    @DataMember(Name="ObjektGuid")
    @SerializedName("ObjektGuid")
    var objektGuid:String? = null

    @DataMember(Name="BrennstoffMediumGuid")
    @SerializedName("BrennstoffMediumGuid")
    var brennstoffMediumGuid:String? = null
}

@DataContract
open class Brennstofflieferung
{
    @DataMember
    var guid:UUID? = null

    @DataMember
    var deliveryDate:Date? = null

    @DataMember
    var salexTax:BigDecimal? = null

    @DataMember
    var emisionsTax:BigDecimal? = null

    @DataMember
    var c02Taxes:BigDecimal? = null

    @DataMember
    var customsTax:BigDecimal? = null

    @DataMember
    var otherCharges:BigDecimal? = null

    @DataMember
    var c02Price:BigDecimal? = null

    @DataMember
    var c02Tons:BigDecimal? = null

    @DataMember
    var quantity:BigDecimal? = null

    @DataMember
    var amount:BigDecimal? = null

    @DataMember
    var startMeterReadingValue:BigDecimal? = null

    @DataMember
    var endMeterReadingValue:BigDecimal? = null

    @DataMember
    var heizwert:BigDecimal? = null

    @DataMember
    var brennwert:Boolean? = null

    @DataMember
    var energyReliefAmountDescription:String? = null

    @DataMember
    var energyReliefAmount:BigDecimal? = null

    @DataMember
    var electricityReliefAmountDescription:String? = null

    @DataMember
    var electricityReliefAmount:BigDecimal? = null

    @DataMember
    var cO2EmissionsFactor:BigDecimal? = null

    @DataMember
    var cO2Text:String? = null

    @DataMember
    var cO2Active:Boolean? = null

    @DataMember
    var cO2PriceKnd:Boolean? = null

    @DataMember
    var cO2PriceLandlord:BigDecimal? = null

    @DataMember
    var cO2PriceRenter:BigDecimal? = null

    @DataMember
    var cO2Area:BigDecimal? = null

    @DataMember
    var isForCommercialUse:Boolean? = null

    @DataMember
    var isRenovationRequired:Boolean? = null

    @DataMember
    var isHeatingPadsImproved:Boolean? = null

    @DataMember
    var cO2KWh:BigDecimal? = null

    @DataMember
    var includedCO2SalesTax:BigDecimal? = null

    @DataMember
    var cO2Costs:BigDecimal? = null

    @DataMember
    var totalC02Weight:BigDecimal? = null

    @DataMember
    var noTotalDeductionC02Costs:Boolean? = null

    @DataMember
    var isDeleted:Boolean? = null

    @DataMember
    var isCreatedByApp:Boolean? = null

    @DataMember
    var brennstoffMediumGuid:UUID? = null

    @DataMember
    var billingInformation:BillingInformation? = null
}

@DataContract
open class Nebenkosten
{
    @DataMember
    var guid:UUID? = null

    @DataMember
    var number:Long? = null

    @DataMember
    var from:Date? = null

    @DataMember
    var to:Date? = null

    @DataMember
    var targetAllocation:NebenkostenTargetAllocation? = null

    @DataMember
    var targetAllocationIn:NebenkostenTargetAllocationIn? = null

    @DataMember
    var nebenkostenKind:String? = null

    /**
    * Freitext
    */
    @DataMember
    @ApiMember(Description="Freitext")
    var kostenart:String? = null

    @DataMember
    var brutto:BigDecimal? = null

    @DataMember
    var bruttoLastYear:BigDecimal? = null

    @DataMember
    var salesTax:BigDecimal? = null

    @DataMember
    var haushaltsnahediensteLabel:String? = null

    @DataMember
    var haushaltsnahediensteBrutto:BigDecimal? = null

    /**
    * Freitext
    */
    @DataMember
    @ApiMember(Description="Freitext")
    var kostenartUnit:String? = null

    @DataMember
    var reduzierungsartType:String? = null

    @DataMember
    var comment:String? = null

    @DataMember
    var isDeleted:Boolean? = null

    @DataMember
    var isCreatedByApp:Boolean? = null

    @DataMember
    var nebenkostenNutzeinheiten:ArrayList<NebenkostenNutzeinheit> = ArrayList<NebenkostenNutzeinheit>()

    @DataMember
    var nebenkostenNutzer:ArrayList<NebenkostenNutzer> = ArrayList<NebenkostenNutzer>()

    @DataMember
    var billingInformation:BillingInformation? = null
}

enum class NebenkostenTargetAllocation
{
    Null,
    AlleNutzer,
    ZugeordneteNutzer,
    ZugeordneteNutzeinheiten,
    ZugeordneteNutzerDiff,
    ZugeordneteNutzeinheitenDiff,
}

enum class NebenkostenTargetAllocationIn
{
    Nebenkosten,
    Heizkosten,
    Warmwasserkosten,
}

@DataContract
open class NebenkostenNutzeinheit
{
    @DataMember
    var relativeAmount:BigDecimal? = null

    @DataMember
    var isDeleted:Boolean? = null

    @DataMember
    var isCreatedByApp:Boolean? = null

    @DataMember
    var nutzeinheitGuid:UUID? = null
}

@DataContract
open class NebenkostenNutzer
{
    @DataMember
    var relativeAmount:BigDecimal? = null

    @DataMember
    var isDeleted:Boolean? = null

    @DataMember
    var isCreatedByApp:Boolean? = null

    @DataMember
    var nutzerGuid:UUID? = null
}

@DataContract
open class Heizbetriebskosten
{
    @DataMember
    var guid:UUID? = null

    @DataMember
    var from:Date? = null

    @DataMember
    var to:Date? = null

    @DataMember
    var salesTax:BigDecimal? = null

    @DataMember
    var haushatlsnahediensteBrutto:BigDecimal? = null

    @DataMember
    var brutto:BigDecimal? = null

    @DataMember
    var haushatlsnahediensteLabel:String? = null

    @DataMember
    var description:String? = null

    @DataMember
    var isDeleted:Boolean? = null

    @DataMember
    var isCreatedByApp:Boolean? = null
}

@DataContract
open class NutzeinheitDevice
{
    @DataMember(Name="Guid")
    @SerializedName("Guid")
    var guid:String? = null

    @DataMember(Name="ZuordnungVon")
    @SerializedName("ZuordnungVon")
    var assignedFromDate:Date? = null

    @DataMember(Name="ZuordnungBis")
    @SerializedName("ZuordnungBis")
    var assignedToDate:Date? = null

    @DataMember(Name="Raum")
    @SerializedName("Raum")
    var room:String? = null

    @DataMember(Name="LaufendeNummer")
    @SerializedName("LaufendeNummer")
    var ongoingNumber:String? = null

    @DataMember(Name="gemietet")
    @SerializedName("gemietet")
    var isRented:Boolean? = null

    @DataMember(Name="gewartet")
    @SerializedName("gewartet")
    var isMaintained:Boolean? = null

    @DataMember(Name="DeviceGuid")
    @SerializedName("DeviceGuid")
    var deviceGuid:String? = null

    @DataMember(Name="NutzeinheitGuid")
    @SerializedName("NutzeinheitGuid")
    var nutzeinheitGuid:String? = null
}

@DataContract
open class Device
{
    @DataMember(Name="Guid")
    @SerializedName("Guid")
    var guid:String? = null

    @DataMember(Name="Geraetenummer")
    @SerializedName("Geraetenummer")
    var number:String? = null

    @DataMember(Name="Bezeichnung")
    @SerializedName("Bezeichnung")
    var label:String? = null

    @DataMember(Name="Beschreibung")
    @SerializedName("Beschreibung")
    var description:String? = null

    @DataMember(Name="Einbaudatum")
    @SerializedName("Einbaudatum")
    var installationDate:Date? = null

    @DataMember(Name="Ausbaudatum")
    @SerializedName("Ausbaudatum")
    var deinstallationDate:Date? = null

    @DataMember(Name="Eichdatum")
    @SerializedName("Eichdatum")
    var calibrationDate:Date? = null

    @DataMember(Name="Einheit")
    @SerializedName("Einheit")
    var unit:String? = null

    @DataMember(Name="Memo")
    @SerializedName("Memo")
    var note:String? = null

    @DataMember(Name="DeviceCatalogGuid")
    @SerializedName("DeviceCatalogGuid")
    var deviceCatalogGuid:String? = null
}

@DataContract
open class DeviceConsumption
{
    @DataMember
    var guid:UUID? = null

    @DataMember
    var deviceReading:Double? = null

    @DataMember
    var deviceReadingDate:Date? = null

    @DataMember
    var deviceReadingKind:DeviceReadingKind? = null

    @DataMember
    var changeDate:Date? = null

    @DataMember
    var note:String? = null

    @DataMember
    var ampouleColour:String? = null

    @DataMember
    var deviceGuid:String? = null
}

enum class DeviceReadingKind
{
    Za,
    Ha,
    Mo,
    Eb,
    Ab,
}

@DataContract
open class BillingInformation
{
    @DataMember(Name="Guid")
    @SerializedName("Guid")
    var guid:String? = null

    @DataMember(Name="Von")
    @SerializedName("Von")
    var from:Date? = null

    @DataMember(Name="Bis")
    @SerializedName("Bis")
    var to:Date? = null

    @DataMember(Name="IstAbgeschlossen")
    @SerializedName("IstAbgeschlossen")
    var isCompleted:Boolean? = null

    @DataMember(Name="HatNebenkosten")
    @SerializedName("HatNebenkosten")
    var hasNebenkosten:Boolean? = null

    @DataMember(Name="ObjektGuid")
    @SerializedName("ObjektGuid")
    var objektGuid:String? = null

    @DataMember(Name="AnmerkungKundenportal")
    @SerializedName("AnmerkungKundenportal")
    var anmerkungKundenportal:String? = null

    @DataMember(Name="KundenportalMarkedDone")
    @SerializedName("KundenportalMarkedDone")
    var kundenportalMarkedDone:Boolean? = null

    @DataMember(Name="MarkedDoneAt")
    @SerializedName("MarkedDoneAt")
    var markedDoneAt:Date? = null

    @DataMember(Name="KundenportalMarkedClosed")
    @SerializedName("KundenportalMarkedClosed")
    var kundenportalMarkedClosed:Boolean? = null

    @DataMember(Name="MarkedClosedAt")
    @SerializedName("MarkedClosedAt")
    var markedClosedAt:Date? = null
}

open class UpdateCustomerResponse
{
    var responseStatus:ResponseStatus? = null
}

Kotlin UpdateCustomer DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

PUT /Customers HTTP/1.1 
Host: messtecc-servdesk.eras-online.de 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"Kunde":{"Guid":"String","Name1":"String","Name2":"String","Name3":"String","Kundennummer":"String","Anrede":"String","KundenAdressen":[{"AdresseGuid":"String","IstPrimaer":false,"AdressTypBezeichnung":"String","AdressTyp":"String"}],"KundenObjekte":[{"Guid":"String","ZeitraumVon":"0001-01-01T00:00:00.0000000Z","ZeitraumBis":"0001-01-01T00:00:00.0000000Z","IstKunde":false,"IstEigentümer":false,"IstEigentümerPseudo":false,"ObjektGuid":"String","KundeGuid":"String"}]},"Objekte":[{"Guid":"String","Objektnummer":"String","IstAbgeschlossen":"String","Uvi":"String","IsUviDisabled":"String","AbgeschlossenDatum":"0001-01-01T00:00:00.0000000Z","AdressGuid":"String","AnmerkungKundenportal":"String","KundenportalMarkedDone":false,"MarkedDoneAt":"0001-01-01T00:00:00.0000000Z"}],"Adressen":[{"Guid":"String","Straße":"String","Straße2":"String","Hausnummer":"String","Postleitzahl":"String","Ort":"String","Postfach":"String","Adresszusatz":"String"}],"Nutzer":[{"Guid":"String","Name1":"String","Name2":"String","Name3":"String","Name4":"String","NutzerType":"String","NutzeinheitNummerExtern":"String","NutzerInNutzeinheitReihenfolge":0,"ZeitraumVon":"0001-01-01T00:00:00.0000000Z","ZeitraumBis":"0001-01-01T00:00:00.0000000Z","IstGeloescht":false,"IstErzeugtVonApp":false,"Uvi":"String","EigentuemerBewohnt":"String","Email":"String","Mobil":"String","Titel":"String","Anrede":"String","NutzeinheitGuid":"String"}],"NutzerCoOwnership":[{"Guid":"String","ShareValue":0,"Von":"0001-01-01T00:00:00.0000000Z","Bis":"0001-01-01T00:00:00.0000000Z","NutzerGuid":"String","IsCreatedByApp":false,"IsDeleted":false}],"NutzerPersonen":[{"Guid":"String","Personen":0,"Von":"0001-01-01T00:00:00.0000000Z","Bis":"0001-01-01T00:00:00.0000000Z","NutzerGuid":"String","IsCreatedByApp":false,"IsDeleted":false}],"NutzerQuadratmeter":[{"Guid":"String","Quadratmeter_Hzg":0,"Quadratmeter_Ww":0,"Quadratmeter_Nk":0,"Von":"0001-01-01T00:00:00.0000000Z","Bis":"0001-01-01T00:00:00.0000000Z","NutzerGuid":"String","IsCreatedByApp":false,"IsDeleted":false}],"EigentuemerNutzeinheit":[{"Guid":"String","Name1":"String","Name2":"String","Name3":"String","Name4":"String","ZeitraumVon":"0001-01-01T00:00:00.0000000Z","ZeitraumBis":"0001-01-01T00:00:00.0000000Z","Titel":"String","Anrede":"String","AdressGuid":"String","NutzeinheitGuid":"String"}],"Nutzeinheiten":[{"Guid":"String","Nummer":"String","Lage":"String","ObjektGuid":"String","AdressGuid":"String"}],"Direktkosten":[{"Guid":"String","Bezeichnung":"String","Datum":"0001-01-01T00:00:00.0000000Z","Brutto":0,"Mwst":0,"Menge":0,"Typ":"String","IstGeloescht":false,"IstErzeugtVonApp":false,"ObjektGuid":"String","NutzerGuid":"String","BillingInformationGuid":"String"}],"Prepayments":[{"Guid":"String","Von":"0001-01-01T00:00:00.0000000Z","Bis":"0001-01-01T00:00:00.0000000Z","VZ Nebenkosten":0,"VZ Heizkosten":0,"VZ Warmwasser":0,"IstGeloescht":false,"IstErzeugtVonApp":false,"ObjektGuid":"String","NutzerGuid":"String","BillingInformationGuid":"String"}],"EnergieVerwerter":[{"Guid":"String","Bezeichnung":"String","Wirkungsgrad":0,"Einbau":"0001-01-01T00:00:00.0000000Z","Ausbau":"0001-01-01T00:00:00.0000000Z","Baujahr":0,"Temperatur":0,"EigenstGewerbLieferung":false,"Brennwert":false,"ObjektGuid":"String","BrennstoffMediumGuid":"String"}],"Brennstofflieferungen":[{"Guid":"String","Lieferdatum":"0001-01-01T00:00:00.0000000Z","Mwst":0,"Emissionsangabe":0,"Steuern":0,"Zolle":0,"SonstigeAngaben":0,"C02Preis":0,"C02Tonnen":0,"Menge":0,"Betrag":0,"Anfangsstand":0,"Endstand":0,"Heizwert":0,"Brennwert":false,"IstGeloescht":false,"IstErzeugtVonApp":false,"EnergieEntlastungsbetragBezeichnung":"String","EnergieEntlastungsbetrag":0,"StromEntlastungsbetragBezeichnung":"String","StromEntlastungsbetrag":0,"CO2Emissionsfaktor":0,"CO2Text":"String","CO2Aktiv":false,"CO2PreisKnd":false,"CO2PreisVermieter":0,"CO2PreisMieter":0,"CO2Flaeche":0,"GewerblicheNutzung":false,"Sanierungsauflagen":false,"AuflagenHeizungsverbesserung":false,"CO2KWH":0,"EnthalteneMwst":0,"CO2KostenBrutto":0,"CO2GesamtKg":0,"KeinGesamtabzugC02Kosten":false,"EnergieVerwerterGuid":"String","BrennstoffMediumGuid":"String","BillingInformationGuid":"String"}],"Nebenkosten":[{"Guid":"String","Kostennummer":0,"Von":"0001-01-01T00:00:00.0000000Z","Bis":"0001-01-01T00:00:00.0000000Z","UmlageZiel":"String","UmlageZielIn":"String","NebenkostenArt":"String","Kostenart":"String","Brutto":0,"BruttoLetztesJahr":0,"Mwst":0,"HaushaltsnahediensteLabel":"String","HaushaltsnahediensteBrutto":0,"EinheitDerKostenart":"String","Reduzierungsart":"String","Kommentar":"String","IstGeloescht":false,"IstErzeugtVonApp":false,"ObjektGuid":"String","BillingInformationGuid":"String","NebenkostenNutzeinheiten":[{"Anteil":0,"IstGeloescht":false,"IstErzeugtVonApp":false,"NutzeinheitGuid":"String"}],"NebenkostenNutzer":[{"Anteil":0,"IstGeloescht":false,"IstErzeugtVonApp":false,"NutzerGuid":"String"}]}],"Heizbetriebskosten":[{"Guid":"String","Von":"0001-01-01T00:00:00.0000000Z","Bis":"0001-01-01T00:00:00.0000000Z","Mwst":0,"HaushatlsnahediensteBrutto":0,"Brutto":0,"HaushatlsnahediensteLabel":"String","Anmerkung":"String","IstGeloescht":false,"IstErzeugtVonApp":false,"ObjektGuid":"String","BillingInformationGuid":"String"}],"NutzeinheitGeraete":[{"Guid":"String","ZuordnungVon":"0001-01-01T00:00:00.0000000Z","ZuordnungBis":"0001-01-01T00:00:00.0000000Z","Raum":"String","LaufendeNummer":"String","gemietet":false,"gewartet":false,"DeviceGuid":"String","NutzeinheitGuid":"String"}],"Geraete":[{"Guid":"String","Geraetenummer":"String","Bezeichnung":"String","Beschreibung":"String","Einbaudatum":"0001-01-01T00:00:00.0000000Z","Ausbaudatum":"0001-01-01T00:00:00.0000000Z","Eichdatum":"0001-01-01T00:00:00.0000000Z","Einheit":"String","Memo":"String","DeviceCatalogGuid":"String"}],"Geraeteverbraeuche":[{"Guid":"String","Ablesung":0,"Ablesedatum":"0001-01-01T00:00:00.0000000Z","Ableseart":"String","Aenderungsdatum":"0001-01-01T00:00:00.0000000Z","Anmerkung":"String","Ampullenfarbe":"String","DeviceGuid":"String"}],"BillingInformations":[{"Guid":"String","Von":"0001-01-01T00:00:00.0000000Z","Bis":"0001-01-01T00:00:00.0000000Z","IstAbgeschlossen":false,"HatNebenkosten":false,"ObjektGuid":"String","AnmerkungKundenportal":"String","KundenportalMarkedDone":false,"MarkedDoneAt":"0001-01-01T00:00:00.0000000Z","KundenportalMarkedClosed":false,"MarkedClosedAt":"0001-01-01T00:00:00.0000000Z"}],"DeleteUvi":false,"KundenObjekteImObjektSync":false}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}