(* Options:
Date: 2024-12-22 01:10:04
Version: 8.12
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://taxfiling.pwc.de
//GlobalNamespace:
//MakeDataContractsExtensible: False
//AddReturnMarker: True
//AddDescriptionAsComments: True
//AddDataContractAttributes: False
//AddIndexesToDataMembers: False
//AddGeneratedCodeAttributes: False
//AddResponseStatus: False
//AddImplicitVersion:
//ExportValueTypes: False
IncludeTypes: BatchProtokollRequest17.*
//ExcludeTypes:
//InitializeCollections: True
//AddNamespaces:
*)
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
open System.Net
///
///Represents a base class for a file with raw data.
///
[]
[]
type FileBase() =
///
///The raw data content of the file.
///
[]
member val Content:Byte[] = [||] with get,set
///
///Represents a portal certificate that is protected by a password.
///
[]
[]
type PortalCertificate() =
inherit FileBase()
///
///The unique identifier of the certificate.
///
[]
member val Id:Guid = new Guid() with get,set
///
///The position of the certificate element in an indexed collection of certificates.
///
[]
member val Index:Int32 = new Int32() with get,set
///
///The password to protect the certificate from unauthorized access.
///
[]
[]
member val Pin:String = null with get,set
///
///The description of the certificate.
///
[]
[]
member val Description:String = null with get,set
///
///Tags that can be used to label or identify the certificate.
///
[]
member val Tags:ResizeArray = new ResizeArray() with get,set
///
///Gets or sets the file name of the certificate.
///
[]
member val Name:String = null with get,set
///
///The raw data content of the file.
///
[]
member val Content:Byte[] = [||] with get,set
///
///Represents the transmission path.
///
type Uebertragungsweg =
| direkt = 0
| link = 1
| sammellink = 2
///
///The data packet from the retrieval operation.
///
[]
[]
type Datenpaket() =
///
///Encoded (compressed and encrypted) requested data record
///
[]
member val Value:String = null with get,set
///
///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.
///
[]
[]
type Download() =
///
///The link to the data on the web server.
///
[]
member val Url:String = null with get,set
///
///The user name for the web server.
///
[]
member val Benutzer:String = null with get,set
///
///Password for the web server.
///
[]
member val Passwort:String = null with get,set
///
///Represents the request to retrieve tax assessments by means of a specfied ID.
///
[]
[]
type Abholung() =
///
///The identifier of the data record.
///
[]
member val Id:String = null with get,set
///
///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
///
///The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'.
///
[]
member val Veranlagungsjahr:Nullable = new Nullable() with get,set
///
///The transmission path used.
///
[]
member val Uebertragungsweg:Nullable = new Nullable() with get,set
///
///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
///
///The client number; only applicable to the tax type 'ElsterDIVADaten'.
///
[]
member val Mandantennummer:String = null with get,set
///
///The tax number; only applicable to the tax type 'ElsterDIVADaten'.
///
[]
member val Steuernummer:String = null with get,set
///
///The asessment date; only applicable to the tax type 'ElsterDIVADaten'.
///
[]
member val Bescheiddatum:Nullable = new Nullable() with get,set
///
///Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.
///
[]
member val Datenpaket:Datenpaket = null with get,set
///
///Download requested data records. Ensure the second payload data block is empty for bulk retrieval operations.
///
[]
member val Download:Download = null with get,set
///
///Represents the various tax types for the retrieval of data.
///
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
///
///Specifies the encoding of the metadata.
///
type Coding =
| text = 0
| base64 = 1
///
///Represents the metadata of a data record.
///
[]
[]
type Meta17() =
///
///The type of metadata, e.g. datei [file]
///
[]
member val Name:String = null with get,set
///
///The encoding of the metadata (text or base64)
///
[]
member val Coding:Nullable = new Nullable() with get,set
///
///The content of the metadata
///
[]
member val Value:String = null with get,set
///
///Represents a list of meta information maps.
///
[]
type MetaInfoMaps17() =
class end
///
///Represents meta information.
///
[]
[]
type MetaInformationen17() =
///
///List of metadata.
///
[]
member val Meta:ResizeArray = new ResizeArray() with get,set
///
///List of meta infomation maps.
///
[]
member val MetaInfoMaps:MetaInfoMaps17 = null with get,set
///
///Represents a list of attachments.
///
[]
type Anhaenge17() =
class end
///
///Represents a request to retrieve data records by means of one or more IDs.
///
[]
[]
type Abholung17() =
inherit Abholung()
///
///The tax type (e.g. ESB) of the data record.
///
[]
member val Steuerart:Nullable = new Nullable() with get,set
///
///The meta information of the identifier.
///
[]
member val MetaInformationen:MetaInformationen17 = null with get,set
///
///Die Transfertickets der Datensaetze. Es duerfen max. 100 Bereitstellungstickets in einem Request angegeben werden.
///
[]
member val Bereitstellungsticket:String = null with get,set
///
///The attachments of the data records.
///
[]
member val Anhaenge:Anhaenge17 = null with get,set
///
///The identifier of the data record.
///
[]
member val Id:String = null with get,set
///
///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
///
///The assessment year (YYYY) of the receipt. This attribute is only required for the tax type 'ElsterVaStDaten'.
///
[]
member val Veranlagungsjahr:Nullable = new Nullable() with get,set
///
///The transmission path used.
///
[]
member val Uebertragungsweg:Nullable = new Nullable() with get,set
///
///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
///
///The client number; only applicable to the tax type 'ElsterDIVADaten'.
///
[]
member val Mandantennummer:String = null with get,set
///
///The tax number; only applicable to the tax type 'ElsterDIVADaten'.
///
[]
member val Steuernummer:String = null with get,set
///
///The asessment date; only applicable to the tax type 'ElsterDIVADaten'.
///
[]
member val Bescheiddatum:Nullable = new Nullable() with get,set
///
///Das Datenpaket angeforderter Datensaetze. Nur bei der Direktsendung ueber das ERiClet.
///
[]
member val Datenpaket:Datenpaket = null with get,set
///
///Download requested data records. Ensure the second payload data block is empty for bulk retrieval operations.
///
[]
member val Download:Download = null with get,set
///
///Represents a base service request to retrieve processing records from specified tax statements.
///
[]
[]
type BatchProtokollRequestBase() =
interface IPost
///
///The authentification certificate.
///
[]
member val Zertifikat:PortalCertificate = null with get,set
///
///Represents a base service request to retrieve processing records from specified tax statements. Applicable to version 17..
///
[]
[]
type BatchProtokollRequestBase17() =
inherit BatchProtokollRequestBase()
///
///The tax assessements, whose processing records shall be obtained.
///
[]
member val Bescheide:ResizeArray = new ResizeArray() with get,set
///
///The authentification certificate.
///
[]
member val Zertifikat:PortalCertificate = null with get,set
[]
type IHasIndex =
abstract Index:Int32 with get,set
///
///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)
///
[]
[]
type NdSFehler06() =
///
///Die laufende Nummer des fehlerhaften Datensatzes in einem Nutzdatenblock.
///
[]
member val LfdNr:String = null with get,set
///
///Bei der kmId handelt es sich um die durch den Verfasser vorgegebene KmId des Nutzdatensatzes.
///
[]
member val KmId:String = null with get,set
///
///Die durch den Verfasser vorgegebene bundesweit eindeutige Identifikation des Nutzdatensatzes (z.B. bei LStB, Lohnersatzleistungen).
///
[]
member val OrdnungsMerkmal:String = null with get,set
///
///Es wird die vom Elstersystem für diesen Fehler vergebene Fehlernummer i.d.R. eine 9-stellige Nummer zurückgemeldet.
///
[]
member val FehlerNummer:Nullable = new Nullable() with get,set
///
///Es wird der vom Elstersystem für diesen Fehler vergebene Fehlertext zurückgemeldet.
///
[]
member val FehlerText:String = null with get,set
///
///Stellt ein Element eines Nutztdatenblockes dar.
///
[]
[]
type Nutzdatenblock06() =
///
///Über das Nutzdatenticket im Verarbeitungsprotokoll wird der Nutzdatenblock aus der Datenlieferung referenziert.
///
[]
member val NutzdatenTicket:String = null with get,set
///
///Der Statuscode zum Nutzdatenblock.
///
[]
member val Code:Nullable = new Nullable() with get,set
///
///Der Statustext zum Nutzdatenblock.
///
[]
member val Text:String = null with get,set
///
///Anzahl der Verarbeiteten Nutzdatensätze.
///
[]
member val VerarbeiteteNds:Nullable = new Nullable() with get,set
///
///Anzahl der nichtverarbeiteten Nutzdatensätze.
///
[]
member val NichtverarbeiteteNds:Nullable = new Nullable() with get,set
///
///Der Datenteil des Protokolls.
///
[]
member val NdSFehler:ResizeArray = new ResizeArray() with get,set
///
///Stellt den Datenteil eines Protokolls dar.
///
[]
[]
type DatenTeil06() =
///
///Das Transferticket der Datenlieferung.
///
[]
member val TransferTicket:String = null with get,set
///
///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 = new Nullable() with get,set
///
///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
///
///Der Datenteil des Protokolls.
///
[]
member val Nutzdatenbloecke:ResizeArray = new ResizeArray() with get,set
///
///Das Verarbeitungsprotokoll einer Datenabholungsprozesses.
///
[]
[]
type Protokoll06() =
///
///Version des Protokolls.
///
[]
member val Version:Nullable = new Nullable() with get,set
///
///Der Zeitstempel der Protokoll-Aufbereitung. Es wird der Zeitstempel der serverseitigen Verarbeitung der Protokollanfrage zurück übermittelt. Das String-Format des ZeitStempels lautet: JJJJMMTThhmmss.
///
[]
member val ZeitStempel:Nullable = new Nullable() with get,set
///
///Der Datenteil des Protokolls.
///
[]
member val DatenTeil:DatenTeil06 = null with get,set
///
///Specifies a service response from an ERiC service operation.
///
[]
[]
type ServiceReponseBase() =
///
///The unique identifier of the response.
///
[]
member val Id:String = null with get,set
///
///The position of the response element in an indexed collection.
///
[]
member val Index:Int32 = new Int32() with get,set
///
///Metadata that contains structured error information on the service response.
///
[]
member val ResponseStatus:ResponseStatus = null with get,set
[]
type ISecuredCertificate =
abstract Pin:String with get,set
///
///Represents a type that encapulates the processing records of a tax statement.
///
[]
[]
type ProtokollResponse() =
inherit ServiceReponseBase()
///
///The processing record of a tax statement.
///
[]
member val Protokoll:Protokoll06 = null with get,set
///
///The unique identifier of the response.
///
[]
member val Id:String = null with get,set
///
///The position of the response element in an indexed collection.
///
[]
member val Index:Int32 = new Int32() with get,set
///
///Metadata that contains structured error information on the service response.
///
[]
member val ResponseStatus:ResponseStatus = null with get,set
///
///Represents the service request to retrieve logs about tax statements.
///
[]
[]
[]
type BatchProtokollRequest17() =
inherit BatchProtokollRequestBase17()
interface IReturn>
///
///The tax assessements, whose processing records shall be obtained.
///
[]
member val Bescheide:ResizeArray = new ResizeArray() with get,set
///
///The authentification certificate.
///
[]
member val Zertifikat:PortalCertificate = null with get,set