Server

<back to all web services

UpdateCustomer

Requires Authentication
The following routes are available for this service:
PUT/Customers
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Customers;
using Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models;
using Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Models;
using Eras2Web.Service.Desktop.Server.ServiceModel.Enums;

namespace Eras2Web.Service.Desktop.Server.ServiceModel.Enums
{
    public enum DeviceReadingKind
    {
        ZA,
        HA,
        MO,
        EB,
        AB,
    }

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

    public enum NebenkostenTargetAllocationIn
    {
        Nebenkosten,
        Heizkosten,
        Warmwasserkosten,
    }

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

}

namespace Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Customers
{
    [DataContract]
    public partial class UpdateCustomer
    {
        public UpdateCustomer()
        {
            Objekte = new List<Objekt>{};
            Addresses = new List<Address>{};
            Nutzer = new List<Nutzer>{};
            NutzerCoOwnership = new List<NutzerCoOwnership>{};
            NutzerPersonen = new List<NutzerPersonen>{};
            NutzerQuadratmeter = new List<NutzerQuadratmeter>{};
            OwnerNutzeinheiten = new List<OwnerNutzeinheit>{};
            Nutzeinheiten = new List<Nutzeinheit>{};
            Direktkosten = new List<Direktkosten>{};
            Prepayments = new List<Prepayment>{};
            EnergieVerwerter = new List<EnergieVerwerter>{};
            Brennstofflieferungen = new List<Brennstofflieferung>{};
            Nebenkosten = new List<Nebenkosten>{};
            Heizbetriebskosten = new List<Heizbetriebskosten>{};
            NutzeinheitDevices = new List<NutzeinheitDevice>{};
            Devices = new List<Device>{};
            DeviceConsumptions = new List<DeviceConsumption>{};
            BillingInformations = new List<BillingInformation>{};
        }

        [DataMember(Name="Kunde")]
        public virtual Customer Customer { get; set; }

        [DataMember(Name="Objekte")]
        public virtual List<Objekt> Objekte { get; set; }

        [DataMember(Name="Adressen")]
        public virtual List<Address> Addresses { get; set; }

        [DataMember(Name="Nutzer")]
        public virtual List<Nutzer> Nutzer { get; set; }

        [DataMember(Name="NutzerCoOwnership")]
        public virtual List<NutzerCoOwnership> NutzerCoOwnership { get; set; }

        [DataMember(Name="NutzerPersonen")]
        public virtual List<NutzerPersonen> NutzerPersonen { get; set; }

        [DataMember(Name="NutzerQuadratmeter")]
        public virtual List<NutzerQuadratmeter> NutzerQuadratmeter { get; set; }

        [DataMember(Name="EigentuemerNutzeinheit")]
        public virtual List<OwnerNutzeinheit> OwnerNutzeinheiten { get; set; }

        [DataMember(Name="Nutzeinheiten")]
        public virtual List<Nutzeinheit> Nutzeinheiten { get; set; }

        [DataMember(Name="Direktkosten")]
        public virtual List<Direktkosten> Direktkosten { get; set; }

        [DataMember(Name="Prepayments")]
        public virtual List<Prepayment> Prepayments { get; set; }

        [DataMember(Name="EnergieVerwerter")]
        public virtual List<EnergieVerwerter> EnergieVerwerter { get; set; }

        [DataMember(Name="Brennstofflieferungen")]
        public virtual List<Brennstofflieferung> Brennstofflieferungen { get; set; }

        [DataMember(Name="Nebenkosten")]
        public virtual List<Nebenkosten> Nebenkosten { get; set; }

        [DataMember(Name="Heizbetriebskosten")]
        public virtual List<Heizbetriebskosten> Heizbetriebskosten { get; set; }

        [DataMember(Name="NutzeinheitGeraete")]
        public virtual List<NutzeinheitDevice> NutzeinheitDevices { get; set; }

        [DataMember(Name="Geraete")]
        public virtual List<Device> Devices { get; set; }

        [DataMember(Name="Geraeteverbraeuche")]
        public virtual List<DeviceConsumption> DeviceConsumptions { get; set; }

        [DataMember(Name="BillingInformations")]
        public virtual List<BillingInformation> BillingInformations { get; set; }

        [DataMember(Name="DeleteUvi")]
        public virtual bool DeleteUVI { get; set; }

        [DataMember(Name="KundenObjekteImObjektSync")]
        public virtual bool KundenObjekteImObjektSync { get; set; }
    }

    public partial class UpdateCustomerResponse
    {
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

}

namespace Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models
{
    [DataContract]
    public partial class Address
    {
        [DataMember(Name="Guid")]
        public virtual string Guid { get; set; }

        [DataMember(Name="Straße")]
        public virtual string Street { get; set; }

        [DataMember(Name="Straße2")]
        public virtual string Street2 { get; set; }

        [DataMember(Name="Hausnummer")]
        public virtual string StreetNumber { get; set; }

        [DataMember(Name="Postleitzahl")]
        public virtual string Zipcode { get; set; }

        [DataMember(Name="Ort")]
        public virtual string City { get; set; }

        [DataMember(Name="Postfach")]
        public virtual string Mailbox { get; set; }

        [DataMember(Name="Adresszusatz")]
        public virtual string Additional { get; set; }
    }

    [DataContract]
    public partial class BillingInformation
    {
        [DataMember(Name="Guid")]
        public virtual string Guid { get; set; }

        [DataMember(Name="Von")]
        public virtual DateTime From { get; set; }

        [DataMember(Name="Bis")]
        public virtual DateTime To { get; set; }

        [DataMember(Name="IstAbgeschlossen")]
        public virtual bool IsCompleted { get; set; }

        [DataMember(Name="HatNebenkosten")]
        public virtual bool HasNebenkosten { get; set; }

        [DataMember(Name="ObjektGuid")]
        public virtual string ObjektGuid { get; set; }

        [DataMember(Name="AnmerkungKundenportal")]
        public virtual string AnmerkungKundenportal { get; set; }

        [DataMember(Name="KundenportalMarkedDone")]
        public virtual bool KundenportalMarkedDone { get; set; }

        [DataMember(Name="MarkedDoneAt")]
        public virtual DateTime? MarkedDoneAt { get; set; }

        [DataMember(Name="KundenportalMarkedClosed")]
        public virtual bool KundenportalMarkedClosed { get; set; }

        [DataMember(Name="MarkedClosedAt")]
        public virtual DateTime? MarkedClosedAt { get; set; }
    }

    [DataContract]
    public partial class Customer
    {
        public Customer()
        {
            CustomerAddresses = new List<CustomerAddress>{};
            CustomerObjekte = new List<CustomerObjekt>{};
        }

        [DataMember(Name="Guid")]
        public virtual string Guid { get; set; }

        [DataMember(Name="Name1")]
        public virtual string Name1 { get; set; }

        [DataMember(Name="Name2")]
        public virtual string Name2 { get; set; }

        [DataMember(Name="Name3")]
        public virtual string Name3 { get; set; }

        [DataMember(Name="Kundennummer")]
        public virtual string Number { get; set; }

        [DataMember(Name="Anrede")]
        public virtual string Salutation { get; set; }

        [DataMember(Name="KundenAdressen")]
        public virtual List<CustomerAddress> CustomerAddresses { get; set; }

        [DataMember(Name="KundenObjekte")]
        public virtual List<CustomerObjekt> CustomerObjekte { get; set; }
    }

    [DataContract]
    public partial class CustomerAddress
    {
        [DataMember(Name="AdresseGuid")]
        public virtual string AddressGuid { get; set; }

        [DataMember(Name="IstPrimaer")]
        public virtual bool IsPrimary { get; set; }

        [DataMember(Name="AdressTypBezeichnung")]
        public virtual string AddressKindLabel { get; set; }

        [DataMember(Name="AdressTyp")]
        public virtual string AddressKindTyp { get; set; }
    }

    [DataContract]
    public partial class CustomerObjekt
    {
        [DataMember(Name="Guid")]
        public virtual string Guid { get; set; }

        [DataMember(Name="ZeitraumVon")]
        public virtual DateTime RangeFrom { get; set; }

        [DataMember(Name="ZeitraumBis")]
        public virtual DateTime? RangeTo { get; set; }

        [DataMember(Name="IstKunde")]
        public virtual bool IsCustomer { get; set; }

        [DataMember(Name="IstEigentümer")]
        public virtual bool IsOwner { get; set; }

        [DataMember(Name="IstEigentümerPseudo")]
        public virtual bool IsOwnerPseudo { get; set; }

        [DataMember(Name="ObjektGuid")]
        public virtual string ObjektGuid { get; set; }

        [DataMember(Name="KundeGuid")]
        public virtual string CustomerGuid { get; set; }
    }

    [DataContract]
    public partial class Device
    {
        [DataMember(Name="Guid")]
        public virtual string Guid { get; set; }

        [DataMember(Name="Geraetenummer")]
        public virtual string Number { get; set; }

        [DataMember(Name="Bezeichnung")]
        public virtual string Label { get; set; }

        [DataMember(Name="Beschreibung")]
        public virtual string Description { get; set; }

        [DataMember(Name="Einbaudatum")]
        public virtual DateTime InstallationDate { get; set; }

        [DataMember(Name="Ausbaudatum")]
        public virtual DateTime? DeinstallationDate { get; set; }

        [DataMember(Name="Eichdatum")]
        public virtual DateTime? CalibrationDate { get; set; }

        [DataMember(Name="Einheit")]
        public virtual string Unit { get; set; }

        [DataMember(Name="Memo")]
        public virtual string Note { get; set; }

        [DataMember(Name="DeviceCatalogGuid")]
        public virtual string DeviceCatalogGuid { get; set; }
    }

    [DataContract]
    public partial class EnergieVerwerter
    {
        [DataMember(Name="Guid")]
        public virtual string Guid { get; set; }

        [DataMember(Name="Bezeichnung")]
        public virtual string Label { get; set; }

        [DataMember(Name="Wirkungsgrad")]
        public virtual decimal? EfficiencyFactor { get; set; }

        [DataMember(Name="Einbau")]
        public virtual DateTime AssemblyDate { get; set; }

        [DataMember(Name="Ausbau")]
        public virtual DateTime? DisassemblyDate { get; set; }

        [DataMember(Name="Baujahr")]
        public virtual uint? BuildYear { get; set; }

        [DataMember(Name="Temperatur")]
        public virtual uint? Temperature { get; set; }

        [DataMember(Name="EigenstGewerbLieferung")]
        public virtual bool CommercialSupply { get; set; }

        [DataMember(Name="Brennwert")]
        public virtual bool Brennwert { get; set; }

        [DataMember(Name="ObjektGuid")]
        public virtual string ObjektGuid { get; set; }

        [DataMember(Name="BrennstoffMediumGuid")]
        public virtual string BrennstoffMediumGuid { get; set; }
    }

    [DataContract]
    public partial class Nutzeinheit
    {
        [DataMember(Name="Guid")]
        public virtual string Guid { get; set; }

        [DataMember(Name="Nummer")]
        public virtual string Number { get; set; }

        [DataMember(Name="Lage")]
        public virtual string Location { get; set; }

        [DataMember(Name="ObjektGuid")]
        public virtual string ObjektGuid { get; set; }

        [DataMember(Name="AdressGuid")]
        public virtual string AddressGuid { get; set; }
    }

    [DataContract]
    public partial class NutzeinheitDevice
    {
        [DataMember(Name="Guid")]
        public virtual string Guid { get; set; }

        [DataMember(Name="ZuordnungVon")]
        public virtual DateTime AssignedFromDate { get; set; }

        [DataMember(Name="ZuordnungBis")]
        public virtual DateTime? AssignedToDate { get; set; }

        [DataMember(Name="Raum")]
        public virtual string Room { get; set; }

        [DataMember(Name="LaufendeNummer")]
        public virtual string OngoingNumber { get; set; }

        [DataMember(Name="gemietet")]
        public virtual bool IsRented { get; set; }

        [DataMember(Name="gewartet")]
        public virtual bool IsMaintained { get; set; }

        [DataMember(Name="DeviceGuid")]
        public virtual string DeviceGuid { get; set; }

        [DataMember(Name="NutzeinheitGuid")]
        public virtual string NutzeinheitGuid { get; set; }
    }

    [DataContract]
    public partial class NutzerCoOwnership
    {
        [DataMember(Name="Guid")]
        public virtual string Guid { get; set; }

        [DataMember(Name="ShareValue")]
        public virtual decimal? ShareValue { get; set; }

        [DataMember(Name="Von")]
        public virtual DateTime RangeFrom { get; set; }

        [DataMember(Name="Bis")]
        public virtual DateTime? RangeTo { get; set; }

        [DataMember(Name="NutzerGuid")]
        public virtual string NutzerGuid { get; set; }

        [DataMember(Name="IsCreatedByApp")]
        public virtual bool IsCreatedByApp { get; set; }

        [DataMember(Name="IsDeleted")]
        public virtual bool IsDeleted { get; set; }
    }

    [DataContract]
    public partial class NutzerPersonen
    {
        [DataMember(Name="Guid")]
        public virtual string Guid { get; set; }

        [DataMember(Name="Personen")]
        public virtual int? NumberOfPeople { get; set; }

        [DataMember(Name="Von")]
        public virtual DateTime RangeFrom { get; set; }

        [DataMember(Name="Bis")]
        public virtual DateTime? RangeTo { get; set; }

        [DataMember(Name="NutzerGuid")]
        public virtual string NutzerGuid { get; set; }

        [DataMember(Name="IsCreatedByApp")]
        public virtual bool IsCreatedByApp { get; set; }

        [DataMember(Name="IsDeleted")]
        public virtual bool IsDeleted { get; set; }
    }

    [DataContract]
    public partial class NutzerQuadratmeter
    {
        [DataMember(Name="Guid")]
        public virtual string Guid { get; set; }

        [DataMember(Name="Quadratmeter_Hzg")]
        public virtual decimal? SquareMeters_Hzg { get; set; }

        [DataMember(Name="Quadratmeter_Ww")]
        public virtual decimal? SquareMeters_Ww { get; set; }

        [DataMember(Name="Quadratmeter_Nk")]
        public virtual decimal? SquareMeters_Nk { get; set; }

        [DataMember(Name="Von")]
        public virtual DateTime RangeFrom { get; set; }

        [DataMember(Name="Bis")]
        public virtual DateTime? RangeTo { get; set; }

        [DataMember(Name="NutzerGuid")]
        public virtual string NutzerGuid { get; set; }

        [DataMember(Name="IsCreatedByApp")]
        public virtual bool IsCreatedByApp { get; set; }

        [DataMember(Name="IsDeleted")]
        public virtual bool IsDeleted { get; set; }
    }

    [DataContract]
    public partial class Objekt
    {
        [DataMember(Name="Guid")]
        public virtual string Guid { get; set; }

        [DataMember(Name="Objektnummer")]
        public virtual string Number { get; set; }

        [DataMember(Name="IstAbgeschlossen")]
        public virtual string IsCompleted { get; set; }

        [DataMember(Name="Uvi")]
        public virtual string Uvi { get; set; }

        [DataMember(Name="IsUviDisabled")]
        public virtual string IsUviDisabled { get; set; }

        [DataMember(Name="AbgeschlossenDatum")]
        public virtual DateTime? CompletedDate { get; set; }

        [DataMember(Name="AdressGuid")]
        public virtual string AddressGuid { get; set; }

        [DataMember(Name="AnmerkungKundenportal")]
        public virtual string AnmerkungKundenportal { get; set; }

        [DataMember(Name="KundenportalMarkedDone")]
        public virtual bool KundenportalMarkedDone { get; set; }

        [DataMember(Name="MarkedDoneAt")]
        public virtual DateTime? MarkedDoneAt { get; set; }
    }

    [DataContract]
    public partial class OwnerNutzeinheit
    {
        [DataMember(Name="Guid")]
        public virtual string Guid { get; set; }

        [DataMember(Name="Name1")]
        public virtual string Name1 { get; set; }

        [DataMember(Name="Name2")]
        public virtual string Name2 { get; set; }

        [DataMember(Name="Name3")]
        public virtual string Name3 { get; set; }

        [DataMember(Name="Name4")]
        public virtual string Name4 { get; set; }

        [DataMember(Name="ZeitraumVon")]
        public virtual DateTime RangeFrom { get; set; }

        [DataMember(Name="ZeitraumBis")]
        public virtual DateTime? RangeTo { get; set; }

        [DataMember(Name="Titel")]
        public virtual string Title { get; set; }

        [DataMember(Name="Anrede")]
        public virtual string Salutation { get; set; }

        [DataMember(Name="AdressGuid")]
        public virtual string AddressGuid { get; set; }

        [DataMember(Name="NutzeinheitGuid")]
        public virtual string NutzeinheitGuid { get; set; }
    }

    [DataContract]
    public partial class Prepayment
    {
        [DataMember(Name="Guid")]
        public virtual string Guid { get; set; }

        [DataMember(Name="Von")]
        public virtual DateTime From { get; set; }

        [DataMember(Name="Bis")]
        public virtual DateTime To { get; set; }

        [DataMember(Name="VZ Nebenkosten")]
        public virtual decimal? Amount_Nk { get; set; }

        [DataMember(Name="VZ Heizkosten")]
        public virtual decimal? Amount_HK { get; set; }

        [DataMember(Name="VZ Warmwasser")]
        public virtual decimal? Amount_Ww { get; set; }

        [DataMember(Name="IstGeloescht")]
        public virtual bool IsDeleted { get; set; }

        [DataMember(Name="IstErzeugtVonApp")]
        public virtual bool IsCreatedByApp { get; set; }

        [DataMember(Name="ObjektGuid")]
        public virtual string ObjektGuid { get; set; }

        [DataMember(Name="NutzerGuid")]
        public virtual string NutzerGuid { get; set; }

        [DataMember(Name="BillingInformationGuid")]
        public virtual string BillingInformationGuid { get; set; }
    }

}

namespace Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Models
{
    [DataContract]
    public partial class BillingInformation
    {
        [DataMember]
        public virtual string Guid { get; set; }

        [DataMember]
        public virtual DateTime From { get; set; }

        [DataMember]
        public virtual DateTime To { get; set; }

        [DataMember]
        public virtual bool IsCompleted { get; set; }

        [DataMember]
        public virtual bool HasNebenkosten { get; set; }
    }

    [DataContract]
    public partial class Brennstofflieferung
    {
        [DataMember]
        public virtual Guid Guid { get; set; }

        [DataMember]
        public virtual DateTime DeliveryDate { get; set; }

        [DataMember]
        public virtual decimal? SalexTax { get; set; }

        [DataMember]
        public virtual decimal? EmisionsTax { get; set; }

        [DataMember]
        public virtual decimal? C02Taxes { get; set; }

        [DataMember]
        public virtual decimal? CustomsTax { get; set; }

        [DataMember]
        public virtual decimal? OtherCharges { get; set; }

        [DataMember]
        public virtual decimal? C02Price { get; set; }

        [DataMember]
        public virtual decimal? C02Tons { get; set; }

        [DataMember]
        public virtual decimal? Quantity { get; set; }

        [DataMember]
        public virtual decimal? Amount { get; set; }

        [DataMember]
        public virtual decimal? StartMeterReadingValue { get; set; }

        [DataMember]
        public virtual decimal? EndMeterReadingValue { get; set; }

        [DataMember]
        public virtual decimal Heizwert { get; set; }

        [DataMember]
        public virtual bool Brennwert { get; set; }

        [DataMember]
        public virtual string EnergyReliefAmountDescription { get; set; }

        [DataMember]
        public virtual decimal? EnergyReliefAmount { get; set; }

        [DataMember]
        public virtual string ElectricityReliefAmountDescription { get; set; }

        [DataMember]
        public virtual decimal? ElectricityReliefAmount { get; set; }

        [DataMember]
        public virtual decimal? CO2EmissionsFactor { get; set; }

        [DataMember]
        public virtual string CO2Text { get; set; }

        [DataMember]
        public virtual bool? CO2Active { get; set; }

        [DataMember]
        public virtual bool? CO2PriceKnd { get; set; }

        [DataMember]
        public virtual decimal? CO2PriceLandlord { get; set; }

        [DataMember]
        public virtual decimal? CO2PriceRenter { get; set; }

        [DataMember]
        public virtual decimal? CO2Area { get; set; }

        [DataMember]
        public virtual bool? IsForCommercialUse { get; set; }

        [DataMember]
        public virtual bool? IsRenovationRequired { get; set; }

        [DataMember]
        public virtual bool? IsHeatingPadsImproved { get; set; }

        [DataMember]
        public virtual decimal? CO2KWh { get; set; }

        [DataMember]
        public virtual decimal? IncludedCO2SalesTax { get; set; }

        [DataMember]
        public virtual decimal? CO2Costs { get; set; }

        [DataMember]
        public virtual decimal? TotalC02Weight { get; set; }

        [DataMember]
        public virtual bool? NoTotalDeductionC02Costs { get; set; }

        [DataMember]
        public virtual bool IsDeleted { get; set; }

        [DataMember]
        public virtual bool IsCreatedByApp { get; set; }

        [DataMember]
        public virtual Guid BrennstoffMediumGuid { get; set; }

        [DataMember]
        public virtual BillingInformation BillingInformation { get; set; }
    }

    [DataContract]
    public partial class DeviceConsumption
    {
        [DataMember]
        public virtual Guid Guid { get; set; }

        [DataMember]
        public virtual double? DeviceReading { get; set; }

        [DataMember]
        public virtual DateTime? DeviceReadingDate { get; set; }

        [DataMember]
        public virtual DeviceReadingKind DeviceReadingKind { get; set; }

        [DataMember]
        public virtual DateTime? ChangeDate { get; set; }

        [DataMember]
        public virtual string Note { get; set; }

        [DataMember]
        public virtual string AmpouleColour { get; set; }

        [DataMember]
        public virtual string DeviceGuid { get; set; }
    }

    [DataContract]
    public partial class Direktkosten
    {
        [DataMember]
        public virtual Guid Guid { get; set; }

        [DataMember]
        public virtual string Label { get; set; }

        [DataMember]
        public virtual DateTime Date { get; set; }

        [DataMember]
        public virtual decimal Brutto { get; set; }

        [DataMember]
        public virtual decimal SalesTax { get; set; }

        [DataMember]
        public virtual decimal Quantity { get; set; }

        [DataMember]
        public virtual string Type { get; set; }

        [DataMember]
        public virtual bool IsDeleted { get; set; }

        [DataMember]
        public virtual bool IsCreatedByApp { get; set; }

        [DataMember]
        public virtual Guid NutzerGuid { get; set; }

        [DataMember]
        public virtual BillingInformation BillingInformation { get; set; }
    }

    [DataContract]
    public partial class Heizbetriebskosten
    {
        [DataMember]
        public virtual Guid Guid { get; set; }

        [DataMember]
        public virtual DateTime From { get; set; }

        [DataMember]
        public virtual DateTime To { get; set; }

        [DataMember]
        public virtual decimal SalesTax { get; set; }

        [DataMember]
        public virtual decimal? HaushatlsnahediensteBrutto { get; set; }

        [DataMember]
        public virtual decimal? Brutto { get; set; }

        [DataMember]
        public virtual string HaushatlsnahediensteLabel { get; set; }

        [DataMember]
        public virtual string Description { get; set; }

        [DataMember]
        public virtual bool IsDeleted { get; set; }

        [DataMember]
        public virtual bool IsCreatedByApp { get; set; }
    }

    [DataContract]
    public partial class Nebenkosten
    {
        public Nebenkosten()
        {
            NebenkostenNutzeinheiten = new List<NebenkostenNutzeinheit>{};
            NebenkostenNutzer = new List<NebenkostenNutzer>{};
        }

        [DataMember]
        public virtual Guid Guid { get; set; }

        [DataMember]
        public virtual uint Number { get; set; }

        [DataMember]
        public virtual DateTime From { get; set; }

        [DataMember]
        public virtual DateTime To { get; set; }

        [DataMember]
        public virtual NebenkostenTargetAllocation? TargetAllocation { get; set; }

        [DataMember]
        public virtual NebenkostenTargetAllocationIn? TargetAllocationIn { get; set; }

        [DataMember]
        public virtual string NebenkostenKind { get; set; }

        ///<summary>
        ///Freitext
        ///</summary>
        [DataMember]
        [ApiMember(Description="Freitext")]
        public virtual string Kostenart { get; set; }

        [DataMember]
        public virtual decimal? Brutto { get; set; }

        [DataMember]
        public virtual decimal? BruttoLastYear { get; set; }

        [DataMember]
        public virtual decimal? SalesTax { get; set; }

        [DataMember]
        public virtual string HaushaltsnahediensteLabel { get; set; }

        [DataMember]
        public virtual decimal? HaushaltsnahediensteBrutto { get; set; }

        ///<summary>
        ///Freitext
        ///</summary>
        [DataMember]
        [ApiMember(Description="Freitext")]
        public virtual string KostenartUnit { get; set; }

        [DataMember]
        public virtual string ReduzierungsartType { get; set; }

        [DataMember]
        public virtual string Comment { get; set; }

        [DataMember]
        public virtual bool IsDeleted { get; set; }

        [DataMember]
        public virtual bool IsCreatedByApp { get; set; }

        [DataMember]
        public virtual List<NebenkostenNutzeinheit> NebenkostenNutzeinheiten { get; set; }

        [DataMember]
        public virtual List<NebenkostenNutzer> NebenkostenNutzer { get; set; }

        [DataMember]
        public virtual BillingInformation BillingInformation { get; set; }
    }

    [DataContract]
    public partial class NebenkostenNutzeinheit
    {
        [DataMember]
        public virtual decimal? RelativeAmount { get; set; }

        [DataMember]
        public virtual bool IsDeleted { get; set; }

        [DataMember]
        public virtual bool IsCreatedByApp { get; set; }

        [DataMember]
        public virtual Guid NutzeinheitGuid { get; set; }
    }

    [DataContract]
    public partial class NebenkostenNutzer
    {
        [DataMember]
        public virtual decimal? RelativeAmount { get; set; }

        [DataMember]
        public virtual bool IsDeleted { get; set; }

        [DataMember]
        public virtual bool IsCreatedByApp { get; set; }

        [DataMember]
        public virtual Guid NutzerGuid { get; set; }
    }

    [DataContract]
    public partial class Nutzer
    {
        [DataMember]
        public virtual Guid Guid { get; set; }

        [DataMember]
        public virtual string Name1 { get; set; }

        [DataMember]
        public virtual string Name2 { get; set; }

        [DataMember]
        public virtual string Name3 { get; set; }

        [DataMember]
        public virtual string Name4 { get; set; }

        [DataMember]
        [ApiMember(IsRequired=true)]
        public virtual NutzerType? NutzerType { get; set; }

        [DataMember]
        public virtual string NutzeinheitNumberExternal { get; set; }

        [DataMember]
        [ApiMember(IsRequired=true)]
        public virtual uint NutzerInNutzeinheitSequence { get; set; }

        [DataMember]
        [ApiMember(IsRequired=true)]
        public virtual DateTime RangeFrom { get; set; }

        [DataMember]
        public virtual DateTime? RangeTo { get; set; }

        [DataMember]
        public virtual bool IsDeleted { get; set; }

        [DataMember]
        public virtual bool IsCreatedByApp { get; set; }

        [DataMember(Name="IstUvi")]
        public virtual string IsUviRecieved { get; set; }

        [DataMember(Name="EigentuemerBewohnt")]
        public virtual string IsNutzerOwner { get; set; }

        [DataMember(Name="Email")]
        public virtual string Email { get; set; }

        [DataMember(Name="Mobil")]
        public virtual string MobilePhone { get; set; }

        [DataMember]
        public virtual string Title { get; set; }

        [DataMember]
        [ApiMember(IsRequired=true, ParameterType="body")]
        public virtual string Salutation { get; set; }
    }

}

C# UpdateCustomer DTOs

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

HTTP + JSV

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/jsv
Content-Type: text/jsv
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:00Z,
				ZeitraumBis: 0001-01-01T00:00:00Z,
				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:00Z,
			AdressGuid: String,
			AnmerkungKundenportal: String,
			KundenportalMarkedDone: False,
			MarkedDoneAt: 0001-01-01T00:00:00Z
		}
	],
	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:00Z,
			ZeitraumBis: 0001-01-01T00:00:00Z,
			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:00Z,
			Bis: 0001-01-01T00:00:00Z,
			NutzerGuid: String,
			IsCreatedByApp: False,
			IsDeleted: False
		}
	],
	NutzerPersonen: 
	[
		{
			Guid: String,
			Personen: 0,
			Von: 0001-01-01T00:00:00Z,
			Bis: 0001-01-01T00:00:00Z,
			NutzerGuid: String,
			IsCreatedByApp: False,
			IsDeleted: False
		}
	],
	NutzerQuadratmeter: 
	[
		{
			Guid: String,
			Quadratmeter_Hzg: 0,
			Quadratmeter_Ww: 0,
			Quadratmeter_Nk: 0,
			Von: 0001-01-01T00:00:00Z,
			Bis: 0001-01-01T00:00:00Z,
			NutzerGuid: String,
			IsCreatedByApp: False,
			IsDeleted: False
		}
	],
	EigentuemerNutzeinheit: 
	[
		{
			Guid: String,
			Name1: String,
			Name2: String,
			Name3: String,
			Name4: String,
			ZeitraumVon: 0001-01-01T00:00:00Z,
			ZeitraumBis: 0001-01-01T00:00:00Z,
			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:00Z,
			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:00Z,
			Bis: 0001-01-01T00:00:00Z,
			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:00Z,
			Ausbau: 0001-01-01T00:00:00Z,
			Baujahr: 0,
			Temperatur: 0,
			EigenstGewerbLieferung: False,
			Brennwert: False,
			ObjektGuid: String,
			BrennstoffMediumGuid: String
		}
	],
	Brennstofflieferungen: 
	[
		{
			Guid: String,
			Lieferdatum: 0001-01-01T00:00:00Z,
			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:00Z,
			Bis: 0001-01-01T00:00:00Z,
			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:00Z,
			Bis: 0001-01-01T00:00:00Z,
			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:00Z,
			ZuordnungBis: 0001-01-01T00:00:00Z,
			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:00Z,
			Ausbaudatum: 0001-01-01T00:00:00Z,
			Eichdatum: 0001-01-01T00:00:00Z,
			Einheit: String,
			Memo: String,
			DeviceCatalogGuid: String
		}
	],
	Geraeteverbraeuche: 
	[
		{
			Guid: String,
			Ablesung: 0,
			Ablesedatum: 0001-01-01T00:00:00Z,
			Ableseart: String,
			Aenderungsdatum: 0001-01-01T00:00:00Z,
			Anmerkung: String,
			Ampullenfarbe: String,
			DeviceGuid: String
		}
	],
	BillingInformations: 
	[
		{
			Guid: String,
			Von: 0001-01-01T00:00:00Z,
			Bis: 0001-01-01T00:00:00Z,
			IstAbgeschlossen: False,
			HatNebenkosten: False,
			ObjektGuid: String,
			AnmerkungKundenportal: String,
			KundenportalMarkedDone: False,
			MarkedDoneAt: 0001-01-01T00:00:00Z,
			KundenportalMarkedClosed: False,
			MarkedClosedAt: 0001-01-01T00:00:00Z
		}
	],
	DeleteUvi: False,
	KundenObjekteImObjektSync: False
}
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
		}
	}
}