Tax Filing Service

<back to all web services

ProtokollRequest17

SyncDatenabholungVerarbeitungsprotokolle

Represents the service request to retrieve logs about a specified tax assessement.

Requires Authentication
The following routes are available for this service:
POST/datenabholungen/protokolle/17/verarbeitungsprotokoll
namespace PwC.DigitalHub.Utilities.IO.Core.Contracts.Models

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    ///<summary>
    ///Specifies a service response from an ERiC service operation.
    ///</summary>
    [<Api(Description="Specifies a service response from an ERiC service operation.")>]
    [<AllowNullLiteral>]
    type ServiceReponseBase() = 
        ///<summary>
        ///The unique identifier of the response.
        ///</summary>
        [<ApiMember(Description="The unique identifier of the response.", Name="Id")>]
        member val Id:String = null with get,set

        ///<summary>
        ///The position of the response element in an indexed collection.
        ///</summary>
        [<ApiMember(Description="The position of the response element in an indexed collection.", Name="Index")>]
        member val Index:Int32 = new Int32() with get,set

        ///<summary>
        ///Metadata that contains structured error information on the service response.
        ///</summary>
        [<ApiMember(Description="Metadata that contains structured error information on the service response.", Name="ResponseStatus")>]
        member val ResponseStatus:ResponseStatus = null with get,set

    ///<summary>
    ///Stellt einen Nutzdatensatz-Fehler dar. Dabei besteht der Fehler aus: - einer laufenden Nummer(Attribut zum NdSFehler)- der KmId (Attribut zum NdSFehler) und/oder dem ordnungsMerkmal (Attribut zum NdSFehler)- einem Fehlernummer (Attribut zum NdSFehler)- einem Fehlertext (Inhalt des Tag NdSFehler)
    ///</summary>
    [<Api(Description="Stellt einen Nutzdatensatz-Fehler dar. Dabei besteht der Fehler aus: - einer laufenden Nummer(Attribut zum NdSFehler)- der KmId (Attribut zum NdSFehler) und/oder dem ordnungsMerkmal (Attribut zum NdSFehler)- einem Fehlernummer (Attribut zum NdSFehler)- einem Fehlertext (Inhalt des Tag NdSFehler)")>]
    [<AllowNullLiteral>]
    type NdSFehler06() = 
        ///<summary>
        ///Die laufende Nummer des fehlerhaften Datensatzes in einem Nutzdatenblock.
        ///</summary>
        [<ApiMember(Description="Die laufende Nummer des fehlerhaften Datensatzes in einem Nutzdatenblock.", Name="LfdNr")>]
        member val LfdNr:String = null with get,set

        ///<summary>
        ///Bei der kmId handelt es sich um die durch den Verfasser vorgegebene KmId des Nutzdatensatzes.
        ///</summary>
        [<ApiMember(Description="Bei der kmId handelt es sich um die durch den Verfasser vorgegebene KmId des Nutzdatensatzes.", Name="KmId")>]
        member val KmId:String = null with get,set

        ///<summary>
        ///Die durch den Verfasser vorgegebene bundesweit eindeutige Identifikation des Nutzdatensatzes (z.B. bei LStB, Lohnersatzleistungen).
        ///</summary>
        [<ApiMember(Description="Die durch den Verfasser vorgegebene bundesweit eindeutige Identifikation des Nutzdatensatzes (z.B. bei LStB, Lohnersatzleistungen).", Name="OrdnungsMerkmal")>]
        member val OrdnungsMerkmal:String = null with get,set

        ///<summary>
        ///Es wird die vom Elstersystem für diesen Fehler vergebene Fehlernummer i.d.R. eine 9-stellige Nummer zurückgemeldet.
        ///</summary>
        [<ApiMember(Description="Es wird die vom Elstersystem für diesen Fehler vergebene Fehlernummer i.d.R. eine 9-stellige Nummer zurückgemeldet.", Name="FehlerNummer")>]
        member val FehlerNummer:Nullable<UInt32> = new Nullable<UInt32>() with get,set

        ///<summary>
        ///Es wird der vom Elstersystem für diesen Fehler vergebene Fehlertext zurückgemeldet.
        ///</summary>
        [<ApiMember(Description="Es wird der vom Elstersystem für diesen Fehler vergebene Fehlertext zurückgemeldet.", Name="FehlerText")>]
        member val FehlerText:String = null with get,set

    ///<summary>
    ///Stellt ein Element eines Nutztdatenblockes dar.
    ///</summary>
    [<Api(Description="Stellt ein Element eines Nutztdatenblockes dar.")>]
    [<AllowNullLiteral>]
    type Nutzdatenblock06() = 
        ///<summary>
        ///Über das Nutzdatenticket im Verarbeitungsprotokoll wird der Nutzdatenblock aus der Datenlieferung referenziert.
        ///</summary>
        [<ApiMember(Description="Über das Nutzdatenticket im Verarbeitungsprotokoll wird der Nutzdatenblock aus der Datenlieferung referenziert.")>]
        member val NutzdatenTicket:String = null with get,set

        ///<summary>
        ///Der Statuscode zum Nutzdatenblock.
        ///</summary>
        [<ApiMember(Description="Der Statuscode zum Nutzdatenblock.")>]
        member val Code:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///Der Statustext zum Nutzdatenblock.
        ///</summary>
        [<ApiMember(Description="Der Statustext zum Nutzdatenblock.")>]
        member val Text:String = null with get,set

        ///<summary>
        ///Anzahl der Verarbeiteten Nutzdatensätze.
        ///</summary>
        [<ApiMember(Description="Anzahl der Verarbeiteten Nutzdatensätze.")>]
        member val VerarbeiteteNds:Nullable<UInt32> = new Nullable<UInt32>() with get,set

        ///<summary>
        ///Anzahl der nichtverarbeiteten Nutzdatensätze.
        ///</summary>
        [<ApiMember(Description="Anzahl der nichtverarbeiteten Nutzdatensätze.")>]
        member val NichtverarbeiteteNds:Nullable<UInt32> = new Nullable<UInt32>() with get,set

        ///<summary>
        ///Der Datenteil des Protokolls.
        ///</summary>
        [<ApiMember(Description="Der Datenteil des Protokolls.")>]
        member val NdSFehler:ResizeArray<NdSFehler06> = new ResizeArray<NdSFehler06>() with get,set

    ///<summary>
    ///Stellt den Datenteil eines Protokolls dar.
    ///</summary>
    [<Api(Description="Stellt den Datenteil eines Protokolls dar.")>]
    [<AllowNullLiteral>]
    type DatenTeil06() = 
        ///<summary>
        ///Das Transferticket der Datenlieferung.
        ///</summary>
        [<ApiMember(Description="Das Transferticket der Datenlieferung.")>]
        member val TransferTicket:String = null with get,set

        ///<summary>
        ///Der Statuscode zur gesamten Datenlieferung. 0 (Datenlieferung ok - Alle Datensätze konnten verarbeitet werden). 1 (Es sind Fehler aufgetreten - die Nutzdatenblöcke konnten nur teilweise verarbeitet werden). 2 (Datenlieferung konnte gar nicht verarbeitet werden - alle Nutzdatenblöcke fehlerhaft). 3 (Datenlieferung wurde noch nicht verarbeitet - bitte fordern Sie das Protokoll noch mal zu einen späteren Zeitpunkt an; für Onlinebetrieb relevant).
        ///</summary>
        [<ApiMember(Description="Der Statuscode zur gesamten Datenlieferung. 0 (Datenlieferung ok - Alle Datensätze konnten verarbeitet werden). 1 (Es sind Fehler aufgetreten - die Nutzdatenblöcke konnten nur teilweise verarbeitet werden). 2 (Datenlieferung konnte gar nicht verarbeitet werden - alle Nutzdatenblöcke fehlerhaft). 3 (Datenlieferung wurde noch nicht verarbeitet - bitte fordern Sie das Protokoll noch mal zu einen späteren Zeitpunkt an; für Onlinebetrieb relevant).")>]
        member val Code:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///Der Datenteil des Protokolls.Datenlieferung ok - Alle Datensätze konnten verarbeitet werden. Es sind Fehler aufgetreten - die Nutzdatenblöcke konnten nur teilweise verarbeitet werden. Datenlieferung konnte gar nicht verarbeitet werden - alle Nutzdatenblöcke fehlerhaft. 3Datenlieferung wurde noch nicht verarbeitet - bitte fordern Sie das Protokoll noch mal zu einen späteren Zeitpunkt an; für Onlinebetrieb relevant.
        ///</summary>
        [<ApiMember(Description="Der Datenteil des Protokolls.Datenlieferung ok - Alle Datensätze konnten verarbeitet werden. Es sind Fehler aufgetreten - die Nutzdatenblöcke konnten nur teilweise verarbeitet werden. Datenlieferung konnte gar nicht verarbeitet werden - alle Nutzdatenblöcke fehlerhaft. 3Datenlieferung wurde noch nicht verarbeitet - bitte fordern Sie das Protokoll noch mal zu einen späteren Zeitpunkt an; für Onlinebetrieb relevant.")>]
        member val Text:String = null with get,set

        ///<summary>
        ///Der Datenteil des Protokolls.
        ///</summary>
        [<ApiMember(Description="Der Datenteil des Protokolls.")>]
        member val Nutzdatenbloecke:ResizeArray<Nutzdatenblock06> = new ResizeArray<Nutzdatenblock06>() with get,set

    ///<summary>
    ///Das Verarbeitungsprotokoll einer Datenabholungsprozesses.
    ///</summary>
    [<Api(Description="Das Verarbeitungsprotokoll einer Datenabholungsprozesses.")>]
    [<AllowNullLiteral>]
    type Protokoll06() = 
        ///<summary>
        ///Version des Protokolls.
        ///</summary>
        [<ApiMember(Description="Version des Protokolls.", Name="Version")>]
        member val Version:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///Der Zeitstempel der Protokoll-Aufbereitung. Es wird der Zeitstempel der serverseitigen Verarbeitung der Protokollanfrage zurück übermittelt. Das String-Format des ZeitStempels lautet: JJJJMMTThhmmss.
        ///</summary>
        [<ApiMember(Description="Der Zeitstempel der Protokoll-Aufbereitung. Es wird der Zeitstempel der serverseitigen Verarbeitung der Protokollanfrage zurück übermittelt. Das String-Format des ZeitStempels lautet: JJJJMMTThhmmss.", Name="ZeitStempel")>]
        member val ZeitStempel:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        ///<summary>
        ///Der Datenteil des Protokolls.
        ///</summary>
        [<ApiMember(Description="Der Datenteil des Protokolls.", Name="DatenTeil")>]
        member val DatenTeil:DatenTeil06 = null with get,set

    ///<summary>
    ///Represents a type that encapulates the processing records of a tax statement.
    ///</summary>
    [<Api(Description="Represents a type that encapulates the processing records of a tax statement.")>]
    [<AllowNullLiteral>]
    type ProtokollResponse() = 
        inherit ServiceReponseBase()
        ///<summary>
        ///The processing record of a tax statement.
        ///</summary>
        [<ApiMember(Description="The processing record of a tax statement.", Name="Protokoll")>]
        member val Protokoll:Protokoll06 = null with get,set

        ///<summary>
        ///The unique identifier of the response.
        ///</summary>
        [<ApiMember(Description="The unique identifier of the response.", Name="Id")>]
        member val Id:String = null with get,set

        ///<summary>
        ///The position of the response element in an indexed collection.
        ///</summary>
        [<ApiMember(Description="The position of the response element in an indexed collection.", Name="Index")>]
        member val Index:Int32 = new Int32() with get,set

        ///<summary>
        ///Metadata that contains structured error information on the service response.
        ///</summary>
        [<ApiMember(Description="Metadata that contains structured error information on the service response.", Name="ResponseStatus")>]
        member val ResponseStatus:ResponseStatus = null with get,set

    ///<summary>
    ///Represents a base class for a file with raw data.
    ///</summary>
    [<Api(Description="Represents a base class for a file with raw data.")>]
    [<AllowNullLiteral>]
    type FileBase() = 
        ///<summary>
        ///The raw data content of the file.
        ///</summary>
        [<ApiMember(Description="The raw data content of the file.", Name="Content")>]
        member val Content:Byte[] = [||] with get,set

    ///<summary>
    ///Represents a portal certificate that is protected by a password.
    ///</summary>
    [<Api(Description="Represents a portal certificate that is protected by a password.")>]
    [<AllowNullLiteral>]
    type PortalCertificate() = 
        inherit FileBase()
        ///<summary>
        ///The unique identifier of the certificate.
        ///</summary>
        [<ApiMember(Description="The unique identifier of the certificate.")>]
        member val Id:Guid = new Guid() with get,set

        ///<summary>
        ///The position of the certificate element in an indexed collection of certificates.
        ///</summary>
        [<ApiMember(Description="The position of the certificate element in an indexed collection of certificates.")>]
        member val Index:Int32 = new Int32() with get,set

        ///<summary>
        ///The password to protect the certificate from unauthorized access.
        ///</summary>
        [<StringLength(255)>]
        [<ApiMember(Description="The password to protect the certificate from unauthorized access.")>]
        member val Pin:String = null with get,set

        ///<summary>
        ///The description of the certificate.
        ///</summary>
        [<StringLength(Int32.MaxValue)>]
        [<ApiMember(Description="The description of the certificate.")>]
        member val Description:String = null with get,set

        ///<summary>
        ///Tags that can be used to label or identify the certificate.
        ///</summary>
        [<ApiMember(Description="Tags that can be used to label or identify the certificate.")>]
        member val Tags:ResizeArray<String> = new ResizeArray<String>() with get,set

        ///<summary>
        ///Gets or sets the file name of the certificate.
        ///</summary>
        [<ApiMember(Description="Gets or sets the file name of the certificate.")>]
        member val Name:String = null with get,set

        ///<summary>
        ///The raw data content of the file.
        ///</summary>
        [<ApiMember(Description="The raw data content of the file.", Name="Content")>]
        member val Content:Byte[] = [||] with get,set

    ///<summary>
    ///Represents a base service request to retrieve processing records from a specified tax assessement.
    ///</summary>
    [<Api(Description="Represents a base service request to retrieve processing records from a specified tax assessement.")>]
    [<AllowNullLiteral>]
    type ProtokollRequestBase() = 
        interface IPost
        ///<summary>
        ///The authentification certificate.
        ///</summary>
        [<ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")>]
        member val Zertifikat:PortalCertificate = null with get,set

    ///<summary>
    ///Represents the transmission path.
    ///</summary>
    type Uebertragungsweg =
        | direkt = 0
        | link = 1
        | sammellink = 2

    ///<summary>
    ///The data packet from the retrieval operation.
    ///</summary>
    [<Api(Description="The data packet from the retrieval operation.")>]
    [<AllowNullLiteral>]
    type Datenpaket() = 
        ///<summary>
        ///Encoded (compressed and encrypted) requested data record
        ///</summary>
        [<ApiMember(Description="Encoded (compressed and encrypted) requested data record")>]
        member val Value:String = null with get,set

    ///<summary>
    ///Represents the download of requested records. The downloaded content from the web server takes place: a) with https b) on port 443 c) on datenabholung1.elster.de or datenabholung2.elster.de. The HTTP Basic Authentication mechanism according to RFC 2617 is used for authentication.
    ///</summary>
    [<Api(Description="Represents the download of requested records. The downloaded content from the web server takes place: a) with https b) on port 443 c) on datenabholung1.elster.de or datenabholung2.elster.de. The HTTP Basic Authentication mechanism according to RFC 2617 is used for authentication.")>]
    [<AllowNullLiteral>]
    type Download() = 
        ///<summary>
        ///The link to the data on the web server.
        ///</summary>
        [<ApiMember(Description="The link to the data on the web server.")>]
        member val Url:String = null with get,set

        ///<summary>
        ///The user name for the web server.
        ///</summary>
        [<ApiMember(Description="The user name for the web server.")>]
        member val Benutzer:String = null with get,set

        ///<summary>
        ///Password for the web server.
        ///</summary>
        [<ApiMember(Description="Password for the web server.")>]
        member val Passwort:String = null with get,set

    ///<summary>
    ///Represents the request to retrieve tax assessments by means of a specfied ID.
    ///</summary>
    [<Api(Description="Represents the request to retrieve tax assessments by means of a specfied ID.")>]
    [<AllowNullLiteral>]
    type Abholung() = 
        ///<summary>
        ///The identifier of the data record.
        ///</summary>
        [<ApiMember(Description="The identifier of the data record.")>]
        member val Id:String = null with get,set

        ///<summary>
        ///The ID number of the receipt owner. This attribute is only required for the tax type 'ElsterVaStDaten'.
        ///</summary>
        [<ApiMember(Description="The ID number of the receipt owner. This attribute is only required for the tax type 'ElsterVaStDaten'.")>]
        member val Idnr:String = null with get,set

        ///<summary>
        ///The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'.
        ///</summary>
        [<ApiMember(Description="The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'.")>]
        member val Veranlagungsjahr:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///The transmission path used.
        ///</summary>
        [<ApiMember(Description="The transmission path used.")>]
        member val Uebertragungsweg:Nullable<Uebertragungsweg> = new Nullable<Uebertragungsweg>() with get,set

        ///<summary>
        ///The character encoding of the data record (e.g. ISO-8859-15). The exception is the data type ElsterVaStDaten, here we submit KEIN ENCODING.
        ///</summary>
        [<ApiMember(Description="The character encoding of the data record (e.g. ISO-8859-15). The exception is the data type ElsterVaStDaten, here we submit KEIN ENCODING.")>]
        member val Encoding:String = null with get,set

        ///<summary>
        ///The client number; only applicable to the tax type 'ElsterDIVADaten'.
        ///</summary>
        [<ApiMember(Description="The client number; only applicable to the tax type 'ElsterDIVADaten'.")>]
        member val Mandantennummer:String = null with get,set

        ///<summary>
        ///The tax number; only applicable to the tax type 'ElsterDIVADaten'.
        ///</summary>
        [<ApiMember(Description="The tax number; only applicable to the tax type 'ElsterDIVADaten'.")>]
        member val Steuernummer:String = null with get,set

        ///<summary>
        ///The asessment date; only applicable to the tax type 'ElsterDIVADaten'.
        ///</summary>
        [<ApiMember(Description="The asessment date; only applicable to the tax type 'ElsterDIVADaten'.")>]
        member val Bescheiddatum:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        ///<summary>
        ///Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.
        ///</summary>
        [<ApiMember(Description="Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.")>]
        member val Datenpaket:Datenpaket = null with get,set

        ///<summary>
        ///Download requested data records.  Ensure the second payload data block  is empty for bulk retrieval operations.
        ///</summary>
        [<ApiMember(Description="Download requested data records.  Ensure the second payload data block  is empty for bulk retrieval operations.")>]
        member val Download:Download = null with get,set

    ///<summary>
    ///Represents the various tax types for the retrieval of data.
    ///</summary>
    type Steuerart =
        | ESB = 0
        | GSB = 1
        | USB = 2
        | EPBescheid = 3
        | EPMitteilung = 4
        | Gewerbesteuerbescheid = 5
        | Gewerbesteuermitteilung = 6
        | GEWMB = 7
        | DIVAAnzeigeEinerLotterie = 8
        | DIVABescheid = 9
        | DivaBescheidESt = 10
        | DIVABuchmachersteuer = 11
        | DIVALotteriesteuerEinmal = 12
        | DIVALotteriesteuerMehr = 13
        | DIVASportwettensteuer = 14
        | DIVATotalisator = 15
        | OZGBescheid = 16
        | VerbindlicheAuskunft = 17
        | VerbindlicheZusage = 18
        | DivaSonstigerVA = 19
        | DivaBescheidErbSt = 20
        | DivaBescheidFEIN = 21
        | DivaBescheidGewSt = 22
        | DivaBescheidKSt = 23
        | DivaBescheidUSt = 24
        | DivaBescheidSchenkSt = 25
        | DIVATroncabgabe = 26
        | DIVAVirtuelleAutomatenStB = 27
        | DIVAOnlinePokerStB = 28
        | LStHVVMRM = 29
        | EinlagenrueckgewaehrVA = 30
        | FTTMeldungVA = 31
        | StatusInvStGVA = 32
        | UStVEUVA = 33
        | VERSVA = 34
        | AltZertVA = 35
        | KapEStEntlastungVA = 36
        | PostUDLVA = 37
        | StAb50aVA = 38
        | StAbEntlastungVA = 39
        | KassenangelegenheitenVA = 40
        | KStOptVA = 41
        | SteueroasenabwehrVA = 42
        | KDBVollmachtRM = 43
        | STBKE = 44
        | VDBKDBRueckmeldungLief = 45
        | AnhangRueckmeldung = 46
        | DivaEinwilligungRM = 47
        | GlueckspielF = 48
        | OZGMitteilung = 49
        | VerbindlicheAuskunftInfoF = 50
        | ELOProtokoll = 51

    ///<summary>
    ///Specifies the encoding of the metadata.
    ///</summary>
    type Coding =
        | text = 0
        | base64 = 1

    ///<summary>
    ///Represents the metadata of a data record.
    ///</summary>
    [<Api(Description="Represents the metadata of a data record.")>]
    [<AllowNullLiteral>]
    type Meta17() = 
        ///<summary>
        ///The type of metadata, e.g. datei [file]
        ///</summary>
        [<ApiMember(Description="The type of metadata, e.g. datei [file]")>]
        member val Name:String = null with get,set

        ///<summary>
        ///The encoding of the metadata (text or base64)
        ///</summary>
        [<ApiMember(Description="The encoding of the metadata (text or base64)")>]
        member val Coding:Nullable<Coding> = new Nullable<Coding>() with get,set

        ///<summary>
        ///The content of the metadata
        ///</summary>
        [<ApiMember(Description="The content of the metadata")>]
        member val Value:String = null with get,set

    ///<summary>
    ///Represents a list of meta information maps.
    ///</summary>
    [<AllowNullLiteral>]
    type MetaInfoMaps17() = 
        class end

    ///<summary>
    ///Represents meta information.
    ///</summary>
    [<Api(Description="Represents meta information.")>]
    [<AllowNullLiteral>]
    type MetaInformationen17() = 
        ///<summary>
        ///List of metadata.
        ///</summary>
        [<ApiMember(Description="List of metadata.")>]
        member val Meta:ResizeArray<Meta17> = new ResizeArray<Meta17>() with get,set

        ///<summary>
        ///List of meta infomation maps.
        ///</summary>
        [<ApiMember(Description="List of meta infomation maps.")>]
        member val MetaInfoMaps:MetaInfoMaps17 = null with get,set

    ///<summary>
    ///Represents a list of attachments.
    ///</summary>
    [<AllowNullLiteral>]
    type Anhaenge17() = 
        class end

    ///<summary>
    ///Represents a request to retrieve data records by means of one or more IDs.
    ///</summary>
    [<Api(Description="Represents a request to retrieve data records by means of one or more IDs.")>]
    [<AllowNullLiteral>]
    type Abholung17() = 
        inherit Abholung()
        ///<summary>
        ///The tax type (e.g. ESB) of the data record.
        ///</summary>
        [<ApiMember(Description="The tax type (e.g. ESB) of the data record.")>]
        member val Steuerart:Nullable<Steuerart> = new Nullable<Steuerart>() with get,set

        ///<summary>
        ///The meta information of the identifier.
        ///</summary>
        [<ApiMember(Description="The meta information of the identifier.")>]
        member val MetaInformationen:MetaInformationen17 = null with get,set

        ///<summary>
        ///Die Transfertickets der Datensaetze. Es duerfen max. 100 Bereitstellungstickets in einem Request angegeben werden.
        ///</summary>
        [<ApiMember(Description="Die Transfertickets der Datensaetze. Es duerfen max. 100 Bereitstellungstickets in einem Request angegeben werden.")>]
        member val Bereitstellungsticket:String = null with get,set

        ///<summary>
        ///The attachments of the data records.
        ///</summary>
        [<ApiMember(Description="The attachments of the data records.")>]
        member val Anhaenge:Anhaenge17 = null with get,set

        ///<summary>
        ///The identifier of the data record.
        ///</summary>
        [<ApiMember(Description="The identifier of the data record.")>]
        member val Id:String = null with get,set

        ///<summary>
        ///The ID number of the receipt owner. This attribute is only required for the tax type 'ElsterVaStDaten'.
        ///</summary>
        [<ApiMember(Description="The ID number of the receipt owner. This attribute is only required for the tax type 'ElsterVaStDaten'.")>]
        member val Idnr:String = null with get,set

        ///<summary>
        ///The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'.
        ///</summary>
        [<ApiMember(Description="The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'.")>]
        member val Veranlagungsjahr:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///The transmission path used.
        ///</summary>
        [<ApiMember(Description="The transmission path used.")>]
        member val Uebertragungsweg:Nullable<Uebertragungsweg> = new Nullable<Uebertragungsweg>() with get,set

        ///<summary>
        ///The character encoding of the data record (e.g. ISO-8859-15). The exception is the data type ElsterVaStDaten, here we submit KEIN ENCODING.
        ///</summary>
        [<ApiMember(Description="The character encoding of the data record (e.g. ISO-8859-15). The exception is the data type ElsterVaStDaten, here we submit KEIN ENCODING.")>]
        member val Encoding:String = null with get,set

        ///<summary>
        ///The client number; only applicable to the tax type 'ElsterDIVADaten'.
        ///</summary>
        [<ApiMember(Description="The client number; only applicable to the tax type 'ElsterDIVADaten'.")>]
        member val Mandantennummer:String = null with get,set

        ///<summary>
        ///The tax number; only applicable to the tax type 'ElsterDIVADaten'.
        ///</summary>
        [<ApiMember(Description="The tax number; only applicable to the tax type 'ElsterDIVADaten'.")>]
        member val Steuernummer:String = null with get,set

        ///<summary>
        ///The asessment date; only applicable to the tax type 'ElsterDIVADaten'.
        ///</summary>
        [<ApiMember(Description="The asessment date; only applicable to the tax type 'ElsterDIVADaten'.")>]
        member val Bescheiddatum:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        ///<summary>
        ///Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.
        ///</summary>
        [<ApiMember(Description="Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.")>]
        member val Datenpaket:Datenpaket = null with get,set

        ///<summary>
        ///Download requested data records.  Ensure the second payload data block  is empty for bulk retrieval operations.
        ///</summary>
        [<ApiMember(Description="Download requested data records.  Ensure the second payload data block  is empty for bulk retrieval operations.")>]
        member val Download:Download = null with get,set

    ///<summary>
    ///Represents a base service request to retrieve logs about a specified tax assessement.
    ///</summary>
    [<Api(Description="Represents a base service request to retrieve logs about a specified tax assessement.")>]
    [<AllowNullLiteral>]
    type ProtokollRequestBase17() = 
        inherit ProtokollRequestBase()
        ///<summary>
        ///The tax assessement, whose processing records shall be obtained.
        ///</summary>
        [<ApiMember(Description="The tax assessement, whose processing records shall be obtained.", Name="Bescheid")>]
        member val Bescheid:Abholung17 = null with get,set

        ///<summary>
        ///The authentification certificate.
        ///</summary>
        [<ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")>]
        member val Zertifikat:PortalCertificate = null with get,set

    ///<summary>
    ///Represents the service request to retrieve logs about a specified tax assessement.
    ///</summary>
    [<Api(Description="Represents the service request to retrieve logs about a specified tax assessement.")>]
    [<AllowNullLiteral>]
    type ProtokollRequest17() = 
        inherit ProtokollRequestBase17()
        ///<summary>
        ///The tax assessement, whose processing records shall be obtained.
        ///</summary>
        [<ApiMember(Description="The tax assessement, whose processing records shall be obtained.", Name="Bescheid")>]
        member val Bescheid:Abholung17 = null with get,set

        ///<summary>
        ///The authentification certificate.
        ///</summary>
        [<ApiMember(Description="The authentification certificate.", IsRequired=true, Name="Zertifikat")>]
        member val Zertifikat:PortalCertificate = null with get,set

F# ProtokollRequest17 DTOs

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

HTTP + X-MSGPACK

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

POST /datenabholungen/protokolle/17/verarbeitungsprotokoll HTTP/1.1 
Host: taxfiling.staging.pwc.de 
Accept: application/x-msgpack
Content-Type: application/x-msgpack
Content-Length: length

{"bescheid":{"steuerart":"ESB","metaInformationen":{"meta":[{"name":"String","coding":"text","value":"String"}],"metaInfoMaps":[{"typ":"String","meta":[{"name":"String","coding":"text","value":"String"}]}]},"bereitstellungsticket":"String","anhaenge":[{"metadatenAnhang":[{"schluesselAnhang":{"dateibezeichnungID":"String","dateibezeichnungKurz":"String","value":"String"},"wertAnhang":{"dateibezeichnungID":"String","dateibezeichnungKurz":"String","value":"String"}}],"dateibezeichnung":"String","dateityp":"String","dateiinhalt":"String"}],"id":"String","idnr":"String","veranlagungsjahr":0,"uebertragungsweg":"direkt","encoding":"String","mandantennummer":"String","steuernummer":"String","bescheiddatum":"\/Date(-62135596800000-0000)\/","datenpaket":{"value":"String"},"download":{"url":"String","benutzer":"String","passwort":"String"}},"zertifikat":{"id":"00000000000000000000000000000000","index":0,"pin":"String","description":"String","tags":["String"],"name":"String","content":"AA=="}}
HTTP/1.1 200 OK
Content-Type: application/x-msgpack
Content-Length: length

{"protokoll":{"version":0,"zeitStempel":"\/Date(-62135596800000-0000)\/","datenTeil":{"transferTicket":"String","code":0,"text":"String","nutzdatenbloecke":[{"nutzdatenTicket":"String","code":0,"text":"String","verarbeiteteNds":0,"nichtverarbeiteteNds":0,"ndSFehler":[{"lfdNr":"String","kmId":"String","ordnungsMerkmal":"String","fehlerNummer":0,"fehlerText":"String"}]}]}},"id":"String","index":0,"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}