Report Filing Service

<back to all web services

BatchDeleteProtocolsAsync

DeleteProtocolsBatchAsync

Represents a request to search and delete protocols by using multiple search criteria in an asynchronous operation.

Requires Authentication
The following routes are available for this service:
POST/async/elma/protocols/batch/delete
<?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};


enum Verfahren : string
{
    case CC = 'CC';
    case CS = 'CS';
    case DC = 'DC';
    case FC = 'FC';
    case FS = 'FS';
    case FA = 'FA';
    case KM = 'KM';
}

/** @description Represent parameters to search or filter on submissions.  */
// @Api(Description="Represent parameters to search or filter on submissions. ")
class SearchCriteria implements JsonSerializable
{
    public function __construct(
        /** @description Full or partial name of the item (report or protocol) to search. */
        // @ApiMember(Description="Full or partial name of the item (report or protocol) to search.")
        /** @var string|null */
        public ?string $name=null,

        /** @description TThe ELMA product designation. */
        // @ApiMember(Description="TThe ELMA product designation.")
        /** @var Verfahren|null */
        public ?Verfahren $designation=null
    ) {
    }

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

/** @description Represents a PEM-encoded certificate. */
// @Api(Description="Represents a PEM-encoded certificate.")
class PemCertificate implements JsonSerializable
{
    public function __construct(
        /** @description The unique identifier (e.g. the file name) of the certificate. */
        // @ApiMember(Description="The unique identifier (e.g. the file name) of the certificate.", IsRequired=true, Name="Id")
        /** @var string */
        public string $id='',

        /** @description The PEM-encoded content of the certificate. */
        // @ApiMember(Description="The PEM-encoded content of the certificate.", IsRequired=true, Name="Content")
        /** @var string */
        public string $content='',

        /** @description The description of the certificate. */
        // @ApiMember(Description="The description of the certificate.", Name="Description")
        /** @var string|null */
        public ?string $description=null,

        /** @description Tags to label or identify the certificate. */
        // @ApiMember(Description="Tags to label or identify the certificate.", Name="Tags")
        /** @var array<string>|null */
        public ?array $tags=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id'])) $this->id = $o['id'];
        if (isset($o['content'])) $this->content = $o['content'];
        if (isset($o['description'])) $this->description = $o['description'];
        if (isset($o['tags'])) $this->tags = JsonConverters::fromArray('string', $o['tags']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->id)) $o['id'] = $this->id;
        if (isset($this->content)) $o['content'] = $this->content;
        if (isset($this->description)) $o['description'] = $this->description;
        if (isset($this->tags)) $o['tags'] = JsonConverters::toArray('string', $this->tags);
        return empty($o) ? new class(){} : $o;
    }
}

/** @description Represents the credentials of a user to authenticate the access of an ELMA server. */
// @Api(Description="Represents the credentials of a user to authenticate the access of an ELMA server.")
class ElmaCredential implements IElmaCredential, JsonSerializable
{
    public function __construct(
        /** @description The unique identifier of this instance.  This identifer is only relevant in the context of data storage and retrieval. */
        // @ApiMember(Description="The unique identifier of this instance.  This identifer is only relevant in the context of data storage and retrieval.", IsRequired=true, Name="Id")
        /** @var string */
        public string $id='',

        /** @description The security certificate to authenticate the user and grant access to the ELMA server.  This certificate is generated from the BZSt-issued *.pfx BOP certificate. More details on BOP (BZSt-Online Portal - https://www.elster.de/bportal/start) */
        // @ApiMember(Description="The security certificate to authenticate the user and grant access to the ELMA server.  This certificate is generated from the BZSt-issued *.pfx BOP certificate. More details on BOP (BZSt-Online Portal - https://www.elster.de/bportal/start)", IsRequired=true, Name="Certificate")
        // @Required()
        // @StringLength(2147483647)
        /** @var PemCertificate|null */
        public ?PemCertificate $certificate=null,

        /** @description The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9).  The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start).  The number is available in the private area of the BOP user account under "My BOP" under the "Registration Information" */
        // @ApiMember(Description="The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9).  The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start).  The number is available in the private area of the BOP user account under \"My BOP\" under the \"Registration Information\"", IsRequired=true, Name="AuthSteuernummer")
        // @Required()
        // @StringLength(11)
        /** @var string */
        public string $authSteuernummer='',

        /** @description The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9). */
        // @ApiMember(Description="The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9).", IsRequired=true, Name="AccountId")
        // @Required()
        // @StringLength(10)
        /** @var string */
        public string $accountId='',

        /** @description The password to protect the certificate from unauthorized access. */
        // @ApiMember(Description="The password to protect the certificate from unauthorized access.", IsRequired=true, Name="Password")
        /** @var string */
        public string $password=''
    ) {
    }

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

/** @description Specifies a request to search and delete protocols by using multiple search criteria. */
// @Api(Description="Specifies a request to search and delete protocols by using multiple search criteria.")
class BatchDeleteProtocolsBase implements IPost, IAuthenticateRequest, IStageableRequest, IBatchSearchRequest, JsonSerializable
{
    public function __construct(
        /** @description The parameters to search or filter the found protocols. */
        // @ApiMember(Description="The parameters to search or filter the found protocols.", IsRequired=true)
        /** @var array<SearchCriteria>|null */
        public ?array $searchCriteria=null,

        /** @description The credential to gain access on the ELMA server. */
        // @ApiMember(Description="The credential to gain access on the ELMA server.", IsRequired=true)
        /** @var ElmaCredential|null */
        public ?ElmaCredential $credential=null,

        /** @description Should operations be staged on the ELMA server? true: operations are executed on the Test ELMA server. false: operations are executed on the Live (Production) ELMA server. */
        // @ApiMember(Description="Should operations be staged on the ELMA server? true: operations are executed on the Test ELMA server. false: operations are executed on the Live (Production) ELMA server.")
        /** @var bool|null */
        public ?bool $stagingEnabled=null
    ) {
    }

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

enum DatenArt : string
{
    case ELMA_CC = 'ELMA_CC';
    case ELMA_CCRM = 'ELMA_CCRM';
    case ELMA_CRS = 'ELMA_CRS';
    case ELMA_CRSRM = 'ELMA_CRSRM';
    case ELMA_DC = 'ELMA_DC';
    case ELMA_DCRM = 'ELMA_DCRM';
    case ELMA_FC = 'ELMA_FC';
    case ELMA_FCRM = 'ELMA_FCRM';
}

enum Verarbeitungslauf : string
{
    case PRODUKTIONSLAUF = 'PRODUKTIONSLAUF';
    case TESTLAUF = 'TESTLAUF';
}

/** @description Represents the header of an ELMA communication section. */
// @Api(Description="Represents the header of an ELMA communication section.")
class ElmaHeader implements JsonSerializable
{
    public function __construct(
        /** @description The process-specific report type of an ELMA document.It distinguishes by the type of input. */
        // @ApiMember(Description="The process-specific report type of an ELMA document.It distinguishes by the type of input.", IsRequired=true, Name="DatenArt")
        /** @var DatenArt|null */
        public ?DatenArt $datenArt=null,

        /** @description The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9). The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start). The number is available in the private area of the BOP user account under "My BOP" under the "Registration Information" */
        // @ApiMember(Description="The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9). The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start). The number is available in the private area of the BOP user account under \"My BOP\" under the \"Registration Information\"", IsRequired=true, Name="AuthSteuernummer")
        /** @var string */
        public string $authSteuernummer='',

        /** @description The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9). */
        // @ApiMember(Description="The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9).", IsRequired=true, Name="AccountId")
        /** @var string */
        public string $accountId='',

        /** @description The time of creation.Corresponds to the time, at which the user created a file. */
        // @ApiMember(Description="The time of creation.Corresponds to the time, at which the user created a file.", Name="ErstellungsDatum")
        /** @var DateTime|null */
        public ?DateTime $erstellungsDatum=null,

        /** @description User custom ID.This field can be filled with internal reference information of the user. */
        // @ApiMember(Description="User custom ID.This field can be filled with internal reference information of the user.", Name="KundeneigeneId")
        /** @var string|null */
        public ?string $kundeneigeneId=null,

        /** @description Data transfer identifier.Hexadecimal formatted number. Example: 550e8400-e29b-11d4-a716-446655440000 */
        // @ApiMember(Description="Data transfer identifier.Hexadecimal formatted number. Example: 550e8400-e29b-11d4-a716-446655440000", Name="UUID")
        /** @var string|null */
        public ?string $uuid=null,

        /** @description Distinguishes between test and live data transfer. */
        // @ApiMember(Description="Distinguishes between test and live data transfer.", Name="Verarbeitungslauf")
        /** @var Verarbeitungslauf|null */
        public ?Verarbeitungslauf $verarbeitungslauf=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['datenArt'])) $this->datenArt = JsonConverters::from('DatenArt', $o['datenArt']);
        if (isset($o['authSteuernummer'])) $this->authSteuernummer = $o['authSteuernummer'];
        if (isset($o['accountId'])) $this->accountId = $o['accountId'];
        if (isset($o['erstellungsDatum'])) $this->erstellungsDatum = JsonConverters::from('DateTime', $o['erstellungsDatum']);
        if (isset($o['kundeneigeneId'])) $this->kundeneigeneId = $o['kundeneigeneId'];
        if (isset($o['uuid'])) $this->uuid = $o['uuid'];
        if (isset($o['verarbeitungslauf'])) $this->verarbeitungslauf = JsonConverters::from('Verarbeitungslauf', $o['verarbeitungslauf']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->datenArt)) $o['datenArt'] = JsonConverters::to('DatenArt', $this->datenArt);
        if (isset($this->authSteuernummer)) $o['authSteuernummer'] = $this->authSteuernummer;
        if (isset($this->accountId)) $o['accountId'] = $this->accountId;
        if (isset($this->erstellungsDatum)) $o['erstellungsDatum'] = JsonConverters::to('DateTime', $this->erstellungsDatum);
        if (isset($this->kundeneigeneId)) $o['kundeneigeneId'] = $this->kundeneigeneId;
        if (isset($this->uuid)) $o['uuid'] = $this->uuid;
        if (isset($this->verarbeitungslauf)) $o['verarbeitungslauf'] = JsonConverters::to('Verarbeitungslauf', $this->verarbeitungslauf);
        return empty($o) ? new class(){} : $o;
    }
}

class ElmaVerfahren implements JsonSerializable
{
    public function __construct(
        /** @description The content of process-specific definition. */
        // @ApiMember(Description="The content of process-specific definition.", Name="Inhalt")
        /** @var Object|null */
        public ?Object $inhalt=null
    ) {
    }

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

/** @description Represents the communication section of an ELMA report document. */
// @Api(Description="Represents the communication section of an ELMA report document.")
class ElmaKom implements JsonSerializable
{
    public function __construct(
        /** @description The version number of the ELMAKOM definition. */
        // @ApiMember(Description="The version number of the ELMAKOM definition.", IsRequired=true, Name="ElmakomVersion")
        /** @var string */
        public string $elmakomVersion='',

        /** @description The header part of the ELMAKOM definition. */
        // @ApiMember(Description="The header part of the ELMAKOM definition.", IsRequired=true, Name="ElmaHeader")
        /** @var ElmaHeader|null */
        public ?ElmaHeader $elmaHeader=null,

        /** @description The process part of the ELMAKOM definition. */
        // @ApiMember(Description="The process part of the ELMAKOM definition.", IsRequired=true, Name="ElmaVerfahren")
        /** @var ElmaVerfahren|null */
        public ?ElmaVerfahren $elmaVerfahren=null
    ) {
    }

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

enum Status : int
{
    case ELMA_GLOBAL_UNBEKANNT = 0;
    case ELMA_OK = 8000;
    case ELMA_PARSER_FEHLER = 8001;
    case ELMA_UNGUELTIGE_KODIERUNG = 8002;
    case ELMA_UNGUELTIGE_DATEINAME = 8003;
    case ELMA_FALSCHE_BZSTNR_ODER_ACCOUNTID = 8004;
    case ELMA_SIGNATUR_DATEI_FEHLT = 8005;
    case ELMA_SIGNATUR_PRUEFUNG_FEHLERHAFT = 8006;
    case ELMA_NOTWENDIGE_FACHLICHE_BERECHTIGUNGEN_FEHLEN = 8007;
    case ELMA_FREISCHALTUNG_FEHLT = 8008;
    case ELMA_SPERRE_VORHANDEN = 8009;
    case ELMA_DATEINAME_BEREITS_VERWENDET = 8010;
    case ELMA_DATEIINHALT_IDENTISCH = 8011;
    case ELMA_BZSTNR_ODER_ACCOUNTID_STIMMT_NICHT_UBEREIN = 8012;
    case ELMA_TESTDATEN = 8013;
}

/** @description Represents an ELMA protocol report, which the ELMA servers return after a formal verification of a submitted ELMA report. */
// @Api(Description="Represents an ELMA protocol report, which the ELMA servers return after a formal verification of a submitted ELMA report.")
class ElmaProtokoll implements JsonSerializable
{
    public function __construct(
        /** @description File name of the processed input ELMA report. */
        // @ApiMember(Description="File name of the processed input ELMA report.", Name="Dateiname")
        /** @var string|null */
        public ?string $dateiname=null,

        /** @description The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9). The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start). The number is available in the private area of the BOP user account under "My BOP" under the "Registration Information" */
        // @ApiMember(Description="The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9). The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start). The number is available in the private area of the BOP user account under \"My BOP\" under the \"Registration Information\"", IsRequired=true, Name="AuthSteuernummer")
        /** @var string */
        public string $authSteuernummer='',

        /** @description The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9). */
        // @ApiMember(Description="The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9).", IsRequired=true, Name="AccountId")
        /** @var string */
        public string $accountId='',

        /** @description Date on which the request was processed by ELAN (ELMA receiving server at BZSt). */
        // @ApiMember(Description="Date on which the request was processed by ELAN (ELMA receiving server at BZSt).", Name="VerarbeitungsDatum")
        /** @var DateTime|null */
        public ?DateTime $verarbeitungsDatum=null,

        /** @description Time of processing by ELAN (ELMA receiving server at BZSt). */
        // @ApiMember(Description="Time of processing by ELAN (ELMA receiving server at BZSt).", Name="VerarbeitungsZeit")
        /** @var DateTime|null */
        public ?DateTime $verarbeitungsZeit=null,

        /** @description The status code of the ELMA process. */
        // @ApiMember(Description="The status code of the ELMA process.", Name="Status")
        /** @var Status|null */
        public ?Status $status=null,

        /** @description A brief description of the status. */
        // @ApiMember(Description="A brief description of the status.", Name="StatusText")
        /** @var string|null */
        public ?string $statusText=null,

        /** @description A detailed information on the status. */
        // @ApiMember(Description="A detailed information on the status.", Name="StatusDetail")
        /** @var string|null */
        public ?string $statusDetail=null,

        /** @description User custom ID.This field can be filled with internal reference information of the user. */
        // @ApiMember(Description="User custom ID.This field can be filled with internal reference information of the user.", Name="KundeneigeneId")
        /** @var string|null */
        public ?string $kundeneigeneId=null,

        /** @description Data transfer identifier.Hexadecimal formatted number. Example: 550e8400-e29b-11d4-a716-446655440000 */
        // @ApiMember(Description="Data transfer identifier.Hexadecimal formatted number. Example: 550e8400-e29b-11d4-a716-446655440000", Name="UUID")
        /** @var string|null */
        public ?string $uuid=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['dateiname'])) $this->dateiname = $o['dateiname'];
        if (isset($o['authSteuernummer'])) $this->authSteuernummer = $o['authSteuernummer'];
        if (isset($o['accountId'])) $this->accountId = $o['accountId'];
        if (isset($o['verarbeitungsDatum'])) $this->verarbeitungsDatum = JsonConverters::from('DateTime', $o['verarbeitungsDatum']);
        if (isset($o['verarbeitungsZeit'])) $this->verarbeitungsZeit = JsonConverters::from('DateTime', $o['verarbeitungsZeit']);
        if (isset($o['status'])) $this->status = JsonConverters::from('Status', $o['status']);
        if (isset($o['statusText'])) $this->statusText = $o['statusText'];
        if (isset($o['statusDetail'])) $this->statusDetail = $o['statusDetail'];
        if (isset($o['kundeneigeneId'])) $this->kundeneigeneId = $o['kundeneigeneId'];
        if (isset($o['uuid'])) $this->uuid = $o['uuid'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->dateiname)) $o['dateiname'] = $this->dateiname;
        if (isset($this->authSteuernummer)) $o['authSteuernummer'] = $this->authSteuernummer;
        if (isset($this->accountId)) $o['accountId'] = $this->accountId;
        if (isset($this->verarbeitungsDatum)) $o['verarbeitungsDatum'] = JsonConverters::to('DateTime', $this->verarbeitungsDatum);
        if (isset($this->verarbeitungsZeit)) $o['verarbeitungsZeit'] = JsonConverters::to('DateTime', $this->verarbeitungsZeit);
        if (isset($this->status)) $o['status'] = JsonConverters::to('Status', $this->status);
        if (isset($this->statusText)) $o['statusText'] = $this->statusText;
        if (isset($this->statusDetail)) $o['statusDetail'] = $this->statusDetail;
        if (isset($this->kundeneigeneId)) $o['kundeneigeneId'] = $this->kundeneigeneId;
        if (isset($this->uuid)) $o['uuid'] = $this->uuid;
        return empty($o) ? new class(){} : $o;
    }
}

/** @description Represents an ELMA protocol report, which the ELMA servers return after a formal verification of a submitted ELMA report. */
// @Api(Description="Represents an ELMA protocol report, which the ELMA servers return after a formal verification of a submitted ELMA report.")
class ElmaFehler implements JsonSerializable
{
    public function __construct(
        /** @description File name of the processed input ELMA report. */
        // @ApiMember(Description="File name of the processed input ELMA report.", Name="Dateiname")
        /** @var string|null */
        public ?string $dateiname=null,

        /** @description The BZSt (Bundeszentralamt für Steuern) - tax number of the user.  11-character text field that may only consist of two capital letters and 9 digits (0-9). The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start). The number is available in the private area of the BOP user account under "My BOP" under the "Registration Information" */
        // @ApiMember(Description="The BZSt (Bundeszentralamt für Steuern) - tax number of the user.  11-character text field that may only consist of two capital letters and 9 digits (0-9). The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start). The number is available in the private area of the BOP user account under \"My BOP\" under the \"Registration Information\"", IsRequired=true, Name="AuthSteuernummer")
        /** @var string */
        public string $authSteuernummer='',

        /** @description The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9). */
        // @ApiMember(Description="The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9).", IsRequired=true, Name="AccountId")
        /** @var string */
        public string $accountId='',

        /** @description Date on which the request was processed by ELAN (ELMA receiving server at BZSt). */
        // @ApiMember(Description="Date on which the request was processed by ELAN (ELMA receiving server at BZSt).", Name="VerarbeitungsDatum")
        /** @var DateTime|null */
        public ?DateTime $verarbeitungsDatum=null,

        /** @description Time of processing by ELAN (ELMA receiving server at BZSt). */
        // @ApiMember(Description="Time of processing by ELAN (ELMA receiving server at BZSt).", Name="VerarbeitungsZeit")
        /** @var DateTime|null */
        public ?DateTime $verarbeitungsZeit=null,

        /** @description The status code of the ELMA process. */
        // @ApiMember(Description="The status code of the ELMA process.", Name="FehlerID")
        /** @var Status|null */
        public ?Status $fehlerID=null,

        /** @description A brief description of the error status. */
        // @ApiMember(Description="A brief description of the error status.", Name="FehlerText")
        /** @var string|null */
        public ?string $fehlerText=null,

        /** @description A detailed information on the status. */
        // @ApiMember(Description="A detailed information on the status.", Name="FehlerProzess")
        /** @var string|null */
        public ?string $fehlerProzess=null,

        /** @description User custom ID.This field can be filled with internal reference information of the user. */
        // @ApiMember(Description="User custom ID.This field can be filled with internal reference information of the user.", Name="KundeneigeneId")
        /** @var string|null */
        public ?string $kundeneigeneId=null,

        /** @description Data transfer identifier.Hexadecimal formatted number. Example: 550e8400-e29b-11d4-a716-446655440000 */
        // @ApiMember(Description="Data transfer identifier.Hexadecimal formatted number. Example: 550e8400-e29b-11d4-a716-446655440000", Name="UUID")
        /** @var string|null */
        public ?string $uuid=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['dateiname'])) $this->dateiname = $o['dateiname'];
        if (isset($o['authSteuernummer'])) $this->authSteuernummer = $o['authSteuernummer'];
        if (isset($o['accountId'])) $this->accountId = $o['accountId'];
        if (isset($o['verarbeitungsDatum'])) $this->verarbeitungsDatum = JsonConverters::from('DateTime', $o['verarbeitungsDatum']);
        if (isset($o['verarbeitungsZeit'])) $this->verarbeitungsZeit = JsonConverters::from('DateTime', $o['verarbeitungsZeit']);
        if (isset($o['fehlerID'])) $this->fehlerID = JsonConverters::from('Status', $o['fehlerID']);
        if (isset($o['fehlerText'])) $this->fehlerText = $o['fehlerText'];
        if (isset($o['fehlerProzess'])) $this->fehlerProzess = $o['fehlerProzess'];
        if (isset($o['kundeneigeneId'])) $this->kundeneigeneId = $o['kundeneigeneId'];
        if (isset($o['uuid'])) $this->uuid = $o['uuid'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->dateiname)) $o['dateiname'] = $this->dateiname;
        if (isset($this->authSteuernummer)) $o['authSteuernummer'] = $this->authSteuernummer;
        if (isset($this->accountId)) $o['accountId'] = $this->accountId;
        if (isset($this->verarbeitungsDatum)) $o['verarbeitungsDatum'] = JsonConverters::to('DateTime', $this->verarbeitungsDatum);
        if (isset($this->verarbeitungsZeit)) $o['verarbeitungsZeit'] = JsonConverters::to('DateTime', $this->verarbeitungsZeit);
        if (isset($this->fehlerID)) $o['fehlerID'] = JsonConverters::to('Status', $this->fehlerID);
        if (isset($this->fehlerText)) $o['fehlerText'] = $this->fehlerText;
        if (isset($this->fehlerProzess)) $o['fehlerProzess'] = $this->fehlerProzess;
        if (isset($this->kundeneigeneId)) $o['kundeneigeneId'] = $this->kundeneigeneId;
        if (isset($this->uuid)) $o['uuid'] = $this->uuid;
        return empty($o) ? new class(){} : $o;
    }
}

/** @description Represents an ELMA report document. */
// @Api(Description="Represents an ELMA report document.")
class Elma implements JsonSerializable
{
    public function __construct(
        /** @description The unique identifier of this instance. This identifer is only relevant in the context of data storage and retrieval. */
        // @ApiMember(Description="The unique identifier of this instance. This identifer is only relevant in the context of data storage and retrieval.", IsRequired=true, Name="Id")
        /** @var string */
        public string $id='',

        /** @description The location of the XML Schema to use for the root namespace. */
        // @ApiMember(Description="The location of the XML Schema to use for the root namespace.", Name="SchemaLocation")
        /** @var string|null */
        public ?string $schemaLocation=null,

        /** @description The type of reporting process. */
        // @ApiMember(Description="The type of reporting process.", IsRequired=true, Name="Verfahren")
        /** @var Verfahren|null */
        public ?Verfahren $verfahren=null,

        /** @description The communication section of the ELMA report document. */
        // @ApiMember(Description="The communication section of the ELMA report document.", IsRequired=true, Name="ElmaKom")
        /** @var ElmaKom|null */
        public ?ElmaKom $elmaKom=null,

        /** @description The communication section of the ELMA report document. */
        // @ApiMember(Description="The communication section of the ELMA report document.", Name="ElmaProtokoll")
        /** @var ElmaProtokoll|null */
        public ?ElmaProtokoll $elmaProtokoll=null,

        /** @description The communication section of the ELMA report document. */
        // @ApiMember(Description="The communication section of the ELMA report document.", Name="ElmaFehler")
        /** @var ElmaFehler|null */
        public ?ElmaFehler $elmaFehler=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id'])) $this->id = $o['id'];
        if (isset($o['schemaLocation'])) $this->schemaLocation = $o['schemaLocation'];
        if (isset($o['verfahren'])) $this->verfahren = JsonConverters::from('Verfahren', $o['verfahren']);
        if (isset($o['elmaKom'])) $this->elmaKom = JsonConverters::from('ElmaKom', $o['elmaKom']);
        if (isset($o['elmaProtokoll'])) $this->elmaProtokoll = JsonConverters::from('ElmaProtokoll', $o['elmaProtokoll']);
        if (isset($o['elmaFehler'])) $this->elmaFehler = JsonConverters::from('ElmaFehler', $o['elmaFehler']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->id)) $o['id'] = $this->id;
        if (isset($this->schemaLocation)) $o['schemaLocation'] = $this->schemaLocation;
        if (isset($this->verfahren)) $o['verfahren'] = JsonConverters::to('Verfahren', $this->verfahren);
        if (isset($this->elmaKom)) $o['elmaKom'] = JsonConverters::to('ElmaKom', $this->elmaKom);
        if (isset($this->elmaProtokoll)) $o['elmaProtokoll'] = JsonConverters::to('ElmaProtokoll', $this->elmaProtokoll);
        if (isset($this->elmaFehler)) $o['elmaFehler'] = JsonConverters::to('ElmaFehler', $this->elmaFehler);
        return empty($o) ? new class(){} : $o;
    }
}

/** @description Represents a base class for a file with raw data. */
// @Api(Description="Represents a base class for a file with raw data.")
class FileBase implements JsonSerializable
{
    public function __construct(
        /** @description The raw data content of the file in bytes. */
        // @ApiMember(Description="The raw data content of the file in bytes.", Name="Content")
        /** @var ByteArray|null */
        public ?ByteArray $content=null
    ) {
    }

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

/** @description Represents information about a file or directory. */
// @Api(Description="Represents information about a file or directory.")
class FileMetadata implements IFileMetadata, JsonSerializable
{
    public function __construct(
        /** @description The name of the file.For files, gets the name of the file.For directories, gets the name of the last directory in the hierarchy if a hierarchy exists; otherwise, the name of the directory. */
        // @ApiMember(Description="The name of the file.\nFor files, gets the name of the file.\nFor directories, gets the name of the last directory in the hierarchy if a hierarchy exists; otherwise, the name of the directory.")
        /** @var string|null */
        public ?string $name=null,

        /** @description The full path of the directory or file. */
        // @ApiMember(Description="The full path of the directory or file.")
        /** @var string|null */
        public ?string $fullName=null,

        /** @description The time the current file or directory was last accessed. */
        // @ApiMember(Description="The time the current file or directory was last accessed.")
        /** @var DateTime */
        public DateTime $lastAccessTime=new DateTime(),

        /** @description The name of the file. */
        // @ApiMember(Description="The name of the file.")
        /** @var DateTime */
        public DateTime $lastAccessTimeUtc=new DateTime(),

        /** @description The time when the current file or directory was last written to. */
        // @ApiMember(Description="The time when the current file or directory was last written to.")
        /** @var DateTime */
        public DateTime $lastWriteTime=new DateTime(),

        /** @description The time, in coordinated universal time (UTC), when the current file or directory was last written to. */
        // @ApiMember(Description="The time, in coordinated universal time (UTC), when the current file or directory was last written to.")
        /** @var DateTime */
        public DateTime $lastWriteTimeUtc=new DateTime(),

        /** @description The size, in bytes, of the current file. */
        // @ApiMember(Description="The size, in bytes, of the current file.")
        /** @var int */
        public int $length=0,

        /** @description The size, in bytes, of the current file. */
        // @ApiMember(Description="The size, in bytes, of the current file.")
        /** @var int */
        public int $userId=0,

        /** @description The file group id. */
        // @ApiMember(Description="The file group id.")
        /** @var int */
        public int $groupId=0,

        /** @description A value that indicates whether the others can read from this file. */
        // @ApiMember(Description="A value that indicates whether the others can read from this file.")
        /** @var bool|null */
        public ?bool $othersCanRead=null,

        /** @description A value that indicates whether the group members can execute this file. */
        // @ApiMember(Description="A value that indicates whether the group members can execute this file.")
        /** @var bool|null */
        public ?bool $groupCanExecute=null,

        /** @description A value that indicates whether the group members can write into this file. */
        // @ApiMember(Description="A value that indicates whether the group members can write into this file.")
        /** @var bool|null */
        public ?bool $groupCanWrite=null,

        /** @description A value that indicates whether the group members can read from this file. */
        // @ApiMember(Description="A value that indicates whether the group members can read from this file.")
        /** @var bool|null */
        public ?bool $groupCanRead=null,

        /** @description A value that indicates whether the owner can execute this file. */
        // @ApiMember(Description="A value that indicates whether the owner can execute this file.")
        /** @var bool|null */
        public ?bool $ownerCanExecute=null,

        /** @description A value that indicates whether the owner can write into this file. */
        // @ApiMember(Description="A value that indicates whether the owner can write into this file.")
        /** @var bool|null */
        public ?bool $ownerCanWrite=null,

        /** @description A value that indicates whether the owner can read from this file. */
        // @ApiMember(Description="A value that indicates whether the owner can read from this file.")
        /** @var bool|null */
        public ?bool $ownerCanRead=null,

        /** @description A value that indicates whether others can read from this file. */
        // @ApiMember(Description="A value that indicates whether others can read from this file.")
        /** @var bool|null */
        public ?bool $othersCanExecute=null,

        /** @description A value that indicates whether others can write into this file. */
        // @ApiMember(Description="A value that indicates whether others can write into this file.")
        /** @var bool|null */
        public ?bool $othersCanWrite=null,

        /** @description Extensions to the file attributes. */
        // @ApiMember(Description="Extensions to the file attributes.")
        /** @var array<string,string>|null */
        public ?array $extensions=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['name'])) $this->name = $o['name'];
        if (isset($o['fullName'])) $this->fullName = $o['fullName'];
        if (isset($o['lastAccessTime'])) $this->lastAccessTime = JsonConverters::from('DateTime', $o['lastAccessTime']);
        if (isset($o['lastAccessTimeUtc'])) $this->lastAccessTimeUtc = JsonConverters::from('DateTime', $o['lastAccessTimeUtc']);
        if (isset($o['lastWriteTime'])) $this->lastWriteTime = JsonConverters::from('DateTime', $o['lastWriteTime']);
        if (isset($o['lastWriteTimeUtc'])) $this->lastWriteTimeUtc = JsonConverters::from('DateTime', $o['lastWriteTimeUtc']);
        if (isset($o['length'])) $this->length = $o['length'];
        if (isset($o['userId'])) $this->userId = $o['userId'];
        if (isset($o['groupId'])) $this->groupId = $o['groupId'];
        if (isset($o['othersCanRead'])) $this->othersCanRead = $o['othersCanRead'];
        if (isset($o['groupCanExecute'])) $this->groupCanExecute = $o['groupCanExecute'];
        if (isset($o['groupCanWrite'])) $this->groupCanWrite = $o['groupCanWrite'];
        if (isset($o['groupCanRead'])) $this->groupCanRead = $o['groupCanRead'];
        if (isset($o['ownerCanExecute'])) $this->ownerCanExecute = $o['ownerCanExecute'];
        if (isset($o['ownerCanWrite'])) $this->ownerCanWrite = $o['ownerCanWrite'];
        if (isset($o['ownerCanRead'])) $this->ownerCanRead = $o['ownerCanRead'];
        if (isset($o['othersCanExecute'])) $this->othersCanExecute = $o['othersCanExecute'];
        if (isset($o['othersCanWrite'])) $this->othersCanWrite = $o['othersCanWrite'];
        if (isset($o['extensions'])) $this->extensions = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['extensions']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->name)) $o['name'] = $this->name;
        if (isset($this->fullName)) $o['fullName'] = $this->fullName;
        if (isset($this->lastAccessTime)) $o['lastAccessTime'] = JsonConverters::to('DateTime', $this->lastAccessTime);
        if (isset($this->lastAccessTimeUtc)) $o['lastAccessTimeUtc'] = JsonConverters::to('DateTime', $this->lastAccessTimeUtc);
        if (isset($this->lastWriteTime)) $o['lastWriteTime'] = JsonConverters::to('DateTime', $this->lastWriteTime);
        if (isset($this->lastWriteTimeUtc)) $o['lastWriteTimeUtc'] = JsonConverters::to('DateTime', $this->lastWriteTimeUtc);
        if (isset($this->length)) $o['length'] = $this->length;
        if (isset($this->userId)) $o['userId'] = $this->userId;
        if (isset($this->groupId)) $o['groupId'] = $this->groupId;
        if (isset($this->othersCanRead)) $o['othersCanRead'] = $this->othersCanRead;
        if (isset($this->groupCanExecute)) $o['groupCanExecute'] = $this->groupCanExecute;
        if (isset($this->groupCanWrite)) $o['groupCanWrite'] = $this->groupCanWrite;
        if (isset($this->groupCanRead)) $o['groupCanRead'] = $this->groupCanRead;
        if (isset($this->ownerCanExecute)) $o['ownerCanExecute'] = $this->ownerCanExecute;
        if (isset($this->ownerCanWrite)) $o['ownerCanWrite'] = $this->ownerCanWrite;
        if (isset($this->ownerCanRead)) $o['ownerCanRead'] = $this->ownerCanRead;
        if (isset($this->othersCanExecute)) $o['othersCanExecute'] = $this->othersCanExecute;
        if (isset($this->othersCanWrite)) $o['othersCanWrite'] = $this->othersCanWrite;
        if (isset($this->extensions)) $o['extensions'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->extensions);
        return empty($o) ? new class(){} : $o;
    }
}

/** @description Represents a generic file that contains raw data content in bytes */
// @Api(Description="Represents a generic file that contains raw data content in bytes")
class BinaryFile extends FileBase implements JsonSerializable
{
    /**
     * @param ByteArray|null $content
     */
    public function __construct(
        ?ByteArray $content=null,
        /** @description The attributes of the file. */
        // @ApiMember(Description="The attributes of the file.")
        /** @var FileMetadata|null */
        public ?FileMetadata $metadata=null,

        /** @description The name of the file without information on its directory path. */
        // @ApiMember(Description="The name of the file without information on its directory path.")
        /** @var string|null */
        public ?string $name=null
    ) {
        parent::__construct($content);
    }

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

/** @description Encapsulates the results of a protocol deletion operation. */
// @Api(Description="Encapsulates the results of a protocol deletion operation.")
class DeletionResponse implements JsonSerializable
{
    public function __construct(
        /** @description The processing logs that form part of an ELMA response to a submitted report */
        // @ApiMember(Description="The processing logs that form part of an ELMA response to a submitted report", Name="Protocols")
        /** @var array<Elma>|null */
        public ?array $protocols=null,

        /** @description Other artefacts including the auxillary files from the BZSt. */
        // @ApiMember(Description="Other artefacts including the auxillary files from the BZSt.", Name="Files")
        /** @var array<BinaryFile>|null */
        public ?array $files=null,

        /** @description The status of the response. */
        // @ApiMember(Description="The status of the response.", Name="ResponseStatus")
        /** @var ResponseStatus|null */
        public ?ResponseStatus $responseStatus=null
    ) {
    }

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

/** @description Represents a request to search and delete protocols by using multiple search criteria in an asynchronous operation. */
// @Api(Description="Represents a request to search and delete protocols by using multiple search criteria in an asynchronous operation.")
class BatchDeleteProtocolsAsync extends BatchDeleteProtocolsBase implements JsonSerializable
{
    /**
     * @param array<SearchCriteria>|null $searchCriteria
     * @param ElmaCredential|null $credential
     * @param bool|null $stagingEnabled
     */
    public function __construct(
        ?array $searchCriteria=null,
        ?ElmaCredential $credential=null,
        ?bool $stagingEnabled=null
    ) {
        parent::__construct($searchCriteria,$credential,$stagingEnabled);
    }

    /** @throws Exception */
    public function fromMap($o): void {
        parent::fromMap($o);
        if (isset($o['searchCriteria'])) $this->searchCriteria = JsonConverters::fromArray('SearchCriteria', $o['searchCriteria']);
        if (isset($o['credential'])) $this->credential = JsonConverters::from('ElmaCredential', $o['credential']);
        if (isset($o['stagingEnabled'])) $this->stagingEnabled = $o['stagingEnabled'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = parent::jsonSerialize();
        if (isset($this->searchCriteria)) $o['searchCriteria'] = JsonConverters::toArray('SearchCriteria', $this->searchCriteria);
        if (isset($this->credential)) $o['credential'] = JsonConverters::to('ElmaCredential', $this->credential);
        if (isset($this->stagingEnabled)) $o['stagingEnabled'] = $this->stagingEnabled;
        return empty($o) ? new class(){} : $o;
    }
}

PHP BatchDeleteProtocolsAsync 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.

POST /async/elma/protocols/batch/delete HTTP/1.1 
Host: reportfiling.staging.pwc.de 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<BatchDeleteProtocolsAsync xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PwC.Elmaas.Core.Services.Contracts.Requests">
  <Credential xmlns:d2p1="http://schemas.datacontract.org/2004/07/PwC.Elmaas.Core.Domain.Concretes.Models">
    <d2p1:AccountId>String</d2p1:AccountId>
    <d2p1:AuthSteuernummer>String</d2p1:AuthSteuernummer>
    <d2p1:Certificate xmlns:d3p1="http://schemas.datacontract.org/2004/07/PwC.Elmaas.Core.Domain.Contracts.Models">
      <d3p1:Content>String</d3p1:Content>
      <d3p1:Description>String</d3p1:Description>
      <d3p1:Id>String</d3p1:Id>
      <d3p1:Tags xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:string>String</d4p1:string>
      </d3p1:Tags>
    </d2p1:Certificate>
    <d2p1:Password>String</d2p1:Password>
  </Credential>
  <SearchCriteria>
    <SearchCriteria>
      <Designation>CC</Designation>
      <Name>String</Name>
    </SearchCriteria>
  </SearchCriteria>
  <StagingEnabled>false</StagingEnabled>
</BatchDeleteProtocolsAsync>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<DeletionResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PwC.Elmaas.Core.Services.Contracts.Responses">
  <Files xmlns:d2p1="http://schemas.datacontract.org/2004/07/PwC.DigitalHub.Utilities.IO.Core.Concretes.Models">
    <d2p1:BinaryFile>
      <Content xmlns="http://schemas.datacontract.org/2004/07/PwC.DigitalHub.Utilities.Domain.IO.Contracts">AA==</Content>
      <d2p1:Metadata>
        <d2p1:Extensions 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:Extensions>
        <d2p1:FullName>String</d2p1:FullName>
        <d2p1:GroupCanExecute>false</d2p1:GroupCanExecute>
        <d2p1:GroupCanRead>false</d2p1:GroupCanRead>
        <d2p1:GroupCanWrite>false</d2p1:GroupCanWrite>
        <d2p1:GroupId>0</d2p1:GroupId>
        <d2p1:LastAccessTime>0001-01-01T00:00:00</d2p1:LastAccessTime>
        <d2p1:LastAccessTimeUtc>0001-01-01T00:00:00</d2p1:LastAccessTimeUtc>
        <d2p1:LastWriteTime>0001-01-01T00:00:00</d2p1:LastWriteTime>
        <d2p1:LastWriteTimeUtc>0001-01-01T00:00:00</d2p1:LastWriteTimeUtc>
        <d2p1:Length>0</d2p1:Length>
        <d2p1:Name>String</d2p1:Name>
        <d2p1:OthersCanExecute>false</d2p1:OthersCanExecute>
        <d2p1:OthersCanRead>false</d2p1:OthersCanRead>
        <d2p1:OthersCanWrite>false</d2p1:OthersCanWrite>
        <d2p1:OwnerCanExecute>false</d2p1:OwnerCanExecute>
        <d2p1:OwnerCanRead>false</d2p1:OwnerCanRead>
        <d2p1:OwnerCanWrite>false</d2p1:OwnerCanWrite>
        <d2p1:UserId>0</d2p1:UserId>
      </d2p1:Metadata>
      <d2p1:Name>String</d2p1:Name>
    </d2p1:BinaryFile>
  </Files>
  <Protocols xmlns:d2p1="http://schemas.datacontract.org/2004/07/PwC.Elmaas.Core.Domain.Concretes.Models">
    <d2p1:Elma xmlns:n1="http://www.itzbund.de/ELAN/01">
      <n1:ELMAKOM ELMAKOMVersion="String">
        <n1:ELMAHeader>
          <n1:DatenArt>ELMA_CC</n1:DatenArt>
          <n1:AuthSteuernummer>String</n1:AuthSteuernummer>
          <n1:AccountID>String</n1:AccountID>
          <n1:ErstellungsDatum>0001-01-01T00:00:00.000</n1:ErstellungsDatum>
          <n1:KundeneigeneID>String</n1:KundeneigeneID>
          <n1:UUID>00000000-0000-0000-0000-000000000000</n1:UUID>
          <n1:Verarbeitungslauf>PRODUKTIONSLAUF</n1:Verarbeitungslauf>
        </n1:ELMAHeader>
        <n1:ELMAVerfahren />
      </n1:ELMAKOM>
      <n1:ELMAProtokoll>
        <n1:Dateiname>String</n1:Dateiname>
        <n1:AuthSteuernummer>String</n1:AuthSteuernummer>
        <n1:AccountID>String</n1:AccountID>
        <n1:VerarbeitungsDatum>0001-01-01</n1:VerarbeitungsDatum>
        <n1:VerarbeitungsZeit>0001-01-01</n1:VerarbeitungsZeit>
        <n1:Status>ELMA_GLOBAL_UNBEKANNT</n1:Status>
        <n1:StatusText>String</n1:StatusText>
        <n1:StatusDetail>String</n1:StatusDetail>
        <n1:KundeneigeneID>String</n1:KundeneigeneID>
        <n1:UUID>00000000-0000-0000-0000-000000000000</n1:UUID>
      </n1:ELMAProtokoll>
      <n1:ELMAFEHLER>
        <n1:Dateiname>String</n1:Dateiname>
        <n1:AuthSteuernummer>String</n1:AuthSteuernummer>
        <n1:AccountID>String</n1:AccountID>
        <n1:VerarbeitungsDatum>0001-01-01</n1:VerarbeitungsDatum>
        <n1:VerarbeitungsZeit>00:00:00.000</n1:VerarbeitungsZeit>
        <n1:FehlerID>ELMA_GLOBAL_UNBEKANNT</n1:FehlerID>
        <n1:FehlerText>String</n1:FehlerText>
        <n1:FehlerProzess>String</n1:FehlerProzess>
        <n1:KundeneigeneID>String</n1:KundeneigeneID>
        <n1:UUID>00000000-0000-0000-0000-000000000000</n1:UUID>
      </n1:ELMAFEHLER>
    </d2p1:Elma>
  </Protocols>
  <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>
</DeletionResponse>