/* Options: Date: 2024-10-18 17:18:48 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://reportfiling.pwc.de //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateDac6Xml.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; abstract class IStageableRequest { bool? stagingEnabled; } enum LanguageCode { AA, AB, AF, AK, SQ, AM, AR, AN, HY, AS, AV, AE, AY, AZ, BA, BM, EU, BE, BN, BH, BI, BS, BR, BG, MY, CA, CH, CE, ZH, CU, CV, KW, CO, CR, CS, DA, DV, NL, DZ, EN, EO, ET, EE, FO, FJ, FI, FR, FY, FF, KA, DE, GD, GA, GL, GV, EL, GN, GU, HT, HA, HE, HZ, HI, HO, HR, HU, IG, IS, IO, II, IU, IE, IA, ID, IK, IT, JV, JA, KL, KN, KS, KR, KK, KM, KI, RW, KY, KV, KG, KO, KJ, KU, LO, LA, LV, LI, LN, LT, LB, LU, LG, MK, MH, ML, MI, MR, MS, MG, MT, MN, NA, NV, NR, ND, NG, NE, NN, NB, NO, NY, OC, OJ, OR, OM, OS, PA, FA, PI, PL, PT, PS, QU, RM, RO, RN, RU, SG, SA, SI, SK, SL, SE, SM, SN, SD, SO, ST, ES, SC, SR, SS, SU, SW, SV, TY, TA, TT, TE, TG, TL, TH, BO, TI, TO, TN, TS, TK, TR, TW, UG, UK, UR, UZ, VE, VI, VO, CY, WA, WO, XH, YI, YO, ZA, ZU, } /** * Angaben zu den Kopfdaten */ // @Api(Description="Angaben zu den Kopfdaten") class Dac6Header implements IConvertible { /** * Empfängerstaaten */ // @ApiMember(Description="Empfängerstaaten", Name="ReceivingCountries") List? receivingCountries; /** * 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. */ // @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") String? messageRefId; /** * 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. */ // @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") DateTime? timestamp; Dac6Header({this.receivingCountries,this.messageRefId,this.timestamp}); Dac6Header.fromJson(Map json) { fromMap(json); } fromMap(Map json) { receivingCountries = JsonConverters.fromJson(json['receivingCountries'],'List',context!); messageRefId = json['messageRefId']; timestamp = JsonConverters.fromJson(json['timestamp'],'DateTime',context!); return this; } Map toJson() => { 'receivingCountries': JsonConverters.toJson(receivingCountries,'List',context!), 'messageRefId': messageRefId, 'timestamp': JsonConverters.toJson(timestamp,'DateTime',context!) }; getTypeName() => "Dac6Header"; TypeContext? context = _ctx; } /** * Stellt die Namensangaben dar. */ // @Api(Description="Stellt die Namensangaben dar.") class Dac6NamePerson implements IConvertible { /** * Vorangestellter Titel */ // @ApiMember(Description="Vorangestellter Titel", IsRequired=true, Name="PrecedingTitle") String? precedingTitle; /** * Titel */ // @ApiMember(Description="Titel", Name="Title") String? title; /** * Vorname */ // @ApiMember(Description="Vorname", IsRequired=true, Name="FirstName") String? firstName; /** * Zweitname (weitere Namen) */ // @ApiMember(Description="Zweitname (weitere Namen)", Name="MiddleName") String? middleName; /** * Namenszusatz */ // @ApiMember(Description="Namenszusatz", Name="NamePrefix") String? namePrefix; /** * Nachname */ // @ApiMember(Description="Nachname", IsRequired=true, Name="LastName") String? lastName; /** * Generationszusatz */ // @ApiMember(Description="Generationszusatz", Name="GenerationIdentifier") String? generationIdentifier; /** * Titelzusatz */ // @ApiMember(Description="Titelzusatz", Name="Suffix") String? suffix; /** * Allgemeiner Zusatz */ // @ApiMember(Description="Allgemeiner Zusatz", Name="GeneralSuffix") String? generalSuffix; Dac6NamePerson({this.precedingTitle,this.title,this.firstName,this.middleName,this.namePrefix,this.lastName,this.generationIdentifier,this.suffix,this.generalSuffix}); Dac6NamePerson.fromJson(Map json) { fromMap(json); } fromMap(Map json) { precedingTitle = json['precedingTitle']; title = json['title']; firstName = json['firstName']; middleName = json['middleName']; namePrefix = json['namePrefix']; lastName = json['lastName']; generationIdentifier = json['generationIdentifier']; suffix = json['suffix']; generalSuffix = json['generalSuffix']; return this; } Map toJson() => { 'precedingTitle': precedingTitle, 'title': title, 'firstName': firstName, 'middleName': middleName, 'namePrefix': namePrefix, 'lastName': lastName, 'generationIdentifier': generationIdentifier, 'suffix': suffix, 'generalSuffix': generalSuffix }; getTypeName() => "Dac6NamePerson"; TypeContext? context = _ctx; } enum CountryCode { AF, AX, AL, DZ, AS, AD, AO, AI, AQ, AG, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BY, BE, BZ, BJ, BM, BT, BO, BQ, BA, BW, BV, BR, IO, BN, BG, BF, BI, KH, CM, CA, CV, KY, CF, TD, CL, CN, CX, CC, CO, KM, CG, CD, CK, CR, CI, HR, CU, CW, CY, CZ, DK, DJ, DM, DO, EC, EG, SV, GQ, ER, EE, ET, FK, FO, FJ, FI, FR, GF, PF, TF, GA, GM, GE, DE, GH, GI, GR, GL, GD, GP, GU, GT, GG, GN, GW, GY, HT, HM, VA, HN, HK, HU, IS, IN, ID, IR, IQ, IE, IM, IL, IT, JM, JP, JE, JO, KZ, KE, KI, KP, KR, KW, KG, LA, LV, LB, LS, LR, LY, LI, LT, LU, MO, MK, MG, MW, MY, MV, ML, MT, MH, MQ, MR, MU, YT, MX, FM, MD, MC, MN, ME, MS, MA, MZ, MM, NA, NR, NP, NL, NC, NZ, NI, NE, NG, NU, NF, MP, NO, OM, PK, PW, PS, PA, PG, PY, PE, PH, PN, PL, PT, PR, QA, RE, RO, RU, RW, BL, SH, KN, LC, MF, PM, VC, WS, SM, ST, SA, SN, RS, SC, SL, SG, SX, SK, SI, SB, SO, ZA, GS, SS, ES, LK, SD, SR, SJ, SZ, SE, CH, SY, TW, TJ, TZ, TH, TL, TG, TK, TO, TT, TN, TR, TM, TC, TV, UG, UA, AE, GB, US, UM, UY, UZ, VU, VE, VN, VG, VI, WF, EH, YE, ZM, ZW, XK, XX, } /** * Steueridentifikationsmerkmal Stellt die Angabe der Steuernummer dar. */ // @Api(Description="Steueridentifikationsmerkmal Stellt die Angabe der Steuernummer dar.") class Dac6TIN implements IConvertible { /** * Ausstellender Staat */ // @ApiMember(Description="Ausstellender Staat", Name="IssuedBy") CountryCode? issuedBy; /** * Steuernummer */ // @ApiMember(Description="Steuernummer", IsRequired=true, Name="Value") String? value; Dac6TIN({this.issuedBy,this.value}); Dac6TIN.fromJson(Map json) { fromMap(json); } fromMap(Map json) { issuedBy = JsonConverters.fromJson(json['issuedBy'],'CountryCode',context!); value = json['value']; return this; } Map toJson() => { 'issuedBy': JsonConverters.toJson(issuedBy,'CountryCode',context!), 'value': value }; getTypeName() => "Dac6TIN"; TypeContext? context = _ctx; } /** * Stellt die Andressangaben dar. */ // @Api(Description="Stellt die Andressangaben dar.") class Dac6Address implements IConvertible { /** * Straße */ // @ApiMember(Description="Straße", Name="Street") String? street; /** * Hausnummer */ // @ApiMember(Description="Hausnummer", Name="BuildingIdentifier") String? buildingIdentifier; /** * Wohnungsbezeichnung */ // @ApiMember(Description="Wohnungsbezeichnung", Name="SuiteIdentifier") String? suiteIdentifier; /** * Etagenbezeichnung */ // @ApiMember(Description="Etagenbezeichnung", Name="FloorIdentifier") String? floorIdentifier; /** * Verwaltungsbezirk */ // @ApiMember(Description="Verwaltungsbezirk", Name="DistrictName") String? districtName; /** * Postfach */ // @ApiMember(Description="Postfach", Name="POB") String? pob; /** * Postleitzahl */ // @ApiMember(Description="Postleitzahl", Name="PostCode") String? postCode; /** * Ort */ // @ApiMember(Description="Ort", IsRequired=true, Name="City") String? city; /** * Staat Zweibuchstabiges Länderkürzel nach ISO Norm 3166-1 Alpha 2 */ // @ApiMember(Description="Staat Zweibuchstabiges Länderkürzel nach ISO Norm 3166-1 Alpha 2", IsRequired=true, Name="Country") CountryCode? country; Dac6Address({this.street,this.buildingIdentifier,this.suiteIdentifier,this.floorIdentifier,this.districtName,this.pob,this.postCode,this.city,this.country}); Dac6Address.fromJson(Map json) { fromMap(json); } fromMap(Map json) { street = json['street']; buildingIdentifier = json['buildingIdentifier']; suiteIdentifier = json['suiteIdentifier']; floorIdentifier = json['floorIdentifier']; districtName = json['districtName']; pob = json['pob']; postCode = json['postCode']; city = json['city']; country = JsonConverters.fromJson(json['country'],'CountryCode',context!); return this; } Map toJson() => { 'street': street, 'buildingIdentifier': buildingIdentifier, 'suiteIdentifier': suiteIdentifier, 'floorIdentifier': floorIdentifier, 'districtName': districtName, 'pob': pob, 'postCode': postCode, 'city': city, 'country': JsonConverters.toJson(country,'CountryCode',context!) }; getTypeName() => "Dac6Address"; TypeContext? context = _ctx; } /** * Natürliche Person */ // @Api(Description="Natürliche Person") class Dac6Person implements IConvertible { /** * Namensangaben */ // @ApiMember(Description="Namensangaben", IsRequired=true, Name="IndividualName") Dac6NamePerson? individualName; /** * GeburtsdatumFormat: YYYY-MM-DD */ // @ApiMember(Description="GeburtsdatumFormat: YYYY-MM-DD", IsRequired=true, Name="BirthDate") DateTime? birthDate; /** * Geburtsort */ // @ApiMember(Description="Geburtsort", IsRequired=true, Name="BirthPlace") String? birthPlace; /** * Steueridentifikationsmerkmale */ // @ApiMember(Description="Steueridentifikationsmerkmale", IsRequired=true, Name="TINs") List? tiNs; /** * Adressangaben */ // @ApiMember(Description="Adressangaben", IsRequired=true, Name="Address") Dac6Address? address; /** * E-Mailadresse */ // @ApiMember(Description="E-Mailadresse", Name="EmailAddress") String? emailAddress; /** * Ansässigkeitsstaaten */ // @ApiMember(Description="Ansässigkeitsstaaten", IsRequired=true, Name="ResCountryCodes") List? resCountryCodes; Dac6Person({this.individualName,this.birthDate,this.birthPlace,this.tiNs,this.address,this.emailAddress,this.resCountryCodes}); Dac6Person.fromJson(Map json) { fromMap(json); } fromMap(Map json) { individualName = JsonConverters.fromJson(json['individualName'],'Dac6NamePerson',context!); birthDate = JsonConverters.fromJson(json['birthDate'],'DateTime',context!); birthPlace = json['birthPlace']; tiNs = JsonConverters.fromJson(json['tiNs'],'List',context!); address = JsonConverters.fromJson(json['address'],'Dac6Address',context!); emailAddress = json['emailAddress']; resCountryCodes = JsonConverters.fromJson(json['resCountryCodes'],'List',context!); return this; } Map toJson() => { 'individualName': JsonConverters.toJson(individualName,'Dac6NamePerson',context!), 'birthDate': JsonConverters.toJson(birthDate,'DateTime',context!), 'birthPlace': birthPlace, 'tiNs': JsonConverters.toJson(tiNs,'List',context!), 'address': JsonConverters.toJson(address,'Dac6Address',context!), 'emailAddress': emailAddress, 'resCountryCodes': JsonConverters.toJson(resCountryCodes,'List',context!) }; getTypeName() => "Dac6Person"; TypeContext? context = _ctx; } /** * Stellt den Name der Organisation dar */ // @Api(Description="Stellt den Name der Organisation dar") class Dac6NameOrganisation implements IConvertible { /** * Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur "DE" oder "EN" gewählt werden. */ // @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") LanguageCode? language; /** * Namenswert der Organisation */ // @ApiMember(Description="Namenswert der Organisation", IsRequired=true, Name="Value") String? value; Dac6NameOrganisation({this.language,this.value}); Dac6NameOrganisation.fromJson(Map json) { fromMap(json); } fromMap(Map json) { language = JsonConverters.fromJson(json['language'],'LanguageCode',context!); value = json['value']; return this; } Map toJson() => { 'language': JsonConverters.toJson(language,'LanguageCode',context!), 'value': value }; getTypeName() => "Dac6NameOrganisation"; TypeContext? context = _ctx; } /** * Organisation */ // @Api(Description="Organisation") class Dac6Organisation implements IConvertible { /** * Die Name der Organisation */ // @ApiMember(Description="Die Name der Organisation", IsRequired=true, Name="OrganisationNames") List? organisationNames; /** * Steueridentifikationsmerkmale */ // @ApiMember(Description="Steueridentifikationsmerkmale", IsRequired=true, Name="TINs") List? tiNs; /** * Adressangaben */ // @ApiMember(Description="Adressangaben", IsRequired=true, Name="Address") Dac6Address? address; /** * E-Mailadresse */ // @ApiMember(Description="E-Mailadresse", Name="EmailAddress") String? emailAddress; /** * Ansässigkeitsstaaten */ // @ApiMember(Description="Ansässigkeitsstaaten", IsRequired=true, Name="ResCountryCodes") List? resCountryCodes; Dac6Organisation({this.organisationNames,this.tiNs,this.address,this.emailAddress,this.resCountryCodes}); Dac6Organisation.fromJson(Map json) { fromMap(json); } fromMap(Map json) { organisationNames = JsonConverters.fromJson(json['organisationNames'],'List',context!); tiNs = JsonConverters.fromJson(json['tiNs'],'List',context!); address = JsonConverters.fromJson(json['address'],'Dac6Address',context!); emailAddress = json['emailAddress']; resCountryCodes = JsonConverters.fromJson(json['resCountryCodes'],'List',context!); return this; } Map toJson() => { 'organisationNames': JsonConverters.toJson(organisationNames,'List',context!), 'tiNs': JsonConverters.toJson(tiNs,'List',context!), 'address': JsonConverters.toJson(address,'Dac6Address',context!), 'emailAddress': emailAddress, 'resCountryCodes': JsonConverters.toJson(resCountryCodes,'List',context!) }; getTypeName() => "Dac6Organisation"; TypeContext? context = _ctx; } /** * Entweder Angabe von Individual oder Angabe von Organisation */ // @Api(Description="Entweder Angabe von Individual oder Angabe von Organisation") class Dac6PersonOrganisation implements IConvertible { /** * Natürliche Person Zwingend anzugeben, wenn PersonOrganisation keine Organisation ist. Die Folgeeintragungen sind abhängig von dieser Auswahl. */ // @ApiMember(Description="Natürliche Person Zwingend anzugeben, wenn PersonOrganisation keine Organisation ist. Die Folgeeintragungen sind abhängig von dieser Auswahl.", IsRequired=true, Name="Individual") Dac6Person? individual; /** * Organisation Zwingend anzugeben, PersonOrganisation keine Person ist. Die Folgeeintragungen sind abhängig von dieser Auswahl. */ // @ApiMember(Description="Organisation Zwingend anzugeben, PersonOrganisation keine Person ist. Die Folgeeintragungen sind abhängig von dieser Auswahl.", IsRequired=true, Name="Individual") Dac6Organisation? organisation; Dac6PersonOrganisation({this.individual,this.organisation}); Dac6PersonOrganisation.fromJson(Map json) { fromMap(json); } fromMap(Map json) { individual = JsonConverters.fromJson(json['individual'],'Dac6Person',context!); organisation = JsonConverters.fromJson(json['organisation'],'Dac6Organisation',context!); return this; } Map toJson() => { 'individual': JsonConverters.toJson(individual,'Dac6Person',context!), 'organisation': JsonConverters.toJson(organisation,'Dac6Organisation',context!) }; getTypeName() => "Dac6PersonOrganisation"; TypeContext? context = _ctx; } enum Dac6IntermediaryNexus { INEXa, INEXb, INEXc, INEXd, } enum Dac6IntermediaryCapacity { DAC61101, DAC61102, } /** * Meldepflichtiger Intermediär */ // @Api(Description="Meldepflichtiger Intermediär") class Dac6IntermediaryDiscloser implements IConvertible { /** * 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 */ // @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") Dac6IntermediaryNexus? intermediaryNexus; /** * Rolle des Intermediärs DAC61101 – Entwicklung / Vertrieb /Umsetzungsunterstützung DAC61102 – Dienstleister (organisierende / verwaltendeTätigkeit */ // @ApiMember(Description="Rolle des Intermediärs DAC61101 – Entwicklung / Vertrieb /Umsetzungsunterstützung DAC61102 – Dienstleister (organisierende / verwaltendeTätigkeit", IsRequired=true, Name="IntermediaryNexus") Dac6IntermediaryCapacity? capacity; Dac6IntermediaryDiscloser({this.intermediaryNexus,this.capacity}); Dac6IntermediaryDiscloser.fromJson(Map json) { fromMap(json); } fromMap(Map json) { intermediaryNexus = JsonConverters.fromJson(json['intermediaryNexus'],'Dac6IntermediaryNexus',context!); capacity = JsonConverters.fromJson(json['capacity'],'Dac6IntermediaryCapacity',context!); return this; } Map toJson() => { 'intermediaryNexus': JsonConverters.toJson(intermediaryNexus,'Dac6IntermediaryNexus',context!), 'capacity': JsonConverters.toJson(capacity,'Dac6IntermediaryCapacity',context!) }; getTypeName() => "Dac6IntermediaryDiscloser"; TypeContext? context = _ctx; } enum Dac6RelevantTaxpayerNexus { RTNEXa, RTNEXb, RTNEXc, RTNEXd, } enum Dac6TaxpayerCapacity { DAC61104, DAC61105, DAC61106, } /** * Meldepflichtiger Nutzer */ // @Api(Description="Meldepflichtiger Nutzer") class Dac6RelevantTaxpayerDiscloser implements IConvertible { /** * 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. */ // @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") Dac6RelevantTaxpayerNexus? relevantTaxpayerNexus; /** * Rolle des Intermediärs DAC61104 - Verschwiegenheitspflicht des Intermediärs DAC61105 - Intermediär aus Nicht-EU-Staat DAC61106 - Selbst konzipierte Gestaltung */ // @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") Dac6TaxpayerCapacity? capacity; Dac6RelevantTaxpayerDiscloser({this.relevantTaxpayerNexus,this.capacity}); Dac6RelevantTaxpayerDiscloser.fromJson(Map json) { fromMap(json); } fromMap(Map json) { relevantTaxpayerNexus = JsonConverters.fromJson(json['relevantTaxpayerNexus'],'Dac6RelevantTaxpayerNexus',context!); capacity = JsonConverters.fromJson(json['capacity'],'Dac6TaxpayerCapacity',context!); return this; } Map toJson() => { 'relevantTaxpayerNexus': JsonConverters.toJson(relevantTaxpayerNexus,'Dac6RelevantTaxpayerNexus',context!), 'capacity': JsonConverters.toJson(capacity,'Dac6TaxpayerCapacity',context!) }; getTypeName() => "Dac6RelevantTaxpayerDiscloser"; TypeContext? context = _ctx; } /** * Angabe der Verbindung des Intermediärs zu Deutschland und des Meldegrunds. Die Angaben zum Meldepflichtigen sind durch eine Geschäftsregel verpflichtend vorzunehmen. */ // @Api(Description="Angabe der Verbindung des Intermediärs zu Deutschland und des Meldegrunds. Die Angaben zum Meldepflichtigen sind durch eine Geschäftsregel verpflichtend vorzunehmen.") class Dac6Liability implements IConvertible { /** * Meldepflichtiger Intermediär Dieses Feld ist verpflichtend anzugeben, wenn Liability kein RelevantTaxpayerDiscloser ist. */ // @ApiMember(Description="Meldepflichtiger Intermediär Dieses Feld ist verpflichtend anzugeben, wenn Liability kein RelevantTaxpayerDiscloser ist.", IsRequired=true, Name="IntermediaryDiscloser") Dac6IntermediaryDiscloser? intermediaryDiscloser; /** * Meldepflichtiger Nutzer Dieses Feld ist verpflichtend anzugeben, wenn Liability kein IntermediaryDiscloser ist. */ // @ApiMember(Description="Meldepflichtiger Nutzer Dieses Feld ist verpflichtend anzugeben, wenn Liability kein IntermediaryDiscloser ist.", IsRequired=true, Name="RelevantTaxpayerDiscloser") Dac6RelevantTaxpayerDiscloser? relevantTaxpayerDiscloser; Dac6Liability({this.intermediaryDiscloser,this.relevantTaxpayerDiscloser}); Dac6Liability.fromJson(Map json) { fromMap(json); } fromMap(Map json) { intermediaryDiscloser = JsonConverters.fromJson(json['intermediaryDiscloser'],'Dac6IntermediaryDiscloser',context!); relevantTaxpayerDiscloser = JsonConverters.fromJson(json['relevantTaxpayerDiscloser'],'Dac6RelevantTaxpayerDiscloser',context!); return this; } Map toJson() => { 'intermediaryDiscloser': JsonConverters.toJson(intermediaryDiscloser,'Dac6IntermediaryDiscloser',context!), 'relevantTaxpayerDiscloser': JsonConverters.toJson(relevantTaxpayerDiscloser,'Dac6RelevantTaxpayerDiscloser',context!) }; getTypeName() => "Dac6Liability"; TypeContext? context = _ctx; } /** * Angaben zum Meldepflichtigen */ // @Api(Description="Angaben zum Meldepflichtigen") class Dac6Discloser implements IConvertible { /** * Identifikationsdaten zum Meldepflichtigen */ // @ApiMember(Description="Identifikationsdaten zum Meldepflichtigen", IsRequired=true, Name="ID") Dac6PersonOrganisation? id; /** * Meldepflichtiger Angabe der Verbindung des Intermediärs zu Deutschland und des Meldegrunds. Die Angaben zum Meldepflichtigen sind durch eine Geschäftsregel verpflichtend vorzunehmen. */ // @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") Dac6Liability? liability; Dac6Discloser({this.id,this.liability}); Dac6Discloser.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = JsonConverters.fromJson(json['id'],'Dac6PersonOrganisation',context!); liability = JsonConverters.fromJson(json['liability'],'Dac6Liability',context!); return this; } Map toJson() => { 'id': JsonConverters.toJson(id,'Dac6PersonOrganisation',context!), 'liability': JsonConverters.toJson(liability,'Dac6Liability',context!) }; getTypeName() => "Dac6Discloser"; TypeContext? context = _ctx; } /** * Angabe aller bekannten Nutzer */ class Dac6RelevantTaxPayers implements IConvertible { Dac6RelevantTaxPayers(); Dac6RelevantTaxPayers.fromJson(Map json) : super(); fromMap(Map json) { return this; } Map toJson() => {}; getTypeName() => "Dac6RelevantTaxPayers"; TypeContext? context = _ctx; } /** * Angabe zum jeweiligen Intermediär */ class Dac6Intermediaries implements IConvertible { Dac6Intermediaries(); Dac6Intermediaries.fromJson(Map json) : super(); fromMap(Map json) { return this; } Map toJson() => {}; getTypeName() => "Dac6Intermediaries"; TypeContext? context = _ctx; } /** * 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. */ class Dac6AffectedPersons implements IConvertible { Dac6AffectedPersons(); Dac6AffectedPersons.fromJson(Map json) : super(); fromMap(Map json) { return this; } Map toJson() => {}; getTypeName() => "Dac6AffectedPersons"; TypeContext? context = _ctx; } enum Dac6DisclosurerReason { DAC6701, DAC6702, DAC6703, } /** * Beschreibung der Gestaltung */ // @Api(Description="Beschreibung der Gestaltung") class Dac6Disclosure_Description implements IConvertible { /** * Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur "DE" oder "EN" gewählt werden. */ // @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") LanguageCode? language; /** * Beschreibung */ // @ApiMember(Description="Beschreibung", IsRequired=true, Name="Value") String? value; Dac6Disclosure_Description({this.language,this.value}); Dac6Disclosure_Description.fromJson(Map json) { fromMap(json); } fromMap(Map json) { language = JsonConverters.fromJson(json['language'],'LanguageCode',context!); value = json['value']; return this; } Map toJson() => { 'language': JsonConverters.toJson(language,'LanguageCode',context!), 'value': value }; getTypeName() => "Dac6Disclosure_Description"; TypeContext? context = _ctx; } /** * Zusammenfassung der Gestaltung Angabe der Beschreibung und der Bezeichnung der Gestaltung */ // @Api(Description="Zusammenfassung der Gestaltung Angabe der Beschreibung und der Bezeichnung der Gestaltung") class Dac6Summary implements IConvertible { /** * Name der Gestaltung */ // @ApiMember(Description="Name der Gestaltung", IsRequired=true, Name="Disclosure_Name") String? disclosure_Name; /** * 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. */ // @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") List? disclosure_Descriptions; Dac6Summary({this.disclosure_Name,this.disclosure_Descriptions}); Dac6Summary.fromJson(Map json) { fromMap(json); } fromMap(Map json) { disclosure_Name = json['disclosure_Name']; disclosure_Descriptions = JsonConverters.fromJson(json['disclosure_Descriptions'],'List',context!); return this; } Map toJson() => { 'disclosure_Name': disclosure_Name, 'disclosure_Descriptions': JsonConverters.toJson(disclosure_Descriptions,'List',context!) }; getTypeName() => "Dac6Summary"; TypeContext? context = _ctx; } /** * Angabe der Rechtsvorschrift */ // @Api(Description="Angabe der Rechtsvorschrift") class Dac6Text implements IConvertible { /** * Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur "DE" oder "EN" gewählt werden. */ // @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") LanguageCode? language; /** * Beschreibung */ // @ApiMember(Description="Beschreibung", IsRequired=true, Name="Value") String? value; Dac6Text({this.language,this.value}); Dac6Text.fromJson(Map json) { fromMap(json); } fromMap(Map json) { language = JsonConverters.fromJson(json['language'],'LanguageCode',context!); value = json['value']; return this; } Map toJson() => { 'language': JsonConverters.toJson(language,'LanguageCode',context!), 'value': value }; getTypeName() => "Dac6Text"; TypeContext? context = _ctx; } /** * Rechtsvorschrift */ // @Api(Description="Rechtsvorschrift") class Dac6NationalProvision implements IConvertible { /** * Angabe der Rechtsvorschrift */ // @ApiMember(Description="Angabe der Rechtsvorschrift", IsRequired=true, Name="Texts") List? texts; /** * Staat zur Rechtsvorschrift Angabe des Staates, der die angegebene Rechtsvorschrift erlassen hat. */ // @ApiMember(Description="Staat zur Rechtsvorschrift Angabe des Staates, der die angegebene Rechtsvorschrift erlassen hat.", IsRequired=true, Name="Country") CountryCode? country; Dac6NationalProvision({this.texts,this.country}); Dac6NationalProvision.fromJson(Map json) { fromMap(json); } fromMap(Map json) { texts = JsonConverters.fromJson(json['texts'],'List',context!); country = JsonConverters.fromJson(json['country'],'CountryCode',context!); return this; } Map toJson() => { 'texts': JsonConverters.toJson(texts,'List',context!), 'country': JsonConverters.toJson(country,'CountryCode',context!) }; getTypeName() => "Dac6NationalProvision"; TypeContext? context = _ctx; } enum CurrencyCode { AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLL, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, UYI, UYU, UYW, UZS, VES, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XOF, XPD, XPF, XPT, XSU, XUA, XXX, YER, ZAR, ZMW, ZWL, } /** * Angabe des tatsächlichen oder voraussichtlichen wirtschaftlichen Werts der grenzüberschreitenden Steuergestaltung. */ // @Api(Description="Angabe des tatsächlichen oder voraussichtlichen wirtschaftlichen Werts der grenzüberschreitenden Steuergestaltung.") class Dac6Amount implements IConvertible { /** * WährungAngabe des ISO-Währungscodes der Währung, in dem der Wert angegeben wurde. */ // @ApiMember(Description="WährungAngabe des ISO-Währungscodes der Währung, in dem der Wert angegeben wurde.", IsRequired=true, Name="CurrCode") CurrencyCode? currCode; /** * Wirtschaftlicher Wert der Gestaltung */ // @ApiMember(Description="Wirtschaftlicher Wert der Gestaltung", IsRequired=true, Name="Value") int? value; Dac6Amount({this.currCode,this.value}); Dac6Amount.fromJson(Map json) { fromMap(json); } fromMap(Map json) { currCode = JsonConverters.fromJson(json['currCode'],'CurrencyCode',context!); value = json['value']; return this; } Map toJson() => { 'currCode': JsonConverters.toJson(currCode,'CurrencyCode',context!), 'value': value }; getTypeName() => "Dac6Amount"; TypeContext? context = _ctx; } /** * 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. */ // @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.") class Dac6OtherInfo implements IConvertible { /** * Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur "DE" oder "EN" gewählt werden. */ // @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") LanguageCode? language; /** * Beschreibung */ // @ApiMember(Description="Beschreibung", IsRequired=true, Name="Value") String? value; Dac6OtherInfo({this.language,this.value}); Dac6OtherInfo.fromJson(Map json) { fromMap(json); } fromMap(Map json) { language = JsonConverters.fromJson(json['language'],'LanguageCode',context!); value = json['value']; return this; } Map toJson() => { 'language': JsonConverters.toJson(language,'LanguageCode',context!), 'value': value }; getTypeName() => "Dac6OtherInfo"; TypeContext? context = _ctx; } /** * Nächste Ebene Erfassung einer weiteren Ebene im Unternehmenschart */ class Dac6ListChilds implements IConvertible { Dac6ListChilds(); Dac6ListChilds.fromJson(Map json) : super(); fromMap(Map json) { return this; } Map toJson() => {}; getTypeName() => "Dac6ListChilds"; TypeContext? context = _ctx; } /** * 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. */ // @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.") class Dac6ArrangementChart implements IConvertible { /** * Identifikationsdaten */ // @ApiMember(Description="Identifikationsdaten", IsRequired=true, Name="ID") Dac6PersonOrganisation? id; /** * Die Beteiligungshöhe in Prozent Angabe der Beteiligungshöhe in Prozent. Der angegebene Wert muss mindestens 0 und darf maximal 100 sein. */ // @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") int? ownership; /** * Die wertmäßige Beteiligungshöhe */ // @ApiMember(Description="Die wertmäßige Beteiligungshöhe", Name="InvestAmount") Dac6Amount? investAmount; /** * Beteiligungsangaben */ // @ApiMember(Description="Beteiligungsangaben", Name="OtherInfos") List? otherInfos; /** * Nächste Ebene Erfassung einer weiteren Ebene im Unternehmenschart */ // @ApiMember(Description="Nächste Ebene Erfassung einer weiteren Ebene im Unternehmenschart", Name="ListChilds") Dac6ListChilds? listChilds; Dac6ArrangementChart({this.id,this.ownership,this.investAmount,this.otherInfos,this.listChilds}); Dac6ArrangementChart.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = JsonConverters.fromJson(json['id'],'Dac6PersonOrganisation',context!); ownership = json['ownership']; investAmount = JsonConverters.fromJson(json['investAmount'],'Dac6Amount',context!); otherInfos = JsonConverters.fromJson(json['otherInfos'],'List',context!); listChilds = JsonConverters.fromJson(json['listChilds'],'Dac6ListChilds',context!); return this; } Map toJson() => { 'id': JsonConverters.toJson(id,'Dac6PersonOrganisation',context!), 'ownership': ownership, 'investAmount': JsonConverters.toJson(investAmount,'Dac6Amount',context!), 'otherInfos': JsonConverters.toJson(otherInfos,'List',context!), 'listChilds': JsonConverters.toJson(listChilds,'Dac6ListChilds',context!) }; getTypeName() => "Dac6ArrangementChart"; TypeContext? context = _ctx; } /** * Liste der betroffenen Mitgliedstaaten Angabe der Mitgliedstaaten der Europäischen Union, die wahrscheinlich von der grenzüberschreitenden Steuergestaltung betroffen sind. */ class Dac6ConcernedMSs implements IConvertible { Dac6ConcernedMSs(); Dac6ConcernedMSs.fromJson(Map json) : super(); fromMap(Map json) { return this; } Map toJson() => {}; getTypeName() => "Dac6ConcernedMSs"; TypeContext? context = _ctx; } enum Dac6Hallmark { DAC6A1, DAC6A2a, DAC6A2b, DAC6A3, DAC6B1, DAC6B2, DAC6B3, DAC6C1a, DAC6C1bi, DAC6C1bii, DAC6C1c, DAC6C1d, DAC6C2, DAC6C3, DAC6C4, DAC6D1Other, DAC6D1a, DAC6D1b, DAC6D1c, DAC6D1d, DAC6D1e, DAC6D1f, DAC6D2, DAC6E1, DAC6E2, DAC6E3, } /** * Angabe der Kennzeiche Angabe der Einzelheiten zu den nach § 138e zur Mitteilung verpflichtenden Kennzeichen */ // @Api(Description="Angabe der Kennzeiche Angabe der Einzelheiten zu den nach § 138e zur Mitteilung verpflichtenden Kennzeichen") class Dac6ListHallmarks implements IConvertible { /** * Betroffene Kennzeichen */ // @ApiMember(Description="Betroffene Kennzeichen", IsRequired=true, Name="Hallmarks") List? hallmarks; Dac6ListHallmarks({this.hallmarks}); Dac6ListHallmarks.fromJson(Map json) { fromMap(json); } fromMap(Map json) { hallmarks = JsonConverters.fromJson(json['hallmarks'],'List',context!); return this; } Map toJson() => { 'hallmarks': JsonConverters.toJson(hallmarks,'List',context!) }; getTypeName() => "Dac6ListHallmarks"; TypeContext? context = _ctx; } /** * 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. */ // @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.") class DAC6D1OtherInfo implements IConvertible { /** * Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur "DE" oder "EN" gewählt werden. */ // @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") LanguageCode? language; /** * Beschreibung */ // @ApiMember(Description="Beschreibung", IsRequired=true, Name="Value") String? value; DAC6D1OtherInfo({this.language,this.value}); DAC6D1OtherInfo.fromJson(Map json) { fromMap(json); } fromMap(Map json) { language = JsonConverters.fromJson(json['language'],'LanguageCode',context!); value = json['value']; return this; } Map toJson() => { 'language': JsonConverters.toJson(language,'LanguageCode',context!), 'value': value }; getTypeName() => "DAC6D1OtherInfo"; TypeContext? context = _ctx; } /** * 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 */ // @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") class Dac6Hallmarks implements IConvertible { /** * Angabe der Kennzeichen */ // @ApiMember(Description="Angabe der Kennzeichen", IsRequired=true, Name="ListHallmarks") Dac6ListHallmarks? listHallmarks; /** * Beschreibung des Kennzeichens */ // @ApiMember(Description="Beschreibung des Kennzeichens", IsRequired=true, Name="DAC6D1OtherInfos") List? daC6D1OtherInfos; Dac6Hallmarks({this.listHallmarks,this.daC6D1OtherInfos}); Dac6Hallmarks.fromJson(Map json) { fromMap(json); } fromMap(Map json) { listHallmarks = JsonConverters.fromJson(json['listHallmarks'],'Dac6ListHallmarks',context!); daC6D1OtherInfos = JsonConverters.fromJson(json['daC6D1OtherInfos'],'List',context!); return this; } Map toJson() => { 'listHallmarks': JsonConverters.toJson(listHallmarks,'Dac6ListHallmarks',context!), 'daC6D1OtherInfos': JsonConverters.toJson(daC6D1OtherInfos,'List',context!) }; getTypeName() => "Dac6Hallmarks"; TypeContext? context = _ctx; } /** * Angabe der Informationen zur Steuergestaltung */ // @Api(Description="Angabe der Informationen zur Steuergestaltung") class Dac6DisclosureInformation implements IConvertible { /** * 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. */ // @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") DateTime? implementingDate; /** * 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 */ // @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") Dac6DisclosurerReason? reason; /** * Zusammenfassung der Gestaltung Angabe der Beschreibung und der Bezeichnung der Gestaltung. */ // @ApiMember(Description="Zusammenfassung der Gestaltung Angabe der Beschreibung und der Bezeichnung der Gestaltung.", Name="Summary") Dac6Summary? summary; /** * Rechtsvorschrift */ // @ApiMember(Description="Rechtsvorschrift", Name="NationalProvision") Dac6NationalProvision? nationalProvision; /** * Angabe des tatsächlichen oder voraussichtlichen wirtschaftlichen Werts der grenzüberschreitenden Steuergestaltung. */ // @ApiMember(Description="Angabe des tatsächlichen oder voraussichtlichen wirtschaftlichen Werts der grenzüberschreitenden Steuergestaltung.", Name="Amount") Dac6Amount? amount; /** * 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. */ // @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") Dac6ArrangementChart? arrangementChart; /** * Betroffenen Mitgliedstaaten */ // @ApiMember(Description="Betroffenen Mitgliedstaaten", Name="ConcernedMSs") Dac6ConcernedMSs? concernedMSs; /** * Steuerlicher Vorteil Angabe, ob ein steuerlicher Vorteil vorliegt oder nicht. true: ein steuerlicher Vorteil vorliegt false: ein steuerlicher Vorteil vorliegt nicht. */ // @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") bool? mainBenefitTest1; /** * 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 */ // @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") Dac6Hallmarks? hallmarks; Dac6DisclosureInformation({this.implementingDate,this.reason,this.summary,this.nationalProvision,this.amount,this.arrangementChart,this.concernedMSs,this.mainBenefitTest1,this.hallmarks}); Dac6DisclosureInformation.fromJson(Map json) { fromMap(json); } fromMap(Map json) { implementingDate = JsonConverters.fromJson(json['implementingDate'],'DateTime',context!); reason = JsonConverters.fromJson(json['reason'],'Dac6DisclosurerReason',context!); summary = JsonConverters.fromJson(json['summary'],'Dac6Summary',context!); nationalProvision = JsonConverters.fromJson(json['nationalProvision'],'Dac6NationalProvision',context!); amount = JsonConverters.fromJson(json['amount'],'Dac6Amount',context!); arrangementChart = JsonConverters.fromJson(json['arrangementChart'],'Dac6ArrangementChart',context!); concernedMSs = JsonConverters.fromJson(json['concernedMSs'],'Dac6ConcernedMSs',context!); mainBenefitTest1 = json['mainBenefitTest1']; hallmarks = JsonConverters.fromJson(json['hallmarks'],'Dac6Hallmarks',context!); return this; } Map toJson() => { 'implementingDate': JsonConverters.toJson(implementingDate,'DateTime',context!), 'reason': JsonConverters.toJson(reason,'Dac6DisclosurerReason',context!), 'summary': JsonConverters.toJson(summary,'Dac6Summary',context!), 'nationalProvision': JsonConverters.toJson(nationalProvision,'Dac6NationalProvision',context!), 'amount': JsonConverters.toJson(amount,'Dac6Amount',context!), 'arrangementChart': JsonConverters.toJson(arrangementChart,'Dac6ArrangementChart',context!), 'concernedMSs': JsonConverters.toJson(concernedMSs,'Dac6ConcernedMSs',context!), 'mainBenefitTest1': mainBenefitTest1, 'hallmarks': JsonConverters.toJson(hallmarks,'Dac6Hallmarks',context!) }; getTypeName() => "Dac6DisclosureInformation"; TypeContext? context = _ctx; } /** * Angaben zur Offenlegung */ // @Api(Description="Angaben zur Offenlegung") class Dac6Disclosure implements IConvertible { /** * 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. */ // @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") String? disclosureID; /** * Angabe im Format DEDYYYYMMDDXXXXXX 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. */ // @ApiMember(Description="Angabe im Format DEDYYYYMMDDXXXXXX 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") String? refDisclosureID; /** * Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt. Hier kann nur "DE" oder "EN" gewählt werden. */ // @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") LanguageCode? language; /** * Meldepflichtiger */ // @ApiMember(Description="Meldepflichtiger", IsRequired=true, Name="Disclosing") Dac6Discloser? disclosing; /** * Initialmeldung In diesem Feld muss angegeben werden, ob es sich um dieerste Meldung zu einer marktfähigen Gestaltung (Arrangement) handelt. Default value = false */ // @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") bool? initialDisclosureMA; /** * Angabe aller bekannten Nutzer */ // @ApiMember(Description="Angabe aller bekannten Nutzer", Name="RelevantTaxPayers") Dac6RelevantTaxPayers? relevantTaxPayers; /** * Angabe aller bekannten Nutzer */ // @ApiMember(Description="Angabe aller bekannten Nutzer", Name="Intermediaries") Dac6Intermediaries? intermediaries; /** * 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. */ // @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") Dac6AffectedPersons? affectedPersons; /** * Angabe der Informationen zur Steuergestaltung */ // @ApiMember(Description="Angabe der Informationen zur Steuergestaltung", IsRequired=true, Name="DisclosureInformation") Dac6DisclosureInformation? disclosureInformation; Dac6Disclosure({this.disclosureID,this.refDisclosureID,this.language,this.disclosing,this.initialDisclosureMA,this.relevantTaxPayers,this.intermediaries,this.affectedPersons,this.disclosureInformation}); Dac6Disclosure.fromJson(Map json) { fromMap(json); } fromMap(Map json) { disclosureID = json['disclosureID']; refDisclosureID = json['refDisclosureID']; language = JsonConverters.fromJson(json['language'],'LanguageCode',context!); disclosing = JsonConverters.fromJson(json['disclosing'],'Dac6Discloser',context!); initialDisclosureMA = json['initialDisclosureMA']; relevantTaxPayers = JsonConverters.fromJson(json['relevantTaxPayers'],'Dac6RelevantTaxPayers',context!); intermediaries = JsonConverters.fromJson(json['intermediaries'],'Dac6Intermediaries',context!); affectedPersons = JsonConverters.fromJson(json['affectedPersons'],'Dac6AffectedPersons',context!); disclosureInformation = JsonConverters.fromJson(json['disclosureInformation'],'Dac6DisclosureInformation',context!); return this; } Map toJson() => { 'disclosureID': disclosureID, 'refDisclosureID': refDisclosureID, 'language': JsonConverters.toJson(language,'LanguageCode',context!), 'disclosing': JsonConverters.toJson(disclosing,'Dac6Discloser',context!), 'initialDisclosureMA': initialDisclosureMA, 'relevantTaxPayers': JsonConverters.toJson(relevantTaxPayers,'Dac6RelevantTaxPayers',context!), 'intermediaries': JsonConverters.toJson(intermediaries,'Dac6Intermediaries',context!), 'affectedPersons': JsonConverters.toJson(affectedPersons,'Dac6AffectedPersons',context!), 'disclosureInformation': JsonConverters.toJson(disclosureInformation,'Dac6DisclosureInformation',context!) }; getTypeName() => "Dac6Disclosure"; TypeContext? context = _ctx; } /** * 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 */ // @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") class Dac6Arrangement implements IConvertible { /** * Versionsangabe */ // @ApiMember(Description="Versionsangabe", IsRequired=true, Name="Version") String? version; /** * Angaben zu den Kopfdaten */ // @ApiMember(Description="Angaben zu den Kopfdaten", IsRequired=true, Name="Header") Dac6Header? header; /** * 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) */ // @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") String? arrangementID; /** * Angaben zur Offenlegung */ // @ApiMember(Description="Angaben zur Offenlegung", IsRequired=true, Name="Dac6Disclosure") Dac6Disclosure? dac6Disclosure; Dac6Arrangement({this.version,this.header,this.arrangementID,this.dac6Disclosure}); Dac6Arrangement.fromJson(Map json) { fromMap(json); } fromMap(Map json) { version = json['version']; header = JsonConverters.fromJson(json['header'],'Dac6Header',context!); arrangementID = json['arrangementID']; dac6Disclosure = JsonConverters.fromJson(json['dac6Disclosure'],'Dac6Disclosure',context!); return this; } Map toJson() => { 'version': version, 'header': JsonConverters.toJson(header,'Dac6Header',context!), 'arrangementID': arrangementID, 'dac6Disclosure': JsonConverters.toJson(dac6Disclosure,'Dac6Disclosure',context!) }; getTypeName() => "Dac6Arrangement"; TypeContext? context = _ctx; } enum Dac6Verfahren { DAC6, ISG, } /** * Represents statistical information on a delivery. */ // @Api(Description="Represents statistical information on a delivery.") class Lieferungsdetails implements IConvertible { /** * Indicates whether the reported tax arrangement is domestic or cross-border. */ // @ApiMember(Description="Indicates whether the reported tax arrangement is domestic or cross-border.", Name="Verfahren") Dac6Verfahren? verfahren; /** * Disclosure-ID e.g. DED20190718UVWXYZ */ // @ApiMember(Description="Disclosure-ID e.g. DED20190718UVWXYZ", Name="Version") String? offenlegungsnummer; String? registriernummer; /** * Disclosure ID of the report, which this report refers to. */ // @ApiMember(Description="Disclosure ID of the report, which this report refers to.", Name="Bezugsoffenlegung") String? bezugsoffenlegung; /** * File name of the delivery file submitted to ELAN. Example: m5_d6_bz123456789_1004557331_shawarma133.xml */ // @ApiMember(Description="File name of the delivery file submitted to ELAN. Example: m5_d6_bz123456789_1004557331_shawarma133.xml", Name="Eingabedateiname") String? eingabedateiname; /** * Time stamp at which the message was created. */ // @ApiMember(Description="Time stamp at which the message was created.", Name="Erstellungsdatum") DateTime? erstellungsdatum; String? messageRefId; /** * File name of the file returned by ELAN. Example: m5_d6_bz123456789_1004557331_shawarma133_da5b42ce-9d27-4255-920e-1a089eeb0ec8.xml */ // @ApiMember(Description="File name of the file returned by ELAN. Example: m5_d6_bz123456789_1004557331_shawarma133_da5b42ce-9d27-4255-920e-1a089eeb0ec8.xml", Name="Version") String? ausgabedateiname; /** * Time stamp of the completion process protocol. */ // @ApiMember(Description="Time stamp of the completion process protocol.", Name="Protokollerstellungsdatum") DateTime? protokollerstellungsdatum; Lieferungsdetails({this.verfahren,this.offenlegungsnummer,this.registriernummer,this.bezugsoffenlegung,this.eingabedateiname,this.erstellungsdatum,this.messageRefId,this.ausgabedateiname,this.protokollerstellungsdatum}); Lieferungsdetails.fromJson(Map json) { fromMap(json); } fromMap(Map json) { verfahren = JsonConverters.fromJson(json['verfahren'],'Dac6Verfahren',context!); offenlegungsnummer = json['offenlegungsnummer']; registriernummer = json['registriernummer']; bezugsoffenlegung = json['bezugsoffenlegung']; eingabedateiname = json['eingabedateiname']; erstellungsdatum = JsonConverters.fromJson(json['erstellungsdatum'],'DateTime',context!); messageRefId = json['messageRefId']; ausgabedateiname = json['ausgabedateiname']; protokollerstellungsdatum = JsonConverters.fromJson(json['protokollerstellungsdatum'],'DateTime',context!); return this; } Map toJson() => { 'verfahren': JsonConverters.toJson(verfahren,'Dac6Verfahren',context!), 'offenlegungsnummer': offenlegungsnummer, 'registriernummer': registriernummer, 'bezugsoffenlegung': bezugsoffenlegung, 'eingabedateiname': eingabedateiname, 'erstellungsdatum': JsonConverters.toJson(erstellungsdatum,'DateTime',context!), 'messageRefId': messageRefId, 'ausgabedateiname': ausgabedateiname, 'protokollerstellungsdatum': JsonConverters.toJson(protokollerstellungsdatum,'DateTime',context!) }; getTypeName() => "Lieferungsdetails"; TypeContext? context = _ctx; } enum Dac6EintragArt { HINWEIS, FEHLER, } /** * Represents a protocol entry */ // @Api(Description="Represents a protocol entry") class Protokolleintrag implements IConvertible { /** * The type of entry. */ // @ApiMember(Description="The type of entry.", Name="EintragArt") Dac6EintragArt? eintragArt; /** * Code value of the entry type - error code or information code. */ // @ApiMember(Description="Code value of the entry type - error code or information code.", Name="Version") String? eintragCode; /** * Text (in German) of the protocol entry. */ // @ApiMember(Description="Text (in German) of the protocol entry.", Name="EintragText") String? eintragText; Protokolleintrag({this.eintragArt,this.eintragCode,this.eintragText}); Protokolleintrag.fromJson(Map json) { fromMap(json); } fromMap(Map json) { eintragArt = JsonConverters.fromJson(json['eintragArt'],'Dac6EintragArt',context!); eintragCode = json['eintragCode']; eintragText = json['eintragText']; return this; } Map toJson() => { 'eintragArt': JsonConverters.toJson(eintragArt,'Dac6EintragArt',context!), 'eintragCode': eintragCode, 'eintragText': eintragText }; getTypeName() => "Protokolleintrag"; TypeContext? context = _ctx; } /** * Represents an overview result of a DAC6 or ISG delivery process. */ // @Api(Description="Represents an overview result of a DAC6 or ISG delivery process.") class Dac6Verarbeitungsprotokoll implements IConvertible { /** * The version of the process protocol. */ // @ApiMember(Description="The version of the process protocol.", Name="Version") String? version; /** * The type of message. */ // @ApiMember(Description="The type of message.", Name="MessageType") String? messageType; /** * The statistical information on the delivery. */ // @ApiMember(Description="The statistical information on the delivery.", Name="Lieferungsdetails") Lieferungsdetails? lieferungsdetails; /** * Contains protocol entries for the delivery. */ // @ApiMember(Description="Contains protocol entries for the delivery.", Name="Protokolleintraege") List? protokolleintraege; Dac6Verarbeitungsprotokoll({this.version,this.messageType,this.lieferungsdetails,this.protokolleintraege}); Dac6Verarbeitungsprotokoll.fromJson(Map json) { fromMap(json); } fromMap(Map json) { version = json['version']; messageType = json['messageType']; lieferungsdetails = JsonConverters.fromJson(json['lieferungsdetails'],'Lieferungsdetails',context!); protokolleintraege = JsonConverters.fromJson(json['protokolleintraege'],'List',context!); return this; } Map toJson() => { 'version': version, 'messageType': messageType, 'lieferungsdetails': JsonConverters.toJson(lieferungsdetails,'Lieferungsdetails',context!), 'protokolleintraege': JsonConverters.toJson(protokolleintraege,'List',context!) }; getTypeName() => "Dac6Verarbeitungsprotokoll"; TypeContext? context = _ctx; } /** * Stellt grenzüberschreitende Steuergestaltungen dar. */ // @Api(Description="Stellt grenzüberschreitende Steuergestaltungen dar.") class DAC6 implements IConvertible { /** * Dient dazu, spätere Aktualisierungen des Schemas zu ermöglichen. Hier ist nur der feste Wert 000001 zulässig. */ // @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") String? version; /** * Wird verwendet, um die Sprache der Inhalte des Datenteils zu kennzeichnen. Zulässige Werte sind Sprachcodes aus 2 Kleinbuchstaben nach ISO 639-1. */ // @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") LanguageCode? sprache; /** * 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 */ // @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") Dac6Arrangement? dac6Arrangement; /** * Enthält eine Übersicht über das Verarbeitungsergebnis einer DAC6- oder ISG-Lieferung. */ // @ApiMember(Description="Enthält eine Übersicht über das Verarbeitungsergebnis einer DAC6- oder ISG-Lieferung.", IsRequired=true, Name="Dac6Verarbeitungsprotokoll") Dac6Verarbeitungsprotokoll? dac6Verarbeitungsprotokoll; DAC6({this.version,this.sprache,this.dac6Arrangement,this.dac6Verarbeitungsprotokoll}); DAC6.fromJson(Map json) { fromMap(json); } fromMap(Map json) { version = json['version']; sprache = JsonConverters.fromJson(json['sprache'],'LanguageCode',context!); dac6Arrangement = JsonConverters.fromJson(json['dac6Arrangement'],'Dac6Arrangement',context!); dac6Verarbeitungsprotokoll = JsonConverters.fromJson(json['dac6Verarbeitungsprotokoll'],'Dac6Verarbeitungsprotokoll',context!); return this; } Map toJson() => { 'version': version, 'sprache': JsonConverters.toJson(sprache,'LanguageCode',context!), 'dac6Arrangement': JsonConverters.toJson(dac6Arrangement,'Dac6Arrangement',context!), 'dac6Verarbeitungsprotokoll': JsonConverters.toJson(dac6Verarbeitungsprotokoll,'Dac6Verarbeitungsprotokoll',context!) }; getTypeName() => "DAC6"; TypeContext? context = _ctx; } /** * Specifies a request to generate a DAC6 ELMA-compatible XML content from a DAC6 data model. */ // @Api(Description="Specifies a request to generate a DAC6 ELMA-compatible XML content from a DAC6 data model.") abstract class CreateDac6XmlBase implements IPost, IStageableRequest { /** * The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9). The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start). The number is available in the private area of the BOP user account under "My BOP" under the "Registration Information" */ // @ApiMember(Description="The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9). The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start). The number is available in the private area of the BOP user account under \"My BOP\" under the \"Registration Information\"", IsRequired=true, Name="AuthSteuernummer") String? authSteuernummer; /** * The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9). */ // @ApiMember(Description="The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9).", IsRequired=true, Name="AccountId") String? accountId; /** * User custom ID. This field can be filled with internal reference information of the user. */ // @ApiMember(Description="User custom ID. This field can be filled with internal reference information of the user.", Name="KundeneigeneId") String? kundeneigeneId; /** * The version number of the ELMAKOM definition. */ // @ApiMember(Description="The version number of the ELMAKOM definition.", IsRequired=true, Name="ElmakomVersion") String? elmakomVersion; /** * Should operations be staged on the ELMA server? true: operations are executed on the Test ELMA server. false: operations are executed on the Live (Production) ELMA server. */ // @ApiMember(Description="Should operations be staged on the ELMA server? true: operations are executed on the Test ELMA server. false: operations are executed on the Live (Production) ELMA server.", Name="StagingEnabled") bool? stagingEnabled; /** * The data model that represents the DAC6 content. */ // @ApiMember(Description="The data model that represents the DAC6 content.", Name="DataModel") DAC6? dataModel; CreateDac6XmlBase({this.authSteuernummer,this.accountId,this.kundeneigeneId,this.elmakomVersion,this.stagingEnabled,this.dataModel}); CreateDac6XmlBase.fromJson(Map json) { fromMap(json); } fromMap(Map json) { authSteuernummer = json['authSteuernummer']; accountId = json['accountId']; kundeneigeneId = json['kundeneigeneId']; elmakomVersion = json['elmakomVersion']; stagingEnabled = json['stagingEnabled']; dataModel = JsonConverters.fromJson(json['dataModel'],'DAC6',context!); return this; } Map toJson() => { 'authSteuernummer': authSteuernummer, 'accountId': accountId, 'kundeneigeneId': kundeneigeneId, 'elmakomVersion': elmakomVersion, 'stagingEnabled': stagingEnabled, 'dataModel': JsonConverters.toJson(dataModel,'DAC6',context!) }; getTypeName() => "CreateDac6XmlBase"; TypeContext? context = _ctx; } /** * Represents a request to generate an ELMA-compatible XML content from a DAC6 data model. */ // @Route("/sync/elma/dac6/xml", "POST") // @Api(Description="Represents a request to generate an ELMA-compatible XML content from a DAC6 data model.") class CreateDac6Xml extends CreateDac6XmlBase implements IReturn, IConvertible, IPost { CreateDac6Xml(); CreateDac6Xml.fromJson(Map json) : super.fromJson(json); fromMap(Map json) { super.fromMap(json); return this; } Map toJson() => super.toJson(); createResponse() => ""; getResponseTypeName() => "String"; getTypeName() => "CreateDac6Xml"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'reportfiling.pwc.de', types: { 'IStageableRequest': TypeInfo(TypeOf.Interface), 'LanguageCode': TypeInfo(TypeOf.Enum, enumValues:LanguageCode.values), 'Dac6Header': TypeInfo(TypeOf.Class, create:() => Dac6Header()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CountryCode': TypeInfo(TypeOf.Class, create:() => CountryCode()), 'Dac6NamePerson': TypeInfo(TypeOf.Class, create:() => Dac6NamePerson()), 'Dac6TIN': TypeInfo(TypeOf.Class, create:() => Dac6TIN()), 'Dac6Address': TypeInfo(TypeOf.Class, create:() => Dac6Address()), 'Dac6Person': TypeInfo(TypeOf.Class, create:() => Dac6Person()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'Dac6NameOrganisation': TypeInfo(TypeOf.Class, create:() => Dac6NameOrganisation()), 'Dac6Organisation': TypeInfo(TypeOf.Class, create:() => Dac6Organisation()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'Dac6PersonOrganisation': TypeInfo(TypeOf.Class, create:() => Dac6PersonOrganisation()), 'Dac6IntermediaryNexus': TypeInfo(TypeOf.Enum, enumValues:Dac6IntermediaryNexus.values), 'Dac6IntermediaryCapacity': TypeInfo(TypeOf.Enum, enumValues:Dac6IntermediaryCapacity.values), 'Dac6IntermediaryDiscloser': TypeInfo(TypeOf.Class, create:() => Dac6IntermediaryDiscloser()), 'Dac6RelevantTaxpayerNexus': TypeInfo(TypeOf.Enum, enumValues:Dac6RelevantTaxpayerNexus.values), 'Dac6TaxpayerCapacity': TypeInfo(TypeOf.Enum, enumValues:Dac6TaxpayerCapacity.values), 'Dac6RelevantTaxpayerDiscloser': TypeInfo(TypeOf.Class, create:() => Dac6RelevantTaxpayerDiscloser()), 'Dac6Liability': TypeInfo(TypeOf.Class, create:() => Dac6Liability()), 'Dac6Discloser': TypeInfo(TypeOf.Class, create:() => Dac6Discloser()), 'Dac6RelevantTaxPayers': TypeInfo(TypeOf.Class, create:() => Dac6RelevantTaxPayers()), 'Dac6Intermediaries': TypeInfo(TypeOf.Class, create:() => Dac6Intermediaries()), 'Dac6AffectedPersons': TypeInfo(TypeOf.Class, create:() => Dac6AffectedPersons()), 'Dac6DisclosurerReason': TypeInfo(TypeOf.Enum, enumValues:Dac6DisclosurerReason.values), 'Dac6Disclosure_Description': TypeInfo(TypeOf.Class, create:() => Dac6Disclosure_Description()), 'Dac6Summary': TypeInfo(TypeOf.Class, create:() => Dac6Summary()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'Dac6Text': TypeInfo(TypeOf.Class, create:() => Dac6Text()), 'Dac6NationalProvision': TypeInfo(TypeOf.Class, create:() => Dac6NationalProvision()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CurrencyCode': TypeInfo(TypeOf.Enum, enumValues:CurrencyCode.values), 'Dac6Amount': TypeInfo(TypeOf.Class, create:() => Dac6Amount()), 'Dac6OtherInfo': TypeInfo(TypeOf.Class, create:() => Dac6OtherInfo()), 'Dac6ListChilds': TypeInfo(TypeOf.Class, create:() => Dac6ListChilds()), 'Dac6ArrangementChart': TypeInfo(TypeOf.Class, create:() => Dac6ArrangementChart()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'Dac6ConcernedMSs': TypeInfo(TypeOf.Class, create:() => Dac6ConcernedMSs()), 'Dac6Hallmark': TypeInfo(TypeOf.Enum, enumValues:Dac6Hallmark.values), 'Dac6ListHallmarks': TypeInfo(TypeOf.Class, create:() => Dac6ListHallmarks()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'DAC6D1OtherInfo': TypeInfo(TypeOf.Class, create:() => DAC6D1OtherInfo()), 'Dac6Hallmarks': TypeInfo(TypeOf.Class, create:() => Dac6Hallmarks()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'Dac6DisclosureInformation': TypeInfo(TypeOf.Class, create:() => Dac6DisclosureInformation()), 'Dac6Disclosure': TypeInfo(TypeOf.Class, create:() => Dac6Disclosure()), 'Dac6Arrangement': TypeInfo(TypeOf.Class, create:() => Dac6Arrangement()), 'Dac6Verfahren': TypeInfo(TypeOf.Enum, enumValues:Dac6Verfahren.values), 'Lieferungsdetails': TypeInfo(TypeOf.Class, create:() => Lieferungsdetails()), 'Dac6EintragArt': TypeInfo(TypeOf.Enum, enumValues:Dac6EintragArt.values), 'Protokolleintrag': TypeInfo(TypeOf.Class, create:() => Protokolleintrag()), 'Dac6Verarbeitungsprotokoll': TypeInfo(TypeOf.Class, create:() => Dac6Verarbeitungsprotokoll()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'DAC6': TypeInfo(TypeOf.Class, create:() => DAC6()), 'CreateDac6XmlBase': TypeInfo(TypeOf.AbstractClass), 'CreateDac6Xml': TypeInfo(TypeOf.Class, create:() => CreateDac6Xml()), });