Server

<back to all web services

UpdateCustomer

Requires Authentication
The following routes are available for this service:
PUT/Customers
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class UpdateCustomerResponse:
    response_status: Optional[ResponseStatus] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerAddress:
    address_guid: Optional[str] = None
    is_primary: bool = False
    address_kind_label: Optional[str] = None
    address_kind_typ: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerObjekt:
    guid: Optional[str] = None
    range_from: datetime.datetime = datetime.datetime(1, 1, 1)
    range_to: Optional[datetime.datetime] = None
    is_customer: bool = False
    is_owner: bool = False
    is_owner_pseudo: bool = False
    objekt_guid: Optional[str] = None
    customer_guid: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Customer:
    guid: Optional[str] = None
    name1: Optional[str] = None
    name2: Optional[str] = None
    name3: Optional[str] = None
    number: Optional[str] = None
    salutation: Optional[str] = None
    customer_addresses: Optional[List[CustomerAddress]] = None
    customer_objekte: Optional[List[CustomerObjekt]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Objekt:
    guid: Optional[str] = None
    number: Optional[str] = None
    is_completed: Optional[str] = None
    uvi: Optional[str] = None
    is_uvi_disabled: Optional[str] = None
    completed_date: Optional[datetime.datetime] = None
    address_guid: Optional[str] = None
    anmerkung_kundenportal: Optional[str] = None
    kundenportal_marked_done: bool = False
    marked_done_at: Optional[datetime.datetime] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Address:
    guid: Optional[str] = None
    street: Optional[str] = None
    street2: Optional[str] = None
    street_number: Optional[str] = None
    zipcode: Optional[str] = None
    city: Optional[str] = None
    mailbox: Optional[str] = None
    additional: Optional[str] = None


class NutzerType(str, Enum):
    LEERSTAND = 'Leerstand'
    GEWERBLICH = 'Gewerblich'
    PRIVAT = 'Privat'
    ALLGEMEINE_NUTZUNG = 'AllgemeineNutzung'


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Nutzer:
    guid: Optional[str] = None
    name1: Optional[str] = None
    name2: Optional[str] = None
    name3: Optional[str] = None
    name4: Optional[str] = None
    # @ApiMember(IsRequired=true)
    nutzer_type: Optional[NutzerType] = None

    nutzeinheit_number_external: Optional[str] = None
    # @ApiMember(IsRequired=true)
    nutzer_in_nutzeinheit_sequence: int = 0

    # @ApiMember(IsRequired=true)
    range_from: datetime.datetime = datetime.datetime(1, 1, 1)

    range_to: Optional[datetime.datetime] = None
    is_deleted: bool = False
    is_created_by_app: bool = False
    is_uvi_recieved: Optional[str] = None
    is_nutzer_owner: Optional[str] = None
    email: Optional[str] = None
    mobile_phone: Optional[str] = None
    title: Optional[str] = None
    # @ApiMember(IsRequired=true, ParameterType="body")
    salutation: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NutzerCoOwnership:
    guid: Optional[str] = None
    share_value: Optional[Decimal] = None
    range_from: datetime.datetime = datetime.datetime(1, 1, 1)
    range_to: Optional[datetime.datetime] = None
    nutzer_guid: Optional[str] = None
    is_created_by_app: bool = False
    is_deleted: bool = False


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NutzerPersonen:
    guid: Optional[str] = None
    number_of_people: Optional[int] = None
    range_from: datetime.datetime = datetime.datetime(1, 1, 1)
    range_to: Optional[datetime.datetime] = None
    nutzer_guid: Optional[str] = None
    is_created_by_app: bool = False
    is_deleted: bool = False


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NutzerQuadratmeter:
    guid: Optional[str] = None
    square_meters__hzg: Optional[Decimal] = None
    square_meters__ww: Optional[Decimal] = None
    square_meters__nk: Optional[Decimal] = None
    range_from: datetime.datetime = datetime.datetime(1, 1, 1)
    range_to: Optional[datetime.datetime] = None
    nutzer_guid: Optional[str] = None
    is_created_by_app: bool = False
    is_deleted: bool = False


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OwnerNutzeinheit:
    guid: Optional[str] = None
    name1: Optional[str] = None
    name2: Optional[str] = None
    name3: Optional[str] = None
    name4: Optional[str] = None
    range_from: datetime.datetime = datetime.datetime(1, 1, 1)
    range_to: Optional[datetime.datetime] = None
    title: Optional[str] = None
    salutation: Optional[str] = None
    address_guid: Optional[str] = None
    nutzeinheit_guid: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Nutzeinheit:
    guid: Optional[str] = None
    number: Optional[str] = None
    location: Optional[str] = None
    objekt_guid: Optional[str] = None
    address_guid: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BillingInformation:
    guid: Optional[str] = None
    from_: datetime.datetime = field(metadata=config(field_name='from'), default=datetime.datetime(1, 1, 1))
    to: datetime.datetime = datetime.datetime(1, 1, 1)
    is_completed: bool = False
    has_nebenkosten: bool = False
    objekt_guid: Optional[str] = None
    anmerkung_kundenportal: Optional[str] = None
    kundenportal_marked_done: bool = False
    marked_done_at: Optional[datetime.datetime] = None
    kundenportal_marked_closed: bool = False
    marked_closed_at: Optional[datetime.datetime] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Direktkosten:
    guid: Optional[str] = None
    label: Optional[str] = None
    date: datetime.datetime = datetime.datetime(1, 1, 1)
    brutto: Decimal = decimal.Decimal(0)
    sales_tax: Decimal = decimal.Decimal(0)
    quantity: Decimal = decimal.Decimal(0)
    type: Optional[str] = None
    is_deleted: bool = False
    is_created_by_app: bool = False
    nutzer_guid: Optional[str] = None
    billing_information: Optional[BillingInformation] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Prepayment:
    guid: Optional[str] = None
    from_: datetime.datetime = field(metadata=config(field_name='from'), default=datetime.datetime(1, 1, 1))
    to: datetime.datetime = datetime.datetime(1, 1, 1)
    amount__nk: Optional[Decimal] = None
    amount__h_k: Optional[Decimal] = None
    amount__ww: Optional[Decimal] = None
    is_deleted: bool = False
    is_created_by_app: bool = False
    objekt_guid: Optional[str] = None
    nutzer_guid: Optional[str] = None
    billing_information_guid: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EnergieVerwerter:
    guid: Optional[str] = None
    label: Optional[str] = None
    efficiency_factor: Optional[Decimal] = None
    assembly_date: datetime.datetime = datetime.datetime(1, 1, 1)
    disassembly_date: Optional[datetime.datetime] = None
    build_year: Optional[int] = None
    temperature: Optional[int] = None
    commercial_supply: bool = False
    brennwert: bool = False
    objekt_guid: Optional[str] = None
    brennstoff_medium_guid: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Brennstofflieferung:
    guid: Optional[str] = None
    delivery_date: datetime.datetime = datetime.datetime(1, 1, 1)
    salex_tax: Optional[Decimal] = None
    emisions_tax: Optional[Decimal] = None
    c02_taxes: Optional[Decimal] = None
    customs_tax: Optional[Decimal] = None
    other_charges: Optional[Decimal] = None
    c02_price: Optional[Decimal] = None
    c02_tons: Optional[Decimal] = None
    quantity: Optional[Decimal] = None
    amount: Optional[Decimal] = None
    start_meter_reading_value: Optional[Decimal] = None
    end_meter_reading_value: Optional[Decimal] = None
    heizwert: Decimal = decimal.Decimal(0)
    brennwert: bool = False
    energy_relief_amount_description: Optional[str] = None
    energy_relief_amount: Optional[Decimal] = None
    electricity_relief_amount_description: Optional[str] = None
    electricity_relief_amount: Optional[Decimal] = None
    c_o2_emissions_factor: Optional[Decimal] = None
    c_o2_text: Optional[str] = None
    c_o2_active: Optional[bool] = None
    c_o2_price_knd: Optional[bool] = None
    c_o2_price_landlord: Optional[Decimal] = None
    c_o2_price_renter: Optional[Decimal] = None
    c_o2_area: Optional[Decimal] = None
    is_for_commercial_use: Optional[bool] = None
    is_renovation_required: Optional[bool] = None
    is_heating_pads_improved: Optional[bool] = None
    c_o2_k_wh: Optional[Decimal] = None
    included_c_o2_sales_tax: Optional[Decimal] = None
    c_o2_costs: Optional[Decimal] = None
    total_c02_weight: Optional[Decimal] = None
    no_total_deduction_c02_costs: Optional[bool] = None
    is_deleted: bool = False
    is_created_by_app: bool = False
    brennstoff_medium_guid: Optional[str] = None
    billing_information: Optional[BillingInformation] = None


class NebenkostenTargetAllocation(str, Enum):
    NULL = 'Null'
    ALLE_NUTZER = 'AlleNutzer'
    ZUGEORDNETE_NUTZER = 'ZugeordneteNutzer'
    ZUGEORDNETE_NUTZEINHEITEN = 'ZugeordneteNutzeinheiten'
    ZUGEORDNETE_NUTZER_DIFF = 'ZugeordneteNutzerDiff'
    ZUGEORDNETE_NUTZEINHEITEN_DIFF = 'ZugeordneteNutzeinheitenDiff'


class NebenkostenTargetAllocationIn(str, Enum):
    NEBENKOSTEN = 'Nebenkosten'
    HEIZKOSTEN = 'Heizkosten'
    WARMWASSERKOSTEN = 'Warmwasserkosten'


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NebenkostenNutzeinheit:
    relative_amount: Optional[Decimal] = None
    is_deleted: bool = False
    is_created_by_app: bool = False
    nutzeinheit_guid: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NebenkostenNutzer:
    relative_amount: Optional[Decimal] = None
    is_deleted: bool = False
    is_created_by_app: bool = False
    nutzer_guid: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Nebenkosten:
    guid: Optional[str] = None
    number: int = 0
    from_: datetime.datetime = field(metadata=config(field_name='from'), default=datetime.datetime(1, 1, 1))
    to: datetime.datetime = datetime.datetime(1, 1, 1)
    target_allocation: Optional[NebenkostenTargetAllocation] = None
    target_allocation_in: Optional[NebenkostenTargetAllocationIn] = None
    nebenkosten_kind: Optional[str] = None
    # @ApiMember(Description="Freitext")
    kostenart: Optional[str] = None
    """
    Freitext
    """


    brutto: Optional[Decimal] = None
    brutto_last_year: Optional[Decimal] = None
    sales_tax: Optional[Decimal] = None
    haushaltsnahedienste_label: Optional[str] = None
    haushaltsnahedienste_brutto: Optional[Decimal] = None
    # @ApiMember(Description="Freitext")
    kostenart_unit: Optional[str] = None
    """
    Freitext
    """


    reduzierungsart_type: Optional[str] = None
    comment: Optional[str] = None
    is_deleted: bool = False
    is_created_by_app: bool = False
    nebenkosten_nutzeinheiten: Optional[List[NebenkostenNutzeinheit]] = None
    nebenkosten_nutzer: Optional[List[NebenkostenNutzer]] = None
    billing_information: Optional[BillingInformation] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Heizbetriebskosten:
    guid: Optional[str] = None
    from_: datetime.datetime = field(metadata=config(field_name='from'), default=datetime.datetime(1, 1, 1))
    to: datetime.datetime = datetime.datetime(1, 1, 1)
    sales_tax: Decimal = decimal.Decimal(0)
    haushatlsnahedienste_brutto: Optional[Decimal] = None
    brutto: Optional[Decimal] = None
    haushatlsnahedienste_label: Optional[str] = None
    description: Optional[str] = None
    is_deleted: bool = False
    is_created_by_app: bool = False


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NutzeinheitDevice:
    guid: Optional[str] = None
    assigned_from_date: datetime.datetime = datetime.datetime(1, 1, 1)
    assigned_to_date: Optional[datetime.datetime] = None
    room: Optional[str] = None
    ongoing_number: Optional[str] = None
    is_rented: bool = False
    is_maintained: bool = False
    device_guid: Optional[str] = None
    nutzeinheit_guid: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Device:
    guid: Optional[str] = None
    number: Optional[str] = None
    label: Optional[str] = None
    description: Optional[str] = None
    installation_date: datetime.datetime = datetime.datetime(1, 1, 1)
    deinstallation_date: Optional[datetime.datetime] = None
    calibration_date: Optional[datetime.datetime] = None
    unit: Optional[str] = None
    note: Optional[str] = None
    device_catalog_guid: Optional[str] = None


class DeviceReadingKind(str, Enum):
    ZA = 'ZA'
    HA = 'HA'
    MO = 'MO'
    EB = 'EB'
    AB = 'AB'


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DeviceConsumption:
    guid: Optional[str] = None
    device_reading: Optional[float] = None
    device_reading_date: Optional[datetime.datetime] = None
    device_reading_kind: Optional[DeviceReadingKind] = None
    change_date: Optional[datetime.datetime] = None
    note: Optional[str] = None
    ampoule_colour: Optional[str] = None
    device_guid: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class UpdateCustomer:
    customer: Optional[Customer] = None
    objekte: Optional[List[Objekt]] = None
    addresses: Optional[List[Address]] = None
    nutzer: Optional[List[Nutzer]] = None
    nutzer_co_ownership: Optional[List[NutzerCoOwnership]] = None
    nutzer_personen: Optional[List[NutzerPersonen]] = None
    nutzer_quadratmeter: Optional[List[NutzerQuadratmeter]] = None
    owner_nutzeinheiten: Optional[List[OwnerNutzeinheit]] = None
    nutzeinheiten: Optional[List[Nutzeinheit]] = None
    direktkosten: Optional[List[Direktkosten]] = None
    prepayments: Optional[List[Prepayment]] = None
    energie_verwerter: Optional[List[EnergieVerwerter]] = None
    brennstofflieferungen: Optional[List[Brennstofflieferung]] = None
    nebenkosten: Optional[List[Nebenkosten]] = None
    heizbetriebskosten: Optional[List[Heizbetriebskosten]] = None
    nutzeinheit_devices: Optional[List[NutzeinheitDevice]] = None
    devices: Optional[List[Device]] = None
    device_consumptions: Optional[List[DeviceConsumption]] = None
    billing_informations: Optional[List[BillingInformation]] = None
    delete_u_v_i: bool = False
    kunden_objekte_im_objekt_sync: bool = False


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BillingInformation:
    guid: Optional[str] = None
    from_: datetime.datetime = field(metadata=config(field_name='from'), default=datetime.datetime(1, 1, 1))
    to: datetime.datetime = datetime.datetime(1, 1, 1)
    is_completed: bool = False
    has_nebenkosten: bool = False

Python UpdateCustomer DTOs

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

HTTP + XML

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

PUT /Customers HTTP/1.1 
Host: isp-plauen-servdesk.eras-online.de 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<UpdateCustomer xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Customers">
  <Adressen xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models">
    <d2p1:Address>
      <d2p1:Adresszusatz>String</d2p1:Adresszusatz>
      <d2p1:Guid>String</d2p1:Guid>
      <d2p1:Hausnummer>String</d2p1:Hausnummer>
      <d2p1:Ort>String</d2p1:Ort>
      <d2p1:Postfach>String</d2p1:Postfach>
      <d2p1:Postleitzahl>String</d2p1:Postleitzahl>
      <d2p1:Straße>String</d2p1:Straße>
      <d2p1:Straße2>String</d2p1:Straße2>
    </d2p1:Address>
  </Adressen>
  <BillingInformations xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models">
    <d2p1:BillingInformation>
      <d2p1:AnmerkungKundenportal>String</d2p1:AnmerkungKundenportal>
      <d2p1:Bis>0001-01-01T00:00:00</d2p1:Bis>
      <d2p1:Guid>String</d2p1:Guid>
      <d2p1:HatNebenkosten>false</d2p1:HatNebenkosten>
      <d2p1:IstAbgeschlossen>false</d2p1:IstAbgeschlossen>
      <d2p1:KundenportalMarkedClosed>false</d2p1:KundenportalMarkedClosed>
      <d2p1:KundenportalMarkedDone>false</d2p1:KundenportalMarkedDone>
      <d2p1:MarkedClosedAt>0001-01-01T00:00:00</d2p1:MarkedClosedAt>
      <d2p1:MarkedDoneAt>0001-01-01T00:00:00</d2p1:MarkedDoneAt>
      <d2p1:ObjektGuid>String</d2p1:ObjektGuid>
      <d2p1:Von>0001-01-01T00:00:00</d2p1:Von>
    </d2p1:BillingInformation>
  </BillingInformations>
  <Brennstofflieferungen xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models">
    <d2p1:Brennstofflieferung>
      <d2p1:Anfangsstand>0</d2p1:Anfangsstand>
      <d2p1:AuflagenHeizungsverbesserung>false</d2p1:AuflagenHeizungsverbesserung>
      <d2p1:Betrag>0</d2p1:Betrag>
      <d2p1:BillingInformationGuid>String</d2p1:BillingInformationGuid>
      <d2p1:BrennstoffMediumGuid>String</d2p1:BrennstoffMediumGuid>
      <d2p1:Brennwert>false</d2p1:Brennwert>
      <d2p1:C02Preis>0</d2p1:C02Preis>
      <d2p1:C02Tonnen>0</d2p1:C02Tonnen>
      <d2p1:CO2Aktiv>false</d2p1:CO2Aktiv>
      <d2p1:CO2Emissionsfaktor>0</d2p1:CO2Emissionsfaktor>
      <d2p1:CO2Flaeche>0</d2p1:CO2Flaeche>
      <d2p1:CO2GesamtKg>0</d2p1:CO2GesamtKg>
      <d2p1:CO2KWH>0</d2p1:CO2KWH>
      <d2p1:CO2KostenBrutto>0</d2p1:CO2KostenBrutto>
      <d2p1:CO2PreisKnd>false</d2p1:CO2PreisKnd>
      <d2p1:CO2PreisMieter>0</d2p1:CO2PreisMieter>
      <d2p1:CO2PreisVermieter>0</d2p1:CO2PreisVermieter>
      <d2p1:CO2Text>String</d2p1:CO2Text>
      <d2p1:Emissionsangabe>0</d2p1:Emissionsangabe>
      <d2p1:Endstand>0</d2p1:Endstand>
      <d2p1:EnergieEntlastungsbetrag>0</d2p1:EnergieEntlastungsbetrag>
      <d2p1:EnergieEntlastungsbetragBezeichnung>String</d2p1:EnergieEntlastungsbetragBezeichnung>
      <d2p1:EnergieVerwerterGuid>String</d2p1:EnergieVerwerterGuid>
      <d2p1:EnthalteneMwst>0</d2p1:EnthalteneMwst>
      <d2p1:GewerblicheNutzung>false</d2p1:GewerblicheNutzung>
      <d2p1:Guid>String</d2p1:Guid>
      <d2p1:Heizwert>0</d2p1:Heizwert>
      <d2p1:IstErzeugtVonApp>false</d2p1:IstErzeugtVonApp>
      <d2p1:IstGeloescht>false</d2p1:IstGeloescht>
      <d2p1:KeinGesamtabzugC02Kosten>false</d2p1:KeinGesamtabzugC02Kosten>
      <d2p1:Lieferdatum>0001-01-01T00:00:00</d2p1:Lieferdatum>
      <d2p1:Menge>0</d2p1:Menge>
      <d2p1:Mwst>0</d2p1:Mwst>
      <d2p1:Sanierungsauflagen>false</d2p1:Sanierungsauflagen>
      <d2p1:SonstigeAngaben>0</d2p1:SonstigeAngaben>
      <d2p1:Steuern>0</d2p1:Steuern>
      <d2p1:StromEntlastungsbetrag>0</d2p1:StromEntlastungsbetrag>
      <d2p1:StromEntlastungsbetragBezeichnung>String</d2p1:StromEntlastungsbetragBezeichnung>
      <d2p1:Zolle>0</d2p1:Zolle>
    </d2p1:Brennstofflieferung>
  </Brennstofflieferungen>
  <DeleteUvi>false</DeleteUvi>
  <Direktkosten xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models">
    <d2p1:Direktkosten>
      <d2p1:Bezeichnung>String</d2p1:Bezeichnung>
      <d2p1:BillingInformationGuid>String</d2p1:BillingInformationGuid>
      <d2p1:Brutto>0</d2p1:Brutto>
      <d2p1:Datum>0001-01-01T00:00:00</d2p1:Datum>
      <d2p1:Guid>String</d2p1:Guid>
      <d2p1:IstErzeugtVonApp>false</d2p1:IstErzeugtVonApp>
      <d2p1:IstGeloescht>false</d2p1:IstGeloescht>
      <d2p1:Menge>0</d2p1:Menge>
      <d2p1:Mwst>0</d2p1:Mwst>
      <d2p1:NutzerGuid>String</d2p1:NutzerGuid>
      <d2p1:ObjektGuid>String</d2p1:ObjektGuid>
      <d2p1:Typ>String</d2p1:Typ>
    </d2p1:Direktkosten>
  </Direktkosten>
  <EigentuemerNutzeinheit xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models">
    <d2p1:OwnerNutzeinheit>
      <d2p1:AdressGuid>String</d2p1:AdressGuid>
      <d2p1:Anrede>String</d2p1:Anrede>
      <d2p1:Guid>String</d2p1:Guid>
      <d2p1:Name1>String</d2p1:Name1>
      <d2p1:Name2>String</d2p1:Name2>
      <d2p1:Name3>String</d2p1:Name3>
      <d2p1:Name4>String</d2p1:Name4>
      <d2p1:NutzeinheitGuid>String</d2p1:NutzeinheitGuid>
      <d2p1:Titel>String</d2p1:Titel>
      <d2p1:ZeitraumBis>0001-01-01T00:00:00</d2p1:ZeitraumBis>
      <d2p1:ZeitraumVon>0001-01-01T00:00:00</d2p1:ZeitraumVon>
    </d2p1:OwnerNutzeinheit>
  </EigentuemerNutzeinheit>
  <EnergieVerwerter xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models">
    <d2p1:EnergieVerwerter>
      <d2p1:Ausbau>0001-01-01T00:00:00</d2p1:Ausbau>
      <d2p1:Baujahr>0</d2p1:Baujahr>
      <d2p1:Bezeichnung>String</d2p1:Bezeichnung>
      <d2p1:BrennstoffMediumGuid>String</d2p1:BrennstoffMediumGuid>
      <d2p1:Brennwert>false</d2p1:Brennwert>
      <d2p1:EigenstGewerbLieferung>false</d2p1:EigenstGewerbLieferung>
      <d2p1:Einbau>0001-01-01T00:00:00</d2p1:Einbau>
      <d2p1:Guid>String</d2p1:Guid>
      <d2p1:ObjektGuid>String</d2p1:ObjektGuid>
      <d2p1:Temperatur>0</d2p1:Temperatur>
      <d2p1:Wirkungsgrad>0</d2p1:Wirkungsgrad>
    </d2p1:EnergieVerwerter>
  </EnergieVerwerter>
  <Geraete xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models">
    <d2p1:Device>
      <d2p1:Ausbaudatum>0001-01-01T00:00:00</d2p1:Ausbaudatum>
      <d2p1:Beschreibung>String</d2p1:Beschreibung>
      <d2p1:Bezeichnung>String</d2p1:Bezeichnung>
      <d2p1:DeviceCatalogGuid>String</d2p1:DeviceCatalogGuid>
      <d2p1:Eichdatum>0001-01-01T00:00:00</d2p1:Eichdatum>
      <d2p1:Einbaudatum>0001-01-01T00:00:00</d2p1:Einbaudatum>
      <d2p1:Einheit>String</d2p1:Einheit>
      <d2p1:Geraetenummer>String</d2p1:Geraetenummer>
      <d2p1:Guid>String</d2p1:Guid>
      <d2p1:Memo>String</d2p1:Memo>
    </d2p1:Device>
  </Geraete>
  <Geraeteverbraeuche xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models">
    <d2p1:DeviceConsumption>
      <d2p1:Ableseart>String</d2p1:Ableseart>
      <d2p1:Ablesedatum>0001-01-01T00:00:00</d2p1:Ablesedatum>
      <d2p1:Ablesung>0</d2p1:Ablesung>
      <d2p1:Aenderungsdatum>0001-01-01T00:00:00</d2p1:Aenderungsdatum>
      <d2p1:Ampullenfarbe>String</d2p1:Ampullenfarbe>
      <d2p1:Anmerkung>String</d2p1:Anmerkung>
      <d2p1:DeviceGuid>String</d2p1:DeviceGuid>
      <d2p1:Guid>String</d2p1:Guid>
    </d2p1:DeviceConsumption>
  </Geraeteverbraeuche>
  <Heizbetriebskosten xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models">
    <d2p1:Heizbetriebskosten>
      <d2p1:Anmerkung>String</d2p1:Anmerkung>
      <d2p1:BillingInformationGuid>String</d2p1:BillingInformationGuid>
      <d2p1:Bis>0001-01-01T00:00:00</d2p1:Bis>
      <d2p1:Brutto>0</d2p1:Brutto>
      <d2p1:Guid>String</d2p1:Guid>
      <d2p1:HaushatlsnahediensteBrutto>0</d2p1:HaushatlsnahediensteBrutto>
      <d2p1:HaushatlsnahediensteLabel>String</d2p1:HaushatlsnahediensteLabel>
      <d2p1:IstErzeugtVonApp>false</d2p1:IstErzeugtVonApp>
      <d2p1:IstGeloescht>false</d2p1:IstGeloescht>
      <d2p1:Mwst>0</d2p1:Mwst>
      <d2p1:ObjektGuid>String</d2p1:ObjektGuid>
      <d2p1:Von>0001-01-01T00:00:00</d2p1:Von>
    </d2p1:Heizbetriebskosten>
  </Heizbetriebskosten>
  <Kunde xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models">
    <d2p1:Anrede>String</d2p1:Anrede>
    <d2p1:Guid>String</d2p1:Guid>
    <d2p1:KundenAdressen>
      <d2p1:CustomerAddress>
        <d2p1:AdressTyp>String</d2p1:AdressTyp>
        <d2p1:AdressTypBezeichnung>String</d2p1:AdressTypBezeichnung>
        <d2p1:AdresseGuid>String</d2p1:AdresseGuid>
        <d2p1:IstPrimaer>false</d2p1:IstPrimaer>
      </d2p1:CustomerAddress>
    </d2p1:KundenAdressen>
    <d2p1:KundenObjekte>
      <d2p1:CustomerObjekt>
        <d2p1:Guid>String</d2p1:Guid>
        <d2p1:IstEigentümer>false</d2p1:IstEigentümer>
        <d2p1:IstEigentümerPseudo>false</d2p1:IstEigentümerPseudo>
        <d2p1:IstKunde>false</d2p1:IstKunde>
        <d2p1:KundeGuid>String</d2p1:KundeGuid>
        <d2p1:ObjektGuid>String</d2p1:ObjektGuid>
        <d2p1:ZeitraumBis>0001-01-01T00:00:00</d2p1:ZeitraumBis>
        <d2p1:ZeitraumVon>0001-01-01T00:00:00</d2p1:ZeitraumVon>
      </d2p1:CustomerObjekt>
    </d2p1:KundenObjekte>
    <d2p1:Kundennummer>String</d2p1:Kundennummer>
    <d2p1:Name1>String</d2p1:Name1>
    <d2p1:Name2>String</d2p1:Name2>
    <d2p1:Name3>String</d2p1:Name3>
  </Kunde>
  <KundenObjekteImObjektSync>false</KundenObjekteImObjektSync>
  <Nebenkosten xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models">
    <d2p1:Nebenkosten>
      <d2p1:BillingInformationGuid>String</d2p1:BillingInformationGuid>
      <d2p1:Bis>0001-01-01T00:00:00</d2p1:Bis>
      <d2p1:Brutto>0</d2p1:Brutto>
      <d2p1:BruttoLetztesJahr>0</d2p1:BruttoLetztesJahr>
      <d2p1:EinheitDerKostenart>String</d2p1:EinheitDerKostenart>
      <d2p1:Guid>String</d2p1:Guid>
      <d2p1:HaushaltsnahediensteBrutto>0</d2p1:HaushaltsnahediensteBrutto>
      <d2p1:HaushaltsnahediensteLabel>String</d2p1:HaushaltsnahediensteLabel>
      <d2p1:IstErzeugtVonApp>false</d2p1:IstErzeugtVonApp>
      <d2p1:IstGeloescht>false</d2p1:IstGeloescht>
      <d2p1:Kommentar>String</d2p1:Kommentar>
      <d2p1:Kostenart>String</d2p1:Kostenart>
      <d2p1:Kostennummer>0</d2p1:Kostennummer>
      <d2p1:Mwst>0</d2p1:Mwst>
      <d2p1:NebenkostenArt>String</d2p1:NebenkostenArt>
      <d2p1:NebenkostenNutzeinheiten>
        <d2p1:NebenkostenNutzeinheit>
          <d2p1:Anteil>0</d2p1:Anteil>
          <d2p1:IstErzeugtVonApp>false</d2p1:IstErzeugtVonApp>
          <d2p1:IstGeloescht>false</d2p1:IstGeloescht>
          <d2p1:NutzeinheitGuid>String</d2p1:NutzeinheitGuid>
        </d2p1:NebenkostenNutzeinheit>
      </d2p1:NebenkostenNutzeinheiten>
      <d2p1:NebenkostenNutzer>
        <d2p1:NebenkostenNutzer>
          <d2p1:Anteil>0</d2p1:Anteil>
          <d2p1:IstErzeugtVonApp>false</d2p1:IstErzeugtVonApp>
          <d2p1:IstGeloescht>false</d2p1:IstGeloescht>
          <d2p1:NutzerGuid>String</d2p1:NutzerGuid>
        </d2p1:NebenkostenNutzer>
      </d2p1:NebenkostenNutzer>
      <d2p1:ObjektGuid>String</d2p1:ObjektGuid>
      <d2p1:Reduzierungsart>String</d2p1:Reduzierungsart>
      <d2p1:UmlageZiel>String</d2p1:UmlageZiel>
      <d2p1:UmlageZielIn>String</d2p1:UmlageZielIn>
      <d2p1:Von>0001-01-01T00:00:00</d2p1:Von>
    </d2p1:Nebenkosten>
  </Nebenkosten>
  <NutzeinheitGeraete xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models">
    <d2p1:NutzeinheitDevice>
      <d2p1:DeviceGuid>String</d2p1:DeviceGuid>
      <d2p1:Guid>String</d2p1:Guid>
      <d2p1:LaufendeNummer>String</d2p1:LaufendeNummer>
      <d2p1:NutzeinheitGuid>String</d2p1:NutzeinheitGuid>
      <d2p1:Raum>String</d2p1:Raum>
      <d2p1:ZuordnungBis>0001-01-01T00:00:00</d2p1:ZuordnungBis>
      <d2p1:ZuordnungVon>0001-01-01T00:00:00</d2p1:ZuordnungVon>
      <d2p1:gemietet>false</d2p1:gemietet>
      <d2p1:gewartet>false</d2p1:gewartet>
    </d2p1:NutzeinheitDevice>
  </NutzeinheitGeraete>
  <Nutzeinheiten xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models">
    <d2p1:Nutzeinheit>
      <d2p1:AdressGuid>String</d2p1:AdressGuid>
      <d2p1:Guid>String</d2p1:Guid>
      <d2p1:Lage>String</d2p1:Lage>
      <d2p1:Nummer>String</d2p1:Nummer>
      <d2p1:ObjektGuid>String</d2p1:ObjektGuid>
    </d2p1:Nutzeinheit>
  </Nutzeinheiten>
  <Nutzer xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models">
    <d2p1:Nutzer>
      <d2p1:Anrede>String</d2p1:Anrede>
      <d2p1:EigentuemerBewohnt>String</d2p1:EigentuemerBewohnt>
      <d2p1:Email>String</d2p1:Email>
      <d2p1:Guid>String</d2p1:Guid>
      <d2p1:IstErzeugtVonApp>false</d2p1:IstErzeugtVonApp>
      <d2p1:IstGeloescht>false</d2p1:IstGeloescht>
      <d2p1:Mobil>String</d2p1:Mobil>
      <d2p1:Name1>String</d2p1:Name1>
      <d2p1:Name2>String</d2p1:Name2>
      <d2p1:Name3>String</d2p1:Name3>
      <d2p1:Name4>String</d2p1:Name4>
      <d2p1:NutzeinheitGuid>String</d2p1:NutzeinheitGuid>
      <d2p1:NutzeinheitNummerExtern>String</d2p1:NutzeinheitNummerExtern>
      <d2p1:NutzerInNutzeinheitReihenfolge>0</d2p1:NutzerInNutzeinheitReihenfolge>
      <d2p1:NutzerType>String</d2p1:NutzerType>
      <d2p1:Titel>String</d2p1:Titel>
      <d2p1:Uvi>String</d2p1:Uvi>
      <d2p1:ZeitraumBis>0001-01-01T00:00:00</d2p1:ZeitraumBis>
      <d2p1:ZeitraumVon>0001-01-01T00:00:00</d2p1:ZeitraumVon>
    </d2p1:Nutzer>
  </Nutzer>
  <NutzerCoOwnership xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models">
    <d2p1:NutzerCoOwnership>
      <d2p1:Bis>0001-01-01T00:00:00</d2p1:Bis>
      <d2p1:Guid>String</d2p1:Guid>
      <d2p1:IsCreatedByApp>false</d2p1:IsCreatedByApp>
      <d2p1:IsDeleted>false</d2p1:IsDeleted>
      <d2p1:NutzerGuid>String</d2p1:NutzerGuid>
      <d2p1:ShareValue>0</d2p1:ShareValue>
      <d2p1:Von>0001-01-01T00:00:00</d2p1:Von>
    </d2p1:NutzerCoOwnership>
  </NutzerCoOwnership>
  <NutzerPersonen xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models">
    <d2p1:NutzerPersonen>
      <d2p1:Bis>0001-01-01T00:00:00</d2p1:Bis>
      <d2p1:Guid>String</d2p1:Guid>
      <d2p1:IsCreatedByApp>false</d2p1:IsCreatedByApp>
      <d2p1:IsDeleted>false</d2p1:IsDeleted>
      <d2p1:NutzerGuid>String</d2p1:NutzerGuid>
      <d2p1:Personen>0</d2p1:Personen>
      <d2p1:Von>0001-01-01T00:00:00</d2p1:Von>
    </d2p1:NutzerPersonen>
  </NutzerPersonen>
  <NutzerQuadratmeter xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models">
    <d2p1:NutzerQuadratmeter>
      <d2p1:Bis>0001-01-01T00:00:00</d2p1:Bis>
      <d2p1:Guid>String</d2p1:Guid>
      <d2p1:IsCreatedByApp>false</d2p1:IsCreatedByApp>
      <d2p1:IsDeleted>false</d2p1:IsDeleted>
      <d2p1:NutzerGuid>String</d2p1:NutzerGuid>
      <d2p1:Quadratmeter_Hzg>0</d2p1:Quadratmeter_Hzg>
      <d2p1:Quadratmeter_Nk>0</d2p1:Quadratmeter_Nk>
      <d2p1:Quadratmeter_Ww>0</d2p1:Quadratmeter_Ww>
      <d2p1:Von>0001-01-01T00:00:00</d2p1:Von>
    </d2p1:NutzerQuadratmeter>
  </NutzerQuadratmeter>
  <Objekte xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models">
    <d2p1:Objekt>
      <d2p1:AbgeschlossenDatum>0001-01-01T00:00:00</d2p1:AbgeschlossenDatum>
      <d2p1:AdressGuid>String</d2p1:AdressGuid>
      <d2p1:AnmerkungKundenportal>String</d2p1:AnmerkungKundenportal>
      <d2p1:Guid>String</d2p1:Guid>
      <d2p1:IsUviDisabled>String</d2p1:IsUviDisabled>
      <d2p1:IstAbgeschlossen>String</d2p1:IstAbgeschlossen>
      <d2p1:KundenportalMarkedDone>false</d2p1:KundenportalMarkedDone>
      <d2p1:MarkedDoneAt>0001-01-01T00:00:00</d2p1:MarkedDoneAt>
      <d2p1:Objektnummer>String</d2p1:Objektnummer>
      <d2p1:Uvi>String</d2p1:Uvi>
    </d2p1:Objekt>
  </Objekte>
  <Prepayments xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Models">
    <d2p1:Prepayment>
      <d2p1:BillingInformationGuid>String</d2p1:BillingInformationGuid>
      <d2p1:Bis>0001-01-01T00:00:00</d2p1:Bis>
      <d2p1:Guid>String</d2p1:Guid>
      <d2p1:IstErzeugtVonApp>false</d2p1:IstErzeugtVonApp>
      <d2p1:IstGeloescht>false</d2p1:IstGeloescht>
      <d2p1:NutzerGuid>String</d2p1:NutzerGuid>
      <d2p1:ObjektGuid>String</d2p1:ObjektGuid>
      <d2p1:VZ_x0020_Heizkosten>0</d2p1:VZ_x0020_Heizkosten>
      <d2p1:VZ_x0020_Nebenkosten>0</d2p1:VZ_x0020_Nebenkosten>
      <d2p1:VZ_x0020_Warmwasser>0</d2p1:VZ_x0020_Warmwasser>
      <d2p1:Von>0001-01-01T00:00:00</d2p1:Von>
    </d2p1:Prepayment>
  </Prepayments>
</UpdateCustomer>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<UpdateCustomerResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2Client.Customers">
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
</UpdateCustomerResponse>