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 .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: develop-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
		}
	}
}