Report Filing Service

<back to all web services

CreateDac6Xml

Generate XMLDAC6Sync

Represents a request to generate an ELMA-compatible XML content from a DAC6 data model.

Requires Authentication
The following routes are available for this service:
POST/sync/elma/dac6/xml
namespace PwC.Elmaas.Core.Domain.Concretes.Dac6.Models

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

    type LanguageCode =
        | AA = 0
        | AB = 1
        | AF = 2
        | AK = 3
        | SQ = 4
        | AM = 5
        | AR = 6
        | AN = 7
        | HY = 8
        | AS = 9
        | AV = 10
        | AE = 11
        | AY = 12
        | AZ = 13
        | BA = 14
        | BM = 15
        | EU = 16
        | BE = 17
        | BN = 18
        | BH = 19
        | BI = 20
        | BS = 21
        | BR = 22
        | BG = 23
        | MY = 24
        | CA = 25
        | CH = 26
        | CE = 27
        | ZH = 28
        | CU = 29
        | CV = 30
        | KW = 31
        | CO = 32
        | CR = 33
        | CS = 34
        | DA = 35
        | DV = 36
        | NL = 37
        | DZ = 38
        | EN = 39
        | EO = 40
        | ET = 41
        | EE = 42
        | FO = 43
        | FJ = 44
        | FI = 45
        | FR = 46
        | FY = 47
        | FF = 48
        | KA = 49
        | DE = 50
        | GD = 51
        | GA = 52
        | GL = 53
        | GV = 54
        | EL = 55
        | GN = 56
        | GU = 57
        | HT = 58
        | HA = 59
        | HE = 60
        | HZ = 61
        | HI = 62
        | HO = 63
        | HR = 64
        | HU = 65
        | IG = 66
        | IS = 67
        | IO = 68
        | II = 69
        | IU = 70
        | IE = 71
        | IA = 72
        | ID = 73
        | IK = 74
        | IT = 75
        | JV = 76
        | JA = 77
        | KL = 78
        | KN = 79
        | KS = 80
        | KR = 81
        | KK = 82
        | KM = 83
        | KI = 84
        | RW = 85
        | KY = 86
        | KV = 87
        | KG = 88
        | KO = 89
        | KJ = 90
        | KU = 91
        | LO = 92
        | LA = 93
        | LV = 94
        | LI = 95
        | LN = 96
        | LT = 97
        | LB = 98
        | LU = 99
        | LG = 100
        | MK = 101
        | MH = 102
        | ML = 103
        | MI = 104
        | MR = 105
        | MS = 106
        | MG = 107
        | MT = 108
        | MN = 109
        | NA = 110
        | NV = 111
        | NR = 112
        | ND = 113
        | NG = 114
        | NE = 115
        | NN = 116
        | NB = 117
        | NO = 118
        | NY = 119
        | OC = 120
        | OJ = 121
        | OR = 122
        | OM = 123
        | OS = 124
        | PA = 125
        | FA = 126
        | PI = 127
        | PL = 128
        | PT = 129
        | PS = 130
        | QU = 131
        | RM = 132
        | RO = 133
        | RN = 134
        | RU = 135
        | SG = 136
        | SA = 137
        | SI = 138
        | SK = 139
        | SL = 140
        | SE = 141
        | SM = 142
        | SN = 143
        | SD = 144
        | SO = 145
        | ST = 146
        | ES = 147
        | SC = 148
        | SR = 149
        | SS = 150
        | SU = 151
        | SW = 152
        | SV = 153
        | TY = 154
        | TA = 155
        | TT = 156
        | TE = 157
        | TG = 158
        | TL = 159
        | TH = 160
        | BO = 161
        | TI = 162
        | TO = 163
        | TN = 164
        | TS = 165
        | TK = 166
        | TR = 167
        | TW = 168
        | UG = 169
        | UK = 170
        | UR = 171
        | UZ = 172
        | VE = 173
        | VI = 174
        | VO = 175
        | CY = 176
        | WA = 177
        | WO = 178
        | XH = 179
        | YI = 180
        | YO = 181
        | ZA = 182
        | ZU = 183

    ///<summary>
    ///Angaben zu den Kopfdaten
    ///</summary>
    [<Api(Description="Angaben zu den Kopfdaten")>]
    [<AllowNullLiteral>]
    type Dac6Header() = 
        ///<summary>
        ///Empfängerstaaten
        ///</summary>
        [<ApiMember(Description="Empfängerstaaten", Name="ReceivingCountries")>]
        member val ReceivingCountries:ResizeArray<Nullable<CountryCode>> = new ResizeArray<Nullable<CountryCode>>() with get,set

        ///<summary>
        ///MessageRefID Angabe im Format  DEMYYYYMMDDXXXXXX...XXX  <DE><M><Datum><Bezeichner><Kombination>  DE beinhaltet den ISO country code "DE"  M besteht aus dem Buchstaben "M" für MessageRefID  Datum an dem die MessageRefID ausgestellt wurde im Format YYYYMMDD  Bezeichner beinhaltet EOP/BOP-Nummer  eine Kombination aus Ziffern (0-9) und Großbuchstaben (AZ).  Der Bezeichner ist die EOP/BOP-Nummer, die übrigen Felder sind so zu befüllen, dass bei mehreren Lieferungen zu einem Datum jede MessageRefID eines Melders einzigartig ist.  Die Länge der MessageRefID ist durch eine Geschäftsregel auf 40 Zeichen beschränkt.
        ///</summary>
        [<ApiMember(Description="MessageRefID Angabe im Format  DEMYYYYMMDDXXXXXX...XXX  <DE><M><Datum><Bezeichner><Kombination>  DE beinhaltet den ISO country code \"DE\"  M besteht aus dem Buchstaben \"M\" für MessageRefID  Datum an dem die MessageRefID ausgestellt wurde im Format YYYYMMDD  Bezeichner beinhaltet EOP/BOP-Nummer  eine Kombination aus Ziffern (0-9) und Großbuchstaben (AZ).  Der Bezeichner ist die EOP/BOP-Nummer, die übrigen Felder sind so zu befüllen, dass bei mehreren Lieferungen zu einem Datum jede MessageRefID eines Melders einzigartig ist.  Die Länge der MessageRefID ist durch eine Geschäftsregel auf 40 Zeichen beschränkt.", IsRequired=true, Name="MessageRefId")>]
        member val MessageRefId:String = null with get,set

        ///<summary>
        ///Zeitstempel Dieses Feld gibt das Datum und die Uhrzeit der Erstellung der Nachricht im XML DateTime Format (YYYY MM DD'Dac6RelevantTaxPayer'hh:mm:ss.mmm) gemäß CET an Sollte die Meldung aus einer abweichenden Zeitzone erfolgen, so ist eine Umrechnung auf CET vorzunehmen.
        ///</summary>
        [<ApiMember(Description="Zeitstempel Dieses Feld gibt das Datum und die Uhrzeit der Erstellung der Nachricht im XML DateTime Format (YYYY MM DD'Dac6RelevantTaxPayer'hh:mm:ss.mmm) gemäß CET an Sollte die Meldung aus einer abweichenden Zeitzone erfolgen, so ist eine Umrechnung auf CET vorzunehmen.", IsRequired=true, Name="Timestamp")>]
        member val Timestamp:Nullable<DateTime> = new Nullable<DateTime>() with get,set

    ///<summary>
    ///Stellt die Namensangaben dar.
    ///</summary>
    [<Api(Description="Stellt die Namensangaben dar.")>]
    [<AllowNullLiteral>]
    type Dac6NamePerson() = 
        ///<summary>
        ///Vorangestellter Titel
        ///</summary>
        [<ApiMember(Description="Vorangestellter Titel", IsRequired=true, Name="PrecedingTitle")>]
        member val PrecedingTitle:String = null with get,set

        ///<summary>
        ///Titel
        ///</summary>
        [<ApiMember(Description="Titel", Name="Title")>]
        member val Title:String = null with get,set

        ///<summary>
        ///Vorname
        ///</summary>
        [<ApiMember(Description="Vorname", IsRequired=true, Name="FirstName")>]
        member val FirstName:String = null with get,set

        ///<summary>
        ///Zweitname (weitere Namen)
        ///</summary>
        [<ApiMember(Description="Zweitname (weitere Namen)", Name="MiddleName")>]
        member val MiddleName:String = null with get,set

        ///<summary>
        ///Namenszusatz
        ///</summary>
        [<ApiMember(Description="Namenszusatz", Name="NamePrefix")>]
        member val NamePrefix:String = null with get,set

        ///<summary>
        ///Nachname
        ///</summary>
        [<ApiMember(Description="Nachname", IsRequired=true, Name="LastName")>]
        member val LastName:String = null with get,set

        ///<summary>
        ///Generationszusatz
        ///</summary>
        [<ApiMember(Description="Generationszusatz", Name="GenerationIdentifier")>]
        member val GenerationIdentifier:String = null with get,set

        ///<summary>
        ///Titelzusatz
        ///</summary>
        [<ApiMember(Description="Titelzusatz", Name="Suffix")>]
        member val Suffix:String = null with get,set

        ///<summary>
        ///Allgemeiner Zusatz
        ///</summary>
        [<ApiMember(Description="Allgemeiner Zusatz", Name="GeneralSuffix")>]
        member val GeneralSuffix:String = null with get,set

    type CountryCode =
        | AF = 0
        | AX = 1
        | AL = 2
        | DZ = 3
        | AS = 4
        | AD = 5
        | AO = 6
        | AI = 7
        | AQ = 8
        | AG = 9
        | AR = 10
        | AM = 11
        | AW = 12
        | AU = 13
        | AT = 14
        | AZ = 15
        | BS = 16
        | BH = 17
        | BD = 18
        | BB = 19
        | BY = 20
        | BE = 21
        | BZ = 22
        | BJ = 23
        | BM = 24
        | BT = 25
        | BO = 26
        | BQ = 27
        | BA = 28
        | BW = 29
        | BV = 30
        | BR = 31
        | IO = 32
        | BN = 33
        | BG = 34
        | BF = 35
        | BI = 36
        | KH = 37
        | CM = 38
        | CA = 39
        | CV = 40
        | KY = 41
        | CF = 42
        | TD = 43
        | CL = 44
        | CN = 45
        | CX = 46
        | CC = 47
        | CO = 48
        | KM = 49
        | CG = 50
        | CD = 51
        | CK = 52
        | CR = 53
        | CI = 54
        | HR = 55
        | CU = 56
        | CW = 57
        | CY = 58
        | CZ = 59
        | DK = 60
        | DJ = 61
        | DM = 62
        | DO = 63
        | EC = 64
        | EG = 65
        | SV = 66
        | GQ = 67
        | ER = 68
        | EE = 69
        | ET = 70
        | FK = 71
        | FO = 72
        | FJ = 73
        | FI = 74
        | FR = 75
        | GF = 76
        | PF = 77
        | TF = 78
        | GA = 79
        | GM = 80
        | GE = 81
        | DE = 82
        | GH = 83
        | GI = 84
        | GR = 85
        | GL = 86
        | GD = 87
        | GP = 88
        | GU = 89
        | GT = 90
        | GG = 91
        | GN = 92
        | GW = 93
        | GY = 94
        | HT = 95
        | HM = 96
        | VA = 97
        | HN = 98
        | HK = 99
        | HU = 100
        | IS = 101
        | IN = 102
        | ID = 103
        | IR = 104
        | IQ = 105
        | IE = 106
        | IM = 107
        | IL = 108
        | IT = 109
        | JM = 110
        | JP = 111
        | JE = 112
        | JO = 113
        | KZ = 114
        | KE = 115
        | KI = 116
        | KP = 117
        | KR = 118
        | KW = 119
        | KG = 120
        | LA = 121
        | LV = 122
        | LB = 123
        | LS = 124
        | LR = 125
        | LY = 126
        | LI = 127
        | LT = 128
        | LU = 129
        | MO = 130
        | MK = 131
        | MG = 132
        | MW = 133
        | MY = 134
        | MV = 135
        | ML = 136
        | MT = 137
        | MH = 138
        | MQ = 139
        | MR = 140
        | MU = 141
        | YT = 142
        | MX = 143
        | FM = 144
        | MD = 145
        | MC = 146
        | MN = 147
        | ME = 148
        | MS = 149
        | MA = 150
        | MZ = 151
        | MM = 152
        | NA = 153
        | NR = 154
        | NP = 155
        | NL = 156
        | NC = 157
        | NZ = 158
        | NI = 159
        | NE = 160
        | NG = 161
        | NU = 162
        | NF = 163
        | MP = 164
        | NO = 165
        | OM = 166
        | PK = 167
        | PW = 168
        | PS = 169
        | PA = 170
        | PG = 171
        | PY = 172
        | PE = 173
        | PH = 174
        | PN = 175
        | PL = 176
        | PT = 177
        | PR = 178
        | QA = 179
        | RE = 180
        | RO = 181
        | RU = 182
        | RW = 183
        | BL = 184
        | SH = 185
        | KN = 186
        | LC = 187
        | MF = 188
        | PM = 189
        | VC = 190
        | WS = 191
        | SM = 192
        | ST = 193
        | SA = 194
        | SN = 195
        | RS = 196
        | SC = 197
        | SL = 198
        | SG = 199
        | SX = 200
        | SK = 201
        | SI = 202
        | SB = 203
        | SO = 204
        | ZA = 205
        | GS = 206
        | SS = 207
        | ES = 208
        | LK = 209
        | SD = 210
        | SR = 211
        | SJ = 212
        | SZ = 213
        | SE = 214
        | CH = 215
        | SY = 216
        | TW = 217
        | TJ = 218
        | TZ = 219
        | TH = 220
        | TL = 221
        | TG = 222
        | TK = 223
        | TO = 224
        | TT = 225
        | TN = 226
        | TR = 227
        | TM = 228
        | TC = 229
        | TV = 230
        | UG = 231
        | UA = 232
        | AE = 233
        | GB = 234
        | US = 235
        | UM = 236
        | UY = 237
        | UZ = 238
        | VU = 239
        | VE = 240
        | VN = 241
        | VG = 242
        | VI = 243
        | WF = 244
        | EH = 245
        | YE = 246
        | ZM = 247
        | ZW = 248
        | XK = 249
        | XX = 250

    ///<summary>
    ///Steueridentifikationsmerkmal Stellt die Angabe der Steuernummer dar.
    ///</summary>
    [<Api(Description="Steueridentifikationsmerkmal Stellt die Angabe der Steuernummer dar.")>]
    [<AllowNullLiteral>]
    type Dac6TIN() = 
        ///<summary>
        ///Ausstellender Staat
        ///</summary>
        [<ApiMember(Description="Ausstellender Staat", Name="IssuedBy")>]
        member val IssuedBy:CountryCode = new CountryCode() with get,set

        ///<summary>
        ///Steuernummer
        ///</summary>
        [<ApiMember(Description="Steuernummer", IsRequired=true, Name="Value")>]
        member val Value:String = null with get,set

    ///<summary>
    ///Stellt die Andressangaben dar.
    ///</summary>
    [<Api(Description="Stellt die Andressangaben dar.")>]
    [<AllowNullLiteral>]
    type Dac6Address() = 
        ///<summary>
        ///Straße
        ///</summary>
        [<ApiMember(Description="Straße", Name="Street")>]
        member val Street:String = null with get,set

        ///<summary>
        ///Hausnummer
        ///</summary>
        [<ApiMember(Description="Hausnummer", Name="BuildingIdentifier")>]
        member val BuildingIdentifier:String = null with get,set

        ///<summary>
        ///Wohnungsbezeichnung
        ///</summary>
        [<ApiMember(Description="Wohnungsbezeichnung", Name="SuiteIdentifier")>]
        member val SuiteIdentifier:String = null with get,set

        ///<summary>
        ///Etagenbezeichnung
        ///</summary>
        [<ApiMember(Description="Etagenbezeichnung", Name="FloorIdentifier")>]
        member val FloorIdentifier:String = null with get,set

        ///<summary>
        ///Verwaltungsbezirk
        ///</summary>
        [<ApiMember(Description="Verwaltungsbezirk", Name="DistrictName")>]
        member val DistrictName:String = null with get,set

        ///<summary>
        ///Postfach
        ///</summary>
        [<ApiMember(Description="Postfach", Name="POB")>]
        member val POB:String = null with get,set

        ///<summary>
        ///Postleitzahl
        ///</summary>
        [<ApiMember(Description="Postleitzahl", Name="PostCode")>]
        member val PostCode:String = null with get,set

        ///<summary>
        ///Ort
        ///</summary>
        [<ApiMember(Description="Ort", IsRequired=true, Name="City")>]
        member val City:String = null with get,set

        ///<summary>
        ///Staat Zweibuchstabiges Länderkürzel nach ISO Norm 3166-1 Alpha 2
        ///</summary>
        [<ApiMember(Description="Staat Zweibuchstabiges Länderkürzel nach ISO Norm 3166-1 Alpha 2", IsRequired=true, Name="Country")>]
        member val Country:CountryCode = new CountryCode() with get,set

    ///<summary>
    ///Natürliche Person
    ///</summary>
    [<Api(Description="Natürliche Person")>]
    [<AllowNullLiteral>]
    type Dac6Person() = 
        ///<summary>
        ///Namensangaben
        ///</summary>
        [<ApiMember(Description="Namensangaben", IsRequired=true, Name="IndividualName")>]
        member val IndividualName:Dac6NamePerson = null with get,set

        ///<summary>
        ///GeburtsdatumFormat: YYYY-MM-DD
        ///</summary>
        [<ApiMember(Description="GeburtsdatumFormat: YYYY-MM-DD", IsRequired=true, Name="BirthDate")>]
        member val BirthDate:DateTime = new DateTime() with get,set

        ///<summary>
        ///Geburtsort
        ///</summary>
        [<ApiMember(Description="Geburtsort", IsRequired=true, Name="BirthPlace")>]
        member val BirthPlace:String = null with get,set

        ///<summary>
        ///Steueridentifikationsmerkmale
        ///</summary>
        [<ApiMember(Description="Steueridentifikationsmerkmale", IsRequired=true, Name="TINs")>]
        member val TINs:ResizeArray<Dac6TIN> = new ResizeArray<Dac6TIN>() with get,set

        ///<summary>
        ///Adressangaben
        ///</summary>
        [<ApiMember(Description="Adressangaben", IsRequired=true, Name="Address")>]
        member val Address:Dac6Address = null with get,set

        ///<summary>
        ///E-Mailadresse
        ///</summary>
        [<ApiMember(Description="E-Mailadresse", Name="EmailAddress")>]
        member val EmailAddress:String = null with get,set

        ///<summary>
        ///Ansässigkeitsstaaten
        ///</summary>
        [<ApiMember(Description="Ansässigkeitsstaaten", IsRequired=true, Name="ResCountryCodes")>]
        member val ResCountryCodes:ResizeArray<CountryCode> = new ResizeArray<CountryCode>() with get,set

    ///<summary>
    ///Stellt den Name der Organisation dar
    ///</summary>
    [<Api(Description="Stellt den Name der Organisation dar")>]
    [<AllowNullLiteral>]
    type Dac6NameOrganisation() = 
        ///<summary>
        ///Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur "DE" oder "EN" gewählt werden.
        ///</summary>
        [<ApiMember(Description="Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur \"DE\" oder \"EN\" gewählt werden.", IsRequired=true, Name="Language")>]
        member val Language:LanguageCode = new LanguageCode() with get,set

        ///<summary>
        ///Namenswert der Organisation
        ///</summary>
        [<ApiMember(Description="Namenswert der Organisation", IsRequired=true, Name="Value")>]
        member val Value:String = null with get,set

    ///<summary>
    ///Organisation
    ///</summary>
    [<Api(Description="Organisation")>]
    [<AllowNullLiteral>]
    type Dac6Organisation() = 
        ///<summary>
        ///Die Name der Organisation
        ///</summary>
        [<ApiMember(Description="Die Name der Organisation", IsRequired=true, Name="OrganisationNames")>]
        member val OrganisationNames:ResizeArray<Dac6NameOrganisation> = new ResizeArray<Dac6NameOrganisation>() with get,set

        ///<summary>
        ///Steueridentifikationsmerkmale
        ///</summary>
        [<ApiMember(Description="Steueridentifikationsmerkmale", IsRequired=true, Name="TINs")>]
        member val TINs:ResizeArray<Dac6TIN> = new ResizeArray<Dac6TIN>() with get,set

        ///<summary>
        ///Adressangaben
        ///</summary>
        [<ApiMember(Description="Adressangaben", IsRequired=true, Name="Address")>]
        member val Address:Dac6Address = null with get,set

        ///<summary>
        ///E-Mailadresse
        ///</summary>
        [<ApiMember(Description="E-Mailadresse", Name="EmailAddress")>]
        member val EmailAddress:String = null with get,set

        ///<summary>
        ///Ansässigkeitsstaaten
        ///</summary>
        [<ApiMember(Description="Ansässigkeitsstaaten", IsRequired=true, Name="ResCountryCodes")>]
        member val ResCountryCodes:ResizeArray<CountryCode> = new ResizeArray<CountryCode>() with get,set

    ///<summary>
    ///Entweder Angabe von Individual oder Angabe von Organisation
    ///</summary>
    [<Api(Description="Entweder Angabe von Individual oder Angabe von Organisation")>]
    [<AllowNullLiteral>]
    type Dac6PersonOrganisation() = 
        ///<summary>
        ///Natürliche Person Zwingend anzugeben, wenn PersonOrganisation keine Organisation ist. Die Folgeeintragungen sind abhängig von dieser Auswahl.
        ///</summary>
        [<ApiMember(Description="Natürliche Person Zwingend anzugeben, wenn PersonOrganisation keine Organisation ist. Die Folgeeintragungen sind abhängig von dieser Auswahl.", IsRequired=true, Name="Individual")>]
        member val Individual:Dac6Person = null with get,set

        ///<summary>
        ///Organisation Zwingend anzugeben, PersonOrganisation keine Person ist. Die Folgeeintragungen sind abhängig von dieser Auswahl.
        ///</summary>
        [<ApiMember(Description="Organisation Zwingend anzugeben, PersonOrganisation keine Person ist. Die Folgeeintragungen sind abhängig von dieser Auswahl.", IsRequired=true, Name="Individual")>]
        member val Organisation:Dac6Organisation = null with get,set

    type Dac6IntermediaryNexus =
        | INEXa = 0
        | INEXb = 1
        | INEXc = 2
        | INEXd = 3

    type Dac6IntermediaryCapacity =
        | DAC61101 = 0
        | DAC61102 = 1

    ///<summary>
    ///Meldepflichtiger Intermediär
    ///</summary>
    [<Api(Description="Meldepflichtiger Intermediär")>]
    [<AllowNullLiteral>]
    type Dac6IntermediaryDiscloser() = 
        ///<summary>
        ///Verbindung des Intermediärs zu Deutschland INEXa - Der Intermediär ist in Deutschland steuerlich ansässig. INEXb - Der Intermediär hat in Deutschland eine Betriebstätte, durch die die Dienstleistungen im Zusammenhang mit der grenzüberschreitenden Steuergestaltung erbracht werden. INEXc - Der Intermediär ist in Deutschland in das Handelsregister oder ein öffentliches berufsrechtliches Register eingetragen. INEXd - Der Intermediär ist in Deutschland bei einem Berufsverband für juristische, steuerliche oder beratende Dienstleistungen registriert
        ///</summary>
        [<ApiMember(Description="Verbindung des Intermediärs zu Deutschland INEXa - Der Intermediär ist in Deutschland steuerlich ansässig. INEXb - Der Intermediär hat in Deutschland eine Betriebstätte, durch die die Dienstleistungen im Zusammenhang mit der grenzüberschreitenden Steuergestaltung erbracht werden. INEXc - Der Intermediär ist in Deutschland in das Handelsregister oder ein öffentliches berufsrechtliches Register eingetragen. INEXd - Der Intermediär ist in Deutschland bei einem Berufsverband für juristische, steuerliche oder beratende Dienstleistungen registriert", IsRequired=true, Name="IntermediaryNexus")>]
        member val IntermediaryNexus:Nullable<Dac6IntermediaryNexus> = new Nullable<Dac6IntermediaryNexus>() with get,set

        ///<summary>
        ///Rolle des Intermediärs DAC61101 – Entwicklung / Vertrieb /Umsetzungsunterstützung DAC61102 – Dienstleister (organisierende / verwaltendeTätigkeit
        ///</summary>
        [<ApiMember(Description="Rolle des Intermediärs DAC61101 – Entwicklung / Vertrieb /Umsetzungsunterstützung DAC61102 – Dienstleister (organisierende / verwaltendeTätigkeit", IsRequired=true, Name="IntermediaryNexus")>]
        member val Capacity:Nullable<Dac6IntermediaryCapacity> = new Nullable<Dac6IntermediaryCapacity>() with get,set

    type Dac6RelevantTaxpayerNexus =
        | RTNEXa = 0
        | RTNEXb = 1
        | RTNEXc = 2
        | RTNEXd = 3

    type Dac6TaxpayerCapacity =
        | DAC61104 = 0
        | DAC61105 = 1
        | DAC61106 = 2

    ///<summary>
    ///Meldepflichtiger Nutzer
    ///</summary>
    [<Api(Description="Meldepflichtiger Nutzer")>]
    [<AllowNullLiteral>]
    type Dac6RelevantTaxpayerDiscloser() = 
        ///<summary>
        ///Verbindung des Intermediärs zu Deutschland RTNEXa - Der Nutzer ist in Deutschland steuerlich ansässig. RTNEXb - Der Nutzer hat in Deutschland eine Betriebstätte, der durch die grenzüberschreitende Gestaltung ein Vorteilentsteht. RTNEXc - Der Nutzer erzielt Einkünfte oder Gewinne in Deutschland, obwohl er in keinem Mitgliedstaat steuerlichansässig ist oder eine Betriebstätte hat. RTNEXd - Der Nutzer übt in Deutschland eine Tätigkeit aus obwohl er in keinem Mitgliedstaat ansässig ist oder eine Betriebstätte hat.
        ///</summary>
        [<ApiMember(Description="Verbindung des Intermediärs zu Deutschland RTNEXa - Der Nutzer ist in Deutschland steuerlich ansässig. RTNEXb - Der Nutzer hat in Deutschland eine Betriebstätte, der durch die grenzüberschreitende Gestaltung ein Vorteilentsteht. RTNEXc - Der Nutzer erzielt Einkünfte oder Gewinne in Deutschland, obwohl er in keinem Mitgliedstaat steuerlichansässig ist oder eine Betriebstätte hat. RTNEXd - Der Nutzer übt in Deutschland eine Tätigkeit aus obwohl er in keinem Mitgliedstaat ansässig ist oder eine Betriebstätte hat.", IsRequired=true, Name="RelevantTaxpayerNexus")>]
        member val RelevantTaxpayerNexus:Nullable<Dac6RelevantTaxpayerNexus> = new Nullable<Dac6RelevantTaxpayerNexus>() with get,set

        ///<summary>
        ///Rolle des Intermediärs DAC61104 - Verschwiegenheitspflicht des Intermediärs DAC61105 - Intermediär aus Nicht-EU-Staat DAC61106 - Selbst konzipierte Gestaltung
        ///</summary>
        [<ApiMember(Description="Rolle des Intermediärs DAC61104 - Verschwiegenheitspflicht des Intermediärs DAC61105 - Intermediär aus Nicht-EU-Staat DAC61106 - Selbst konzipierte Gestaltung", IsRequired=true, Name="Capacity")>]
        member val Capacity:Nullable<Dac6TaxpayerCapacity> = new Nullable<Dac6TaxpayerCapacity>() with get,set

    ///<summary>
    ///Angabe der Verbindung des Intermediärs zu Deutschland und des Meldegrunds. Die Angaben zum Meldepflichtigen sind durch eine Geschäftsregel verpflichtend vorzunehmen.
    ///</summary>
    [<Api(Description="Angabe der Verbindung des Intermediärs zu Deutschland und des Meldegrunds. Die Angaben zum Meldepflichtigen sind durch eine Geschäftsregel verpflichtend vorzunehmen.")>]
    [<AllowNullLiteral>]
    type Dac6Liability() = 
        ///<summary>
        ///Meldepflichtiger Intermediär Dieses Feld ist verpflichtend anzugeben, wenn Liability kein RelevantTaxpayerDiscloser ist.
        ///</summary>
        [<ApiMember(Description="Meldepflichtiger Intermediär Dieses Feld ist verpflichtend anzugeben, wenn Liability kein RelevantTaxpayerDiscloser ist.", IsRequired=true, Name="IntermediaryDiscloser")>]
        member val IntermediaryDiscloser:Dac6IntermediaryDiscloser = null with get,set

        ///<summary>
        ///Meldepflichtiger Nutzer Dieses Feld ist verpflichtend anzugeben, wenn Liability kein IntermediaryDiscloser ist.
        ///</summary>
        [<ApiMember(Description="Meldepflichtiger Nutzer Dieses Feld ist verpflichtend anzugeben, wenn Liability kein IntermediaryDiscloser ist.", IsRequired=true, Name="RelevantTaxpayerDiscloser")>]
        member val RelevantTaxpayerDiscloser:Dac6RelevantTaxpayerDiscloser = null with get,set

    ///<summary>
    ///Angaben zum Meldepflichtigen
    ///</summary>
    [<Api(Description="Angaben zum Meldepflichtigen")>]
    [<AllowNullLiteral>]
    type Dac6Discloser() = 
        ///<summary>
        ///Identifikationsdaten zum Meldepflichtigen
        ///</summary>
        [<ApiMember(Description="Identifikationsdaten zum Meldepflichtigen", IsRequired=true, Name="ID")>]
        member val ID:Dac6PersonOrganisation = null with get,set

        ///<summary>
        ///Meldepflichtiger Angabe der Verbindung des Intermediärs zu Deutschland und des Meldegrunds. Die Angaben zum Meldepflichtigen sind durch eine Geschäftsregel verpflichtend vorzunehmen.
        ///</summary>
        [<ApiMember(Description="Meldepflichtiger Angabe der Verbindung des Intermediärs zu Deutschland und des Meldegrunds. Die Angaben zum Meldepflichtigen sind durch eine Geschäftsregel verpflichtend vorzunehmen.", Name="Liability")>]
        member val Liability:Dac6Liability = null with get,set

    ///<summary>
    ///Angabe aller bekannten Nutzer
    ///</summary>
    [<AllowNullLiteral>]
    type Dac6RelevantTaxPayers() = 
        class end

    ///<summary>
    ///Angabe zum jeweiligen Intermediär
    ///</summary>
    [<AllowNullLiteral>]
    type Dac6Intermediaries() = 
        class end

    ///<summary>
    ///Angaben zu allen in einem Mitgliedstaat der Europäischen Union ansässigen Personen,die von der grenzüberschreitenden Steuergestaltung wahrscheinlich unmittelbar betroffen sind,einschließlich Angaben darüber, zu welchen Mitgliedstaaten der Europäischen Union sie in Beziehung stehen.
    ///</summary>
    [<AllowNullLiteral>]
    type Dac6AffectedPersons() = 
        class end

    type Dac6DisclosurerReason =
        | DAC6701 = 0
        | DAC6702 = 1
        | DAC6703 = 2

    ///<summary>
    ///Beschreibung der Gestaltung
    ///</summary>
    [<Api(Description="Beschreibung der Gestaltung")>]
    [<AllowNullLiteral>]
    type Dac6Disclosure_Description() = 
        ///<summary>
        ///Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur "DE" oder "EN" gewählt werden.
        ///</summary>
        [<ApiMember(Description="Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur \"DE\" oder \"EN\" gewählt werden.", IsRequired=true, Name="Language")>]
        member val Language:LanguageCode = new LanguageCode() with get,set

        ///<summary>
        ///Beschreibung
        ///</summary>
        [<ApiMember(Description="Beschreibung", IsRequired=true, Name="Value")>]
        member val Value:String = null with get,set

    ///<summary>
    ///Zusammenfassung der Gestaltung Angabe der Beschreibung und der Bezeichnung der Gestaltung
    ///</summary>
    [<Api(Description="Zusammenfassung der Gestaltung Angabe der Beschreibung und der Bezeichnung der Gestaltung")>]
    [<AllowNullLiteral>]
    type Dac6Summary() = 
        ///<summary>
        ///Name der Gestaltung
        ///</summary>
        [<ApiMember(Description="Name der Gestaltung", IsRequired=true, Name="Disclosure_Name")>]
        member val Disclosure_Name:String = null with get,set

        ///<summary>
        ///Beschreibung der Gestaltung Zusammenfassung des Inhalts der grenzüberschreitendenSteuergestaltung einschließlich einer abstrakt gehaltenenBeschreibung der relevanten Geschäftstätigkeit oder Gestaltung des Nutzers, soweit dies nicht zur Offenlegung eines Handels-, Gewerbe- oder Berufsgeheimnisses odereines Geschäftsverfahrens oder von Informationen führt, deren Offenlegung die öffentliche Ordnung verletzen würde.
        ///</summary>
        [<ApiMember(Description="Beschreibung der Gestaltung Zusammenfassung des Inhalts der grenzüberschreitendenSteuergestaltung einschließlich einer abstrakt gehaltenenBeschreibung der relevanten Geschäftstätigkeit oder Gestaltung des Nutzers, soweit dies nicht zur Offenlegung eines Handels-, Gewerbe- oder Berufsgeheimnisses odereines Geschäftsverfahrens oder von Informationen führt, deren Offenlegung die öffentliche Ordnung verletzen würde.", IsRequired=true, Name="Disclosure_Descriptions")>]
        member val Disclosure_Descriptions:ResizeArray<Dac6Disclosure_Description> = new ResizeArray<Dac6Disclosure_Description>() with get,set

    ///<summary>
    ///Angabe der Rechtsvorschrift
    ///</summary>
    [<Api(Description="Angabe der Rechtsvorschrift")>]
    [<AllowNullLiteral>]
    type Dac6Text() = 
        ///<summary>
        ///Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur "DE" oder "EN" gewählt werden.
        ///</summary>
        [<ApiMember(Description="Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur \"DE\" oder \"EN\" gewählt werden.", IsRequired=true, Name="Language")>]
        member val Language:LanguageCode = new LanguageCode() with get,set

        ///<summary>
        ///Beschreibung
        ///</summary>
        [<ApiMember(Description="Beschreibung", IsRequired=true, Name="Value")>]
        member val Value:String = null with get,set

    ///<summary>
    ///Rechtsvorschrift
    ///</summary>
    [<Api(Description="Rechtsvorschrift")>]
    [<AllowNullLiteral>]
    type Dac6NationalProvision() = 
        ///<summary>
        ///Angabe der Rechtsvorschrift
        ///</summary>
        [<ApiMember(Description="Angabe der Rechtsvorschrift", IsRequired=true, Name="Texts")>]
        member val Texts:ResizeArray<Dac6Text> = new ResizeArray<Dac6Text>() with get,set

        ///<summary>
        ///Staat zur Rechtsvorschrift Angabe des Staates, der die angegebene Rechtsvorschrift erlassen hat.
        ///</summary>
        [<ApiMember(Description="Staat zur Rechtsvorschrift Angabe des Staates, der die angegebene Rechtsvorschrift erlassen hat.", IsRequired=true, Name="Country")>]
        member val Country:Nullable<CountryCode> = new Nullable<CountryCode>() with get,set

    type CurrencyCode =
        | AED = 0
        | AFN = 1
        | ALL = 2
        | AMD = 3
        | ANG = 4
        | AOA = 5
        | ARS = 6
        | AUD = 7
        | AWG = 8
        | AZN = 9
        | BAM = 10
        | BBD = 11
        | BDT = 12
        | BGN = 13
        | BHD = 14
        | BIF = 15
        | BMD = 16
        | BND = 17
        | BOB = 18
        | BOV = 19
        | BRL = 20
        | BSD = 21
        | BTN = 22
        | BWP = 23
        | BYN = 24
        | BZD = 25
        | CAD = 26
        | CDF = 27
        | CHE = 28
        | CHF = 29
        | CHW = 30
        | CLF = 31
        | CLP = 32
        | CNY = 33
        | COP = 34
        | COU = 35
        | CRC = 36
        | CUC = 37
        | CUP = 38
        | CVE = 39
        | CZK = 40
        | DJF = 41
        | DKK = 42
        | DOP = 43
        | DZD = 44
        | EGP = 45
        | ERN = 46
        | ETB = 47
        | EUR = 48
        | FJD = 49
        | FKP = 50
        | GBP = 51
        | GEL = 52
        | GHS = 53
        | GIP = 54
        | GMD = 55
        | GNF = 56
        | GTQ = 57
        | GYD = 58
        | HKD = 59
        | HNL = 60
        | HRK = 61
        | HTG = 62
        | HUF = 63
        | IDR = 64
        | ILS = 65
        | INR = 66
        | IQD = 67
        | IRR = 68
        | ISK = 69
        | JMD = 70
        | JOD = 71
        | JPY = 72
        | KES = 73
        | KGS = 74
        | KHR = 75
        | KMF = 76
        | KPW = 77
        | KRW = 78
        | KWD = 79
        | KYD = 80
        | KZT = 81
        | LAK = 82
        | LBP = 83
        | LKR = 84
        | LRD = 85
        | LSL = 86
        | LYD = 87
        | MAD = 88
        | MDL = 89
        | MGA = 90
        | MKD = 91
        | MMK = 92
        | MNT = 93
        | MOP = 94
        | MRU = 95
        | MUR = 96
        | MVR = 97
        | MWK = 98
        | MXN = 99
        | MXV = 100
        | MYR = 101
        | MZN = 102
        | NAD = 103
        | NGN = 104
        | NIO = 105
        | NOK = 106
        | NPR = 107
        | NZD = 108
        | OMR = 109
        | PAB = 110
        | PEN = 111
        | PGK = 112
        | PHP = 113
        | PKR = 114
        | PLN = 115
        | PYG = 116
        | QAR = 117
        | RON = 118
        | RSD = 119
        | RUB = 120
        | RWF = 121
        | SAR = 122
        | SBD = 123
        | SCR = 124
        | SDG = 125
        | SEK = 126
        | SGD = 127
        | SHP = 128
        | SLL = 129
        | SOS = 130
        | SRD = 131
        | SSP = 132
        | STN = 133
        | SVC = 134
        | SYP = 135
        | SZL = 136
        | THB = 137
        | TJS = 138
        | TMT = 139
        | TND = 140
        | TOP = 141
        | TRY = 142
        | TTD = 143
        | TWD = 144
        | TZS = 145
        | UAH = 146
        | UGX = 147
        | USD = 148
        | USN = 149
        | UYI = 150
        | UYU = 151
        | UYW = 152
        | UZS = 153
        | VES = 154
        | VND = 155
        | VUV = 156
        | WST = 157
        | XAF = 158
        | XAG = 159
        | XAU = 160
        | XBA = 161
        | XBB = 162
        | XBC = 163
        | XBD = 164
        | XCD = 165
        | XDR = 166
        | XOF = 167
        | XPD = 168
        | XPF = 169
        | XPT = 170
        | XSU = 171
        | XUA = 172
        | XXX = 173
        | YER = 174
        | ZAR = 175
        | ZMW = 176
        | ZWL = 177

    ///<summary>
    ///Angabe des tatsächlichen oder voraussichtlichen wirtschaftlichen Werts der grenzüberschreitenden Steuergestaltung.
    ///</summary>
    [<Api(Description="Angabe des tatsächlichen oder voraussichtlichen wirtschaftlichen Werts der grenzüberschreitenden Steuergestaltung.")>]
    [<AllowNullLiteral>]
    type Dac6Amount() = 
        ///<summary>
        ///WährungAngabe des ISO-Währungscodes der Währung, in dem der Wert angegeben wurde.
        ///</summary>
        [<ApiMember(Description="WährungAngabe des ISO-Währungscodes der Währung, in dem der Wert angegeben wurde.", IsRequired=true, Name="CurrCode")>]
        member val CurrCode:Nullable<CurrencyCode> = new Nullable<CurrencyCode>() with get,set

        ///<summary>
        ///Wirtschaftlicher Wert der Gestaltung
        ///</summary>
        [<ApiMember(Description="Wirtschaftlicher Wert der Gestaltung", IsRequired=true, Name="Value")>]
        member val Value:Nullable<Int64> = new Nullable<Int64>() with get,set

    ///<summary>
    ///Beteiligungsangaben Angabe der Rechts- und Vertragsbeziehungen zwischen den Unternehmen/natürlichen Personen. Darüber hinaus ist auch eine Angabe z.B. des Cash Flows oder die Verbindung derbeiden (z.B. Beteiligter o.Ä.) möglich.
    ///</summary>
    [<Api(Description="Beteiligungsangaben Angabe der Rechts- und Vertragsbeziehungen zwischen den Unternehmen/natürlichen Personen. Darüber hinaus ist auch eine Angabe z.B. des Cash Flows oder die Verbindung derbeiden (z.B. Beteiligter o.Ä.) möglich.")>]
    [<AllowNullLiteral>]
    type Dac6OtherInfo() = 
        ///<summary>
        ///Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur "DE" oder "EN" gewählt werden.
        ///</summary>
        [<ApiMember(Description="Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur \"DE\" oder \"EN\" gewählt werden.", IsRequired=true, Name="Language")>]
        member val Language:LanguageCode = new LanguageCode() with get,set

        ///<summary>
        ///Beschreibung
        ///</summary>
        [<ApiMember(Description="Beschreibung", IsRequired=true, Name="Value")>]
        member val Value:String = null with get,set

    ///<summary>
    ///Nächste Ebene Erfassung einer weiteren Ebene im Unternehmenschart
    ///</summary>
    [<AllowNullLiteral>]
    type Dac6ListChilds() = 
        class end

    ///<summary>
    ///Unternehmensstruktur Erstellung eines Unternehmenscharts über mehrere Ebenen.Durch die Erfassung einer/s Muttergesellschaft/er und die jeweiligen Untergesellschaften/er ist somit der Aufbau eines Unternehmschart möglich.
    ///</summary>
    [<Api(Description="Unternehmensstruktur Erstellung eines Unternehmenscharts über mehrere Ebenen.Durch die Erfassung einer/s Muttergesellschaft/er und die jeweiligen Untergesellschaften/er ist somit der Aufbau eines Unternehmschart möglich.")>]
    [<AllowNullLiteral>]
    type Dac6ArrangementChart() = 
        ///<summary>
        ///Identifikationsdaten
        ///</summary>
        [<ApiMember(Description="Identifikationsdaten", IsRequired=true, Name="ID")>]
        member val ID:Dac6PersonOrganisation = null with get,set

        ///<summary>
        ///Die Beteiligungshöhe in Prozent Angabe der Beteiligungshöhe in Prozent. Der angegebene Wert muss mindestens 0 und darf maximal 100 sein.
        ///</summary>
        [<ApiMember(Description="Die Beteiligungshöhe in Prozent Angabe der Beteiligungshöhe in Prozent. Der angegebene Wert muss mindestens 0 und darf maximal 100 sein.", Name="ID")>]
        member val Ownership:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///Die wertmäßige Beteiligungshöhe
        ///</summary>
        [<ApiMember(Description="Die wertmäßige Beteiligungshöhe", Name="InvestAmount")>]
        member val InvestAmount:Dac6Amount = null with get,set

        ///<summary>
        ///Beteiligungsangaben
        ///</summary>
        [<ApiMember(Description="Beteiligungsangaben", Name="OtherInfos")>]
        member val OtherInfos:ResizeArray<Dac6OtherInfo> = new ResizeArray<Dac6OtherInfo>() with get,set

        ///<summary>
        ///Nächste Ebene Erfassung einer weiteren Ebene im Unternehmenschart
        ///</summary>
        [<ApiMember(Description="Nächste Ebene Erfassung einer weiteren Ebene im Unternehmenschart", Name="ListChilds")>]
        member val ListChilds:Dac6ListChilds = null with get,set

    ///<summary>
    ///Liste der betroffenen Mitgliedstaaten Angabe der Mitgliedstaaten der Europäischen Union, die wahrscheinlich von der grenzüberschreitenden Steuergestaltung betroffen sind.
    ///</summary>
    [<AllowNullLiteral>]
    type Dac6ConcernedMSs() = 
        class end

    type Dac6Hallmark =
        | DAC6A1 = 0
        | DAC6A2a = 1
        | DAC6A2b = 2
        | DAC6A3 = 3
        | DAC6B1 = 4
        | DAC6B2 = 5
        | DAC6B3 = 6
        | DAC6C1a = 7
        | DAC6C1bi = 8
        | DAC6C1bii = 9
        | DAC6C1c = 10
        | DAC6C1d = 11
        | DAC6C2 = 12
        | DAC6C3 = 13
        | DAC6C4 = 14
        | DAC6D1Other = 15
        | DAC6D1a = 16
        | DAC6D1b = 17
        | DAC6D1c = 18
        | DAC6D1d = 19
        | DAC6D1e = 20
        | DAC6D1f = 21
        | DAC6D2 = 22
        | DAC6E1 = 23
        | DAC6E2 = 24
        | DAC6E3 = 25

    ///<summary>
    ///Angabe der Kennzeiche Angabe der Einzelheiten zu den nach § 138e zur Mitteilung verpflichtenden Kennzeichen
    ///</summary>
    [<Api(Description="Angabe der Kennzeiche Angabe der Einzelheiten zu den nach § 138e zur Mitteilung verpflichtenden Kennzeichen")>]
    [<AllowNullLiteral>]
    type Dac6ListHallmarks() = 
        ///<summary>
        ///Betroffene Kennzeichen
        ///</summary>
        [<ApiMember(Description="Betroffene Kennzeichen", IsRequired=true, Name="Hallmarks")>]
        member val Hallmarks:ResizeArray<Dac6Hallmark> = new ResizeArray<Dac6Hallmark>() with get,set

    ///<summary>
    ///Beschreibung des Kennzeichens Bei Auswahl des Kennzeichens "DAC6D1Other" muss über das freie Textfeld "OtherInfo" eine nähere Beschreibung des Kennzeichens erfolgen. Die beiden Elemente dürfen ausschließlich in Verbindung angegeben werden.
    ///</summary>
    [<Api(Description="Beschreibung des Kennzeichens Bei Auswahl des Kennzeichens \"DAC6D1Other\" muss über das freie Textfeld \"OtherInfo\" eine nähere Beschreibung des Kennzeichens erfolgen. Die beiden Elemente dürfen ausschließlich in Verbindung angegeben werden.")>]
    [<AllowNullLiteral>]
    type DAC6D1OtherInfo() = 
        ///<summary>
        ///Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur "DE" oder "EN" gewählt werden.
        ///</summary>
        [<ApiMember(Description="Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur \"DE\" oder \"EN\" gewählt werden.", IsRequired=true, Name="Language")>]
        member val Language:LanguageCode = new LanguageCode() with get,set

        ///<summary>
        ///Beschreibung
        ///</summary>
        [<ApiMember(Description="Beschreibung", IsRequired=true, Name="Value")>]
        member val Value:String = null with get,set

    ///<summary>
    ///Liste der Kennzeichen Auswahl der Kennzeichen der meldepflichtigen Gestaltung. Bestimmte Kennzeichen können nur ausgewählt werden, wenn der MainBenefitTest1 mit „true“ angegeben wird. Zusätzlich kann hier beim Kennzeichen "DAC6D1Other" über ein Freitextfeld eine Beschreibung des zusätzlichen
    ///</summary>
    [<Api(Description="Liste der Kennzeichen Auswahl der Kennzeichen der meldepflichtigen Gestaltung. Bestimmte Kennzeichen können nur ausgewählt werden, wenn der MainBenefitTest1 mit „true“ angegeben wird. Zusätzlich kann hier beim Kennzeichen \"DAC6D1Other\" über ein Freitextfeld eine Beschreibung des zusätzlichen")>]
    [<AllowNullLiteral>]
    type Dac6Hallmarks() = 
        ///<summary>
        ///Angabe der Kennzeichen
        ///</summary>
        [<ApiMember(Description="Angabe der Kennzeichen", IsRequired=true, Name="ListHallmarks")>]
        member val ListHallmarks:Dac6ListHallmarks = null with get,set

        ///<summary>
        ///Beschreibung des Kennzeichens
        ///</summary>
        [<ApiMember(Description="Beschreibung des Kennzeichens", IsRequired=true, Name="DAC6D1OtherInfos")>]
        member val DAC6D1OtherInfos:ResizeArray<DAC6D1OtherInfo> = new ResizeArray<DAC6D1OtherInfo>() with get,set

    ///<summary>
    ///Angabe der Informationen zur Steuergestaltung
    ///</summary>
    [<Api(Description="Angabe der Informationen zur Steuergestaltung")>]
    [<AllowNullLiteral>]
    type Dac6DisclosureInformation() = 
        ///<summary>
        ///Datum der Umsetzung Format: YYYY-MM-DD Angabe des Datums, an dem der erste Schritt in der Umsetzung der mitteilungspflichtigen Gestaltung gemacht wurde oder wird.
        ///</summary>
        [<ApiMember(Description="Datum der Umsetzung Format: YYYY-MM-DD Angabe des Datums, an dem der erste Schritt in der Umsetzung der mitteilungspflichtigen Gestaltung gemacht wurde oder wird.", Name="ImplementingDate")>]
        member val ImplementingDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        ///<summary>
        ///Stand der Gestaltung DAC6701 – Die grenzüberschreitende Steuergestaltung wird zur Umsetzung bereitgestellt. DAC6702 – Der Nutzer ist zur Umsetzung der grenzüberschreitenden Steuergestaltung bereit. DAC6703 – Mindestens ein Nutzer hat den ersten Schritt der Umsetzung der grenzüberschreitenden Steuergestaltung
        ///</summary>
        [<ApiMember(Description="Stand der Gestaltung DAC6701 – Die grenzüberschreitende Steuergestaltung wird zur Umsetzung bereitgestellt. DAC6702 – Der Nutzer ist zur Umsetzung der grenzüberschreitenden Steuergestaltung bereit. DAC6703 – Mindestens ein Nutzer hat den ersten Schritt der Umsetzung der grenzüberschreitenden Steuergestaltung", Name="Reason")>]
        member val Reason:Nullable<Dac6DisclosurerReason> = new Nullable<Dac6DisclosurerReason>() with get,set

        ///<summary>
        ///Zusammenfassung der Gestaltung Angabe der Beschreibung und der Bezeichnung der Gestaltung.
        ///</summary>
        [<ApiMember(Description="Zusammenfassung der Gestaltung Angabe der Beschreibung und der Bezeichnung der Gestaltung.", Name="Summary")>]
        member val Summary:Dac6Summary = null with get,set

        ///<summary>
        ///Rechtsvorschrift
        ///</summary>
        [<ApiMember(Description="Rechtsvorschrift", Name="NationalProvision")>]
        member val NationalProvision:Dac6NationalProvision = null with get,set

        ///<summary>
        ///Angabe des tatsächlichen oder voraussichtlichen wirtschaftlichen Werts der grenzüberschreitenden Steuergestaltung.
        ///</summary>
        [<ApiMember(Description="Angabe des tatsächlichen oder voraussichtlichen wirtschaftlichen Werts der grenzüberschreitenden Steuergestaltung.", Name="Amount")>]
        member val Amount:Dac6Amount = null with get,set

        ///<summary>
        ///Unternehmensstruktur Erstellung eines Unternehmenscharts über mehrere Ebenen. Durch die Erfassung einer/s Muttergesellschaft/er und die jeweiligen Untergesellschaften/er ist somit der Aufbau eines Unternehmschart möglich.
        ///</summary>
        [<ApiMember(Description="Unternehmensstruktur Erstellung eines Unternehmenscharts über mehrere Ebenen. Durch die Erfassung einer/s Muttergesellschaft/er und die jeweiligen Untergesellschaften/er ist somit der Aufbau eines Unternehmschart möglich.", Name="NationalProvision")>]
        member val ArrangementChart:Dac6ArrangementChart = null with get,set

        ///<summary>
        ///Betroffenen Mitgliedstaaten
        ///</summary>
        [<ApiMember(Description="Betroffenen Mitgliedstaaten", Name="ConcernedMSs")>]
        member val ConcernedMSs:Dac6ConcernedMSs = null with get,set

        ///<summary>
        ///Steuerlicher Vorteil Angabe, ob ein steuerlicher Vorteil vorliegt oder nicht. true: ein steuerlicher Vorteil vorliegt false: ein steuerlicher Vorteil vorliegt nicht.
        ///</summary>
        [<ApiMember(Description="Steuerlicher Vorteil Angabe, ob ein steuerlicher Vorteil vorliegt oder nicht. true: ein steuerlicher Vorteil vorliegt false: ein steuerlicher Vorteil vorliegt nicht.", Name="MainBenefitTest1")>]
        member val MainBenefitTest1:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///Liste der Kennzeichen Auswahl der Kennzeichen der meldepflichtigen Gestaltung.Bestimmte Kennzeichen können nur ausgewählt werden, wenn der MainBenefitTest1 mit „true“ angegeben wird.Zusätzlich kann hier beim Kennzeichen "DAC6D1Other" überein Freitextfeld eine Beschreibung des zusätzlichen
        ///</summary>
        [<ApiMember(Description="Liste der Kennzeichen Auswahl der Kennzeichen der meldepflichtigen Gestaltung.Bestimmte Kennzeichen können nur ausgewählt werden, wenn der MainBenefitTest1 mit „true“ angegeben wird.Zusätzlich kann hier beim Kennzeichen \"DAC6D1Other\" überein Freitextfeld eine Beschreibung des zusätzlichen", Name="Hallmarks")>]
        member val Hallmarks:Dac6Hallmarks = null with get,set

    ///<summary>
    ///Angaben zur Offenlegung
    ///</summary>
    [<Api(Description="Angaben zur Offenlegung")>]
    [<AllowNullLiteral>]
    type Dac6Disclosure() = 
        ///<summary>
        ///Angabe im Format DEDYYYYMMDDXXXXXX <DE><D><YYYYMMDD><Bezeichner> DE enthält den ISO Staatencode von Deutschland D enthält den Buchstaben "D" (Disclosure/Datensatz) YYYYMMDD enthält das Ausgabedatum der Offenlegungsnummer XXXXXX ist eine Kombination aus Großbuchstaben (A-Z) und Ziffern (0-9) Dieses Feld darf nur für Korrekturen bei gleichzeitiger Angabe der dazugehörigen ArrangementID genutzt werden. Korrekturen für Meldungen mit einer DisclosureID, die nicht mit "DE" beginnt, sind nicht zulässig.
        ///</summary>
        [<ApiMember(Description="Angabe im Format DEDYYYYMMDDXXXXXX <DE><D><YYYYMMDD><Bezeichner> DE enthält den ISO Staatencode von Deutschland D enthält den Buchstaben \"D\" (Disclosure/Datensatz) YYYYMMDD enthält das Ausgabedatum der Offenlegungsnummer XXXXXX ist eine Kombination aus Großbuchstaben (A-Z) und Ziffern (0-9) Dieses Feld darf nur für Korrekturen bei gleichzeitiger Angabe der dazugehörigen ArrangementID genutzt werden. Korrekturen für Meldungen mit einer DisclosureID, die nicht mit \"DE\" beginnt, sind nicht zulässig.", Name="DisclosureID")>]
        member val DisclosureID:String = null with get,set

        ///<summary>
        ///Angabe im Format DEDYYYYMMDDXXXXXX <DE><D><YYYYMMDD><Bezeichner> DE entspricht dem ISO Staatencode, hier steht bei einer in Deutschland übermittelten Meldung stets "DE". D steht für "D" wie Disclosure. YYYYMMDD ist das Datum der Vergabe der DisclosureID Bezeichner - 6-stellig Dieses Feld darf nur für Nachmeldungen von Nutzerdaten und Korrekturen von Nachmeldungen verwendet werden, wenn der Intermediär nicht von der Verschwiegenheitspflicht entbunden wurde. Nachmeldungen und Korrekturen für Meldungen mit einer RefDisclosureID, die nicht mit "DE" beginnt, sind nicht zulässig.
        ///</summary>
        [<ApiMember(Description="Angabe im Format DEDYYYYMMDDXXXXXX <DE><D><YYYYMMDD><Bezeichner> DE entspricht dem ISO Staatencode, hier steht bei einer in Deutschland übermittelten Meldung stets \"DE\". D steht für \"D\" wie Disclosure. YYYYMMDD ist das Datum der Vergabe der DisclosureID Bezeichner - 6-stellig Dieses Feld darf nur für Nachmeldungen von Nutzerdaten und Korrekturen von Nachmeldungen verwendet werden, wenn der Intermediär nicht von der Verschwiegenheitspflicht entbunden wurde. Nachmeldungen und Korrekturen für Meldungen mit einer RefDisclosureID, die nicht mit \"DE\" beginnt, sind nicht zulässig.", Name="RefDisclosureID")>]
        member val RefDisclosureID:String = null with get,set

        ///<summary>
        ///Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt. Hier kann nur "DE" oder "EN" gewählt werden.
        ///</summary>
        [<ApiMember(Description="Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt. Hier kann nur \"DE\" oder \"EN\" gewählt werden.", Name="Language")>]
        member val Language:Nullable<LanguageCode> = new Nullable<LanguageCode>() with get,set

        ///<summary>
        ///Meldepflichtiger
        ///</summary>
        [<ApiMember(Description="Meldepflichtiger", IsRequired=true, Name="Disclosing")>]
        member val Disclosing:Dac6Discloser = null with get,set

        ///<summary>
        ///Initialmeldung In diesem Feld muss angegeben werden, ob es sich um dieerste Meldung zu einer marktfähigen Gestaltung (Arrangement) handelt. Default value = false
        ///</summary>
        [<ApiMember(Description="Initialmeldung In diesem Feld muss angegeben werden, ob es sich um dieerste Meldung zu einer marktfähigen Gestaltung (Arrangement) handelt. Default value = false", IsRequired=true, Name="InitialDisclosureMA")>]
        member val InitialDisclosureMA:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///Angabe aller bekannten Nutzer
        ///</summary>
        [<ApiMember(Description="Angabe aller bekannten Nutzer", Name="RelevantTaxPayers")>]
        member val RelevantTaxPayers:Dac6RelevantTaxPayers = null with get,set

        ///<summary>
        ///Angabe aller bekannten Nutzer
        ///</summary>
        [<ApiMember(Description="Angabe aller bekannten Nutzer", Name="Intermediaries")>]
        member val Intermediaries:Dac6Intermediaries = null with get,set

        ///<summary>
        ///Angaben zu allen in einem Mitgliedstaat der Europäischen Union ansässigen Personen, die von der grenzüberschreitenden Steuergestaltung wahrscheinlich unmittelbar betroffen sind, einschließlich Angaben darüber, zu welchen Mitgliedstaaten der Europäischen Union sie in Beziehung stehen.
        ///</summary>
        [<ApiMember(Description="Angaben zu allen in einem Mitgliedstaat der Europäischen Union ansässigen Personen, die von der grenzüberschreitenden Steuergestaltung wahrscheinlich unmittelbar betroffen sind, einschließlich Angaben darüber, zu welchen Mitgliedstaaten der Europäischen Union sie in Beziehung stehen.", Name="Intermediaries")>]
        member val AffectedPersons:Dac6AffectedPersons = null with get,set

        ///<summary>
        ///Angabe der Informationen zur Steuergestaltung
        ///</summary>
        [<ApiMember(Description="Angabe der Informationen zur Steuergestaltung", IsRequired=true, Name="DisclosureInformation")>]
        member val DisclosureInformation:Dac6DisclosureInformation = null with get,set

    ///<summary>
    ///Gruppiert die Nutzdaten - Angabe dieser Elemente erfolgt sowohl bei der Nutzung vom BZSt Online Portal über das Formular sowie bei Lieferung über die ELMA Schnittstelle
    ///</summary>
    [<Api(Description="Gruppiert die Nutzdaten - Angabe dieser Elemente erfolgt sowohl bei der Nutzung vom BZSt Online Portal über das Formular sowie bei Lieferung über die ELMA Schnittstelle")>]
    [<AllowNullLiteral>]
    type Dac6Arrangement() = 
        ///<summary>
        ///Versionsangabe
        ///</summary>
        [<ApiMember(Description="Versionsangabe", IsRequired=true, Name="Version")>]
        member val Version:String = null with get,set

        ///<summary>
        ///Angaben zu den Kopfdaten
        ///</summary>
        [<ApiMember(Description="Angaben zu den Kopfdaten", IsRequired=true, Name="Header")>]
        member val Header:Dac6Header = null with get,set

        ///<summary>
        ///RegistriernummerAngabe im Format CCAYYYYMMDDXXXXXX <CC><A><YYYYMMDD><Bezeichner> CC enthält den ISO Staatencode des Mitgliedstaates in dem die erste Mitteilung zur Gestaltung erfolgt ist. Zulässige Werte sind: AT, BE, BG, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IT, LT, LU, LV, MT, NL, PL, PT, RO, SE, SI, SK A enthält den Buchstaben "A" (Arrangement/Gestaltung) YYYYMMDD enthält das Ausgabedatum der Registriernummer XXXXXX ist eine Kombination aus Großbuchstaben (A-Z) und Ziffern (0-9)
        ///</summary>
        [<ApiMember(Description="RegistriernummerAngabe im Format CCAYYYYMMDDXXXXXX <CC><A><YYYYMMDD><Bezeichner> CC enthält den ISO Staatencode des Mitgliedstaates in dem die erste Mitteilung zur Gestaltung erfolgt ist. Zulässige Werte sind: AT, BE, BG, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IT, LT, LU, LV, MT, NL, PL, PT, RO, SE, SI, SK A enthält den Buchstaben \"A\" (Arrangement/Gestaltung) YYYYMMDD enthält das Ausgabedatum der Registriernummer XXXXXX ist eine Kombination aus Großbuchstaben (A-Z) und Ziffern (0-9)", Name="ArrangementID")>]
        member val ArrangementID:String = null with get,set

        ///<summary>
        ///Angaben zur Offenlegung
        ///</summary>
        [<ApiMember(Description="Angaben zur Offenlegung", IsRequired=true, Name="Dac6Disclosure")>]
        member val Dac6Disclosure:Dac6Disclosure = null with get,set

    type Dac6Verfahren =
        | DAC6 = 0
        | ISG = 1

    ///<summary>
    ///Represents statistical information on a delivery.
    ///</summary>
    [<Api(Description="Represents statistical information on a delivery.")>]
    [<AllowNullLiteral>]
    type Lieferungsdetails() = 
        ///<summary>
        ///Indicates whether the reported tax arrangement is domestic or cross-border.
        ///</summary>
        [<ApiMember(Description="Indicates whether the reported tax arrangement is domestic or cross-border.", Name="Verfahren")>]
        member val Verfahren:Dac6Verfahren = new Dac6Verfahren() with get,set

        ///<summary>
        ///Disclosure-ID e.g. DED20190718UVWXYZ
        ///</summary>
        [<ApiMember(Description="Disclosure-ID e.g. DED20190718UVWXYZ", Name="Version")>]
        member val Offenlegungsnummer:String = null with get,set

        member val Registriernummer:String = null with get,set
        ///<summary>
        ///Disclosure ID of the report, which this report refers to.
        ///</summary>
        [<ApiMember(Description="Disclosure ID of the report, which this report refers to.", Name="Bezugsoffenlegung")>]
        member val Bezugsoffenlegung:String = null with get,set

        ///<summary>
        ///File name of the delivery file submitted to ELAN. Example: m5_d6_bz123456789_1004557331_shawarma133.xml
        ///</summary>
        [<ApiMember(Description="File name of the delivery file submitted to ELAN. Example: m5_d6_bz123456789_1004557331_shawarma133.xml", Name="Eingabedateiname")>]
        member val Eingabedateiname:String = null with get,set

        ///<summary>
        ///Time stamp at which the message was created.
        ///</summary>
        [<ApiMember(Description="Time stamp at which the message was created.", Name="Erstellungsdatum")>]
        member val Erstellungsdatum:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        member val MessageRefId:String = null with get,set
        ///<summary>
        ///File name of the file returned by ELAN. Example: m5_d6_bz123456789_1004557331_shawarma133_da5b42ce-9d27-4255-920e-1a089eeb0ec8.xml
        ///</summary>
        [<ApiMember(Description="File name of the file returned by ELAN. Example: m5_d6_bz123456789_1004557331_shawarma133_da5b42ce-9d27-4255-920e-1a089eeb0ec8.xml", Name="Version")>]
        member val Ausgabedateiname:String = null with get,set

        ///<summary>
        ///Time stamp of the completion process protocol.
        ///</summary>
        [<ApiMember(Description="Time stamp of the completion process protocol.", Name="Protokollerstellungsdatum")>]
        member val Protokollerstellungsdatum:Nullable<DateTime> = new Nullable<DateTime>() with get,set

    type Dac6EintragArt =
        | HINWEIS = 0
        | FEHLER = 1

    ///<summary>
    ///Represents a protocol entry
    ///</summary>
    [<Api(Description="Represents a protocol entry")>]
    [<AllowNullLiteral>]
    type Protokolleintrag() = 
        ///<summary>
        ///The type of entry.
        ///</summary>
        [<ApiMember(Description="The type of entry.", Name="EintragArt")>]
        member val EintragArt:Dac6EintragArt = new Dac6EintragArt() with get,set

        ///<summary>
        ///Code value of the entry type - error code or information code.
        ///</summary>
        [<ApiMember(Description="Code value of the entry type - error code or information code.", Name="Version")>]
        member val EintragCode:String = null with get,set

        ///<summary>
        ///Text (in German) of the protocol entry.
        ///</summary>
        [<ApiMember(Description="Text (in German) of the protocol entry.", Name="EintragText")>]
        member val EintragText:String = null with get,set

    ///<summary>
    ///Represents an overview result of a DAC6 or ISG delivery process.
    ///</summary>
    [<Api(Description="Represents an overview result of a DAC6 or ISG delivery process.")>]
    [<AllowNullLiteral>]
    type Dac6Verarbeitungsprotokoll() = 
        ///<summary>
        ///The version of the process protocol.
        ///</summary>
        [<ApiMember(Description="The version of the process protocol.", Name="Version")>]
        member val Version:String = null with get,set

        ///<summary>
        ///The type of message.
        ///</summary>
        [<ApiMember(Description="The type of message.", Name="MessageType")>]
        member val MessageType:String = null with get,set

        ///<summary>
        ///The statistical information on the delivery.
        ///</summary>
        [<ApiMember(Description="The statistical information on the delivery.", Name="Lieferungsdetails")>]
        member val Lieferungsdetails:Lieferungsdetails = null with get,set

        ///<summary>
        ///Contains protocol entries for the delivery.
        ///</summary>
        [<ApiMember(Description="Contains protocol entries for the delivery.", Name="Protokolleintraege")>]
        member val Protokolleintraege:ResizeArray<Protokolleintrag> = new ResizeArray<Protokolleintrag>() with get,set

    ///<summary>
    ///Stellt grenzüberschreitende Steuergestaltungen dar.
    ///</summary>
    [<Api(Description="Stellt grenzüberschreitende Steuergestaltungen dar.")>]
    [<AllowNullLiteral>]
    type DAC6() = 
        ///<summary>
        ///Dient dazu, spätere Aktualisierungen des Schemas zu ermöglichen. Hier ist nur der feste Wert 000001 zulässig.
        ///</summary>
        [<ApiMember(Description="Dient dazu, spätere Aktualisierungen des Schemas zu ermöglichen. Hier ist nur der feste Wert 000001 zulässig.", IsRequired=true, Name="Version")>]
        member val Version:String = null with get,set

        ///<summary>
        ///Wird verwendet, um die Sprache der Inhalte des Datenteils zu kennzeichnen. Zulässige Werte sind Sprachcodes aus 2 Kleinbuchstaben nach ISO 639-1.
        ///</summary>
        [<ApiMember(Description="Wird verwendet, um die Sprache der Inhalte des Datenteils zu kennzeichnen. Zulässige Werte sind Sprachcodes aus 2 Kleinbuchstaben nach ISO 639-1.", IsRequired=true, Name="Sprache")>]
        member val Sprache:Nullable<LanguageCode> = new Nullable<LanguageCode>() with get,set

        ///<summary>
        ///Gestaltung Gruppiert die Nutzdaten - Angabe dieser Elemente erfolgt sowohl bei der Nutzung vom BZSt Online Portal über das Formular sowie bei Lieferung über die ELMA Schnittstelle
        ///</summary>
        [<ApiMember(Description="Gestaltung Gruppiert die Nutzdaten - Angabe dieser Elemente erfolgt sowohl bei der Nutzung vom BZSt Online Portal über das Formular sowie bei Lieferung über die ELMA Schnittstelle", IsRequired=true, Name="Dac6Arrangement")>]
        member val Dac6Arrangement:Dac6Arrangement = null with get,set

        ///<summary>
        ///Enthält eine Übersicht über das Verarbeitungsergebnis einer DAC6- oder ISG-Lieferung.
        ///</summary>
        [<ApiMember(Description="Enthält eine Übersicht über das Verarbeitungsergebnis einer DAC6- oder ISG-Lieferung.", IsRequired=true, Name="Dac6Verarbeitungsprotokoll")>]
        member val Dac6Verarbeitungsprotokoll:Dac6Verarbeitungsprotokoll = null with get,set

    ///<summary>
    ///Specifies a request to generate a DAC6 ELMA-compatible XML content from a DAC6 data model.
    ///</summary>
    [<Api(Description="Specifies a request to generate a DAC6 ELMA-compatible XML content from a DAC6 data model.")>]
    [<AllowNullLiteral>]
    type CreateDac6XmlBase() = 
        interface IPost
        ///<summary>
        ///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"
        ///</summary>
        [<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")>]
        member val AuthSteuernummer:String = null with get,set

        ///<summary>
        ///The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9).
        ///</summary>
        [<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")>]
        member val AccountId:String = null with get,set

        ///<summary>
        ///User custom ID. This field can be filled with internal reference information of the user.
        ///</summary>
        [<ApiMember(Description="User custom ID. This field can be filled with internal reference information of the user.", Name="KundeneigeneId")>]
        member val KundeneigeneId:String = null with get,set

        ///<summary>
        ///The version number of the ELMAKOM definition.
        ///</summary>
        [<ApiMember(Description="The version number of the ELMAKOM definition.", IsRequired=true, Name="ElmakomVersion")>]
        member val ElmakomVersion:String = null with get,set

        ///<summary>
        ///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.
        ///</summary>
        [<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.", Name="StagingEnabled")>]
        member val StagingEnabled:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///The data model that represents the DAC6 content.
        ///</summary>
        [<ApiMember(Description="The data model that represents the DAC6 content.", Name="DataModel")>]
        member val DataModel:DAC6 = null with get,set

    ///<summary>
    ///Represents a request to generate an ELMA-compatible XML content from a DAC6 data model.
    ///</summary>
    [<Api(Description="Represents a request to generate an ELMA-compatible XML content from a DAC6 data model.")>]
    [<AllowNullLiteral>]
    type CreateDac6Xml() = 
        inherit CreateDac6XmlBase()

F# CreateDac6Xml DTOs

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

HTTP + OTHER

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

POST /sync/elma/dac6/xml HTTP/1.1 
Host: reportfiling.pwc.de 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"authSteuernummer":"String","accountId":"String","kundeneigeneId":"String","elmakomVersion":"String","stagingEnabled":false,"dataModel":{"version":"String","sprache":"AA","dac6Arrangement":{"version":"String","header":{"receivingCountries":["AF"],"messageRefId":"String","timestamp":"\/Date(-62135596800000-0000)\/"},"arrangementID":"String","dac6Disclosure":{"disclosureID":"String","refDisclosureID":"String","language":"AA","disclosing":{"id":{"individual":{"individualName":{"precedingTitle":"String","title":"String","firstName":"String","middleName":"String","namePrefix":"String","lastName":"String","generationIdentifier":"String","suffix":"String","generalSuffix":"String"},"birthDate":"\/Date(-62135596800000-0000)\/","birthPlace":"String","tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]},"organisation":{"organisationNames":[{"language":"AA","value":"String"}],"tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]}},"liability":{"intermediaryDiscloser":{"intermediaryNexus":"INEXa","capacity":"DAC61101"},"relevantTaxpayerDiscloser":{"relevantTaxpayerNexus":"RTNEXa","capacity":"DAC61104"}}},"initialDisclosureMA":false,"relevantTaxPayers":[{"id":{"individual":{"individualName":{"precedingTitle":"String","title":"String","firstName":"String","middleName":"String","namePrefix":"String","lastName":"String","generationIdentifier":"String","suffix":"String","generalSuffix":"String"},"birthDate":"\/Date(-62135596800000-0000)\/","birthPlace":"String","tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]},"organisation":{"organisationNames":[{"language":"AA","value":"String"}],"tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]}},"taxpayerImplementingDate":"\/Date(-62135596800000-0000)\/","associatedEnterprises":[{"associatedEnterpriseID":{"individual":{"individualName":{"precedingTitle":"String","title":"String","firstName":"String","middleName":"String","namePrefix":"String","lastName":"String","generationIdentifier":"String","suffix":"String","generalSuffix":"String"},"birthDate":"\/Date(-62135596800000-0000)\/","birthPlace":"String","tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]},"organisation":{"organisationNames":[{"language":"AA","value":"String"}],"tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]}},"affectedPerson":false}]}],"intermediaries":[{"id":{"individual":{"individualName":{"precedingTitle":"String","title":"String","firstName":"String","middleName":"String","namePrefix":"String","lastName":"String","generationIdentifier":"String","suffix":"String","generalSuffix":"String"},"birthDate":"\/Date(-62135596800000-0000)\/","birthPlace":"String","tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]},"organisation":{"organisationNames":[{"language":"AA","value":"String"}],"tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]}},"capacity":"DAC61101","nationalExemption":{"exemption":false,"countryExemptions":{"countryExemptions":["AF"]}}}],"affectedPersons":[{"affectedPersonID":{"individual":{"individualName":{"precedingTitle":"String","title":"String","firstName":"String","middleName":"String","namePrefix":"String","lastName":"String","generationIdentifier":"String","suffix":"String","generalSuffix":"String"},"birthDate":"\/Date(-62135596800000-0000)\/","birthPlace":"String","tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]},"organisation":{"organisationNames":[{"language":"AA","value":"String"}],"tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]}}}],"disclosureInformation":{"implementingDate":"\/Date(-62135596800000-0000)\/","reason":"DAC6701","summary":{"disclosure_Name":"String","disclosure_Descriptions":[{"language":"AA","value":"String"}]},"nationalProvision":{"texts":[{"language":"AA","value":"String"}],"country":"AF"},"amount":{"currCode":"AED","value":0},"arrangementChart":{"id":{"individual":{"individualName":{"precedingTitle":"String","title":"String","firstName":"String","middleName":"String","namePrefix":"String","lastName":"String","generationIdentifier":"String","suffix":"String","generalSuffix":"String"},"birthDate":"\/Date(-62135596800000-0000)\/","birthPlace":"String","tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]},"organisation":{"organisationNames":[{"language":"AA","value":"String"}],"tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]}},"ownership":0,"investAmount":{"currCode":"AED","value":0},"otherInfos":[{"language":"AA","value":"String"}],"listChilds":[{"id":{"individual":{"individualName":{"precedingTitle":"String","title":"String","firstName":"String","middleName":"String","namePrefix":"String","lastName":"String","generationIdentifier":"String","suffix":"String","generalSuffix":"String"},"birthDate":"\/Date(-62135596800000-0000)\/","birthPlace":"String","tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]},"organisation":{"organisationNames":[{"language":"AA","value":"String"}],"tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]}},"ownership":0,"investAmount":{"currCode":"AED","value":0},"otherInfos":[{"language":"AA","value":"String"}],"listChilds":[{"id":{"individual":{"individualName":{"precedingTitle":"String","title":"String","firstName":"String","middleName":"String","namePrefix":"String","lastName":"String","generationIdentifier":"String","suffix":"String","generalSuffix":"String"},"birthDate":"\/Date(-62135596800000-0000)\/","birthPlace":"String","tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]},"organisation":{"organisationNames":[{"language":"AA","value":"String"}],"tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]}},"ownership":0,"investAmount":{"currCode":"AED","value":0},"otherInfos":[{"language":"AA","value":"String"}],"listChilds":[{"id":{"individual":{"individualName":{"precedingTitle":"String","title":"String","firstName":"String","middleName":"String","namePrefix":"String","lastName":"String","generationIdentifier":"String","suffix":"String","generalSuffix":"String"},"birthDate":"\/Date(-62135596800000-0000)\/","birthPlace":"String","tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]},"organisation":{"organisationNames":[{"language":"AA","value":"String"}],"tiNs":[{"issuedBy":"AF","value":"String"}],"address":{"street":"String","buildingIdentifier":"String","suiteIdentifier":"String","floorIdentifier":"String","districtName":"String","pob":"String","postCode":"String","city":"String","country":"AF"},"emailAddress":"String","resCountryCodes":["AF"]}},"ownership":0,"investAmount":{"currCode":"AED","value":0},"otherInfos":[{"language":"AA","value":"String"}]}]}]}]},"concernedMSs":["AT"],"mainBenefitTest1":false,"hallmarks":{"listHallmarks":{"hallmarks":["DAC6A1"]},"daC6D1OtherInfos":[{"language":"AA","value":"String"}]}}}},"dac6Verarbeitungsprotokoll":{"version":"String","messageType":"DAC6","lieferungsdetails":{"verfahren":"DAC6","offenlegungsnummer":"String","registriernummer":"String","bezugsoffenlegung":"String","eingabedateiname":"String","erstellungsdatum":"\/Date(-62135596800000-0000)\/","messageRefId":"String","ausgabedateiname":"String","protokollerstellungsdatum":"\/Date(-62135596800000-0000)\/"},"protokolleintraege":[{"eintragArt":"HINWEIS","eintragCode":"String","eintragText":"String"}]}}}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

(string)