Report Filing Service

<back to all web services

CreateDac6XmlFileAsync

Generate XML FileDAC6Async

Represents a request to generate an ELMA-compatible XML file from a DAC6 data model in an asynchronous operation.

Requires Authentication
The following routes are available for this service:
POST/async/elma/dac6/xml/file
import java.math.*
import java.util.*
import net.servicestack.client.*


/**
* Represents a request to generate an ELMA-compatible XML file from a DAC6 data model in an asynchronous operation.
*/
@Api(Description="Represents a request to generate an ELMA-compatible XML file from a DAC6 data model in an asynchronous operation.")
open class CreateDac6XmlFileAsync : CreateDac6XmlFileBase()
{
}

/**
* Specifies a request to generate a DAC6 ELMA-compatible XML from a DAC6 data model.
*/
@Api(Description="Specifies a request to generate a DAC6 ELMA-compatible XML from a DAC6 data model.")
open class CreateDac6XmlFileBase : IPost, IStageableRequest
{
    /**
    * Internal short name for the ELMA data file.  This identifier is only used for the internal assignment of the sender.  It varies from 1 to maximum 12 alphanumeric characters and may not contain any special symbol.
    */
    @ApiMember(Description="Internal short name for the ELMA data file.  This identifier is only used for the internal assignment of the sender.  It varies from 1 to maximum 12 alphanumeric characters and may not contain any special symbol.", Name="FileId")
    var fileId:String? = null

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

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

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

    /**
    * The version number of the ELMAKOM definition.
    */
    @ApiMember(Description="The version number of the ELMAKOM definition.", IsRequired=true, Name="ElmakomVersion")
    var elmakomVersion:String? = null

    /**
    * 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")
    var stagingEnabled:Boolean? = null

    /**
    * The data model that represents the DAC6 content.
    */
    @ApiMember(Description="The data model that represents the DAC6 content.", Name="DataModel")
    var dataModel:DAC6? = null
}

/**
* Stellt grenzüberschreitende Steuergestaltungen dar.
*/
@Api(Description="Stellt grenzüberschreitende Steuergestaltungen dar.")
open class DAC6
{
    /**
    * 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")
    var version:String? = null

    /**
    * 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")
    var sprache:LanguageCode? = null

    /**
    * 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")
    var dac6Arrangement:Dac6Arrangement? = null

    /**
    * 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")
    var dac6Verarbeitungsprotokoll:Dac6Verarbeitungsprotokoll? = null
}

enum class 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,
}

/**
* 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")
open class Dac6Arrangement
{
    /**
    * Versionsangabe
    */
    @ApiMember(Description="Versionsangabe", IsRequired=true, Name="Version")
    var version:String? = null

    /**
    * Angaben zu den Kopfdaten
    */
    @ApiMember(Description="Angaben zu den Kopfdaten", IsRequired=true, Name="Header")
    var header:Dac6Header? = null

    /**
    * 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")
    var arrangementID:String? = null

    /**
    * Angaben zur Offenlegung
    */
    @ApiMember(Description="Angaben zur Offenlegung", IsRequired=true, Name="Dac6Disclosure")
    var dac6Disclosure:Dac6Disclosure? = null
}

/**
* Angaben zu den Kopfdaten
*/
@Api(Description="Angaben zu den Kopfdaten")
open class Dac6Header
{
    /**
    * Empfängerstaaten
    */
    @ApiMember(Description="Empfängerstaaten", Name="ReceivingCountries")
    var receivingCountries:ArrayList<CountryCode?> = ArrayList<CountryCode?>()

    /**
    * 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")
    var messageRefId:String? = null

    /**
    * 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")
    var timestamp:Date? = null
}

/**
* Angaben zur Offenlegung
*/
@Api(Description="Angaben zur Offenlegung")
open class Dac6Disclosure
{
    /**
    * 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")
    var disclosureID:String? = null

    /**
    * 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.
    */
    @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")
    var refDisclosureID:String? = null

    /**
    * 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")
    var language:LanguageCode? = null

    /**
    * Meldepflichtiger
    */
    @ApiMember(Description="Meldepflichtiger", IsRequired=true, Name="Disclosing")
    var disclosing:Dac6Discloser? = null

    /**
    * 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")
    var initialDisclosureMA:Boolean? = null

    /**
    * Angabe aller bekannten Nutzer
    */
    @ApiMember(Description="Angabe aller bekannten Nutzer", Name="RelevantTaxPayers")
    var relevantTaxPayers:Dac6RelevantTaxPayers? = null

    /**
    * Angabe aller bekannten Nutzer
    */
    @ApiMember(Description="Angabe aller bekannten Nutzer", Name="Intermediaries")
    var intermediaries:Dac6Intermediaries? = null

    /**
    * 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")
    var affectedPersons:Dac6AffectedPersons? = null

    /**
    * Angabe der Informationen zur Steuergestaltung
    */
    @ApiMember(Description="Angabe der Informationen zur Steuergestaltung", IsRequired=true, Name="DisclosureInformation")
    var disclosureInformation:Dac6DisclosureInformation? = null
}

/**
* Angaben zum Meldepflichtigen
*/
@Api(Description="Angaben zum Meldepflichtigen")
open class Dac6Discloser
{
    /**
    * Identifikationsdaten zum Meldepflichtigen
    */
    @ApiMember(Description="Identifikationsdaten zum Meldepflichtigen", IsRequired=true, Name="ID")
    var id:Dac6PersonOrganisation? = null

    /**
    * 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")
    var liability:Dac6Liability? = null
}

/**
* Entweder Angabe von Individual oder Angabe von Organisation
*/
@Api(Description="Entweder Angabe von Individual oder Angabe von Organisation")
open class Dac6PersonOrganisation
{
    /**
    * 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")
    var individual:Dac6Person? = null

    /**
    * 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")
    var organisation:Dac6Organisation? = null
}

/**
* Natürliche Person
*/
@Api(Description="Natürliche Person")
open class Dac6Person
{
    /**
    * Namensangaben
    */
    @ApiMember(Description="Namensangaben", IsRequired=true, Name="IndividualName")
    var individualName:Dac6NamePerson? = null

    /**
    * GeburtsdatumFormat: YYYY-MM-DD
    */
    @ApiMember(Description="GeburtsdatumFormat: YYYY-MM-DD", IsRequired=true, Name="BirthDate")
    var birthDate:Date? = null

    /**
    * Geburtsort
    */
    @ApiMember(Description="Geburtsort", IsRequired=true, Name="BirthPlace")
    var birthPlace:String? = null

    /**
    * Steueridentifikationsmerkmale
    */
    @ApiMember(Description="Steueridentifikationsmerkmale", IsRequired=true, Name="TINs")
    var tiNs:ArrayList<Dac6TIN> = ArrayList<Dac6TIN>()

    /**
    * Adressangaben
    */
    @ApiMember(Description="Adressangaben", IsRequired=true, Name="Address")
    var address:Dac6Address? = null

    /**
    * E-Mailadresse
    */
    @ApiMember(Description="E-Mailadresse", Name="EmailAddress")
    var emailAddress:String? = null

    /**
    * Ansässigkeitsstaaten
    */
    @ApiMember(Description="Ansässigkeitsstaaten", IsRequired=true, Name="ResCountryCodes")
    var resCountryCodes:ArrayList<CountryCode> = ArrayList<CountryCode>()
}

/**
* Stellt die Namensangaben dar.
*/
@Api(Description="Stellt die Namensangaben dar.")
open class Dac6NamePerson
{
    /**
    * Vorangestellter Titel
    */
    @ApiMember(Description="Vorangestellter Titel", IsRequired=true, Name="PrecedingTitle")
    var precedingTitle:String? = null

    /**
    * Titel
    */
    @ApiMember(Description="Titel", Name="Title")
    var title:String? = null

    /**
    * Vorname
    */
    @ApiMember(Description="Vorname", IsRequired=true, Name="FirstName")
    var firstName:String? = null

    /**
    * Zweitname (weitere Namen)
    */
    @ApiMember(Description="Zweitname (weitere Namen)", Name="MiddleName")
    var middleName:String? = null

    /**
    * Namenszusatz
    */
    @ApiMember(Description="Namenszusatz", Name="NamePrefix")
    var namePrefix:String? = null

    /**
    * Nachname
    */
    @ApiMember(Description="Nachname", IsRequired=true, Name="LastName")
    var lastName:String? = null

    /**
    * Generationszusatz
    */
    @ApiMember(Description="Generationszusatz", Name="GenerationIdentifier")
    var generationIdentifier:String? = null

    /**
    * Titelzusatz
    */
    @ApiMember(Description="Titelzusatz", Name="Suffix")
    var suffix:String? = null

    /**
    * Allgemeiner Zusatz
    */
    @ApiMember(Description="Allgemeiner Zusatz", Name="GeneralSuffix")
    var generalSuffix:String? = null
}

/**
* Steueridentifikationsmerkmal Stellt die Angabe der Steuernummer dar.
*/
@Api(Description="Steueridentifikationsmerkmal Stellt die Angabe der Steuernummer dar.")
open class Dac6TIN
{
    /**
    * Ausstellender Staat
    */
    @ApiMember(Description="Ausstellender Staat", Name="IssuedBy")
    var issuedBy:CountryCode? = null

    /**
    * Steuernummer
    */
    @ApiMember(Description="Steuernummer", IsRequired=true, Name="Value")
    var value:String? = null
}

enum class 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,
}

/**
* Stellt die Andressangaben dar.
*/
@Api(Description="Stellt die Andressangaben dar.")
open class Dac6Address
{
    /**
    * Straße
    */
    @ApiMember(Description="Straße", Name="Street")
    var street:String? = null

    /**
    * Hausnummer
    */
    @ApiMember(Description="Hausnummer", Name="BuildingIdentifier")
    var buildingIdentifier:String? = null

    /**
    * Wohnungsbezeichnung
    */
    @ApiMember(Description="Wohnungsbezeichnung", Name="SuiteIdentifier")
    var suiteIdentifier:String? = null

    /**
    * Etagenbezeichnung
    */
    @ApiMember(Description="Etagenbezeichnung", Name="FloorIdentifier")
    var floorIdentifier:String? = null

    /**
    * Verwaltungsbezirk
    */
    @ApiMember(Description="Verwaltungsbezirk", Name="DistrictName")
    var districtName:String? = null

    /**
    * Postfach
    */
    @ApiMember(Description="Postfach", Name="POB")
    var pob:String? = null

    /**
    * Postleitzahl
    */
    @ApiMember(Description="Postleitzahl", Name="PostCode")
    var postCode:String? = null

    /**
    * Ort
    */
    @ApiMember(Description="Ort", IsRequired=true, Name="City")
    var city:String? = null

    /**
    * 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")
    var country:CountryCode? = null
}

/**
* Organisation
*/
@Api(Description="Organisation")
open class Dac6Organisation
{
    /**
    * Die Name der Organisation
    */
    @ApiMember(Description="Die Name der Organisation", IsRequired=true, Name="OrganisationNames")
    var organisationNames:ArrayList<Dac6NameOrganisation> = ArrayList<Dac6NameOrganisation>()

    /**
    * Steueridentifikationsmerkmale
    */
    @ApiMember(Description="Steueridentifikationsmerkmale", IsRequired=true, Name="TINs")
    var tiNs:ArrayList<Dac6TIN> = ArrayList<Dac6TIN>()

    /**
    * Adressangaben
    */
    @ApiMember(Description="Adressangaben", IsRequired=true, Name="Address")
    var address:Dac6Address? = null

    /**
    * E-Mailadresse
    */
    @ApiMember(Description="E-Mailadresse", Name="EmailAddress")
    var emailAddress:String? = null

    /**
    * Ansässigkeitsstaaten
    */
    @ApiMember(Description="Ansässigkeitsstaaten", IsRequired=true, Name="ResCountryCodes")
    var resCountryCodes:ArrayList<CountryCode> = ArrayList<CountryCode>()
}

/**
* Stellt den Name der Organisation dar
*/
@Api(Description="Stellt den Name der Organisation dar")
open class Dac6NameOrganisation
{
    /**
    * 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")
    var language:LanguageCode? = null

    /**
    * Namenswert der Organisation
    */
    @ApiMember(Description="Namenswert der Organisation", IsRequired=true, Name="Value")
    var value:String? = null
}

/**
* 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.")
open class Dac6Liability
{
    /**
    * 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")
    var intermediaryDiscloser:Dac6IntermediaryDiscloser? = null

    /**
    * 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")
    var relevantTaxpayerDiscloser:Dac6RelevantTaxpayerDiscloser? = null
}

/**
* Meldepflichtiger Intermediär
*/
@Api(Description="Meldepflichtiger Intermediär")
open class Dac6IntermediaryDiscloser
{
    /**
    * 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")
    var intermediaryNexus:Dac6IntermediaryNexus? = null

    /**
    * 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")
    var capacity:Dac6IntermediaryCapacity? = null
}

enum class Dac6IntermediaryNexus
{
    IneXa,
    IneXb,
    IneXc,
    IneXd,
}

enum class Dac6IntermediaryCapacity
{
    DaC61101,
    DaC61102,
}

/**
* Meldepflichtiger Nutzer
*/
@Api(Description="Meldepflichtiger Nutzer")
open class Dac6RelevantTaxpayerDiscloser
{
    /**
    * 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")
    var relevantTaxpayerNexus:Dac6RelevantTaxpayerNexus? = null

    /**
    * 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")
    var capacity:Dac6TaxpayerCapacity? = null
}

enum class Dac6RelevantTaxpayerNexus
{
    RtneXa,
    RtneXb,
    RtneXc,
    RtneXd,
}

enum class Dac6TaxpayerCapacity
{
    DaC61104,
    DaC61105,
    DaC61106,
}

/**
* Angabe aller bekannten Nutzer
*/
open class Dac6RelevantTaxPayers
{
}

/**
* Angabe zum jeweiligen Intermediär
*/
open class Dac6Intermediaries
{
}

/**
* 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.
*/
open class Dac6AffectedPersons
{
}

/**
* Angabe der Informationen zur Steuergestaltung
*/
@Api(Description="Angabe der Informationen zur Steuergestaltung")
open class Dac6DisclosureInformation
{
    /**
    * 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")
    var implementingDate:Date? = null

    /**
    * 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")
    var reason:Dac6DisclosurerReason? = null

    /**
    * 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")
    var summary:Dac6Summary? = null

    /**
    * Rechtsvorschrift
    */
    @ApiMember(Description="Rechtsvorschrift", Name="NationalProvision")
    var nationalProvision:Dac6NationalProvision? = null

    /**
    * 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")
    var amount:Dac6Amount? = null

    /**
    * 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")
    var arrangementChart:Dac6ArrangementChart? = null

    /**
    * Betroffenen Mitgliedstaaten
    */
    @ApiMember(Description="Betroffenen Mitgliedstaaten", Name="ConcernedMSs")
    var concernedMSs:Dac6ConcernedMSs? = null

    /**
    * 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")
    var mainBenefitTest1:Boolean? = null

    /**
    * 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")
    var hallmarks:Dac6Hallmarks? = null
}

enum class Dac6DisclosurerReason
{
    DaC6701,
    DaC6702,
    DaC6703,
}

/**
* Zusammenfassung der Gestaltung Angabe der Beschreibung und der Bezeichnung der Gestaltung
*/
@Api(Description="Zusammenfassung der Gestaltung Angabe der Beschreibung und der Bezeichnung der Gestaltung")
open class Dac6Summary
{
    /**
    * Name der Gestaltung
    */
    @ApiMember(Description="Name der Gestaltung", IsRequired=true, Name="Disclosure_Name")
    var disclosure_Name:String? = null

    /**
    * 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")
    var disclosure_Descriptions:ArrayList<Dac6Disclosure_Description> = ArrayList<Dac6Disclosure_Description>()
}

/**
* Beschreibung der Gestaltung
*/
@Api(Description="Beschreibung der Gestaltung")
open class Dac6Disclosure_Description
{
    /**
    * 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")
    var language:LanguageCode? = null

    /**
    * Beschreibung
    */
    @ApiMember(Description="Beschreibung", IsRequired=true, Name="Value")
    var value:String? = null
}

/**
* Rechtsvorschrift
*/
@Api(Description="Rechtsvorschrift")
open class Dac6NationalProvision
{
    /**
    * Angabe der Rechtsvorschrift
    */
    @ApiMember(Description="Angabe der Rechtsvorschrift", IsRequired=true, Name="Texts")
    var texts:ArrayList<Dac6Text> = ArrayList<Dac6Text>()

    /**
    * 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")
    var country:CountryCode? = null
}

/**
* Angabe der Rechtsvorschrift
*/
@Api(Description="Angabe der Rechtsvorschrift")
open class Dac6Text
{
    /**
    * 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")
    var language:LanguageCode? = null

    /**
    * Beschreibung
    */
    @ApiMember(Description="Beschreibung", IsRequired=true, Name="Value")
    var value:String? = null
}

/**
* 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.")
open class Dac6Amount
{
    /**
    * 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")
    var currCode:CurrencyCode? = null

    /**
    * Wirtschaftlicher Wert der Gestaltung
    */
    @ApiMember(Description="Wirtschaftlicher Wert der Gestaltung", IsRequired=true, Name="Value")
    var value:Long? = null
}

enum class 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,
}

/**
* 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.")
open class Dac6ArrangementChart
{
    /**
    * Identifikationsdaten
    */
    @ApiMember(Description="Identifikationsdaten", IsRequired=true, Name="ID")
    var id:Dac6PersonOrganisation? = null

    /**
    * 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")
    var ownership:Int? = null

    /**
    * Die wertmäßige Beteiligungshöhe
    */
    @ApiMember(Description="Die wertmäßige Beteiligungshöhe", Name="InvestAmount")
    var investAmount:Dac6Amount? = null

    /**
    * Beteiligungsangaben
    */
    @ApiMember(Description="Beteiligungsangaben", Name="OtherInfos")
    var otherInfos:ArrayList<Dac6OtherInfo> = ArrayList<Dac6OtherInfo>()

    /**
    * Nächste Ebene Erfassung einer weiteren Ebene im Unternehmenschart
    */
    @ApiMember(Description="Nächste Ebene Erfassung einer weiteren Ebene im Unternehmenschart", Name="ListChilds")
    var listChilds:Dac6ListChilds? = null
}

/**
* 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.")
open class Dac6OtherInfo
{
    /**
    * 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")
    var language:LanguageCode? = null

    /**
    * Beschreibung
    */
    @ApiMember(Description="Beschreibung", IsRequired=true, Name="Value")
    var value:String? = null
}

/**
* Nächste Ebene Erfassung einer weiteren Ebene im Unternehmenschart
*/
open class Dac6ListChilds
{
}

/**
* Liste der betroffenen Mitgliedstaaten Angabe der Mitgliedstaaten der Europäischen Union, die wahrscheinlich von der grenzüberschreitenden Steuergestaltung betroffen sind.
*/
open class Dac6ConcernedMSs
{
}

/**
* 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")
open class Dac6Hallmarks
{
    /**
    * Angabe der Kennzeichen
    */
    @ApiMember(Description="Angabe der Kennzeichen", IsRequired=true, Name="ListHallmarks")
    var listHallmarks:Dac6ListHallmarks? = null

    /**
    * Beschreibung des Kennzeichens
    */
    @ApiMember(Description="Beschreibung des Kennzeichens", IsRequired=true, Name="DAC6D1OtherInfos")
    var daC6D1OtherInfos:ArrayList<DAC6D1OtherInfo> = ArrayList<DAC6D1OtherInfo>()
}

/**
* 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")
open class Dac6ListHallmarks
{
    /**
    * Betroffene Kennzeichen
    */
    @ApiMember(Description="Betroffene Kennzeichen", IsRequired=true, Name="Hallmarks")
    var hallmarks:ArrayList<Dac6Hallmark> = ArrayList<Dac6Hallmark>()
}

enum class 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,
}

/**
* 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.")
open class DAC6D1OtherInfo
{
    /**
    * 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")
    var language:LanguageCode? = null

    /**
    * Beschreibung
    */
    @ApiMember(Description="Beschreibung", IsRequired=true, Name="Value")
    var value:String? = null
}

/**
* Represents an overview result of a DAC6 or ISG delivery process.
*/
@Api(Description="Represents an overview result of a DAC6 or ISG delivery process.")
open class Dac6Verarbeitungsprotokoll
{
    /**
    * The version of the process protocol.
    */
    @ApiMember(Description="The version of the process protocol.", Name="Version")
    var version:String? = null

    /**
    * The type of message.
    */
    @ApiMember(Description="The type of message.", Name="MessageType")
    var messageType:String? = null

    /**
    * The statistical information on the delivery.
    */
    @ApiMember(Description="The statistical information on the delivery.", Name="Lieferungsdetails")
    var lieferungsdetails:Lieferungsdetails? = null

    /**
    * Contains protocol entries for the delivery.
    */
    @ApiMember(Description="Contains protocol entries for the delivery.", Name="Protokolleintraege")
    var protokolleintraege:ArrayList<Protokolleintrag> = ArrayList<Protokolleintrag>()
}

/**
* Represents statistical information on a delivery.
*/
@Api(Description="Represents statistical information on a delivery.")
open class Lieferungsdetails
{
    /**
    * 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")
    var verfahren:Dac6Verfahren? = null

    /**
    * Disclosure-ID e.g. DED20190718UVWXYZ
    */
    @ApiMember(Description="Disclosure-ID e.g. DED20190718UVWXYZ", Name="Version")
    var offenlegungsnummer:String? = null

    var registriernummer:String? = null
    /**
    * Disclosure ID of the report, which this report refers to.
    */
    @ApiMember(Description="Disclosure ID of the report, which this report refers to.", Name="Bezugsoffenlegung")
    var bezugsoffenlegung:String? = null

    /**
    * 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")
    var eingabedateiname:String? = null

    /**
    * Time stamp at which the message was created.
    */
    @ApiMember(Description="Time stamp at which the message was created.", Name="Erstellungsdatum")
    var erstellungsdatum:Date? = null

    var messageRefId:String? = null
    /**
    * 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")
    var ausgabedateiname:String? = null

    /**
    * Time stamp of the completion process protocol.
    */
    @ApiMember(Description="Time stamp of the completion process protocol.", Name="Protokollerstellungsdatum")
    var protokollerstellungsdatum:Date? = null
}

enum class Dac6Verfahren
{
    DaC6,
    Isg,
}

/**
* Represents a protocol entry
*/
@Api(Description="Represents a protocol entry")
open class Protokolleintrag
{
    /**
    * The type of entry.
    */
    @ApiMember(Description="The type of entry.", Name="EintragArt")
    var eintragArt:Dac6EintragArt? = null

    /**
    * 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")
    var eintragCode:String? = null

    /**
    * Text (in German) of the protocol entry.
    */
    @ApiMember(Description="Text (in German) of the protocol entry.", Name="EintragText")
    var eintragText:String? = null
}

enum class Dac6EintragArt
{
    Hinweis,
    Fehler,
}

Kotlin CreateDac6XmlFileAsync DTOs

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

HTTP + JSV

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

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

{
	fileId: String,
	authSteuernummer: String,
	accountId: String,
	kundeneigeneId: String,
	elmakomVersion: String,
	stagingEnabled: False,
	dataModel: 
	{
		version: String,
		sprache: AA,
		dac6Arrangement: 
		{
			version: String,
			header: 
			{
				receivingCountries: 
				[
					AF
				],
				messageRefId: String,
				timestamp: 0001-01-01
			},
			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: 0001-01-01,
							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: 0001-01-01,
								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: 0001-01-01,
						associatedEnterprises: 
						[
							{
								associatedEnterpriseID: 
								{
									individual: 
									{
										individualName: 
										{
											precedingTitle: String,
											title: String,
											firstName: String,
											middleName: String,
											namePrefix: String,
											lastName: String,
											generationIdentifier: String,
											suffix: String,
											generalSuffix: String
										},
										birthDate: 0001-01-01,
										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: 0001-01-01,
								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: 0001-01-01,
								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: 0001-01-01,
					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: 0001-01-01,
								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: 0001-01-01,
										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: 0001-01-01,
												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: 0001-01-01,
														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: 0001-01-01,
				messageRefId: String,
				ausgabedateiname: String,
				protokollerstellungsdatum: 0001-01-01
			},
			protokolleintraege: 
			[
				{
					eintragArt: HINWEIS,
					eintragCode: String,
					eintragText: String
				}
			]
		}
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	
}