Server

<back to all web services

UpdateStammdaten

Requires Authentication
The following routes are available for this service:
POST/Stammdaten
<?php namespace dtos;

use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};


class UpdateStammdatenResponse implements JsonSerializable
{
    public function __construct(
        /** @var ResponseStatus|null */
        public ?ResponseStatus $responseStatus=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class StammdatenInfo implements JsonSerializable
{
    public function __construct(
        // @DataMember(Name="Guid")
        /** @var string */
        public string $Guid='',

        // @DataMember(Name="Version")
        /** @var string|null */
        public ?string $Version=null,

        // @DataMember(Name="Anmerkung")
        /** @var string|null */
        public ?string $Anmerkung=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Guid'])) $this->Guid = $o['Guid'];
        if (isset($o['Version'])) $this->Version = $o['Version'];
        if (isset($o['Anmerkung'])) $this->Anmerkung = $o['Anmerkung'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Guid)) $o['Guid'] = $this->Guid;
        if (isset($this->Version)) $o['Version'] = $this->Version;
        if (isset($this->Anmerkung)) $o['Anmerkung'] = $this->Anmerkung;
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class DeviceCatalog implements JsonSerializable
{
    public function __construct(
        // @DataMember(Name="Guid")
        /** @var string */
        public string $Guid='',

        // @DataMember(Name="ArtikelName")
        /** @var string|null */
        public ?string $ArtikelName=null,

        // @DataMember(Name="ArtikelNummer")
        /** @var string|null */
        public ?string $ArtikelNummer=null,

        // @DataMember(Name="ArtikelBeschreibung")
        /** @var string|null */
        public ?string $ArtikelBeschreibung=null,

        // @DataMember(Name="ArtikelnummerHersteller")
        /** @var string|null */
        public ?string $ArtikelnummerHersteller=null,

        // @DataMember(Name="Kurzbezeichnung")
        /** @var string|null */
        public ?string $Kurzbezeichnung=null,

        // @DataMember(Name="Abzug")
        /** @var bool|null */
        public ?bool $Abzug=null,

        // @DataMember(Name="Hkvv")
        /** @var bool|null */
        public ?bool $Hkvv=null,

        // @DataMember(Name="Funk")
        /** @var bool|null */
        public ?bool $Funk=null,

        // @DataMember(Name="Bestellnummer")
        /** @var string|null */
        public ?string $Bestellnummer=null,

        // @DataMember(Name="Baulaenge")
        /** @var string|null */
        public ?string $Baulaenge=null,

        // @DataMember(Name="Anschluss")
        /** @var string|null */
        public ?string $Anschluss=null,

        // @DataMember(Name="Qn")
        /** @var string|null */
        public ?string $Qn=null,

        // @DataMember(Name="SontexFunkID")
        /** @var string|null */
        public ?string $SontexFunkID=null,

        // @DataMember(Name="SontexHKVKennung")
        /** @var string|null */
        public ?string $SontexHKVKennung=null,

        // @DataMember(Name="Memo")
        /** @var string|null */
        public ?string $Memo=null,

        // @DataMember(Name="DeviceKindGuid")
        /** @var string */
        public string $DeviceKindGuid='',

        // @DataMember(Name="ManufacturerGuid")
        /** @var string */
        public string $ManufacturerGuid=''
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Guid'])) $this->Guid = $o['Guid'];
        if (isset($o['ArtikelName'])) $this->ArtikelName = $o['ArtikelName'];
        if (isset($o['ArtikelNummer'])) $this->ArtikelNummer = $o['ArtikelNummer'];
        if (isset($o['ArtikelBeschreibung'])) $this->ArtikelBeschreibung = $o['ArtikelBeschreibung'];
        if (isset($o['ArtikelnummerHersteller'])) $this->ArtikelnummerHersteller = $o['ArtikelnummerHersteller'];
        if (isset($o['Kurzbezeichnung'])) $this->Kurzbezeichnung = $o['Kurzbezeichnung'];
        if (isset($o['Abzug'])) $this->Abzug = $o['Abzug'];
        if (isset($o['Hkvv'])) $this->Hkvv = $o['Hkvv'];
        if (isset($o['Funk'])) $this->Funk = $o['Funk'];
        if (isset($o['Bestellnummer'])) $this->Bestellnummer = $o['Bestellnummer'];
        if (isset($o['Baulaenge'])) $this->Baulaenge = $o['Baulaenge'];
        if (isset($o['Anschluss'])) $this->Anschluss = $o['Anschluss'];
        if (isset($o['Qn'])) $this->Qn = $o['Qn'];
        if (isset($o['SontexFunkID'])) $this->SontexFunkID = $o['SontexFunkID'];
        if (isset($o['SontexHKVKennung'])) $this->SontexHKVKennung = $o['SontexHKVKennung'];
        if (isset($o['Memo'])) $this->Memo = $o['Memo'];
        if (isset($o['DeviceKindGuid'])) $this->DeviceKindGuid = $o['DeviceKindGuid'];
        if (isset($o['ManufacturerGuid'])) $this->ManufacturerGuid = $o['ManufacturerGuid'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Guid)) $o['Guid'] = $this->Guid;
        if (isset($this->ArtikelName)) $o['ArtikelName'] = $this->ArtikelName;
        if (isset($this->ArtikelNummer)) $o['ArtikelNummer'] = $this->ArtikelNummer;
        if (isset($this->ArtikelBeschreibung)) $o['ArtikelBeschreibung'] = $this->ArtikelBeschreibung;
        if (isset($this->ArtikelnummerHersteller)) $o['ArtikelnummerHersteller'] = $this->ArtikelnummerHersteller;
        if (isset($this->Kurzbezeichnung)) $o['Kurzbezeichnung'] = $this->Kurzbezeichnung;
        if (isset($this->Abzug)) $o['Abzug'] = $this->Abzug;
        if (isset($this->Hkvv)) $o['Hkvv'] = $this->Hkvv;
        if (isset($this->Funk)) $o['Funk'] = $this->Funk;
        if (isset($this->Bestellnummer)) $o['Bestellnummer'] = $this->Bestellnummer;
        if (isset($this->Baulaenge)) $o['Baulaenge'] = $this->Baulaenge;
        if (isset($this->Anschluss)) $o['Anschluss'] = $this->Anschluss;
        if (isset($this->Qn)) $o['Qn'] = $this->Qn;
        if (isset($this->SontexFunkID)) $o['SontexFunkID'] = $this->SontexFunkID;
        if (isset($this->SontexHKVKennung)) $o['SontexHKVKennung'] = $this->SontexHKVKennung;
        if (isset($this->Memo)) $o['Memo'] = $this->Memo;
        if (isset($this->DeviceKindGuid)) $o['DeviceKindGuid'] = $this->DeviceKindGuid;
        if (isset($this->ManufacturerGuid)) $o['ManufacturerGuid'] = $this->ManufacturerGuid;
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class Manufacturer implements JsonSerializable
{
    public function __construct(
        // @DataMember(Name="Guid")
        /** @var string */
        public string $Guid='',

        // @DataMember(Name="Name")
        /** @var string|null */
        public ?string $Name=null,

        // @DataMember(Name="Anmerkung")
        /** @var string|null */
        public ?string $Anmerkung=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Guid'])) $this->Guid = $o['Guid'];
        if (isset($o['Name'])) $this->Name = $o['Name'];
        if (isset($o['Anmerkung'])) $this->Anmerkung = $o['Anmerkung'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Guid)) $o['Guid'] = $this->Guid;
        if (isset($this->Name)) $o['Name'] = $this->Name;
        if (isset($this->Anmerkung)) $o['Anmerkung'] = $this->Anmerkung;
        return empty($o) ? new class(){} : $o;
    }
}

enum DeviceClass : string
{
    case HKV = 'HKV';
    case WWZ = 'WWZ';
    case KWZ = 'KWZ';
    case WZ = 'WZ';
    case WMZ = 'WMZ';
    case KMZ = 'KMZ';
    case RM = 'RM';
    case SZ = 'SZ';
    case FM = 'FM';
    case Sonstige = 'Sonstige';
    case Null = 'Null';
    case ENT = 'ENT';
}

// @DataContract
class DeviceKind implements JsonSerializable
{
    public function __construct(
        // @DataMember(Name="Guid")
        /** @var string */
        public string $Guid='',

        // @DataMember(Name="GeraeteTypLang")
        /** @var string|null */
        public ?string $GeraeteTypLang=null,

        // @DataMember(Name="GeraeteTypKurz")
        /** @var string|null */
        public ?string $GeraeteTypKurz=null,

        // @DataMember(Name="Ablesbar")
        /** @var bool|null */
        public ?bool $Ablesbar=null,

        // @DataMember(Name="GeraeteKlasse")
        /** @var DeviceClass|null */
        public ?DeviceClass $GeraeteKlasse=null,

        // @DataMember(Name="Limit")
        /** @var float|null */
        public ?float $Limit=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Guid'])) $this->Guid = $o['Guid'];
        if (isset($o['GeraeteTypLang'])) $this->GeraeteTypLang = $o['GeraeteTypLang'];
        if (isset($o['GeraeteTypKurz'])) $this->GeraeteTypKurz = $o['GeraeteTypKurz'];
        if (isset($o['Ablesbar'])) $this->Ablesbar = $o['Ablesbar'];
        if (isset($o['GeraeteKlasse'])) $this->GeraeteKlasse = JsonConverters::from('DeviceClass', $o['GeraeteKlasse']);
        if (isset($o['Limit'])) $this->Limit = $o['Limit'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Guid)) $o['Guid'] = $this->Guid;
        if (isset($this->GeraeteTypLang)) $o['GeraeteTypLang'] = $this->GeraeteTypLang;
        if (isset($this->GeraeteTypKurz)) $o['GeraeteTypKurz'] = $this->GeraeteTypKurz;
        if (isset($this->Ablesbar)) $o['Ablesbar'] = $this->Ablesbar;
        if (isset($this->GeraeteKlasse)) $o['GeraeteKlasse'] = JsonConverters::to('DeviceClass', $this->GeraeteKlasse);
        if (isset($this->Limit)) $o['Limit'] = $this->Limit;
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class Article implements JsonSerializable
{
    public function __construct(
        // @DataMember(Name="Guid")
        /** @var string */
        public string $Guid='',

        // @DataMember(Name="Artikelnummer")
        /** @var string|null */
        public ?string $Artikelnummer=null,

        // @DataMember(Name="Bezeichnung")
        /** @var string|null */
        public ?string $Bezeichnung=null,

        // @DataMember(Name="Anmerkung")
        /** @var string|null */
        public ?string $Anmerkung=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Guid'])) $this->Guid = $o['Guid'];
        if (isset($o['Artikelnummer'])) $this->Artikelnummer = $o['Artikelnummer'];
        if (isset($o['Bezeichnung'])) $this->Bezeichnung = $o['Bezeichnung'];
        if (isset($o['Anmerkung'])) $this->Anmerkung = $o['Anmerkung'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Guid)) $o['Guid'] = $this->Guid;
        if (isset($this->Artikelnummer)) $o['Artikelnummer'] = $this->Artikelnummer;
        if (isset($this->Bezeichnung)) $o['Bezeichnung'] = $this->Bezeichnung;
        if (isset($this->Anmerkung)) $o['Anmerkung'] = $this->Anmerkung;
        return empty($o) ? new class(){} : $o;
    }
}

enum CommunicationKind : int
{
    case Telefon = 1;
    case Mobil = 2;
    case Fax = 3;
    case EMail = 4;
    case Web = 5;
}

// @DataContract
class CommunicationFeature implements JsonSerializable
{
    public function __construct(
        // @DataMember(Name="Guid")
        /** @var string */
        public string $Guid='',

        // @DataMember(Name="Funktion")
        /** @var string|null */
        public ?string $Funktion=null,

        // @DataMember(Name="Typ")
        /** @var CommunicationKind|null */
        public ?CommunicationKind $Typ=null,

        // @DataMember(Name="IstVorgegeben")
        /** @var bool|null */
        public ?bool $IstVorgegeben=null,

        // @DataMember(Name="Anmerkung")
        /** @var string|null */
        public ?string $Anmerkung=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Guid'])) $this->Guid = $o['Guid'];
        if (isset($o['Funktion'])) $this->Funktion = $o['Funktion'];
        if (isset($o['Typ'])) $this->Typ = JsonConverters::from('CommunicationKind', $o['Typ']);
        if (isset($o['IstVorgegeben'])) $this->IstVorgegeben = $o['IstVorgegeben'];
        if (isset($o['Anmerkung'])) $this->Anmerkung = $o['Anmerkung'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Guid)) $o['Guid'] = $this->Guid;
        if (isset($this->Funktion)) $o['Funktion'] = $this->Funktion;
        if (isset($this->Typ)) $o['Typ'] = JsonConverters::to('CommunicationKind', $this->Typ);
        if (isset($this->IstVorgegeben)) $o['IstVorgegeben'] = $this->IstVorgegeben;
        if (isset($this->Anmerkung)) $o['Anmerkung'] = $this->Anmerkung;
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class ReadingKind implements JsonSerializable
{
    public function __construct(
        // @DataMember(Name="Guid")
        /** @var string */
        public string $Guid='',

        // @DataMember(Name="Kurzbezeichnung")
        /** @var string|null */
        public ?string $Kurzbezeichnung=null,

        // @DataMember(Name="Langbezeichnung")
        /** @var string|null */
        public ?string $Langbezeichnung=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Guid'])) $this->Guid = $o['Guid'];
        if (isset($o['Kurzbezeichnung'])) $this->Kurzbezeichnung = $o['Kurzbezeichnung'];
        if (isset($o['Langbezeichnung'])) $this->Langbezeichnung = $o['Langbezeichnung'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Guid)) $o['Guid'] = $this->Guid;
        if (isset($this->Kurzbezeichnung)) $o['Kurzbezeichnung'] = $this->Kurzbezeichnung;
        if (isset($this->Langbezeichnung)) $o['Langbezeichnung'] = $this->Langbezeichnung;
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class AmwInfoKey implements JsonSerializable
{
    public function __construct(
        // @DataMember(Name="Guid")
        /** @var string */
        public string $Guid='',

        // @DataMember(Name="Key")
        /** @var int */
        public int $Key=0,

        // @DataMember(Name="Info")
        /** @var string|null */
        public ?string $Info=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Guid'])) $this->Guid = $o['Guid'];
        if (isset($o['Key'])) $this->Key = $o['Key'];
        if (isset($o['Info'])) $this->Info = $o['Info'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Guid)) $o['Guid'] = $this->Guid;
        if (isset($this->Key)) $o['Key'] = $this->Key;
        if (isset($this->Info)) $o['Info'] = $this->Info;
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class AdditionalArticle implements JsonSerializable
{
    public function __construct(
        // @DataMember(Name="Guid")
        /** @var string */
        public string $Guid='',

        // @DataMember(Name="Nummer")
        /** @var string|null */
        public ?string $Nummer=null,

        // @DataMember(Name="Bezeichnung")
        /** @var string|null */
        public ?string $Bezeichnung=null,

        // @DataMember(Name="Anmerkung")
        /** @var string|null */
        public ?string $Anmerkung=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Guid'])) $this->Guid = $o['Guid'];
        if (isset($o['Nummer'])) $this->Nummer = $o['Nummer'];
        if (isset($o['Bezeichnung'])) $this->Bezeichnung = $o['Bezeichnung'];
        if (isset($o['Anmerkung'])) $this->Anmerkung = $o['Anmerkung'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Guid)) $o['Guid'] = $this->Guid;
        if (isset($this->Nummer)) $o['Nummer'] = $this->Nummer;
        if (isset($this->Bezeichnung)) $o['Bezeichnung'] = $this->Bezeichnung;
        if (isset($this->Anmerkung)) $o['Anmerkung'] = $this->Anmerkung;
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class Room implements JsonSerializable
{
    public function __construct(
        // @DataMember(Name="Guid")
        /** @var string */
        public string $Guid='',

        // @DataMember(Name="Kurzbezeichnung")
        /** @var string|null */
        public ?string $Kurzbezeichnung=null,

        // @DataMember(Name="Bezeichnung")
        /** @var string|null */
        public ?string $Bezeichnung=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Guid'])) $this->Guid = $o['Guid'];
        if (isset($o['Kurzbezeichnung'])) $this->Kurzbezeichnung = $o['Kurzbezeichnung'];
        if (isset($o['Bezeichnung'])) $this->Bezeichnung = $o['Bezeichnung'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Guid)) $o['Guid'] = $this->Guid;
        if (isset($this->Kurzbezeichnung)) $o['Kurzbezeichnung'] = $this->Kurzbezeichnung;
        if (isset($this->Bezeichnung)) $o['Bezeichnung'] = $this->Bezeichnung;
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class UpdateStammdaten implements JsonSerializable
{
    public function __construct(
        // @DataMember(Name="StammdatenInfo")
        /** @var StammdatenInfo|null */
        public ?StammdatenInfo $StammdatenInfo=null,

        // @DataMember(Name="GeraeteKatalog")
        /** @var array<DeviceCatalog>|null */
        public ?array $GeraeteKatalog=null,

        // @DataMember(Name="Hersteller")
        /** @var array<Manufacturer>|null */
        public ?array $Hersteller=null,

        // @DataMember(Name="Geraetetypen")
        /** @var array<DeviceKind>|null */
        public ?array $Geraetetypen=null,

        // @DataMember(Name="Artikel")
        /** @var array<Article>|null */
        public ?array $Artikel=null,

        // @DataMember(Name="KommunikationFunktionen")
        /** @var array<CommunicationFeature>|null */
        public ?array $KommunikationFunktionen=null,

        // @DataMember(Name="Ablesearten")
        /** @var array<ReadingKind>|null */
        public ?array $Ablesearten=null,

        // @DataMember(Name="Infoschluessel")
        /** @var array<AmwInfoKey>|null */
        public ?array $Infoschluessel=null,

        // @DataMember(Name="Zusatzartikel")
        /** @var array<AdditionalArticle>|null */
        public ?array $Zusatzartikel=null,

        // @DataMember(Name="Raeume")
        /** @var array<Room>|null */
        public ?array $Raeume=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['StammdatenInfo'])) $this->StammdatenInfo = JsonConverters::from('StammdatenInfo', $o['StammdatenInfo']);
        if (isset($o['GeraeteKatalog'])) $this->GeraeteKatalog = JsonConverters::fromArray('DeviceCatalog', $o['GeraeteKatalog']);
        if (isset($o['Hersteller'])) $this->Hersteller = JsonConverters::fromArray('Manufacturer', $o['Hersteller']);
        if (isset($o['Geraetetypen'])) $this->Geraetetypen = JsonConverters::fromArray('DeviceKind', $o['Geraetetypen']);
        if (isset($o['Artikel'])) $this->Artikel = JsonConverters::fromArray('Article', $o['Artikel']);
        if (isset($o['KommunikationFunktionen'])) $this->KommunikationFunktionen = JsonConverters::fromArray('CommunicationFeature', $o['KommunikationFunktionen']);
        if (isset($o['Ablesearten'])) $this->Ablesearten = JsonConverters::fromArray('ReadingKind', $o['Ablesearten']);
        if (isset($o['Infoschluessel'])) $this->Infoschluessel = JsonConverters::fromArray('AmwInfoKey', $o['Infoschluessel']);
        if (isset($o['Zusatzartikel'])) $this->Zusatzartikel = JsonConverters::fromArray('AdditionalArticle', $o['Zusatzartikel']);
        if (isset($o['Raeume'])) $this->Raeume = JsonConverters::fromArray('Room', $o['Raeume']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->StammdatenInfo)) $o['StammdatenInfo'] = JsonConverters::to('StammdatenInfo', $this->StammdatenInfo);
        if (isset($this->GeraeteKatalog)) $o['GeraeteKatalog'] = JsonConverters::toArray('DeviceCatalog', $this->GeraeteKatalog);
        if (isset($this->Hersteller)) $o['Hersteller'] = JsonConverters::toArray('Manufacturer', $this->Hersteller);
        if (isset($this->Geraetetypen)) $o['Geraetetypen'] = JsonConverters::toArray('DeviceKind', $this->Geraetetypen);
        if (isset($this->Artikel)) $o['Artikel'] = JsonConverters::toArray('Article', $this->Artikel);
        if (isset($this->KommunikationFunktionen)) $o['KommunikationFunktionen'] = JsonConverters::toArray('CommunicationFeature', $this->KommunikationFunktionen);
        if (isset($this->Ablesearten)) $o['Ablesearten'] = JsonConverters::toArray('ReadingKind', $this->Ablesearten);
        if (isset($this->Infoschluessel)) $o['Infoschluessel'] = JsonConverters::toArray('AmwInfoKey', $this->Infoschluessel);
        if (isset($this->Zusatzartikel)) $o['Zusatzartikel'] = JsonConverters::toArray('AdditionalArticle', $this->Zusatzartikel);
        if (isset($this->Raeume)) $o['Raeume'] = JsonConverters::toArray('Room', $this->Raeume);
        return empty($o) ? new class(){} : $o;
    }
}

PHP UpdateStammdaten DTOs

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

HTTP + CSV

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

POST /Stammdaten HTTP/1.1 
Host: stage-servamw.eras-online.de 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"StammdatenInfo":{"Guid":"00000000000000000000000000000000","Version":"String","Anmerkung":"String"}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

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